Package com.google.turbine.processing
Class ModelFactory
- java.lang.Object
-
- com.google.turbine.processing.ModelFactory
-
public class ModelFactory extends java.lang.ObjectA factoy for turbine's implementations ofElementandTypeMirror.The model provided by those interfaces contains cycles between types and elements, e.g.
Element.asType()andDeclaredType.asElement(). Turbine's internal model uses an immutable representation of classes and types which cannot represent cycles directly. Instead, the implementations inTurbineElementandTurbineTypeMirrormaintain a reference to this class, and use it to lazily construct edges in the type and element graph.
-
-
Field Summary
Fields Modifier and Type Field Description Env<ClassSymbol,? extends TypeBoundClass>env
-
Constructor Summary
Constructors Constructor Description ModelFactory(Env<ClassSymbol,? extends TypeBoundClass> env, java.lang.ClassLoader processorLoader, TopLevelIndex tli)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ClassSymbolinferSymbol(java.lang.CharSequence name)javax.lang.model.type.NullTypenullType()voidround(CompoundEnv<ClassSymbol,TypeBoundClass> env, TopLevelIndex tli)com.google.turbine.processing.TurbineElement.TurbineTypeElementtypeElement(ClassSymbol symbol)
-
-
-
Field Detail
-
env
public Env<ClassSymbol,? extends TypeBoundClass> env
-
-
Constructor Detail
-
ModelFactory
public ModelFactory(Env<ClassSymbol,? extends TypeBoundClass> env, java.lang.ClassLoader processorLoader, TopLevelIndex tli)
-
-
Method Detail
-
round
public void round(CompoundEnv<ClassSymbol,TypeBoundClass> env, TopLevelIndex tli)
-
nullType
public javax.lang.model.type.NullType nullType()
-
typeElement
public com.google.turbine.processing.TurbineElement.TurbineTypeElement typeElement(ClassSymbol symbol)
-
inferSymbol
public ClassSymbol inferSymbol(java.lang.CharSequence name)
-
-