|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectpolyglot.ext.jl.ast.Node_c
polyglot.ext.jl.ast.Term_c
polyglot.ext.jl.ast.Formal_c
public class Formal_c
A Formal
represents a formal parameter for a procedure
or catch block. It consists of a type and a variable identifier.
Field Summary | |
---|---|
protected Flags |
flags
|
protected LocalInstance |
li
|
protected java.lang.String |
name
|
protected TypeNode |
type
|
Fields inherited from class polyglot.ext.jl.ast.Term_c |
---|
exceptions |
Fields inherited from class polyglot.ext.jl.ast.Node_c |
---|
del, ext, position |
Constructor Summary | |
---|---|
Formal_c(Position pos,
Flags flags,
TypeNode type,
java.lang.String name)
|
Method Summary | |
---|---|
java.util.List |
acceptCFG(CFGBuilder v,
java.util.List succs)
Visit this term in evaluation order. |
void |
addDecls(Context c)
Add any declarations to the context that should be in scope when visiting later sibling nodes. |
Node |
buildTypes(TypeBuilder tb)
Build type objects for the formal. |
Type |
declType()
Get the type of the formal. |
Node |
disambiguate(AmbiguityRemover ar)
Remove any remaining ambiguities from the AST. |
void |
dump(CodeWriter w)
Dump the AST node for debugging purposes. |
Term |
entry()
Return the first (sub)term performed when evaluating this term. |
Flags |
flags()
Get the flags of the formal. |
Formal |
flags(Flags flags)
Set the flags of the formal. |
LocalInstance |
localInstance()
Get the local instance of the formal. |
Formal |
localInstance(LocalInstance li)
Set the local instance of the formal. |
java.lang.String |
name()
Get the name of the formal. |
Formal |
name(java.lang.String name)
Set the name of the formal. |
void |
prettyPrint(CodeWriter w,
PrettyPrinter tr)
Write the formal to an output file. |
protected Formal_c |
reconstruct(TypeNode type)
Reconstruct the formal. |
java.lang.String |
toString()
|
TypeNode |
type()
Get the type node of the formal. |
Formal |
type(TypeNode type)
Set the type node of the formal. |
Node |
typeCheck(TypeChecker tc)
Type check the formal. |
Node |
visitChildren(NodeVisitor v)
Visit the children of the formal. |
Methods inherited from class polyglot.ext.jl.ast.Term_c |
---|
exceptionCheck, exceptions, exceptions, listEntry, reachable, reachable |
Methods inherited from class polyglot.ext.jl.ast.Node_c |
---|
addMembers, addMembersEnter, addMembersOverride, buildTypesEnter, buildTypesOverride, childExpectedType, copy, del, del, disambiguateEnter, disambiguateOverride, enterScope, enterScope, exceptionCheckEnter, exceptionCheckOverride, ext, ext, ext, ext, init, node, position, position, print, printBlock, printSubStmt, throwTypes, translate, typeCheckEnter, typeCheckOverride, visit, visitChild, visitEdge, visitList |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface polyglot.ast.Term |
---|
exceptions, exceptions, reachable, reachable |
Methods inherited from interface polyglot.ast.Node |
---|
childExpectedType, del, del, ext, ext, ext, ext, position, position, visit, visitChild, visitEdge, visitList |
Methods inherited from interface polyglot.ast.JL |
---|
init, node |
Methods inherited from interface polyglot.ast.NodeOps |
---|
addMembers, addMembersEnter, buildTypesEnter, disambiguateEnter, enterScope, enterScope, exceptionCheck, exceptionCheckEnter, throwTypes, translate, typeCheckEnter |
Methods inherited from interface polyglot.util.Copy |
---|
copy |
Field Detail |
---|
protected LocalInstance li
protected Flags flags
protected TypeNode type
protected java.lang.String name
Constructor Detail |
---|
public Formal_c(Position pos, Flags flags, TypeNode type, java.lang.String name)
Method Detail |
---|
public Type declType()
declType
in interface VarDecl
public Flags flags()
flags
in interface VarDecl
public Formal flags(Flags flags)
flags
in interface Formal
public TypeNode type()
type
in interface VarDecl
public Formal type(TypeNode type)
type
in interface Formal
public java.lang.String name()
name
in interface VarDecl
public Formal name(java.lang.String name)
name
in interface Formal
public LocalInstance localInstance()
localInstance
in interface VarDecl
public Formal localInstance(LocalInstance li)
localInstance
in interface Formal
protected Formal_c reconstruct(TypeNode type)
public Node visitChildren(NodeVisitor v)
visitChildren
in interface NodeOps
visitChildren
in class Node_c
v
- The visitor that will traverse/rewrite the AST.
this
.public void addDecls(Context c)
Node_c
addDecls
in interface NodeOps
addDecls
in class Node_c
c
- The context to which to add declarations.public void prettyPrint(CodeWriter w, PrettyPrinter tr)
prettyPrint
in interface NodeOps
prettyPrint
in class Node_c
w
- The code writer to which to write.tr
- The pretty printer. This is not a visitor.public Node buildTypes(TypeBuilder tb) throws SemanticException
buildTypes
in interface NodeOps
buildTypes
in class Node_c
tb
- The visitor which adds new type objects to the
TypeSystem
.
SemanticException
public Node disambiguate(AmbiguityRemover ar) throws SemanticException
NodeOps
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.
disambiguate
in interface NodeOps
disambiguate
in class Node_c
ar
- The visitor which disambiguates.
SemanticException
public Node typeCheck(TypeChecker tc) throws SemanticException
typeCheck
in interface NodeOps
typeCheck
in class Node_c
tc
- The type checking visitor.
SemanticException
public Term entry()
Term_c
entry
in interface Term
entry
in class Term_c
public java.util.List acceptCFG(CFGBuilder v, java.util.List succs)
Term_c
acceptCFG
in interface Term
acceptCFG
in class Term_c
public void dump(CodeWriter w)
Node
dump
in interface Node
dump
in class Node_c
public java.lang.String toString()
toString
in class Node_c
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |