polyglot.types
Interface LazyClassInitializer

All Superinterfaces:
LazyInitializer
All Known Implementing Classes:
ClassFileLazyClassInitializer, DeserializedClassInitializer, SchedulerClassInitializer

public interface LazyClassInitializer
extends LazyInitializer

A LazyClassInitializer is responsible for initializing members of a class after it has been created. Members are initialized lazily to correctly handle cyclic dependencies between classes.


Method Summary
 void canonicalConstructors()
          Initialize ct's constructors.
 void canonicalFields()
          Initialize ct's fields.
 void canonicalMethods()
          Initialize ct's methods.
 boolean fromClassFile()
          Return true if the class is from a class file.
 void initConstructors()
          Initialize ct's constructors.
 void initFields()
          Initialize ct's fields.
 void initInterfaces()
          Initialize ct's interfaces.
 void initMemberClasses()
          Initialize ct's member classes.
 void initMethods()
          Initialize ct's methods.
 void initSuperclass()
          Initialize ct's superclass.
 void setClass(ParsedClassType ct)
          Set the class type we're initializing.
 
Methods inherited from interface polyglot.types.LazyInitializer
initTypeObject, isTypeObjectInitialized
 

Method Detail

fromClassFile

boolean fromClassFile()
Return true if the class is from a class file.


setClass

void setClass(ParsedClassType ct)
Set the class type we're initializing.


initSuperclass

void initSuperclass()
Initialize ct's superclass. This method ensures the superclass of the class is initailized to a canonical type, or throws a MissingDependencyException.


canonicalConstructors

void canonicalConstructors()
Initialize ct's constructors. This method ensures the list of constructors is populated with canonical ConstructorInstances, or throws a MissingDependencyException.


canonicalMethods

void canonicalMethods()
Initialize ct's methods. This method ensures the list of methods is populated with canonical MethodInstances, or throws a MissingDependencyException.


canonicalFields

void canonicalFields()
Initialize ct's fields. This method ensures the list of fields is populated with canonical FieldInstances, or throws a MissingDependencyException.


initConstructors

void initConstructors()
Initialize ct's constructors. This method ensures the list of fields is populated with (possibly non-canonical) ConstructorInstances, or throws a MissingDependencyException.


initMethods

void initMethods()
Initialize ct's methods. This method ensures the list of fields is populated with (possibly non-canonical) MethodInstances, or throws a MissingDependencyException.


initFields

void initFields()
Initialize ct's fields. This method ensures the list of fields is populated with (possibly non-canonical) FieldInstances, or throws a MissingDependencyException.


initMemberClasses

void initMemberClasses()
Initialize ct's member classes. This method ensures the member classes of the class are initailized to canonical types, or throws a MissingDependencyException.


initInterfaces

void initInterfaces()
Initialize ct's interfaces. This method ensures the interfaces of the class are initailized to canonical types, or throws a MissingDependencyException.