/* Ċ Ġ* ĠMinecraft ĠDev Ġfor ĠIntelliJ Ċ Ġ* Ċ Ġ* Ġhttps :// minecraft dev . org Ċ Ġ* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 8 Ġm inecraft - dev Ċ Ġ* Ċ Ġ* ĠMIT ĠLicense Ċ Ġ*/ Ċ Ċ package Ġcom . de mon wav . mc dev . util Ċ Ċ import Ġcom . de mon wav . mc dev . framework . Project Builder Test Ċ import Ġcom . intellij . psi . Psi Anonymous Class Ċ import Ġcom . intellij . psi . Psi Class Ċ import Ġcom . intellij . psi . Psi Element Ċ import Ġcom . intellij . psi . Psi Java File Ċ Ċ abstract Ġclass ĠO uter Class Test Ġ: ĠProject Builder Test () Ġ{ ĊĊĠĠĠ Ġprotected Ġlateinit Ġvar Ġouter Class : ĠPsi Class ĊĠĠĠ Ġprotected Ġlateinit Ġvar Ġouter Anonymous Class : ĠPsi Anonymous Class ĊĠĠĠ Ġprotected Ġlateinit Ġvar Ġinner Class : ĠPsi Class ĊĠĠĠ Ġprotected Ġlateinit Ġvar Ġinner Anonymous Class : ĠPsi Anonymous Class ĊĠĠĠ Ġprotected Ġlateinit Ġvar Ġinner Anonymous Inner Class : ĠPsi Class ĊĠĠĠ Ġprotected Ġlateinit Ġvar Ġself Refer encing Generic : ĠPsi Class ĊĊĠĠĠ Ġoverride Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . setUp () ĊĊĠĠĠĠĠĠĠ Ġbuild Project Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsrc Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġouter Class Ġ= Ġjava (" com / example / test / OuterClass . java ", Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpackage Ġcom . example . test ; ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclass ĠO uter Class Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġstatic Ġfinal ĠObject ĠAN ONY MO US _ CLASS Ġ= Ġnew ĠObject () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}; ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclass ĠInner Class Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġvoid Ġtest () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnew ĠObject () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclass ĠAn onymous Inner Class Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}; ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclass ĠSelf Refer encing Generic < C Ġextends ĠSelf Refer encing Generic < C >> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublic ĠC Ġdo Something () Ġ{} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ). to Psi File < Psi Java File >(). classes . single () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġthis . outer Anonymous Class Ġ= Ġouter Class . anonymous Elements . single () Ġas ĠPsi Anonymous Class ĊĊĠĠĠĠĠĠĠ Ġthis . inner Class Ġ= Ġouter Class . inner Classes . first () ĊĠĠĠĠĠĠĠ Ġthis . inner Anonymous Class Ġ= Ġinner Class . anonymous Elements . single () Ġas ĠPsi Anonymous Class ĊĠĠĠĠĠĠĠ Ġthis . inner Anonymous Inner Class Ġ= Ġinner Anonymous Class . inner Classes . single () ĊĊĠĠĠĠĠĠĠ Ġthis . self Refer encing Generic Ġ= Ġouter Class . inner Classes [ 1 ] ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġfun Ġassert Equivalent ( a : ĠPsi Element , Ġb : ĠPsi Element ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠassertTrue (" Expected Ġ$ a Ġ== Ġ$ b ", Ġa . manager . are Elements Equivalent ( a , Ġb )) ĊĠĠĠ Ġ} Ċ } Ċ