|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectpolyglot.ast.Node_c
polyglot.ast.Term_c
polyglot.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 Id |
name
|
protected TypeNode |
type
|
| Fields inherited from class polyglot.ast.Term_c |
|---|
exceptions, reachable |
| Fields inherited from class polyglot.ast.Node_c |
|---|
del, error, ext, position |
| Fields inherited from interface polyglot.ast.Term |
|---|
ENTRY, EXIT |
| Constructor Summary | |
|---|---|
Formal_c(Position pos,
Flags flags,
TypeNode type,
Id 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. |
Node |
copy(NodeFactory nf)
Produce a copy of this node using the given NodeFactory. |
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 |
firstChild()
Return the first direct subterm performed when evaluating this term. |
Flags |
flags()
Get the flags of the formal. |
Formal |
flags(Flags flags)
Set the flags of the formal. |
Id |
id()
Get the name of the formal. |
Formal |
id(Id name)
Set the name of the formal. |
boolean |
isDisambiguated()
|
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,
Id name)
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.ast.Term_c |
|---|
exceptionCheck, exceptions, exceptions, listChild, reachable, reachable |
| Methods inherited from class polyglot.ast.Node_c |
|---|
buildTypesEnter, checkConstants, childExpectedType, copy, copy, del, del, disambiguateEnter, disambiguateOverride, dump, dump, enterChildScope, enterScope, error, error, exceptionCheckEnter, ext, ext, ext, ext, init, isTypeChecked, node, position, position, prettyPrint, prettyPrint, 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, error, error, ext, ext, ext, ext, isTypeChecked, position, position, visit, visitChild, visitEdge, visitList |
| Methods inherited from interface polyglot.ast.JL |
|---|
init, node |
| Methods inherited from interface polyglot.ast.NodeOps |
|---|
buildTypesEnter, checkConstants, copy, disambiguateEnter, disambiguateOverride, dump, dump, enterChildScope, enterScope, exceptionCheck, exceptionCheckEnter, prettyPrint, prettyPrint, throwTypes, translate, typeCheckEnter, typeCheckOverride |
| Methods inherited from interface polyglot.util.Copy |
|---|
copy |
| Field Detail |
|---|
protected LocalInstance li
protected Flags flags
protected TypeNode type
protected Id name
| Constructor Detail |
|---|
public Formal_c(Position pos,
Flags flags,
TypeNode type,
Id name)
| Method Detail |
|---|
public boolean isDisambiguated()
isDisambiguated in interface NodeisDisambiguated in class Node_cpublic Type declType()
declType in interface VarDeclpublic Flags flags()
flags in interface Formalflags in interface VarDeclpublic Formal flags(Flags flags)
flags in interface Formalpublic TypeNode type()
type in interface Formaltype in interface VarDeclpublic Formal type(TypeNode type)
type in interface Formalpublic Id id()
id in interface Formalid in interface VarDeclpublic Formal id(Id name)
id in interface Formalpublic java.lang.String name()
name in interface Formalname in interface VarDeclpublic Formal name(java.lang.String name)
name in interface Formalpublic LocalInstance localInstance()
localInstance in interface FormallocalInstance in interface VarDeclpublic Formal localInstance(LocalInstance li)
localInstance in interface Formal
protected Formal_c reconstruct(TypeNode type,
Id name)
public Node visitChildren(NodeVisitor v)
visitChildren in interface NodeOpsvisitChildren in class Node_cv - The visitor that will traverse/rewrite the AST.
this.public void addDecls(Context c)
Node_c
addDecls in interface NodeOpsaddDecls in class Node_cc - The context to which to add declarations.
public void prettyPrint(CodeWriter w,
PrettyPrinter tr)
prettyPrint in interface NodeOpsprettyPrint in class Node_cw - 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 NodeOpsbuildTypes in class Node_ctb - The visitor which adds new type objects to the
TypeSystem.
SemanticException
public Node disambiguate(AmbiguityRemover ar)
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.
The node should not assume that its children have been disambiguated.
If it depends on a child being disambiguated,
it may just return this without doing any work.
disambiguate in interface NodeOpsdisambiguate in class Node_car - The visitor which disambiguates.
SemanticException
public Node typeCheck(TypeChecker tc)
throws SemanticException
typeCheck in interface NodeOpstypeCheck in class Node_ctc - The type checking visitor.
SemanticExceptionpublic Term firstChild()
Term
firstChild in interface Term
public java.util.List acceptCFG(CFGBuilder v,
java.util.List succs)
Term_c
acceptCFG in interface TermacceptCFG in class Term_cpublic void dump(CodeWriter w)
Node
dump in interface Nodedump in class Node_cpublic java.lang.String toString()
toString in class Node_cpublic Node copy(NodeFactory nf)
NodeOps
copy in interface NodeOpscopy in class Node_c
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||