jif.ast
Class InstTypeNode_c

java.lang.Object
  extended by polyglot.ast.Node_c
      extended by polyglot.ast.Term_c
          extended by polyglot.ast.TypeNode_c
              extended by jif.ast.InstTypeNode_c
All Implemented Interfaces:
java.lang.Cloneable, InstTypeNode, polyglot.ast.Ambiguous, polyglot.ast.JL, polyglot.ast.Node, polyglot.ast.NodeOps, polyglot.ast.Prefix, polyglot.ast.QualifierNode, polyglot.ast.Receiver, polyglot.ast.Term, polyglot.ast.Typed, polyglot.ast.TypeNode, polyglot.util.Copy

public class InstTypeNode_c
extends polyglot.ast.TypeNode_c
implements InstTypeNode, polyglot.ast.Ambiguous

An implementation of the InstTypeNode interface.


Field Summary
protected  polyglot.ast.TypeNode base
           
protected  java.util.List params
           
 
Fields inherited from class polyglot.ast.TypeNode_c
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
InstTypeNode_c(polyglot.util.Position pos, polyglot.ast.TypeNode base, java.util.List params)
           
 
Method Summary
 polyglot.ast.TypeNode base()
           
 InstTypeNode base(polyglot.ast.TypeNode base)
           
protected  void checkParamSuitable(ParamInstance pi, ParamNode p)
           
 polyglot.ast.Node disambiguate(polyglot.visit.AmbiguityRemover sc)
           
 polyglot.ast.Node exceptionCheck(polyglot.visit.ExceptionChecker ec)
           
 boolean isDisambiguated()
           
 java.util.List params()
           
 InstTypeNode params(java.util.List params)
           
 void prettyPrint(polyglot.util.CodeWriter w, polyglot.visit.PrettyPrinter tr)
           
protected  InstTypeNode_c reconstruct(polyglot.ast.TypeNode base, java.util.List params)
           
 java.lang.String toString()
           
 void translate(polyglot.util.CodeWriter w, polyglot.visit.Translator tr)
           
 polyglot.ast.Node typeCheck(polyglot.visit.TypeChecker tc)
           
 polyglot.ast.Node visitChildren(polyglot.visit.NodeVisitor v)
           
 
Methods inherited from class polyglot.ast.TypeNode_c
acceptCFG, buildTypes, firstChild, name, qualifier, type, type
 
Methods inherited from class polyglot.ast.Term_c
exceptions, exceptions, listChild, reachable, reachable
 
Methods inherited from class polyglot.ast.Node_c
addDecls, buildTypesEnter, checkConstants, childExpectedType, copy, copy, copy, del, del, disambiguateEnter, disambiguateOverride, dump, dump, dump, enterChildScope, enterScope, error, error, exceptionCheckEnter, ext, ext, ext, ext, init, isTypeChecked, node, position, position, prettyPrint, prettyPrint, print, printBlock, printSubStmt, throwTypes, 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.TypeNode
name, type
 
Methods inherited from interface polyglot.ast.Node
childExpectedType, del, del, dump, 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
addDecls, buildTypes, buildTypesEnter, checkConstants, copy, copy, disambiguateEnter, disambiguateOverride, dump, dump, enterChildScope, enterScope, exceptionCheckEnter, prettyPrint, prettyPrint, throwTypes, typeCheckEnter, typeCheckOverride
 
Methods inherited from interface polyglot.ast.Typed
type
 
Methods inherited from interface polyglot.ast.QualifierNode
qualifier
 
Methods inherited from interface polyglot.ast.Node
childExpectedType, del, del, dump, 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
addDecls, buildTypes, buildTypesEnter, checkConstants, copy, copy, disambiguateEnter, disambiguateOverride, dump, dump, enterChildScope, enterScope, exceptionCheckEnter, prettyPrint, prettyPrint, throwTypes, typeCheckEnter, typeCheckOverride
 
Methods inherited from interface polyglot.ast.Term
acceptCFG, exceptions, exceptions, firstChild, reachable, reachable
 

Field Detail

base

protected polyglot.ast.TypeNode base

params

protected java.util.List params
Constructor Detail

InstTypeNode_c

public InstTypeNode_c(polyglot.util.Position pos,
                      polyglot.ast.TypeNode base,
                      java.util.List params)
Method Detail

base

public polyglot.ast.TypeNode base()
Specified by:
base in interface InstTypeNode

base

public InstTypeNode base(polyglot.ast.TypeNode base)
Specified by:
base in interface InstTypeNode

params

public java.util.List params()
Specified by:
params in interface InstTypeNode

params

public InstTypeNode params(java.util.List params)
Specified by:
params in interface InstTypeNode

reconstruct

protected InstTypeNode_c reconstruct(polyglot.ast.TypeNode base,
                                     java.util.List params)

visitChildren

public polyglot.ast.Node visitChildren(polyglot.visit.NodeVisitor v)
Specified by:
visitChildren in interface polyglot.ast.NodeOps
Overrides:
visitChildren in class polyglot.ast.Node_c

isDisambiguated

public boolean isDisambiguated()
Specified by:
isDisambiguated in interface polyglot.ast.Node
Overrides:
isDisambiguated in class polyglot.ast.TypeNode_c

disambiguate

public polyglot.ast.Node disambiguate(polyglot.visit.AmbiguityRemover sc)
                               throws polyglot.types.SemanticException
Specified by:
disambiguate in interface polyglot.ast.NodeOps
Overrides:
disambiguate in class polyglot.ast.Node_c
Throws:
polyglot.types.SemanticException

checkParamSuitable

protected void checkParamSuitable(ParamInstance pi,
                                  ParamNode p)
                           throws polyglot.types.SemanticException
Throws:
polyglot.types.SemanticException

typeCheck

public polyglot.ast.Node typeCheck(polyglot.visit.TypeChecker tc)
                            throws polyglot.types.SemanticException
Specified by:
typeCheck in interface polyglot.ast.NodeOps
Overrides:
typeCheck in class polyglot.ast.Node_c
Throws:
polyglot.types.SemanticException

exceptionCheck

public polyglot.ast.Node exceptionCheck(polyglot.visit.ExceptionChecker ec)
                                 throws polyglot.types.SemanticException
Specified by:
exceptionCheck in interface polyglot.ast.NodeOps
Overrides:
exceptionCheck in class polyglot.ast.Term_c
Throws:
polyglot.types.SemanticException

prettyPrint

public void prettyPrint(polyglot.util.CodeWriter w,
                        polyglot.visit.PrettyPrinter tr)
Specified by:
prettyPrint in interface polyglot.ast.NodeOps
Specified by:
prettyPrint in class polyglot.ast.TypeNode_c

translate

public void translate(polyglot.util.CodeWriter w,
                      polyglot.visit.Translator tr)
Specified by:
translate in interface polyglot.ast.NodeOps
Overrides:
translate in class polyglot.ast.Node_c

toString

public java.lang.String toString()
Overrides:
toString in class polyglot.ast.TypeNode_c