Package EDU.purdue.jtb.generate
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 TypeMethodDescriptionint
genDepthFirstVisitorFile
(VisitorInfo aVi, File aVisitorDir) Generates a DepthFirstXxxVisitor (class source) file.int
genIVisitorFile
(VisitorInfo aVi, File aVisitorDir) Generates an IXxxVisitor (interface source) file.int
genSigAnnFile
(File aSignatureDir) Generates the NodeFieldsSignature (annotation source) file.int
genSigAnnProcFile
(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
- - theGlobalDataBuilder
visitoraCcg
- - theCommonCodeGenerator
aClasses
- - 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
-