jltools.ext.jl.ast
Class  ClassDecl_c
java.lang.Object
  |
  +--jltools.ext.jl.ast.Node_c
        |
        +--jltools.ext.jl.ast.ClassDecl_c
- All Implemented Interfaces: 
 - ClassDecl, ClassMember, java.lang.Cloneable, Copy, Node, java.io.Serializable, TopLevelDecl
 
- Direct Known Subclasses: 
 - JifClassDecl_c
 
- public class ClassDecl_c
- extends Node_c
- implements ClassDecl
   
A ClassDecl is the definition of a class, abstract class,
 or interface. It may be a public or other top-level class, or an inner
 named class, or an anonymous class.
- See Also: 
 - Serialized Form
 
 
 
 
 
 
| Methods inherited from class jltools.ext.jl.ast.Node_c | 
buildTypes_, buildTypes, buildTypesOverride, copy, disambiguate_, disambiguate, disambiguateOverride_, disambiguateOverride, disambiguateTypes_, disambiguateTypes, disambiguateTypesOverride, exceptionCheck_, exceptionCheck, exceptionCheckOverride_, exceptionCheckOverride, ext, ext, foldConstants_, foldConstants, foldConstantsOverride_, foldConstantsOverride, position, position, reconstructTypes_, reconstructTypes, translate, translateBlock, translateSubstmt, typeCheck_, typeCheck, typeCheckOverride_, typeCheckOverride, visit, visitList | 
 
| Methods inherited from class java.lang.Object | 
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait | 
 
| Methods inherited from interface jltools.ast.Node | 
buildTypes_, copy, disambiguate_, disambiguateOverride_, disambiguateTypes_, exceptionCheck_, exceptionCheckOverride_, ext, ext, foldConstants_, foldConstantsOverride_, position, position, reconstructTypes_, typeCheck_, typeCheckOverride_, visit | 
 
flags
protected Flags flags
name
protected java.lang.String name
superClass
protected TypeNode superClass
interfaces
protected java.util.List interfaces
body
protected ClassBody body
type
protected ParsedClassType type
ClassDecl_c
public ClassDecl_c(Ext ext,
                   Position pos,
                   Flags flags,
                   java.lang.String name,
                   TypeNode superClass,
                   java.util.List interfaces,
                   ClassBody body)
type
public ParsedClassType type()
- Specified by: 
 type in interface ClassDecl
 
flags
public Flags flags()
- Specified by: 
 flags in interface ClassDecl
 
flags
public ClassDecl flags(Flags flags)
- Specified by: 
 flags in interface ClassDecl
 
name
public java.lang.String name()
- Specified by: 
 name in interface ClassDecl
 
name
public ClassDecl name(java.lang.String name)
- Specified by: 
 name in interface ClassDecl
 
superClass
public TypeNode superClass()
- Specified by: 
 superClass in interface ClassDecl
 
superClass
public ClassDecl superClass(TypeNode superClass)
- Specified by: 
 superClass in interface ClassDecl
 
interfaces
public java.util.List interfaces()
- Specified by: 
 interfaces in interface ClassDecl
 
interfaces
public ClassDecl interfaces(java.util.List interfaces)
- Specified by: 
 interfaces in interface ClassDecl
 
body
public ClassBody body()
- Specified by: 
 body in interface ClassDecl
 
body
public ClassDecl body(ClassBody body)
- Specified by: 
 body in interface ClassDecl
 
reconstruct
protected ClassDecl_c reconstruct(TypeNode superClass,
                                  java.util.List interfaces,
                                  ClassBody body)
 
visitChildren
public Node visitChildren(NodeVisitor v)
- Description copied from interface: 
Node 
- Visit the children of the node.
- Specified by: 
 visitChildren in interface Node- Overrides:
 visitChildren in class Node_c
 
 
buildTypesOverride_
public Node buildTypesOverride_(TypeBuilder tb)
                         throws SemanticException
- Description copied from interface: 
Node 
- Collects classes, methods, and fields from the AST rooted at this node
 and constructs type objects for these.  These type objects may be
 ambiguous.
- Specified by: 
 buildTypesOverride_ in interface Node- Overrides:
 buildTypesOverride_ in class Node_c
 
- Following copied from interface: 
jltools.ast.Node 
- Parameters:
 cb - The visitor which adds new type objects to the
 TypeSystem.
 
 
enterScope
public void enterScope(Context c)
- Description copied from interface: 
Node 
- Adjust the environment on entering the scope of the method.
- Specified by: 
 enterScope in interface Node- Overrides:
 enterScope in class Node_c
 
 
leaveScope
public void leaveScope(Context c)
- Description copied from interface: 
Node 
- Adjust the environment on leaving the scope of the method.
- Specified by: 
 leaveScope in interface Node- Overrides:
 leaveScope in class Node_c
 
 
disambiguateTypesOverride_
public Node disambiguateTypesOverride_(TypeAmbiguityRemover sc)
                                throws SemanticException
- Description copied from interface: 
Node 
- Constructs a context for each type declared in the AST.
 A context is used to look up names when cleaning class signatures.
- Specified by: 
 disambiguateTypesOverride_ in interface Node- Overrides:
 disambiguateTypesOverride_ in class Node_c
 
- Following copied from interface: 
jltools.ast.Node 
- Parameters:
 cb - The visitor which builds contexts.
 
 
toString
public java.lang.String toString()
- Overrides:
 toString in class Node_c
 
translate_
public void translate_(CodeWriter w,
                       Translator tr)
- Description copied from interface: 
Node 
- Translate the AST using the given code writer.
- Specified by: 
 translate_ in interface Node- Overrides:
 translate_ in class Node_c
 
- Following copied from interface: 
jltools.ast.Node 
- Parameters:
 w - The code writer to which to write.tr - The translation pass.  This is not a visitor.
 
 
dump
public void dump(CodeWriter w)
- Description copied from interface: 
Node 
- Dump the AST node for debugging purposes.
- Specified by: 
 dump in interface Node- Overrides:
 dump in class Node_c