Class VisitorsGenerator
java.lang.Object
EDU.purdue.jtb.generate.VisitorsGenerator
Class
VisitorsGenerator contains methods to generate: CODEJAVA
- the different IXxxVisitor interfaces and DepthFirstXxxVisitor classes files,
- the signature files.
Class maintains a state, and is not supposed to be run in parallel threads (on the same grammar). It does not generate the files in parallel.
TODO add test runs on generated default visitors-
Constructor Summary
ConstructorsConstructorDescriptionVisitorsGenerator(GlobalDataBuilder aGdbv, CommonCodeGenerator aCcg, List<UserClassInfo> aClasses) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionintgenDepthFirstVisitorFile(VisitorInfo aVi, File aVisitorDir) Generates a DepthFirstXxxVisitor (class source) file.intgenIVisitorFile(VisitorInfo aVi, File aVisitorDir) Generates an IXxxVisitor (interface source) file.intgenSigAnnFile(File aSignatureDir) Generates the NodeFieldsSignature (annotation source) file.intgenSigAnnProcFile(File aSignatureDir) Generates the ControlSignatureProcessor (annotation processor source) file.
-
Constructor Details
-
VisitorsGenerator
public VisitorsGenerator(GlobalDataBuilder aGdbv, CommonCodeGenerator aCcg, List<UserClassInfo> aClasses) Constructor. Creates the visitor directory if it does not exist.- Parameters:
aGdbv- - theGlobalDataBuildervisitoraCcg- - theCommonCodeGeneratoraClasses- - the classes list
-
-
Method Details
-
genDepthFirstVisitorFile
Generates a DepthFirstXxxVisitor (class source) file.- Parameters:
aVi- - a VisitorInfo defining the visitor to generateaVisitorDir- - the visitor directory File- Returns:
- OK_RC or FILE_EXISTS_RC
- Throws:
IOException- if IO problem
-
genIVisitorFile
Generates an IXxxVisitor (interface source) file.- Parameters:
aVi- - a VisitorInfo defining the visitor to generateaVisitorDir- - the visitor directory File- Returns:
- OK_RC or FILE_EXISTS_RC
- Throws:
IOException- - if IO problem
-
genSigAnnFile
Generates the NodeFieldsSignature (annotation source) file.- Parameters:
aSignatureDir- - the signature directory File- Returns:
- OK_RC or FILE_EXISTS_RC
- Throws:
IOException- - if IO problem
-
genSigAnnProcFile
Generates the ControlSignatureProcessor (annotation processor source) file.- Parameters:
aSignatureDir- - the signature directory File- Returns:
- OK_RC or FILE_EXISTS_RC
- Throws:
IOException- - if IO problem
-