|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.vishia.java2C.ReadStructure
public class ReadStructure
An instance of this class is filled with the result of parsing an *.stc file
which contains the structure informations of a already translated file.
Such a file is parsed inside #readStructToClassData(String sClassFileName)
called inside Java2C_Main#runrunFirstPass(java.io.File javaFile, boolean),
if either the source *.java is not present to parse (for basics)
or the destination file should not be generated because it exists and the
source *.java file isn't newer than the already translated destination.
That routine parses the result and calls
ZbnfJavaOutput.setOutputStrict(Object result, ZbnfParseResultItem, Report).
The result is this instance.
The syntax of parsing is given in the outside file Java2Cstc.zbnf in form:
Structure::= J2C: structure of file-class: <$?fileName> { class } \e.
ClassData::= <*; ?nameJava> ; <$?nameC> ;
\{ [ fieldIdents \{ [{ field; }] \}]
[ typeIdents \{ [{ | class }] \}]
[ methods \{ [{ }] \}]
[ InnerClass \{ [{ class }] \}]
\}.
field::= <1*?modeAccess><1*?modeArrayElement><1*?modeStatic>;
[{\[ [\?\?|<*\]?fixArraySizes>]\]}] ;
<*; ?typeJava> ; <$?typeC> ; <$?name> ;
.
type::= type; <$?typeName>.
method::= method ; <*;?keyName> ; <$?javaName> ; <$?CName> ;
return ;
[{ param ( ) }]
.
.
All syntax/semantic elements have a representation in this class, because
ZbnfJavaOutput.setOutputStrict(Object result, ZbnfParseResultItem, Report).
sets the result of parsing directly in the instance result of this class.
| Nested Class Summary | |
|---|---|
static class |
ReadStructure.Zbnf_Cast
|
static class |
ReadStructure.Zbnf_ClassData
Subclass to pour in the result of the ClassData::=... |
static class |
ReadStructure.Zbnf_EnvIdent
|
static class |
ReadStructure.Zbnf_Field
Subclass to pour in the result of the field::=... |
static class |
ReadStructure.Zbnf_Method
Subclass to pour in the result of the method::=... |
private static class |
ReadStructure.Zbnf_Type
Subclass to pour in the result of the type::=... |
static class |
ReadStructure.ZbnfToplevel
|
| Field Summary | |
|---|---|
private LocalIdents |
fileLevelIdents
The classData of the top level are to add to userTypes, inner classes are add to classLevelIdents. |
private static java.util.Map<java.lang.String,java.lang.Object> |
indexProcessedFiles
|
private Java2C_Main |
java2c
Aggregation to the global data of java2C translator. |
private JavaSrcTreeFile |
javaSrc
The Java source file for which this instance is created. |
private Report |
msg
|
(package private) ZbnfParser |
parserStruct
The parser for *.stc input files. |
private LocalIdents |
pkgIdents
|
private java.lang.String |
sSourceOfClassData
|
| Constructor Summary | |
|---|---|
ReadStructure(Java2C_Main java2c,
Report msg,
java.lang.String sSyntaxPath)
|
|
| Method Summary | |
|---|---|
(package private) FieldData |
createFieldData(java.lang.String sName,
ClassData typeClazz,
ClassData instanceClass,
ClassData elementClass,
ClassData keyClass,
char modeStatic,
char modeAccess,
char modeArrayElement,
int dimensionArray,
java.util.List<java.lang.String> listFixArraySizes,
ClassData declaringClazz)
|
void |
postPrepare(ReadStructure.ZbnfToplevel zbnfToplevel)
Build the classData of the read stc-data. |
void |
prepareCastTo(ReadStructure.Zbnf_Cast value,
ClassData classData)
|
void |
prepareClassData(ReadStructure.Zbnf_ClassData zbnfInput,
ReadStructure.ZbnfToplevel zbnfToplevel,
ClassData outerClassData)
|
private void |
prepareClassFieldMethod(ReadStructure.Zbnf_ClassData zbnfInput)
|
FieldData |
prepareField(ReadStructure.Zbnf_Field field,
ClassData classData)
|
void |
prepareMethod(ReadStructure.Zbnf_Method m,
ClassData classData)
|
FieldData |
prepareParam(ReadStructure.Zbnf_Field param,
ClassData classData)
|
void |
readStructToClassData(JavaSrcTreeFile javaSrc,
java.lang.String sClassFileName,
java.io.File fileStruct)
reads the structure of a class from a *.stc-File and save it to the #userTypes-ClassData. |
(package private) void |
stop()
|
(package private) void |
writeResultAsSecondToCompare(ReadStructure.ZbnfToplevel zbnfToplevel,
java.io.File fileStruct,
java.lang.String sPkgPath,
java.lang.String sClassFileName)
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
private static java.util.Map<java.lang.String,java.lang.Object> indexProcessedFiles
private final Report msg
private final Java2C_Main java2c
final ZbnfParser parserStruct
Java2Cstc.zbnf in directory given with cmd line args
-syntax:SYNTAXDIR in the routine #init()
called in #execute().
private java.lang.String sSourceOfClassData
private JavaSrcTreeFile javaSrc
private LocalIdents fileLevelIdents
private LocalIdents pkgIdents
| Constructor Detail |
|---|
ReadStructure(Java2C_Main java2c,
Report msg,
java.lang.String sSyntaxPath)
throws java.text.ParseException
java.text.ParseException| Method Detail |
|---|
public void readStructToClassData(JavaSrcTreeFile javaSrc,
java.lang.String sClassFileName,
java.io.File fileStruct)
throws java.io.FileNotFoundException,
java.io.IOException,
java.lang.IllegalArgumentException,
java.lang.IllegalAccessException,
java.lang.InstantiationException,
java.text.ParseException
#userTypes-ClassData.
sClassFileName - The name of the Java class.
java.io.FileNotFoundException
java.io.IOException
java.lang.IllegalArgumentException
java.lang.IllegalAccessException
java.lang.InstantiationException
java.text.ParseException
void writeResultAsSecondToCompare(ReadStructure.ZbnfToplevel zbnfToplevel,
java.io.File fileStruct,
java.lang.String sPkgPath,
java.lang.String sClassFileName)
throws java.io.IOException
java.io.IOException
public void postPrepare(ReadStructure.ZbnfToplevel zbnfToplevel)
throws java.lang.IllegalArgumentException,
java.lang.IllegalAccessException,
java.lang.InstantiationException,
java.text.ParseException,
java.io.FileNotFoundException,
java.io.IOException
java.text.ParseException
java.lang.InstantiationException
java.lang.IllegalAccessException
java.lang.IllegalArgumentException
java.io.IOException
java.io.FileNotFoundException
private void prepareClassFieldMethod(ReadStructure.Zbnf_ClassData zbnfInput)
throws java.lang.IllegalArgumentException,
java.lang.IllegalAccessException,
java.lang.InstantiationException,
java.text.ParseException,
java.io.FileNotFoundException,
java.io.IOException
java.lang.IllegalArgumentException
java.lang.IllegalAccessException
java.lang.InstantiationException
java.text.ParseException
java.io.FileNotFoundException
java.io.IOException
public void prepareClassData(ReadStructure.Zbnf_ClassData zbnfInput,
ReadStructure.ZbnfToplevel zbnfToplevel,
ClassData outerClassData)
throws java.lang.IllegalArgumentException,
java.lang.IllegalAccessException,
java.lang.InstantiationException,
java.text.ParseException
java.lang.IllegalArgumentException
java.lang.IllegalAccessException
java.lang.InstantiationException
java.text.ParseException
public FieldData prepareField(ReadStructure.Zbnf_Field field,
ClassData classData)
throws java.lang.IllegalArgumentException,
java.lang.IllegalAccessException,
java.lang.InstantiationException,
java.text.ParseException
java.lang.IllegalArgumentException
java.lang.IllegalAccessException
java.lang.InstantiationException
java.text.ParseException
public void prepareMethod(ReadStructure.Zbnf_Method m,
ClassData classData)
throws java.io.FileNotFoundException,
java.lang.IllegalArgumentException,
java.io.IOException,
java.lang.IllegalAccessException,
java.lang.InstantiationException,
java.text.ParseException
java.io.FileNotFoundException
java.lang.IllegalArgumentException
java.io.IOException
java.lang.IllegalAccessException
java.lang.InstantiationException
java.text.ParseException
public void prepareCastTo(ReadStructure.Zbnf_Cast value,
ClassData classData)
throws java.text.ParseException
java.text.ParseException
public FieldData prepareParam(ReadStructure.Zbnf_Field param,
ClassData classData)
throws java.io.FileNotFoundException,
java.lang.IllegalArgumentException,
java.io.IOException,
java.lang.IllegalAccessException,
java.lang.InstantiationException,
java.text.ParseException
java.io.FileNotFoundException
java.lang.IllegalArgumentException
java.io.IOException
java.lang.IllegalAccessException
java.lang.InstantiationException
java.text.ParseException
FieldData createFieldData(java.lang.String sName,
ClassData typeClazz,
ClassData instanceClass,
ClassData elementClass,
ClassData keyClass,
char modeStatic,
char modeAccess,
char modeArrayElement,
int dimensionArray,
java.util.List<java.lang.String> listFixArraySizes,
ClassData declaringClazz)
void stop()
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||