package polyglot.ast; import polyglot.types.Flags; import polyglot.types.Type; import polyglot.types.Type; import polyglot.types.Package; import polyglot.util.Position; import java.util.List; /** * An <code>ExtFactory</code> constructs extensions. It is only used by * a <code>NodeFactory</code>, during the creation of AST nodes. ExtFactories * may be chained together (see AbstractExtFactory_c) to allow extensions to be * composed. */ public interface ExtFactory { /** * The next extFactory in the chain. */ ExtFactory nextExtFactory(); ////////////////////////////////////////////////////////////////// // Factory Methods ////////////////////////////////////////////////////////////////// Ext extAmbAssign(); Ext extAmbExpr(); Ext extAmbPrefix(); Ext extAmbQualifierNode(); Ext extAmbReceiver(); Ext extAmbTypeNode(); Ext extArrayAccess(); Ext extArrayInit(); Ext extArrayTypeNode(); Ext extAssert(); Ext extAssign(); Ext extLocalAssign(); Ext extFieldAssign(); Ext extArrayAccessAssign(); Ext extBinary(); Ext extBlock(); Ext extBooleanLit(); Ext extBranch(); Ext extCall(); Ext extCanonicalTypeNode(); Ext extCase(); Ext extCast(); Ext extCatch(); Ext extCharLit(); Ext extClassBody(); Ext extClassDecl(); Ext extClassLit(); Ext extClassMember(); Ext extCodeDecl(); Ext extConditional(); Ext extConstructorCall(); Ext extConstructorDecl(); Ext extDo(); Ext extEmpty(); Ext extEval(); Ext extExpr(); Ext extField(); Ext extFieldDecl(); Ext extFloatLit(); Ext extFor(); Ext extFormal(); Ext extIf(); Ext extImport(); Ext extInitializer(); Ext extInstanceof(); Ext extIntLit(); Ext extLabeled(); Ext extLit(); Ext extLocal(); Ext extLocalClassDecl(); Ext extLocalDecl(); Ext extLoop(); Ext extMethodDecl(); Ext extNewArray(); Ext extNode(); Ext extNew(); Ext extNullLit(); Ext extNumLit(); Ext extPackageNode(); Ext extProcedureDecl(); Ext extReturn(); Ext extSourceCollection(); Ext extSourceFile(); Ext extSpecial(); Ext extStmt(); Ext extStringLit(); Ext extSwitchBlock(); Ext extSwitchElement(); Ext extSwitch(); Ext extSynchronized(); Ext extTerm(); Ext extThrow(); Ext extTry(); Ext extTypeNode(); Ext extUnary(); Ext extWhile(); }