public class JL5EnumDeclExt extends JL5ClassDeclExt
paramTypesannotations| Constructor and Description |
|---|
JL5EnumDeclExt() |
JL5EnumDeclExt(java.util.List<AnnotationElem> annotations) |
| Modifier and Type | Method and Description |
|---|---|
Node |
addDefaultConstructor(TypeSystem ts,
NodeFactory nf,
ConstructorInstance defaultCI) |
Node |
addEnumMethodTypesIfNeeded(TypeSystem ts) |
ClassDecl |
addValueOfMethodType(TypeSystem ts) |
ClassDecl |
addValuesMethodType(TypeSystem ts) |
Node |
buildTypes(TypeBuilder tb)
Collects classes, methods, and fields from the AST rooted at this node
and constructs type objects for these.
|
void |
prettyPrint(CodeWriter w,
PrettyPrinter tr)
Pretty-print the AST using the given
CodeWriter. |
Node |
typeCheck(TypeChecker tc)
Type check the AST.
|
NodeVisitor |
typeCheckEnter(TypeChecker tc)
Type check the AST.
|
annotationCheck, declaration, enterChildScope, node, paramTypes, paramTypes, paramTypes, prettyPrintFooter, prettyPrintHeader, prettyPrintHeaderRest, prettyPrintModifiers, prettyPrintName, setAnnotations, visitChildrenannotationElems, annotationElems, annotationElemsacceptCFG, firstChildaddDecls, buildTypesEnter, checkConstants, childExpectedType, copy, copy, copy, disambiguate, disambiguateEnter, disambiguateOverride, dump, dump, dump, dump, dump, enterScope, exceptionCheck, exceptionCheckEnter, ext, ext, extRewrite, extRewriteEnter, init, initPred, pred, prettyPrint, prettyPrint, prettyPrint, prettyPrint, print, printBlock, printSubStmt, superLang, throwTypes, toString, typeCheckOverride, visitChild, visitListpublic JL5EnumDeclExt()
public JL5EnumDeclExt(java.util.List<AnnotationElem> annotations)
public ClassDecl addValueOfMethodType(TypeSystem ts)
public ClassDecl addValuesMethodType(TypeSystem ts)
public Node addEnumMethodTypesIfNeeded(TypeSystem ts)
public Node buildTypes(TypeBuilder tb) throws SemanticException
NodeOpsTypeSystem.
This method is called by the leave() method of the
visitor. The method should perform work that should be done
after visiting the children of the node. The method may return
this or a new copy of the node which will be
installed as a child of the node's parent.buildTypes in interface NodeOpsbuildTypes in class JL5ClassDeclExttb - The visitor which adds new type objects to the
TypeSystem.SemanticExceptionpublic NodeVisitor typeCheckEnter(TypeChecker tc) throws SemanticException
NodeOpsenter() method of the
visitor. The * method should perform work that should be done
before visiting the children of the node. The method may return
this or a new copy of the node on which
visitChildren() and leave() will be
invoked.typeCheckEnter in interface NodeOpstypeCheckEnter in class Ext_ctc - The type checking visitor.SemanticExceptionpublic Node typeCheck(TypeChecker tc) throws SemanticException
NodeOpsleave() method of the
visitor. The method should perform work that should be done
after visiting the children of the node. The method may return
this or a new copy of the node which will be
installed as a child of the node's parent.typeCheck in interface NodeOpstypeCheck in class JL5ClassDeclExttc - The type checking visitor.SemanticExceptionpublic Node addDefaultConstructor(TypeSystem ts, NodeFactory nf, ConstructorInstance defaultCI) throws SemanticException
addDefaultConstructor in interface ClassDeclOpsaddDefaultConstructor in class JL5ClassDeclExtSemanticExceptionpublic void prettyPrint(CodeWriter w, PrettyPrinter tr)
NodeOpsCodeWriter.prettyPrint in interface NodeOpsprettyPrint in class JL5ClassDeclExtw - The code writer to which to write.tr - The pretty printer. This is not a visitor.