Package EDU.purdue.jtb.generate
Class VisitorsGenerator
- java.lang.Object
-
- EDU.purdue.jtb.generate.VisitorsGenerator
-
public class VisitorsGenerator extends java.lang.Object
ClassVisitorsGenerator
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
Constructors Constructor Description VisitorsGenerator(GlobalDataBuilder aGdbv, CommonCodeGenerator aCcg, java.util.List<UserClassInfo> aClasses)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
genDepthFirstVisitorFile(VisitorInfo aVi, java.io.File aVisitorDir)
Generates a DepthFirstXxxVisitor (class source) file.int
genIVisitorFile(VisitorInfo aVi, java.io.File aVisitorDir)
Generates an IXxxVisitor (interface source) file.int
genSigAnnFile(java.io.File aSignatureDir)
Generates the NodeFieldsSignature (annotation source) file.int
genSigAnnProcFile(java.io.File aSignatureDir)
Generates the ControlSignatureProcessor (annotation processor source) file.
-
-
-
Constructor Detail
-
VisitorsGenerator
public VisitorsGenerator(GlobalDataBuilder aGdbv, CommonCodeGenerator aCcg, java.util.List<UserClassInfo> aClasses)
Constructor. Creates the visitor directory if it does not exist.- Parameters:
aGdbv
- - theGlobalDataBuilder
visitoraCcg
- - theCommonCodeGenerator
aClasses
- - the classes list
-
-
Method Detail
-
genDepthFirstVisitorFile
public int genDepthFirstVisitorFile(VisitorInfo aVi, java.io.File aVisitorDir) throws java.io.IOException
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:
java.io.IOException
- if IO problem
-
genIVisitorFile
public int genIVisitorFile(VisitorInfo aVi, java.io.File aVisitorDir) throws java.io.IOException
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:
java.io.IOException
- - if IO problem
-
genSigAnnFile
public int genSigAnnFile(java.io.File aSignatureDir) throws java.io.IOException
Generates the NodeFieldsSignature (annotation source) file.- Parameters:
aSignatureDir
- - the signature directory File- Returns:
- OK_RC or FILE_EXISTS_RC
- Throws:
java.io.IOException
- - if IO problem
-
genSigAnnProcFile
public int genSigAnnProcFile(java.io.File aSignatureDir) throws java.io.IOException
Generates the ControlSignatureProcessor (annotation processor source) file.- Parameters:
aSignatureDir
- - the signature directory File- Returns:
- OK_RC or FILE_EXISTS_RC
- Throws:
java.io.IOException
- - if IO problem
-
-