/* Ċ Ġ* ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠMIT Ġlicense Ġthat Ġcan Ġbe Ċ Ġ* Ġfound Ġin Ġthe ĠLICENSE Ġfile . Ċ Ġ*/ Ċ Ċ package Ġorg . rust . lang . core . psi . ext Ċ Ċ import Ġcom . intellij . lang . AST Node Ċ import Ġcom . intellij . psi . Psi Element Ċ import Ġcom . intellij . psi . stubs . I Stub ElementType Ċ import Ġorg . rust . ide . icons . Rs Icons Ċ import Ġorg . rust . lang . core . psi . Rs Element Types Ċ import Ġorg . rust . lang . core . psi . Rs Macro Ċ import Ġorg . rust . lang . core . stubs . Rs Macro Stub Ċ import Ġjavax . swing . Icon Ċ Ċ abstract Ġclass ĠRs Macro Impl Mixin Ġ: ĠRs Stub bed Named Element Impl < Rs Macro Stub >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRs Macro Ġ{ ĊĊĠĠĠ Ġconstructor ( node : ĠAST Node ) Ġ: Ġsuper ( node ) ĊĊĠĠĠ Ġconstructor ( stub : ĠRs Macro Stub , Ġelement Type : ĠI Stub ElementType < *, Ġ* >) Ġ: Ġsuper ( stub , Ġelement Type ) ĊĊĠĠĠ Ġoverride Ġfun ĠgetName Identifier (): ĠPsi Element ? Ġ= ĊĠĠĠĠĠĠĠ Ġfind Children ByType < Psi Element >( Rs Element Types . IDENTIFIER ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. get OrNull ( 1 ) Ġ// ĠZero th Ġis Ġ` macro _ rules ` Ġitself ĊĊĠĠĠ Ġoverride Ġfun Ġget Icon ( flags : ĠInt ): ĠIcon ? Ġ= ĠRs Icons . MACRO ĊĊĠĠĠ Ġoverride Ġval Ġcrate RelativePath : ĠString ? Ġget () Ġ= Ġname ?. let Ġ{ Ġ" ::$ it " Ġ} Ċ } Ċ Ċ val ĠRs Macro . has Macro Export : ĠBoolean ĊĠĠĠ Ġget () Ġ= Ġquery Attributes . has Attribute (" macro _ export ") Ċ