package Ġio . github . will 7 2 0 0 . plugins . cas bin . language . psi . impl Ċ Ċ import Ġcom . intellij . ext api . psi . AST Wrapper Psi Element Ċ import Ġcom . intellij . lang . AST Node Ċ import Ġcom . intellij . openapi . diagnostic . Logger Ċ import Ġcom . intellij . psi . Psi Element Ċ import Ġcom . intellij . psi . Psi Reference Ċ import Ġcom . intellij . util . Incorrect OperationException Ċ import Ġio . github . will 7 2 0 0 . plugins . cas bin . language . reference . Cas bin Property Reference Ċ import Ġio . github . will 7 2 0 0 . plugins . cas bin . language . psi . Cas bin Element Factory Ċ import Ġio . github . will 7 2 0 0 . plugins . cas bin . language . psi . Cas bin Element Types Ċ import Ġio . github . will 7 2 0 0 . plugins . cas bin . language . psi . Cas bin Function ĊĊ Ċ abstract Ġclass ĠCas bin Function Mixin ( node : ĠAST Node ) Ġ: ĠAST Wrapper Psi Element ( node ), ĠCas bin Function Ġ{ ĊĠĠĠ Ġprivate Ġval Ġlog : ĠLogger Ġ= ĠLogger . getInstance ( Cas bin Function Mixin :: class . java ) ĊĠĠĠ Ġoverride Ġfun ĠgetName (): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfunction Node Ġ= Ġnode . find Child ByType ( Cas bin Element Types . FUNCTION _ NAME ) Ġ?: Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġreturn Ġfunction Node . text ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Throws ( Incorrect OperationException :: class ) ĊĠĠĠ Ġfun ĠsetName ( name : ĠString ): ĠPsi Element Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġidentifier Ġ= Ġnode . find Child ByType ( Cas bin Element Types . FUNCTION _ NAME ) Ġ?: Ġreturn Ġthis ĊĠĠĠĠĠĠĠ Ġval Ġfunction Name Ġ= ĠCas bin Element Factory . create FunctionName ( this . project , Ġname ) ĊĠĠĠĠĠĠĠ Ġnode . replace Child ( identifier , Ġfunction Name . node ) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Reference (): ĠPsi Reference ? Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( my Reference . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġmy Reference [ 0 ] ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget References (): ĠArray < Psi Reference > Ġ= Ġmy Reference ĊĠĠĠ Ġprivate Ġval Ġmy Reference Ġby Ġlazy Ġ{ ĠarrayOf < Psi Reference >( ĊĠĠĠĠĠĠĠ ĠCas bin Property Reference ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) Ġ} Ċ }