forked from JavaTX/JavaCompilerCore
JavaParser fixed
This commit is contained in:
parent
2c0ece66b9
commit
18e7b68927
@ -1,9 +1,13 @@
|
|||||||
package de.dhbwstuttgart.antlr;
|
package de.dhbwstuttgart.antlr;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileInputStream;
|
||||||
|
import java.io.IOException;
|
||||||
import java.util.Vector;
|
import java.util.Vector;
|
||||||
|
|
||||||
import org.antlr.v4.runtime.*;
|
import org.antlr.v4.runtime.*;
|
||||||
import org.antlr.v4.runtime.tree.*;
|
import org.antlr.v4.runtime.tree.*;
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
import de.dhbwstuttgart.antlr.Java8Parser.ClassDeclarationContext;
|
import de.dhbwstuttgart.antlr.Java8Parser.ClassDeclarationContext;
|
||||||
import de.dhbwstuttgart.antlr.Java8Parser.CompilationUnitContext;
|
import de.dhbwstuttgart.antlr.Java8Parser.CompilationUnitContext;
|
||||||
@ -12,17 +16,27 @@ import de.dhbwstuttgart.syntaxtree.SourceFile;
|
|||||||
import de.dhbwstuttgart.syntaxtree.SyntaxTreeNode;
|
import de.dhbwstuttgart.syntaxtree.SyntaxTreeNode;
|
||||||
import de.dhbwstuttgart.syntaxtree.Class;
|
import de.dhbwstuttgart.syntaxtree.Class;
|
||||||
|
|
||||||
public class Test {
|
|
||||||
public static void main(String[] args) throws Exception {
|
public class VisitorTest {
|
||||||
ANTLRInputStream input = new ANTLRInputStream(System.in);
|
|
||||||
|
private final static String testFile = System.getProperty("user.dir")+"/test/parser/AntlrTest.jav";
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void test() throws IOException{
|
||||||
|
|
||||||
|
ANTLRInputStream input = new ANTLRInputStream(new FileInputStream(testFile));
|
||||||
Java8Lexer lexer = new Java8Lexer(input);
|
Java8Lexer lexer = new Java8Lexer(input);
|
||||||
CommonTokenStream tokens = new CommonTokenStream(lexer);
|
CommonTokenStream tokens = new CommonTokenStream(lexer);
|
||||||
Java8Parser parser = new Java8Parser(tokens);
|
Java8Parser parser = new Java8Parser(tokens);
|
||||||
ParseTree tree = parser.compilationUnit(); // begin parsing at init rule
|
ParseTree tree = parser.compilationUnit(); // begin parsing at init rule
|
||||||
System.out.println(tree.toStringTree(parser)); // print LISP-style tree
|
System.out.println(tree.toStringTree(parser)); // print LISP-style tree
|
||||||
// Create a generic parse tree walker that can trigger callbacks
|
//VISITOR:
|
||||||
ParseTreeWalker walker = new ParseTreeWalker();
|
EvalVisitor visitor = new EvalVisitor();
|
||||||
}
|
SyntaxTreeNode sourceFile = visitor.visit(tree);
|
||||||
|
System.out.println(sourceFile);
|
||||||
|
// Create a generic parse tree walker that can trigger callbacks
|
||||||
|
// ParseTreeWalker walker = new ParseTreeWalker();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class EvalVisitor extends Java8BaseVisitor<SyntaxTreeNode> {
|
class EvalVisitor extends Java8BaseVisitor<SyntaxTreeNode> {
|
||||||
@ -35,7 +49,7 @@ class EvalVisitor extends Java8BaseVisitor<SyntaxTreeNode> {
|
|||||||
classDefinitions.add(cl);
|
classDefinitions.add(cl);
|
||||||
}
|
}
|
||||||
|
|
||||||
return new SourceFile();
|
return new SourceFile(classDefinitions);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -46,7 +60,9 @@ class EvalVisitor extends Java8BaseVisitor<SyntaxTreeNode> {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Class visitClassDeclaration(ClassDeclarationContext ctx) {
|
public Class visitClassDeclaration(ClassDeclarationContext ctx) {
|
||||||
return null;
|
String name = ctx.Identifier().getText();
|
||||||
|
int offset = ctx.Identifier().getSymbol().getStartIndex();
|
||||||
|
return new Class(name, offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -5,6 +5,7 @@ package de.dhbwstuttgart.parser;
|
|||||||
// ino.module.InterfaceList.8615.import
|
// ino.module.InterfaceList.8615.import
|
||||||
import java.util.Vector;
|
import java.util.Vector;
|
||||||
|
|
||||||
|
import de.dhbwstuttgart.syntaxtree.Interface;
|
||||||
import de.dhbwstuttgart.syntaxtree.misc.UsedId;
|
import de.dhbwstuttgart.syntaxtree.misc.UsedId;
|
||||||
|
|
||||||
// ino.class.InterfaceList.24383.description type=javadoc
|
// ino.class.InterfaceList.24383.description type=javadoc
|
||||||
@ -35,11 +36,15 @@ public class InterfaceList
|
|||||||
// ino.end
|
// ino.end
|
||||||
|
|
||||||
// ino.method.getVector.24392.definition
|
// ino.method.getVector.24392.definition
|
||||||
public Vector<UsedId> getVector()
|
public Vector<Interface> getVector()
|
||||||
// ino.end
|
// ino.end
|
||||||
// ino.method.getVector.24392.body
|
// ino.method.getVector.24392.body
|
||||||
{
|
{
|
||||||
return superif;
|
Vector<Interface> ret = new Vector<>();
|
||||||
|
for(UsedId name : superif){
|
||||||
|
ret.add(new Interface(name.get_Name_1Element(), name.getOffset()));
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
// ino.end
|
// ino.end
|
||||||
|
|
||||||
|
@ -950,7 +950,7 @@ case 34:
|
|||||||
{
|
{
|
||||||
Interface ic = new Interface(((InterfaceAndParameter)yyVals[-2+yyTop]).getName(), ((Token)yyVals[-3+yyTop]).getOffset());
|
Interface ic = new Interface(((InterfaceAndParameter)yyVals[-2+yyTop]).getName(), ((Token)yyVals[-3+yyTop]).getOffset());
|
||||||
ic.setParaList(((InterfaceAndParameter)yyVals[-2+yyTop]).getParaVector());
|
ic.setParaList(((InterfaceAndParameter)yyVals[-2+yyTop]).getParaVector());
|
||||||
ic.setSuperInterfaces(((InterfaceList)yyVals[-1+yyTop]).getVector());
|
/*ic.setSuperInterfaces($3.getVector());*/
|
||||||
ic.setInterfaceBody(((InterfaceBody)yyVals[0+yyTop]));
|
ic.setInterfaceBody(((InterfaceBody)yyVals[0+yyTop]));
|
||||||
ic.setContainedTypes(containedTypes);
|
ic.setContainedTypes(containedTypes);
|
||||||
initContainedTypes();
|
initContainedTypes();
|
||||||
@ -962,7 +962,7 @@ case 35:
|
|||||||
{
|
{
|
||||||
Interface ic = new Interface(((InterfaceAndParameter)yyVals[-2+yyTop]).getName(), ((Modifiers)yyVals[-4+yyTop]), ((Token)yyVals[-3+yyTop]).getOffset());
|
Interface ic = new Interface(((InterfaceAndParameter)yyVals[-2+yyTop]).getName(), ((Modifiers)yyVals[-4+yyTop]), ((Token)yyVals[-3+yyTop]).getOffset());
|
||||||
ic.setParaList(((InterfaceAndParameter)yyVals[-2+yyTop]).getParaVector());
|
ic.setParaList(((InterfaceAndParameter)yyVals[-2+yyTop]).getParaVector());
|
||||||
ic.setSuperInterfaces(((InterfaceList)yyVals[-1+yyTop]).getVector());
|
/*ic.setSuperInterfaces($4.getVector());*/
|
||||||
ic.setInterfaceBody(((InterfaceBody)yyVals[0+yyTop]));
|
ic.setInterfaceBody(((InterfaceBody)yyVals[0+yyTop]));
|
||||||
ic.setContainedTypes(containedTypes);
|
ic.setContainedTypes(containedTypes);
|
||||||
initContainedTypes();
|
initContainedTypes();
|
||||||
@ -986,7 +986,7 @@ case 37:
|
|||||||
// line 493 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
|
// line 493 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
|
||||||
{
|
{
|
||||||
ParaList pl = new ParaList();
|
ParaList pl = new ParaList();
|
||||||
RefType t = new RefType( ((Token)yyVals[-3+yyTop]).getLexem(),((Token)yyVals[-3+yyTop]).getOffset() );
|
RefType t = new RefType( ((Token)yyVals[-3+yyTop]).getLexem(),null,((Token)yyVals[-3+yyTop]).getOffset() );
|
||||||
t.set_ParaList( ((ParaList)yyVals[-1+yyTop]).get_ParaList() );
|
t.set_ParaList( ((ParaList)yyVals[-1+yyTop]).get_ParaList() );
|
||||||
pl.getParalist().addElement(t);
|
pl.getParalist().addElement(t);
|
||||||
org.apache.log4j.Logger.getLogger("parser").debug( "IDENTIFIER '<' paralist '>' --> Paralist f<>r " + ((Token)yyVals[-3+yyTop]).getLexem() + ": RefType");
|
org.apache.log4j.Logger.getLogger("parser").debug( "IDENTIFIER '<' paralist '>' --> Paralist f<>r " + ((Token)yyVals[-3+yyTop]).getLexem() + ": RefType");
|
||||||
@ -1018,7 +1018,7 @@ case 39:
|
|||||||
case 40:
|
case 40:
|
||||||
// line 521 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
|
// line 521 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
|
||||||
{
|
{
|
||||||
RefType t = new RefType( ((Token)yyVals[-3+yyTop]).getLexem() ,((Token)yyVals[-3+yyTop]).getOffset() );
|
RefType t = new RefType( ((Token)yyVals[-3+yyTop]).getLexem(),null ,((Token)yyVals[-3+yyTop]).getOffset() );
|
||||||
t.set_ParaList( ((ParaList)yyVals[-1+yyTop]).get_ParaList() );
|
t.set_ParaList( ((ParaList)yyVals[-1+yyTop]).get_ParaList() );
|
||||||
((ParaList)yyVals[-5+yyTop]).getParalist().addElement(t);
|
((ParaList)yyVals[-5+yyTop]).getParalist().addElement(t);
|
||||||
org.apache.log4j.Logger.getLogger("parser").debug( "paralist ',' IDENTIFIER '<' paralist '>' --> Paralist f<>r " + ((Token)yyVals[-3+yyTop]).getLexem() + ": RefType");
|
org.apache.log4j.Logger.getLogger("parser").debug( "paralist ',' IDENTIFIER '<' paralist '>' --> Paralist f<>r " + ((Token)yyVals[-3+yyTop]).getLexem() + ": RefType");
|
||||||
@ -1036,7 +1036,7 @@ case 42:
|
|||||||
// line 535 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
|
// line 535 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
|
||||||
{
|
{
|
||||||
/*Luar 29.11.06 Offset auf -1, da keine Angabe vorhanden*/
|
/*Luar 29.11.06 Offset auf -1, da keine Angabe vorhanden*/
|
||||||
WildcardType wc = new WildcardType(-1);
|
WildcardType wc = new WildcardType(null,-1);
|
||||||
yyVal = wc;
|
yyVal = wc;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -1193,7 +1193,7 @@ case 64:
|
|||||||
// line 663 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
|
// line 663 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
|
||||||
{
|
{
|
||||||
/*PL 05-07-30 eingefuegt containedTypes ANFANG*/
|
/*PL 05-07-30 eingefuegt containedTypes ANFANG*/
|
||||||
RefType RT = new RefType(-1);
|
RefType RT = new RefType(null,-1);
|
||||||
/*RT.set_UsedId($1);*/
|
/*RT.set_UsedId($1);*/
|
||||||
/*RT.setName(RT.get_UsedId().get_Name_1Element());*/
|
/*RT.setName(RT.get_UsedId().get_Name_1Element());*/
|
||||||
RT.set_ParaList(((UsedId)yyVals[0+yyTop]).get_RealParaList());
|
RT.set_ParaList(((UsedId)yyVals[0+yyTop]).get_RealParaList());
|
||||||
@ -1660,7 +1660,7 @@ case 122:
|
|||||||
case 123:
|
case 123:
|
||||||
// line 1071 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
|
// line 1071 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
|
||||||
{
|
{
|
||||||
Void Voit = new Void(((Token)yyVals[-1+yyTop]).getOffset());
|
Void Voit = new Void(((Method)yyVals[0+yyTop]),((Token)yyVals[-1+yyTop]).getOffset());
|
||||||
((Method)yyVals[0+yyTop]).setType(Voit);
|
((Method)yyVals[0+yyTop]).setType(Voit);
|
||||||
yyVal=((Method)yyVals[0+yyTop]);
|
yyVal=((Method)yyVals[0+yyTop]);
|
||||||
}
|
}
|
||||||
@ -1668,7 +1668,7 @@ case 123:
|
|||||||
case 124:
|
case 124:
|
||||||
// line 1077 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
|
// line 1077 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
|
||||||
{
|
{
|
||||||
Void voit = new Void(((Token)yyVals[-1+yyTop]).getOffset());
|
Void voit = new Void(((Method)yyVals[0+yyTop]),((Token)yyVals[-1+yyTop]).getOffset());
|
||||||
((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-2+yyTop]));
|
((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-2+yyTop]));
|
||||||
((Method)yyVals[0+yyTop]).setType(voit);
|
((Method)yyVals[0+yyTop]).setType(voit);
|
||||||
yyVal=((Method)yyVals[0+yyTop]);
|
yyVal=((Method)yyVals[0+yyTop]);
|
||||||
@ -1677,7 +1677,7 @@ case 124:
|
|||||||
case 125:
|
case 125:
|
||||||
// line 1084 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
|
// line 1084 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
|
||||||
{
|
{
|
||||||
Void voyt = new Void(((Token)yyVals[-2+yyTop]).getOffset());
|
Void voyt = new Void(((Method)yyVals[-1+yyTop]),((Token)yyVals[-2+yyTop]).getOffset());
|
||||||
((Method)yyVals[-1+yyTop]).setType(voyt);
|
((Method)yyVals[-1+yyTop]).setType(voyt);
|
||||||
((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop]));
|
((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop]));
|
||||||
yyVal=((Method)yyVals[-1+yyTop]);
|
yyVal=((Method)yyVals[-1+yyTop]);
|
||||||
@ -1686,7 +1686,7 @@ case 125:
|
|||||||
case 126:
|
case 126:
|
||||||
// line 1091 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
|
// line 1091 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
|
||||||
{
|
{
|
||||||
Void voyd = new Void(((Token)yyVals[-2+yyTop]).getOffset());
|
Void voyd = new Void(((Method)yyVals[-1+yyTop]),((Token)yyVals[-2+yyTop]).getOffset());
|
||||||
((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-3+yyTop]));
|
((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-3+yyTop]));
|
||||||
((Method)yyVals[-1+yyTop]).setType(voyd);
|
((Method)yyVals[-1+yyTop]).setType(voyd);
|
||||||
((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop]));
|
((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop]));
|
||||||
@ -1696,7 +1696,7 @@ case 126:
|
|||||||
case 127:
|
case 127:
|
||||||
// line 1099 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
|
// line 1099 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
|
||||||
{
|
{
|
||||||
Void Voit = new Void(((Token)yyVals[-1+yyTop]).getOffset());
|
Void Voit = new Void(((Method)yyVals[0+yyTop]),((Token)yyVals[-1+yyTop]).getOffset());
|
||||||
((Method)yyVals[0+yyTop]).setType(Voit);
|
((Method)yyVals[0+yyTop]).setType(Voit);
|
||||||
((Method)yyVals[0+yyTop]).setGenericParameter(((GenericDeclarationList)yyVals[-2+yyTop]));
|
((Method)yyVals[0+yyTop]).setGenericParameter(((GenericDeclarationList)yyVals[-2+yyTop]));
|
||||||
yyVal=((Method)yyVals[0+yyTop]);
|
yyVal=((Method)yyVals[0+yyTop]);
|
||||||
@ -1705,7 +1705,7 @@ case 127:
|
|||||||
case 128:
|
case 128:
|
||||||
// line 1106 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
|
// line 1106 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
|
||||||
{
|
{
|
||||||
Void voit = new Void(((Token)yyVals[-1+yyTop]).getOffset());
|
Void voit = new Void(((Method)yyVals[0+yyTop]),((Token)yyVals[-1+yyTop]).getOffset());
|
||||||
((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-3+yyTop]));
|
((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-3+yyTop]));
|
||||||
((Method)yyVals[0+yyTop]).setType(voit);
|
((Method)yyVals[0+yyTop]).setType(voit);
|
||||||
((Method)yyVals[0+yyTop]).setGenericParameter(((GenericDeclarationList)yyVals[-2+yyTop]));
|
((Method)yyVals[0+yyTop]).setGenericParameter(((GenericDeclarationList)yyVals[-2+yyTop]));
|
||||||
@ -1715,7 +1715,7 @@ case 128:
|
|||||||
case 129:
|
case 129:
|
||||||
// line 1114 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
|
// line 1114 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
|
||||||
{
|
{
|
||||||
Void voyt = new Void(((Token)yyVals[-2+yyTop]).getOffset());
|
Void voyt = new Void(((Method)yyVals[-1+yyTop]),((Token)yyVals[-2+yyTop]).getOffset());
|
||||||
((Method)yyVals[-1+yyTop]).setType(voyt);
|
((Method)yyVals[-1+yyTop]).setType(voyt);
|
||||||
((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop]));
|
((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop]));
|
||||||
((Method)yyVals[-1+yyTop]).setGenericParameter(((GenericDeclarationList)yyVals[-3+yyTop]));
|
((Method)yyVals[-1+yyTop]).setGenericParameter(((GenericDeclarationList)yyVals[-3+yyTop]));
|
||||||
@ -1725,7 +1725,7 @@ case 129:
|
|||||||
case 130:
|
case 130:
|
||||||
// line 1122 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
|
// line 1122 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
|
||||||
{
|
{
|
||||||
Void voyd = new Void(((Token)yyVals[-2+yyTop]).getOffset());
|
Void voyd = new Void(((Method)yyVals[-1+yyTop]),((Token)yyVals[-2+yyTop]).getOffset());
|
||||||
((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-4+yyTop]));
|
((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-4+yyTop]));
|
||||||
((Method)yyVals[-1+yyTop]).setType(voyd);
|
((Method)yyVals[-1+yyTop]).setType(voyd);
|
||||||
((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop]));
|
((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop]));
|
||||||
@ -1867,7 +1867,7 @@ case 148:
|
|||||||
case 149:
|
case 149:
|
||||||
// line 1238 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
|
// line 1238 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
|
||||||
{
|
{
|
||||||
RefType RT = new RefType(-1);
|
RefType RT = new RefType(null,-1);
|
||||||
RT.set_UsedId(((UsedId)yyVals[0+yyTop]));
|
RT.set_UsedId(((UsedId)yyVals[0+yyTop]));
|
||||||
RT.setName(RT.get_UsedId().get_Name_1Element());
|
RT.setName(RT.get_UsedId().get_Name_1Element());
|
||||||
yyVal=RT;
|
yyVal=RT;
|
||||||
@ -1915,7 +1915,7 @@ case 152:
|
|||||||
case 153:
|
case 153:
|
||||||
// line 1280 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
|
// line 1280 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
|
||||||
{
|
{
|
||||||
BooleanType BT = new BooleanType();
|
BooleanType BT = new BooleanType(null);
|
||||||
/* #JB# 05.04.2005 */
|
/* #JB# 05.04.2005 */
|
||||||
/* ########################################################### */
|
/* ########################################################### */
|
||||||
/*BT.setName($1.getLexem());*/
|
/*BT.setName($1.getLexem());*/
|
||||||
@ -1939,7 +1939,7 @@ case 155:
|
|||||||
/*((UsedId)$1).vParaOrg = new Vector<Type>( $2.get_ParaList() );*/
|
/*((UsedId)$1).vParaOrg = new Vector<Type>( $2.get_ParaList() );*/
|
||||||
}
|
}
|
||||||
UsedId uid = ((UsedId)yyVals[-1+yyTop]);
|
UsedId uid = ((UsedId)yyVals[-1+yyTop]);
|
||||||
RefType RT = new RefType(uid.getOffset());
|
RefType RT = new RefType(null,uid.getOffset());
|
||||||
|
|
||||||
RT.set_ParaList(uid.get_RealParaList());
|
RT.set_ParaList(uid.get_RealParaList());
|
||||||
RT.setName(uid.getQualifiedName());
|
RT.setName(uid.getQualifiedName());
|
||||||
@ -1956,7 +1956,7 @@ case 156:
|
|||||||
// line 1316 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
|
// line 1316 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
|
||||||
{
|
{
|
||||||
org.apache.log4j.Logger.getLogger("parser").debug("T->Parser->referenctype: " + ((UsedId)yyVals[0+yyTop]));
|
org.apache.log4j.Logger.getLogger("parser").debug("T->Parser->referenctype: " + ((UsedId)yyVals[0+yyTop]));
|
||||||
RefType RT = new RefType(((UsedId)yyVals[0+yyTop]).getOffset());
|
RefType RT = new RefType(null,((UsedId)yyVals[0+yyTop]).getOffset());
|
||||||
|
|
||||||
/*ausgetauscht PL 05-07-30*/
|
/*ausgetauscht PL 05-07-30*/
|
||||||
/*RT.set_UsedId($1); */
|
/*RT.set_UsedId($1); */
|
||||||
@ -2110,7 +2110,7 @@ case 174:
|
|||||||
case 175:
|
case 175:
|
||||||
// line 1481 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
|
// line 1481 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
|
||||||
{
|
{
|
||||||
IntegerType IT = new IntegerType();
|
IntegerType IT = new IntegerType(null);
|
||||||
/* #JB# 05.04.2005 */
|
/* #JB# 05.04.2005 */
|
||||||
/* ########################################################### */
|
/* ########################################################### */
|
||||||
/*IT.setName($1.getLexem());*/
|
/*IT.setName($1.getLexem());*/
|
||||||
@ -2121,7 +2121,7 @@ case 175:
|
|||||||
case 176:
|
case 176:
|
||||||
// line 1490 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
|
// line 1490 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
|
||||||
{
|
{
|
||||||
CharacterType CT = new CharacterType();
|
CharacterType CT = new CharacterType(null);
|
||||||
/* #JB# 05.04.2005 */
|
/* #JB# 05.04.2005 */
|
||||||
/* ########################################################### */
|
/* ########################################################### */
|
||||||
/*CT.setName($1.getLexem());*/
|
/*CT.setName($1.getLexem());*/
|
||||||
|
@ -461,7 +461,7 @@ interfacedeclaration: INTERFACE interfaceidentifier interfacebody
|
|||||||
{
|
{
|
||||||
Interface ic = new Interface($2.getName(), $1.getOffset());
|
Interface ic = new Interface($2.getName(), $1.getOffset());
|
||||||
ic.setParaList($2.getParaVector());
|
ic.setParaList($2.getParaVector());
|
||||||
ic.setSuperInterfaces($3.getVector());
|
//ic.setSuperInterfaces($3.getVector());
|
||||||
ic.setInterfaceBody($4);
|
ic.setInterfaceBody($4);
|
||||||
ic.setContainedTypes(containedTypes);
|
ic.setContainedTypes(containedTypes);
|
||||||
initContainedTypes();
|
initContainedTypes();
|
||||||
@ -471,7 +471,7 @@ interfacedeclaration: INTERFACE interfaceidentifier interfacebody
|
|||||||
{
|
{
|
||||||
Interface ic = new Interface($3.getName(), $1, $2.getOffset());
|
Interface ic = new Interface($3.getName(), $1, $2.getOffset());
|
||||||
ic.setParaList($3.getParaVector());
|
ic.setParaList($3.getParaVector());
|
||||||
ic.setSuperInterfaces($4.getVector());
|
//ic.setSuperInterfaces($4.getVector());
|
||||||
ic.setInterfaceBody($5);
|
ic.setInterfaceBody($5);
|
||||||
ic.setContainedTypes(containedTypes);
|
ic.setContainedTypes(containedTypes);
|
||||||
initContainedTypes();
|
initContainedTypes();
|
||||||
@ -492,7 +492,7 @@ paralist : IDENTIFIER
|
|||||||
| IDENTIFIER '<' paralist '>'
|
| IDENTIFIER '<' paralist '>'
|
||||||
{
|
{
|
||||||
ParaList pl = new ParaList();
|
ParaList pl = new ParaList();
|
||||||
RefType t = new RefType( $1.getLexem(),$1.getOffset() );
|
RefType t = new RefType( $1.getLexem(),null,$1.getOffset() );
|
||||||
t.set_ParaList( $3.get_ParaList() );
|
t.set_ParaList( $3.get_ParaList() );
|
||||||
pl.getParalist().addElement(t);
|
pl.getParalist().addElement(t);
|
||||||
org.apache.log4j.Logger.getLogger("parser").debug( "IDENTIFIER '<' paralist '>' --> Paralist f<>r " + $1.getLexem() + ": RefType");
|
org.apache.log4j.Logger.getLogger("parser").debug( "IDENTIFIER '<' paralist '>' --> Paralist f<>r " + $1.getLexem() + ": RefType");
|
||||||
@ -519,7 +519,7 @@ paralist : IDENTIFIER
|
|||||||
|
|
||||||
| paralist ',' IDENTIFIER '<' paralist '>'
|
| paralist ',' IDENTIFIER '<' paralist '>'
|
||||||
{
|
{
|
||||||
RefType t = new RefType( $3.getLexem() ,$3.getOffset() );
|
RefType t = new RefType( $3.getLexem(),null ,$3.getOffset() );
|
||||||
t.set_ParaList( $5.get_ParaList() );
|
t.set_ParaList( $5.get_ParaList() );
|
||||||
$1.getParalist().addElement(t);
|
$1.getParalist().addElement(t);
|
||||||
org.apache.log4j.Logger.getLogger("parser").debug( "paralist ',' IDENTIFIER '<' paralist '>' --> Paralist f<>r " + $3.getLexem() + ": RefType");
|
org.apache.log4j.Logger.getLogger("parser").debug( "paralist ',' IDENTIFIER '<' paralist '>' --> Paralist f<>r " + $3.getLexem() + ": RefType");
|
||||||
@ -534,7 +534,7 @@ paralist : IDENTIFIER
|
|||||||
wildcardparameter : '?'
|
wildcardparameter : '?'
|
||||||
{
|
{
|
||||||
//Luar 29.11.06 Offset auf -1, da keine Angabe vorhanden
|
//Luar 29.11.06 Offset auf -1, da keine Angabe vorhanden
|
||||||
WildcardType wc = new WildcardType(-1);
|
WildcardType wc = new WildcardType(null,-1);
|
||||||
$$ = wc;
|
$$ = wc;
|
||||||
}
|
}
|
||||||
| '?' EXTENDS referencetype
|
| '?' EXTENDS referencetype
|
||||||
@ -662,7 +662,7 @@ modifier : PUBLIC
|
|||||||
classtype : classorinterfacetype
|
classtype : classorinterfacetype
|
||||||
{
|
{
|
||||||
//PL 05-07-30 eingefuegt containedTypes ANFANG
|
//PL 05-07-30 eingefuegt containedTypes ANFANG
|
||||||
RefType RT = new RefType(-1);
|
RefType RT = new RefType(null,-1);
|
||||||
//RT.set_UsedId($1);
|
//RT.set_UsedId($1);
|
||||||
//RT.setName(RT.get_UsedId().get_Name_1Element());
|
//RT.setName(RT.get_UsedId().get_Name_1Element());
|
||||||
RT.set_ParaList($1.get_RealParaList());
|
RT.set_ParaList($1.get_RealParaList());
|
||||||
@ -1069,27 +1069,27 @@ methodheader :genericdeclarationlist type methoddeclarator
|
|||||||
}
|
}
|
||||||
| VOID methoddeclarator
|
| VOID methoddeclarator
|
||||||
{
|
{
|
||||||
Void Voit = new Void($1.getOffset());
|
Void Voit = new Void($2,$1.getOffset());
|
||||||
$2.setType(Voit);
|
$2.setType(Voit);
|
||||||
$$=$2;
|
$$=$2;
|
||||||
}
|
}
|
||||||
| modifiers VOID methoddeclarator
|
| modifiers VOID methoddeclarator
|
||||||
{
|
{
|
||||||
Void voit = new Void($2.getOffset());
|
Void voit = new Void($3,$2.getOffset());
|
||||||
$3.set_Modifiers($1);
|
$3.set_Modifiers($1);
|
||||||
$3.setType(voit);
|
$3.setType(voit);
|
||||||
$$=$3;
|
$$=$3;
|
||||||
}
|
}
|
||||||
| VOID methoddeclarator throws
|
| VOID methoddeclarator throws
|
||||||
{
|
{
|
||||||
Void voyt = new Void($1.getOffset());
|
Void voyt = new Void($2,$1.getOffset());
|
||||||
$2.setType(voyt);
|
$2.setType(voyt);
|
||||||
$2.set_ExceptionList($3);
|
$2.set_ExceptionList($3);
|
||||||
$$=$2;
|
$$=$2;
|
||||||
}
|
}
|
||||||
| modifiers VOID methoddeclarator throws
|
| modifiers VOID methoddeclarator throws
|
||||||
{
|
{
|
||||||
Void voyd = new Void($2.getOffset());
|
Void voyd = new Void($3,$2.getOffset());
|
||||||
$3.set_Modifiers($1);
|
$3.set_Modifiers($1);
|
||||||
$3.setType(voyd);
|
$3.setType(voyd);
|
||||||
$3.set_ExceptionList($4);
|
$3.set_ExceptionList($4);
|
||||||
@ -1097,14 +1097,14 @@ methodheader :genericdeclarationlist type methoddeclarator
|
|||||||
}
|
}
|
||||||
| genericdeclarationlist VOID methoddeclarator
|
| genericdeclarationlist VOID methoddeclarator
|
||||||
{
|
{
|
||||||
Void Voit = new Void($2.getOffset());
|
Void Voit = new Void($3,$2.getOffset());
|
||||||
$3.setType(Voit);
|
$3.setType(Voit);
|
||||||
$3.setGenericParameter($1);
|
$3.setGenericParameter($1);
|
||||||
$$=$3;
|
$$=$3;
|
||||||
}
|
}
|
||||||
| modifiers genericdeclarationlist VOID methoddeclarator
|
| modifiers genericdeclarationlist VOID methoddeclarator
|
||||||
{
|
{
|
||||||
Void voit = new Void($3.getOffset());
|
Void voit = new Void($4,$3.getOffset());
|
||||||
$4.set_Modifiers($1);
|
$4.set_Modifiers($1);
|
||||||
$4.setType(voit);
|
$4.setType(voit);
|
||||||
$4.setGenericParameter($2);
|
$4.setGenericParameter($2);
|
||||||
@ -1112,7 +1112,7 @@ methodheader :genericdeclarationlist type methoddeclarator
|
|||||||
}
|
}
|
||||||
| genericdeclarationlist VOID methoddeclarator throws
|
| genericdeclarationlist VOID methoddeclarator throws
|
||||||
{
|
{
|
||||||
Void voyt = new Void($2.getOffset());
|
Void voyt = new Void($3,$2.getOffset());
|
||||||
$3.setType(voyt);
|
$3.setType(voyt);
|
||||||
$3.set_ExceptionList($4);
|
$3.set_ExceptionList($4);
|
||||||
$3.setGenericParameter($1);
|
$3.setGenericParameter($1);
|
||||||
@ -1120,7 +1120,7 @@ methodheader :genericdeclarationlist type methoddeclarator
|
|||||||
}
|
}
|
||||||
| modifiers genericdeclarationlist VOID methoddeclarator throws
|
| modifiers genericdeclarationlist VOID methoddeclarator throws
|
||||||
{
|
{
|
||||||
Void voyd = new Void($3.getOffset());
|
Void voyd = new Void($4,$3.getOffset());
|
||||||
$4.set_Modifiers($1);
|
$4.set_Modifiers($1);
|
||||||
$4.setType(voyd);
|
$4.setType(voyd);
|
||||||
$4.set_ExceptionList($5);
|
$4.set_ExceptionList($5);
|
||||||
@ -1236,7 +1236,7 @@ explicitconstructorinvocation : THIS '(' ')' ';'
|
|||||||
|
|
||||||
classtypelist : classtype
|
classtypelist : classtype
|
||||||
{
|
{
|
||||||
RefType RT = new RefType(-1);
|
RefType RT = new RefType(null,-1);
|
||||||
RT.set_UsedId($1);
|
RT.set_UsedId($1);
|
||||||
RT.setName(RT.get_UsedId().get_Name_1Element());
|
RT.setName(RT.get_UsedId().get_Name_1Element());
|
||||||
$$=RT;
|
$$=RT;
|
||||||
@ -1278,7 +1278,7 @@ methoddeclarator :IDENTIFIER '(' ')'
|
|||||||
|
|
||||||
primitivetype :BOOLEAN
|
primitivetype :BOOLEAN
|
||||||
{
|
{
|
||||||
BooleanType BT = new BooleanType();
|
BooleanType BT = new BooleanType(null);
|
||||||
/* #JB# 05.04.2005 */
|
/* #JB# 05.04.2005 */
|
||||||
/* ########################################################### */
|
/* ########################################################### */
|
||||||
//BT.setName($1.getLexem());
|
//BT.setName($1.getLexem());
|
||||||
@ -1299,7 +1299,7 @@ referencelongtype : typename parameter
|
|||||||
//((UsedId)$1).vParaOrg = new Vector<Type>( $2.get_ParaList() );
|
//((UsedId)$1).vParaOrg = new Vector<Type>( $2.get_ParaList() );
|
||||||
}
|
}
|
||||||
UsedId uid = $1;
|
UsedId uid = $1;
|
||||||
RefType RT = new RefType(uid.getOffset());
|
RefType RT = new RefType(null,uid.getOffset());
|
||||||
|
|
||||||
RT.set_ParaList(uid.get_RealParaList());
|
RT.set_ParaList(uid.get_RealParaList());
|
||||||
RT.setName(uid.getQualifiedName());
|
RT.setName(uid.getQualifiedName());
|
||||||
@ -1315,7 +1315,7 @@ referencelongtype : typename parameter
|
|||||||
referencetype :classorinterfacetype
|
referencetype :classorinterfacetype
|
||||||
{
|
{
|
||||||
org.apache.log4j.Logger.getLogger("parser").debug("T->Parser->referenctype: " + $1);
|
org.apache.log4j.Logger.getLogger("parser").debug("T->Parser->referenctype: " + $1);
|
||||||
RefType RT = new RefType($1.getOffset());
|
RefType RT = new RefType(null,$1.getOffset());
|
||||||
|
|
||||||
//ausgetauscht PL 05-07-30
|
//ausgetauscht PL 05-07-30
|
||||||
//RT.set_UsedId($1);
|
//RT.set_UsedId($1);
|
||||||
@ -1479,7 +1479,7 @@ expression :assignmentexpression
|
|||||||
|
|
||||||
integraltype :INT
|
integraltype :INT
|
||||||
{
|
{
|
||||||
IntegerType IT = new IntegerType();
|
IntegerType IT = new IntegerType(null);
|
||||||
/* #JB# 05.04.2005 */
|
/* #JB# 05.04.2005 */
|
||||||
/* ########################################################### */
|
/* ########################################################### */
|
||||||
//IT.setName($1.getLexem());
|
//IT.setName($1.getLexem());
|
||||||
@ -1488,7 +1488,7 @@ integraltype :INT
|
|||||||
}
|
}
|
||||||
| CHAR
|
| CHAR
|
||||||
{
|
{
|
||||||
CharacterType CT = new CharacterType();
|
CharacterType CT = new CharacterType(null);
|
||||||
/* #JB# 05.04.2005 */
|
/* #JB# 05.04.2005 */
|
||||||
/* ########################################################### */
|
/* ########################################################### */
|
||||||
//CT.setName($1.getLexem());
|
//CT.setName($1.getLexem());
|
||||||
|
@ -172,12 +172,8 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface, IItemWit
|
|||||||
// ino.end
|
// ino.end
|
||||||
// ino.method.Class.23044.body
|
// ino.method.Class.23044.body
|
||||||
{
|
{
|
||||||
this.name = name;
|
this(name, offset);
|
||||||
this.modifiers = mod;
|
this.modifiers = mod;
|
||||||
if(name.equals("java.lang.Object")){
|
|
||||||
superclassid=null;
|
|
||||||
}
|
|
||||||
this.offset = offset;
|
|
||||||
}
|
}
|
||||||
// ino.end
|
// ino.end
|
||||||
|
|
||||||
@ -193,13 +189,17 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface, IItemWit
|
|||||||
// ino.end
|
// ino.end
|
||||||
// ino.method.Class.23047.body
|
// ino.method.Class.23047.body
|
||||||
{
|
{
|
||||||
this.name = name;
|
this(name,offset);
|
||||||
this.modifiers = mod;
|
this.modifiers = mod;
|
||||||
if (cb != null) set_ClassBody(cb);
|
if (cb != null) set_ClassBody(cb);
|
||||||
if (ct != null) setContainedTypes(ct);
|
if (ct != null) setContainedTypes(ct);
|
||||||
if (superclass != null) set_UsedId(superclass);
|
if (superclass != null){
|
||||||
|
this.superClass = new Class(superClass.getName().toString(),-1);
|
||||||
|
}
|
||||||
if (superif != null) setSuperInterfaces(superif);
|
if (superif != null) setSuperInterfaces(superif);
|
||||||
if (paralist != null) this.set_ParaList(paralist);
|
if (paralist != null){
|
||||||
|
this.set_ParaList(paralist);
|
||||||
|
}
|
||||||
if(usedIdsToCheck!=null) this.usedIdsToCheck=usedIdsToCheck;
|
if(usedIdsToCheck!=null) this.usedIdsToCheck=usedIdsToCheck;
|
||||||
|
|
||||||
// HOTI 10.5.06
|
// HOTI 10.5.06
|
||||||
@ -208,14 +208,14 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface, IItemWit
|
|||||||
if(name.equals("java.lang.Object")){
|
if(name.equals("java.lang.Object")){
|
||||||
superclassid=null;
|
superclassid=null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
parserlog.debug("Neue Klasse: " + name);
|
parserlog.debug("Neue Klasse: " + name);
|
||||||
this.offset = offset;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
// ino.end
|
// ino.end
|
||||||
|
|
||||||
public Vector<Field> getFields()
|
public Vector<Field> getFields()
|
||||||
{
|
{
|
||||||
return fielddecl;
|
return fielddecl;
|
||||||
}
|
}
|
||||||
@ -1144,6 +1144,9 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface, IItemWit
|
|||||||
if(t instanceof GenericTypeVar)this.genericClassParameters.add((GenericTypeVar)t);
|
if(t instanceof GenericTypeVar)this.genericClassParameters.add((GenericTypeVar)t);
|
||||||
else this.genericClassParameters.add(new GenericTypeVar(t.get_Name(),this,-1));
|
else this.genericClassParameters.add(new GenericTypeVar(t.get_Name(),this,-1));
|
||||||
}
|
}
|
||||||
|
for(Type t : this.get_ParaList()){
|
||||||
|
t.parserPostProcessing(this);
|
||||||
|
}
|
||||||
/*
|
/*
|
||||||
for(GenericTypeVar gtv : this.getGenericParameter()){
|
for(GenericTypeVar gtv : this.getGenericParameter()){
|
||||||
gtv.setParentClass(this);;
|
gtv.setParentClass(this);;
|
||||||
|
@ -162,7 +162,11 @@ public class SourceFile
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// ino.attribute.imports.21382.decldescription type=javadoc
|
public SourceFile(Vector<Class> classDefinitions) {
|
||||||
|
this.KlassenVektor = classDefinitions;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ino.attribute.imports.21382.decldescription type=javadoc
|
||||||
/**
|
/**
|
||||||
* HOTI 4.5.06
|
* HOTI 4.5.06
|
||||||
* Beinhaltet alle Imports des aktuell geparsten Files
|
* Beinhaltet alle Imports des aktuell geparsten Files
|
||||||
|
Loading…
Reference in New Issue
Block a user