package Ġorg . move . lang . core . stubs Ċ Ċ import Ġcom . intellij . lang . AST Node Ċ import Ġcom . intellij . psi . stubs . I Stub ElementType Ċ import Ġcom . intellij . psi . stubs . Index Sink Ċ import Ġcom . intellij . psi . stubs . Stub Element Ċ import Ġcom . intellij . psi . tree . I Stub File ElementType Ċ import Ġorg . move . lang . Mv Language Ċ import Ġorg . move . lang . core . psi . Mv Element Ċ Ċ abstract Ġclass ĠM v Stub ElementType < Stub T Ġ: ĠStub Element <* >, ĠPsi T Ġ: ĠM v Element >( ĊĠĠĠ Ġdebug Name : ĠString , Ċ ) Ġ: ĠI Stub ElementType < Stub T , ĠPsi T >( debug Name , ĠM v Language ) Ġ{ ĊĊĠĠĠ Ġfinal Ġoverride Ġfun Ġget External Id (): ĠString Ġ= Ġ" move .${ super . toString () }" ĊĊĠĠĠ Ġoverride Ġfun Ġindex Stub ( stub : ĠStub T , Ġsink : ĠIndex Sink ) Ġ{} Ċ } Ċ Ċ fun Ġcreate Stub If Parent Is Stub ( node : ĠAST Node ): ĠBoolean Ġ{ ĊĠĠĠ Ġval Ġparent Ġ= Ġnode . tree Parent ĊĠĠĠ Ġval Ġparent Type Ġ= Ġparent . elementType ĊĠĠĠ Ġreturn Ġ( parent Type Ġis ĠI Stub ElementType < *, Ġ*> Ġ&& Ġparent Type . should Create Stub ( parent )) Ġ|| ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparent Type Ġis ĠI Stub File ElementType < *> Ċ } Ċ