Package EDU.purdue.jtb.generate
Class VisitorsGenerator
- java.lang.Object
-
- EDU.purdue.jtb.generate.VisitorsGenerator
-
public class VisitorsGenerator extends java.lang.ObjectClassVisitorsGeneratorcontains 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 intgenDepthFirstVisitorFile(VisitorInfo aVi, java.io.File aVisitorDir)Generates a DepthFirstXxxVisitor (class source) file.intgenIVisitorFile(VisitorInfo aVi, java.io.File aVisitorDir)Generates an IXxxVisitor (interface source) file.intgenSigAnnFile(java.io.File aSignatureDir)Generates the NodeFieldsSignature (annotation source) file.intgenSigAnnProcFile(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- - theGlobalDataBuildervisitoraCcg- - theCommonCodeGeneratoraClasses- - 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.IOExceptionGenerates 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.IOExceptionGenerates 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
-
-