jif.ast
Class JifClassDecl_c

java.lang.Object
  extended by polyglot.ast.Node_c
      extended by polyglot.ast.Term_c
          extended by polyglot.ast.ClassDecl_c
              extended by jif.ast.JifClassDecl_c
All Implemented Interfaces:
java.lang.Cloneable, JifClassDecl, polyglot.ast.ClassDecl, polyglot.ast.ClassMember, polyglot.ast.JL, polyglot.ast.Node, polyglot.ast.NodeOps, polyglot.ast.Term, polyglot.ast.TopLevelDecl, polyglot.util.Copy

public class JifClassDecl_c
extends polyglot.ast.ClassDecl_c
implements JifClassDecl

An implementation of the JifClassDecl interface.


Field Summary
protected  java.util.List authority
           
protected  java.util.List params
           
 
Fields inherited from class polyglot.ast.ClassDecl_c
body, defaultCI, flags, interfaces, name, superClass, type
 
Fields inherited from class polyglot.ast.Term_c
exceptions, reachable
 
Fields inherited from class polyglot.ast.Node_c
del, error, ext, position
 
Constructor Summary
JifClassDecl_c(polyglot.util.Position pos, polyglot.types.Flags flags, polyglot.ast.Id name, java.util.List params, polyglot.ast.TypeNode superClass, java.util.List interfaces, java.util.List authority, polyglot.ast.ClassBody body)
           
 
Method Summary
 JifContext addAuthorityToContext(JifContext A)
           
 JifContext addParamsToContext(JifContext A)
           
 java.util.List authority()
           
 JifClassDecl authority(java.util.List authority)
           
 polyglot.ast.Node buildTypes(polyglot.visit.TypeBuilder tb)
           
 polyglot.ast.Node disambiguate(polyglot.visit.AmbiguityRemover ar)
           
 polyglot.types.Context enterChildScope(polyglot.ast.Node child, polyglot.types.Context c)
           
 polyglot.types.Context enterScope(polyglot.types.Context c)
           
 java.util.List params()
           
 JifClassDecl params(java.util.List params)
           
 void prettyPrintHeader(polyglot.util.CodeWriter w, polyglot.visit.PrettyPrinter tr)
           
protected  JifClassDecl_c reconstruct(polyglot.ast.Id name, java.util.List params, polyglot.ast.TypeNode superClass, java.util.List interfaces, java.util.List authority, polyglot.ast.ClassBody body)
           
 void translate(polyglot.util.CodeWriter w, polyglot.visit.Translator tr)
           
 JifClassDecl type(polyglot.types.Type type)
           
 polyglot.ast.Node visitChildren(polyglot.visit.NodeVisitor v)
           
 
Methods inherited from class polyglot.ast.ClassDecl_c
acceptCFG, addDefaultConstructor, addDefaultConstructorIfNeeded, body, body, buildTypesEnter, checkSupertypeCycles, copy, defaultConstructorNeeded, disambiguateOverride, disambiguateSupertypes, dump, firstChild, flags, flags, id, id, interfaces, interfaces, isDisambiguated, memberInstance, name, name, prettyPrint, prettyPrintFooter, reconstruct, setInterfaces, setSuperClass, superClass, superClass, toString, type, type, typeCheck
 
Methods inherited from class polyglot.ast.Term_c
exceptionCheck, exceptions, exceptions, listChild, reachable, reachable
 
Methods inherited from class polyglot.ast.Node_c
addDecls, checkConstants, childExpectedType, copy, copy, del, del, disambiguateEnter, dump, dump, 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.ClassDecl
body, body, flags, flags, id, id, interfaces, interfaces, name, name, superClass, superClass, type, type
 
Methods inherited from interface polyglot.ast.ClassMember
memberInstance
 

Field Detail

params

protected java.util.List params

authority

protected java.util.List authority
Constructor Detail

JifClassDecl_c

public JifClassDecl_c(polyglot.util.Position pos,
                      polyglot.types.Flags flags,
                      polyglot.ast.Id name,
                      java.util.List params,
                      polyglot.ast.TypeNode superClass,
                      java.util.List interfaces,
                      java.util.List authority,
                      polyglot.ast.ClassBody body)
Method Detail

params

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

params

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

authority

public java.util.List authority()
Specified by:
authority in interface JifClassDecl

authority

public JifClassDecl authority(java.util.List authority)
Specified by:
authority in interface JifClassDecl

reconstruct

protected JifClassDecl_c reconstruct(polyglot.ast.Id name,
                                     java.util.List params,
                                     polyglot.ast.TypeNode superClass,
                                     java.util.List interfaces,
                                     java.util.List authority,
                                     polyglot.ast.ClassBody body)

visitChildren

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

enterScope

public polyglot.types.Context enterScope(polyglot.types.Context c)
Specified by:
enterScope in interface polyglot.ast.NodeOps
Overrides:
enterScope in class polyglot.ast.Node_c

enterChildScope

public polyglot.types.Context enterChildScope(polyglot.ast.Node child,
                                              polyglot.types.Context c)
Specified by:
enterChildScope in interface polyglot.ast.NodeOps
Overrides:
enterChildScope in class polyglot.ast.ClassDecl_c

addParamsToContext

public JifContext addParamsToContext(JifContext A)
Specified by:
addParamsToContext in interface JifClassDecl

addAuthorityToContext

public JifContext addAuthorityToContext(JifContext A)
Specified by:
addAuthorityToContext in interface JifClassDecl

buildTypes

public polyglot.ast.Node buildTypes(polyglot.visit.TypeBuilder tb)
                             throws polyglot.types.SemanticException
Specified by:
buildTypes in interface polyglot.ast.NodeOps
Overrides:
buildTypes in class polyglot.ast.ClassDecl_c
Throws:
polyglot.types.SemanticException

disambiguate

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

type

public JifClassDecl type(polyglot.types.Type type)
Specified by:
type in interface JifClassDecl

prettyPrintHeader

public void prettyPrintHeader(polyglot.util.CodeWriter w,
                              polyglot.visit.PrettyPrinter tr)
Overrides:
prettyPrintHeader in class polyglot.ast.ClassDecl_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