1 package polyglot.ast; 2 3 import java.util.List ; 4 5 import polyglot.util.CodeWriter; 6 import polyglot.types.SemanticException; 7 import polyglot.types.Context; 8 import polyglot.types.TypeSystem; 9 import polyglot.visit.*; 10 11 17 public interface NodeOps 18 { 19 25 Node visitChildren(NodeVisitor v); 26 27 37 public Context enterScope(Context c); 38 39 50 public Context enterScope(Node child, Context c); 51 52 58 void addDecls(Context c); 59 60 75 NodeVisitor buildTypesEnter(TypeBuilder tb) throws SemanticException; 76 77 91 Node buildTypes(TypeBuilder tb) throws SemanticException; 92 93 105 NodeVisitor disambiguateEnter(AmbiguityRemover ar) throws SemanticException; 106 107 118 Node disambiguate(AmbiguityRemover ar) throws SemanticException; 119 120 132 NodeVisitor addMembersEnter(AddMemberVisitor am) throws SemanticException; 133 134 145 Node addMembers(AddMemberVisitor am) throws SemanticException; 146 147 159 NodeVisitor typeCheckEnter(TypeChecker tc) throws SemanticException; 160 161 172 Node typeCheck(TypeChecker tc) throws SemanticException; 173 174 186 NodeVisitor exceptionCheckEnter(ExceptionChecker ec) throws SemanticException; 187 188 199 Node exceptionCheck(ExceptionChecker ec) throws SemanticException; 200 201 205 List throwTypes(TypeSystem ts); 206 207 213 void prettyPrint(CodeWriter w, PrettyPrinter pp); 214 215 221 void translate(CodeWriter w, Translator tr); 222 } 223 | Popular Tags |