private void lazyClassInit ( ) { if ( lazyInitDone ) return ; synchronized ( lazyInitLock ) { if ( redirect != null ) { throw new GroovyBugError ( "lazyClassInit called on a proxy ClassNode, that must not happen." + "A redirect() call is missing somewhere!" ) ; } if ( lazyInitDone ) return ; VMPluginFactory . getPlugin ( ) . configureClassNode ( compileUnit , this ) ; lazyInitDone = true ; } }
The complete class structure will be initialized only when really needed to avoid having too many objects during compilation