jltools.ext.jl.ast
Class FieldDecl_c

java.lang.Object
  |
  +--jltools.ext.jl.ast.Node_c
        |
        +--jltools.ext.jl.ast.FieldDecl_c
All Implemented Interfaces:
ClassMember, java.lang.Cloneable, Copy, FieldDecl, Node, java.io.Serializable

public class FieldDecl_c
extends Node_c
implements FieldDecl

A FieldDecl is an immutable representation of the declaration of a field of a class.

See Also:
Serialized Form

Inner classes inherited from class jltools.ext.jl.ast.Node_c
Node_c.StringCodeWriter
 
Fields inherited from class jltools.ext.jl.ast.Node_c
ext, position
 
Constructor Summary
FieldDecl_c(Ext ext, Position pos, Flags flags, TypeNode type, java.lang.String name, Expr init)
           
 
Method Summary
 Node buildTypes_(TypeBuilder tb)
          Build type objects for the declaration.
protected  Declarator decl()
          Get the declarator.
protected  FieldDecl decl(Declarator decl)
          Set the declarator.
 Type declType()
          Get the type of the declaration.
 void dump(CodeWriter w)
          Dump the AST node for debugging purposes.
 FieldInstance fieldInstance()
          Get the field instance of the declaration.
 FieldDecl fieldInstance(FieldInstance fi)
          Set the field instance of the declaration.
 Flags flags()
          Get the flags of the declaration.
 FieldDecl flags(Flags flags)
          Set the flags of the declaration.
 Expr init()
          Get the initializer of the declaration.
 FieldDecl init(Expr init)
          Set the initializer of the declaration.
 java.lang.String name()
          Get the name of the declaration.
 FieldDecl name(java.lang.String name)
          Set the name of the declaration.
protected  FieldDecl_c reconstruct(TypeNode type, Expr init)
          Reconstruct the declaration.
 Node reconstructTypes_(NodeFactory nf, TypeSystem ts, Context c)
          Reconstruct the type objects for the declaration.
 java.lang.String toString()
           
 void translate_(CodeWriter w, Translator tr)
          Translate the AST using the given code writer.
 TypeNode type()
          Get the type node of the declaration.
 FieldDecl type(TypeNode type)
          Set the type of the declaration.
 Node typeCheck_(TypeChecker tc)
          Type check the declaration.
 Node visitChildren(NodeVisitor v)
          Visit the children of the declaration.
 
Methods inherited from class jltools.ext.jl.ast.Node_c
buildTypes, buildTypesOverride_, buildTypesOverride, copy, disambiguate_, disambiguate, disambiguateOverride_, disambiguateOverride, disambiguateTypes_, disambiguateTypes, disambiguateTypesOverride_, disambiguateTypesOverride, enterScope, exceptionCheck_, exceptionCheck, exceptionCheckOverride_, exceptionCheckOverride, ext, ext, foldConstants_, foldConstants, foldConstantsOverride_, foldConstantsOverride, leaveScope, position, position, reconstructTypes, translate, translateBlock, translateSubstmt, 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
buildTypesOverride_, copy, disambiguate_, disambiguateOverride_, disambiguateTypes_, disambiguateTypesOverride_, enterScope, exceptionCheck_, exceptionCheckOverride_, ext, ext, foldConstants_, foldConstantsOverride_, leaveScope, position, position, typeCheckOverride_, visit
 

Constructor Detail

FieldDecl_c

public FieldDecl_c(Ext ext,
                   Position pos,
                   Flags flags,
                   TypeNode type,
                   java.lang.String name,
                   Expr init)
Method Detail

declType

public Type declType()
Get the type of the declaration.
Specified by:
declType in interface FieldDecl

flags

public Flags flags()
Get the flags of the declaration.
Specified by:
flags in interface FieldDecl

flags

public FieldDecl flags(Flags flags)
Set the flags of the declaration.
Specified by:
flags in interface FieldDecl

type

public TypeNode type()
Get the type node of the declaration.
Specified by:
type in interface FieldDecl

type

public FieldDecl type(TypeNode type)
Set the type of the declaration.
Specified by:
type in interface FieldDecl

name

public java.lang.String name()
Get the name of the declaration.
Specified by:
name in interface FieldDecl

name

public FieldDecl name(java.lang.String name)
Set the name of the declaration.
Specified by:
name in interface FieldDecl

init

public Expr init()
Get the initializer of the declaration.
Specified by:
init in interface FieldDecl

init

public FieldDecl init(Expr init)
Set the initializer of the declaration.
Specified by:
init in interface FieldDecl

fieldInstance

public FieldDecl fieldInstance(FieldInstance fi)
Set the field instance of the declaration.
Specified by:
fieldInstance in interface FieldDecl

fieldInstance

public FieldInstance fieldInstance()
Get the field instance of the declaration.
Specified by:
fieldInstance in interface FieldDecl

decl

protected Declarator decl()
Get the declarator.

decl

protected FieldDecl decl(Declarator decl)
Set the declarator.

reconstruct

protected FieldDecl_c reconstruct(TypeNode type,
                                  Expr init)
Reconstruct the declaration.

visitChildren

public Node visitChildren(NodeVisitor v)
Visit the children of the declaration.
Specified by:
visitChildren in interface Node
Overrides:
visitChildren in class Node_c

buildTypes_

public Node buildTypes_(TypeBuilder tb)
                 throws SemanticException
Build type objects for the declaration.
Specified by:
buildTypes_ in interface Node
Overrides:
buildTypes_ in class Node_c

typeCheck_

public Node typeCheck_(TypeChecker tc)
                throws SemanticException
Type check the declaration.
Specified by:
typeCheck_ in interface Node
Overrides:
typeCheck_ in class Node_c

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

reconstructTypes_

public Node reconstructTypes_(NodeFactory nf,
                              TypeSystem ts,
                              Context c)
                       throws SemanticException
Reconstruct the type objects for the declaration.
Specified by:
reconstructTypes_ in interface Node
Overrides:
reconstructTypes_ in class Node_c