From 0d51c3e94d24a6effacdfa50a8db37c8bc3e438d Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Tue, 24 May 2016 00:36:59 +0200 Subject: [PATCH] Bug 49 und 52 fix --- src/de/dhbwstuttgart/parser/JavaParser.java | 444 +++++++++--------- src/de/dhbwstuttgart/parser/JavaParser.jay | 10 +- .../dhbwstuttgart/syntaxtree/SourceFile.java | 10 +- .../syntaxtree/factory/UnifyTypeFactory.java | 6 +- .../syntaxtree/statement/NewClass.java | 19 +- 5 files changed, 244 insertions(+), 245 deletions(-) diff --git a/src/de/dhbwstuttgart/parser/JavaParser.java b/src/de/dhbwstuttgart/parser/JavaParser.java index e3bec6ff..62c73036 100644 --- a/src/de/dhbwstuttgart/parser/JavaParser.java +++ b/src/de/dhbwstuttgart/parser/JavaParser.java @@ -1185,20 +1185,11 @@ case 63: case 64: // line 665 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { - /*PL 05-07-30 eingefuegt containedTypes ANFANG*/ - RefType RT = new RefType(((UsedId)yyVals[0+yyTop]).get_Name_1Element(),null,-1); - /*RT.set_UsedId($1);*/ - /*RT.setName(RT.get_UsedId().get_Name_1Element());*/ - RT.set_ParaList(((UsedId)yyVals[0+yyTop]).get_RealParaList()); - /*RT.setName($1.get_Name_1Element());*/ - containedTypes.addElement(RT); - /*PL 05-07-30 eingefuegt containedTypes ENDE*/ - yyVal = ((UsedId)yyVals[0+yyTop]); } break; case 65: - // line 680 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 671 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { /* SCJU: Interface*/ InterfaceBody ib = new InterfaceBody(); @@ -1207,39 +1198,39 @@ case 65: } break; case 66: - // line 687 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 678 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { ((InterfaceBody)yyVals[-1+yyTop]).addElement(((Field)yyVals[0+yyTop])); yyVal = ((InterfaceBody)yyVals[-1+yyTop]); } break; case 67: - // line 693 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 684 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { /* SCJU: Interfaces*/ yyVal = ((UsedId)yyVals[0+yyTop]); } break; case 68: - // line 699 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 690 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((Field)yyVals[0+yyTop]); } break; case 69: - // line 704 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 695 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((Method)yyVals[0+yyTop]); } break; case 70: - // line 708 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 699 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((Field)yyVals[0+yyTop]); } break; case 71: - // line 714 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 705 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { if (((Menge)yyVals[0+yyTop]) != null) { /*$1.set_ParaList($2.get_ParaList());*/ @@ -1251,7 +1242,7 @@ case 71: } break; case 72: - // line 725 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 716 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { Menge tl = new Menge(); tl.add(((Type)yyVals[0+yyTop])); @@ -1259,21 +1250,21 @@ case 72: } break; case 73: - // line 731 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 722 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { ((Menge)yyVals[-2+yyTop]).add(((Type)yyVals[0+yyTop])); yyVal=((Menge)yyVals[-2+yyTop]); } break; case 74: - // line 736 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 727 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { ((Menge)yyVals[-2+yyTop]).add(((WildcardType)yyVals[0+yyTop])); yyVal=((Menge)yyVals[-2+yyTop]); } break; case 75: - // line 741 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 732 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { Menge tl = new Menge(); tl.add(((WildcardType)yyVals[0+yyTop])); @@ -1281,42 +1272,42 @@ case 75: } break; case 76: - // line 749 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 740 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal = null; } break; case 77: - // line 751 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 742 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal = ((Menge)yyVals[-1+yyTop]); } break; case 78: - // line 756 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 747 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { /* SCJU: Interfaces, Spezialform Konstantendef.*/ yyVal = ((Constant)yyVals[0+yyTop]); } break; case 79: - // line 761 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 752 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal = ((Method)yyVals[0+yyTop]); } break; case 80: - // line 766 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 757 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((Field)yyVals[0+yyTop]); } break; case 81: - // line 770 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 761 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((Method)yyVals[0+yyTop]); } break; case 82: - // line 775 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 766 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { Method STAT = new Method(((Token)yyVals[-1+yyTop]).getOffset()); DeclId DST = new DeclId(); @@ -1331,14 +1322,14 @@ case 82: } break; case 83: - // line 789 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 780 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { ((Constructor)yyVals[-1+yyTop]).set_Block(((Block)yyVals[0+yyTop])); yyVal = ((Constructor)yyVals[-1+yyTop]); } break; case 84: - // line 794 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 785 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { ((Constructor)yyVals[-1+yyTop]).set_Block(((Block)yyVals[0+yyTop])); ((Constructor)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-2+yyTop])); @@ -1346,7 +1337,7 @@ case 84: } break; case 85: - // line 801 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 792 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { /* SCJU: Interface*/ Constant c = new Constant(((Token)yyVals[-3+yyTop]).getLexem(), ((Modifiers)yyVals[-5+yyTop])); @@ -1356,14 +1347,14 @@ case 85: } break; case 86: - // line 810 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 801 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { /* SCJU: Interface*/ yyVal = ((Method)yyVals[-1+yyTop]); } break; case 87: - // line 835 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 826 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { FieldDeclaration ret = new FieldDeclaration(((DeclId)yyVals[-2+yyTop]).getOffset()); ret.set_DeclId(((DeclId)yyVals[-2+yyTop])); @@ -1372,7 +1363,7 @@ case 87: } break; case 88: - // line 842 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 833 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { FieldDeclaration ret = new FieldDeclaration(((DeclId)yyVals[0+yyTop]).getOffset()); ret.set_DeclId(((DeclId)yyVals[0+yyTop])); @@ -1380,27 +1371,27 @@ case 88: } break; case 89: - // line 849 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 840 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { GenericDeclarationList ret = new GenericDeclarationList(((GenericVarDeclarationList)yyVals[-1+yyTop]).getElements(),((GenericVarDeclarationList)yyVals[-1+yyTop]).getEndOffset()); yyVal = ret; } break; case 90: - // line 856 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 847 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { ((FieldDeclaration)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); yyVal=((FieldDeclaration)yyVals[-1+yyTop]); } break; case 91: - // line 861 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 852 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((FieldDeclaration)yyVals[-1+yyTop]); } break; case 92: - // line 865 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 856 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" {/*angef�gt von Andreas Stadelmeier*/ ((FieldDeclaration)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); ((FieldDeclaration)yyVals[-1+yyTop]).setGenericParameter(((GenericDeclarationList)yyVals[-3+yyTop])); @@ -1408,13 +1399,13 @@ case 92: } break; case 93: - // line 872 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 863 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((FieldDeclaration)yyVals[-1+yyTop]); } break; case 94: - // line 877 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 868 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { de.dhbwstuttgart.logger.Logger.getLogger("parser").debug("T->Parser->fielddeclaration ...: type " + ((Type)yyVals[-2+yyTop]), Section.PARSER); ((FieldDeclaration)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); @@ -1422,7 +1413,7 @@ case 94: } break; case 95: - // line 884 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 875 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { ((FieldDeclaration)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); for(int i=0;i<(((FieldDeclaration)yyVals[-1+yyTop]).getDeclIdMenge().size());i++) @@ -1433,27 +1424,27 @@ case 95: } break; case 96: - // line 894 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 885 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { ((Method)yyVals[-1+yyTop]).set_Block(((Block)yyVals[0+yyTop])); yyVal=((Method)yyVals[-1+yyTop]); } break; case 97: - // line 901 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 892 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { Block Bl = new Block(); yyVal=Bl; } break; case 98: - // line 907 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 898 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((Block)yyVals[-1+yyTop]); } break; case 99: - // line 912 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 903 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { Constructor CON = new Constructor(null,null); /*TODO: Der Parser kann sowieso nicht zwischen einem Konstruktor und einer Methode unterscheiden. Das hier kann wegfallen...*/ DeclId DIDCon = new DeclId(); @@ -1463,7 +1454,7 @@ case 99: } break; case 100: - // line 920 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 911 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { Constructor CONpara = new Constructor(null,null); DeclId DIconpara = new DeclId(); @@ -1474,14 +1465,14 @@ case 100: } break; case 101: - // line 930 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 921 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { Block CBL = new Block(); yyVal=CBL; } break; case 102: - // line 935 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 926 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { Block CBLexpl = new Block(); CBLexpl.set_Statement(((Statement)yyVals[-1+yyTop])); @@ -1489,13 +1480,13 @@ case 102: } break; case 103: - // line 941 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 932 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((Block)yyVals[-1+yyTop]); } break; case 104: - // line 945 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 936 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { Block CBes = new Block(); CBes.set_Statement(((Statement)yyVals[-2+yyTop])); @@ -1507,7 +1498,7 @@ case 104: } break; case 105: - // line 956 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 947 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { ExceptionList EL = new ExceptionList(); EL.set_addElem(((RefType)yyVals[0+yyTop])); @@ -1515,13 +1506,13 @@ case 105: } break; case 106: - // line 963 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 954 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal = ((GenericTypeVar)yyVals[0+yyTop]); } break; case 107: - // line 968 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 959 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { ParaList p = new ParaList(); p.add_ParaList(((GenericTypeVar)yyVals[0+yyTop])); @@ -1529,20 +1520,20 @@ case 107: } break; case 108: - // line 974 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 965 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { ((ParaList)yyVals[-2+yyTop]).add_ParaList(((GenericTypeVar)yyVals[0+yyTop])); yyVal=((ParaList)yyVals[-2+yyTop]); } break; case 109: - // line 981 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 972 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=new GenericTypeVar(((Token)yyVals[0+yyTop]).getLexem(),null,((Token)yyVals[0+yyTop]).getOffset()); } break; case 110: - // line 985 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 976 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { BoundedGenericTypeVar gtv=new BoundedGenericTypeVar(((Token)yyVals[-2+yyTop]).getLexem(), ((BoundedClassIdentifierList)yyVals[0+yyTop]),null, ((Token)yyVals[-2+yyTop]).getOffset() ,((BoundedClassIdentifierList)yyVals[0+yyTop]).getEndOffset()); /*gtv.setBounds($3);*/ @@ -1550,7 +1541,7 @@ case 110: } break; case 111: - // line 992 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 983 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { Menge vec=new Menge(); vec.addElement(((RefType)yyVals[0+yyTop])); @@ -1559,7 +1550,7 @@ case 111: } break; case 112: - // line 999 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 990 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { ((BoundedClassIdentifierList)yyVals[-2+yyTop]).addElement(((RefType)yyVals[0+yyTop])); ((BoundedClassIdentifierList)yyVals[-2+yyTop]).addOffsetOff(((RefType)yyVals[0+yyTop])); @@ -1568,7 +1559,7 @@ case 112: } break; case 113: - // line 1007 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 998 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { GenericVarDeclarationList vec=new GenericVarDeclarationList(); vec.addElement(((GenericTypeVar)yyVals[0+yyTop])); @@ -1576,14 +1567,14 @@ case 113: } break; case 114: - // line 1013 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1004 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { ((GenericVarDeclarationList)yyVals[-2+yyTop]).addElement(((GenericTypeVar)yyVals[0+yyTop])); yyVal=((GenericVarDeclarationList)yyVals[-2+yyTop]); } break; case 115: - // line 1021 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1012 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { ((Method)yyVals[0+yyTop]).setType(((Type)yyVals[-1+yyTop])); ((Method)yyVals[0+yyTop]).setGenericParameter(((GenericDeclarationList)yyVals[-2+yyTop])); @@ -1591,14 +1582,14 @@ case 115: } break; case 116: - // line 1027 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1018 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { ((Method)yyVals[0+yyTop]).setType(((Type)yyVals[-1+yyTop])); yyVal=((Method)yyVals[0+yyTop]); } break; case 117: - // line 1032 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1023 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-2+yyTop])); ((Method)yyVals[0+yyTop]).setType(((Type)yyVals[-1+yyTop])); @@ -1606,7 +1597,7 @@ case 117: } break; case 118: - // line 1038 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1029 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-3+yyTop])); ((Method)yyVals[0+yyTop]).setGenericParameter(((GenericDeclarationList)yyVals[-2+yyTop])); @@ -1615,7 +1606,7 @@ case 118: } break; case 119: - // line 1045 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1036 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { ((Method)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop])); @@ -1623,7 +1614,7 @@ case 119: } break; case 120: - // line 1051 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1042 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { ((Method)yyVals[-1+yyTop]).setGenericParameter(((GenericDeclarationList)yyVals[-3+yyTop])); ((Method)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); @@ -1632,7 +1623,7 @@ case 120: } break; case 121: - // line 1058 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1049 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-3+yyTop])); ((Method)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); @@ -1641,7 +1632,7 @@ case 121: } break; case 122: - // line 1065 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1056 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-4+yyTop])); ((Method)yyVals[-1+yyTop]).setGenericParameter(((GenericDeclarationList)yyVals[-3+yyTop])); @@ -1651,7 +1642,7 @@ case 122: } break; case 123: - // line 1073 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1064 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { Void Voit = new Void(((Method)yyVals[0+yyTop]),((Token)yyVals[-1+yyTop]).getOffset()); ((Method)yyVals[0+yyTop]).setType(Voit); @@ -1659,7 +1650,7 @@ case 123: } break; case 124: - // line 1079 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1070 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { Void voit = new Void(((Method)yyVals[0+yyTop]),((Token)yyVals[-1+yyTop]).getOffset()); ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-2+yyTop])); @@ -1668,7 +1659,7 @@ case 124: } break; case 125: - // line 1086 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1077 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { Void voyt = new Void(((Method)yyVals[-1+yyTop]),((Token)yyVals[-2+yyTop]).getOffset()); ((Method)yyVals[-1+yyTop]).setType(voyt); @@ -1677,7 +1668,7 @@ case 125: } break; case 126: - // line 1093 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1084 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { Void voyd = new Void(((Method)yyVals[-1+yyTop]),((Token)yyVals[-2+yyTop]).getOffset()); ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-3+yyTop])); @@ -1687,7 +1678,7 @@ case 126: } break; case 127: - // line 1101 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1092 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { Void Voit = new Void(((Method)yyVals[0+yyTop]),((Token)yyVals[-1+yyTop]).getOffset()); ((Method)yyVals[0+yyTop]).setType(Voit); @@ -1696,7 +1687,7 @@ case 127: } break; case 128: - // line 1108 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1099 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { Void voit = new Void(((Method)yyVals[0+yyTop]),((Token)yyVals[-1+yyTop]).getOffset()); ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-3+yyTop])); @@ -1706,7 +1697,7 @@ case 128: } break; case 129: - // line 1116 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1107 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { Void voyt = new Void(((Method)yyVals[-1+yyTop]),((Token)yyVals[-2+yyTop]).getOffset()); ((Method)yyVals[-1+yyTop]).setType(voyt); @@ -1716,7 +1707,7 @@ case 129: } break; case 130: - // line 1124 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1115 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { Void voyd = new Void(((Method)yyVals[-1+yyTop]),((Token)yyVals[-2+yyTop]).getOffset()); ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-4+yyTop])); @@ -1727,14 +1718,14 @@ case 130: } break; case 131: - // line 1134 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1125 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { /*auskommentiert von Andreas Stadelmeier (a10023) $1.setType(TypePlaceholder.fresh()); */ yyVal=((Method)yyVals[0+yyTop]); } break; case 132: - // line 1139 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1130 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { /*auskommentiert von Andreas Stadelmeier (a10023) $4.setType(TypePlaceholder.fresh());*/ ((Method)yyVals[0+yyTop]).setGenericParameter(((GenericDeclarationList)yyVals[-1+yyTop])); @@ -1742,7 +1733,7 @@ case 132: } break; case 133: - // line 1146 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1137 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-1+yyTop])); /*auskommentiert von Andreas Stadelmeier (a10023) $2.setType(TypePlaceholder.fresh());*/ @@ -1750,7 +1741,7 @@ case 133: } break; case 134: - // line 1152 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1143 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { /*auskommentiert von Andreas Stadelmeier (a10023) $1.setType(TypePlaceholder.fresh());*/ ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop])); @@ -1758,7 +1749,7 @@ case 134: } break; case 135: - // line 1158 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1149 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-2+yyTop])); /*auskommentiert von Andreas Stadelmeier (a10023) $2.setType(TypePlaceholder.fresh());*/ @@ -1767,19 +1758,19 @@ case 135: } break; case 136: - // line 1167 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1158 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((RefType)yyVals[0+yyTop]); } break; case 137: - // line 1171 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1162 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { ((RefType)yyVals[-2+yyTop]).setArray(true); } break; case 138: - // line 1186 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1177 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { FieldDeclaration IVD = new FieldDeclaration(((DeclId)yyVals[0+yyTop]).getOffset()); IVD.getDeclIdMenge().addElement( ((DeclId)yyVals[0+yyTop]) ); @@ -1788,20 +1779,20 @@ case 138: } break; case 139: - // line 1193 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1184 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { ((FieldDeclaration)yyVals[-2+yyTop]).getDeclIdMenge().addElement(((DeclId)yyVals[0+yyTop])); yyVal=((FieldDeclaration)yyVals[-2+yyTop]); } break; case 140: - // line 1199 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1190 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((Block)yyVals[0+yyTop]); } break; case 141: - // line 1204 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1195 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { Block Blstat = new Block(); Blstat.set_Statement(((Statement)yyVals[0+yyTop])); @@ -1809,14 +1800,14 @@ case 141: } break; case 142: - // line 1211 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1202 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { ((Block)yyVals[-1+yyTop]).set_Statement(((Statement)yyVals[0+yyTop])); yyVal=((Block)yyVals[-1+yyTop]); } break; case 143: - // line 1217 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1208 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { ParameterList PL = new ParameterList(); PL.set_AddParameter(((FormalParameter)yyVals[0+yyTop])); @@ -1824,21 +1815,21 @@ case 143: } break; case 144: - // line 1223 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1214 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { ((ParameterList)yyVals[-2+yyTop]).set_AddParameter(((FormalParameter)yyVals[0+yyTop])); yyVal = ((ParameterList)yyVals[-2+yyTop]); } break; case 145: - // line 1229 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1220 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { ThisCall THCON = new ThisCall(((Token)yyVals[-3+yyTop]).getOffset(),((Token)yyVals[-3+yyTop]).getLexem().length()); yyVal=THCON; } break; case 146: - // line 1234 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1225 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { ThisCall THCONargl = new ThisCall(((Token)yyVals[-4+yyTop]).getOffset(),((Token)yyVals[-4+yyTop]).getLexem().length()); THCONargl.set_ArgumentList(((ArgumentList)yyVals[-2+yyTop])); @@ -1846,14 +1837,14 @@ case 146: } break; case 147: - // line 1240 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1231 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { SuperCall sCall = new SuperCall(((Token)yyVals[-3+yyTop]).getOffset(),((Token)yyVals[-3+yyTop]).getLexem().length()); yyVal=sCall; } break; case 148: - // line 1245 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1236 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { SuperCall sCall = new SuperCall(((Token)yyVals[-4+yyTop]).getOffset(),((Token)yyVals[-4+yyTop]).getLexem().length()); sCall.set_ArgumentList(((ArgumentList)yyVals[-2+yyTop])); @@ -1861,7 +1852,7 @@ case 148: } break; case 149: - // line 1252 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1243 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { /*RefType RT = new RefType(RT.get_UsedId().get_Name_1Element(),null,-1);*/ RefType RT = new RefType(((UsedId)yyVals[0+yyTop]).get_Name_1Element(),null,-1); @@ -1871,7 +1862,7 @@ case 149: } break; case 150: - // line 1260 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1251 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { ((RefType)yyVals[-2+yyTop]).set_UsedId(((UsedId)yyVals[0+yyTop])); ((RefType)yyVals[-2+yyTop]).setName(((RefType)yyVals[-2+yyTop]).get_UsedId().get_Name_1Element()); @@ -1879,7 +1870,7 @@ case 150: } break; case 151: - // line 1267 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1258 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { Method met = new Method(((Token)yyVals[-2+yyTop]).getOffset()); /* #JB# 10.04.2005 */ @@ -1894,7 +1885,7 @@ case 151: } break; case 152: - // line 1280 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1271 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { Method met_para = new Method(((Token)yyVals[-3+yyTop]).getOffset()); /* #JB# 10.04.2005 */ @@ -1910,7 +1901,7 @@ case 152: } break; case 153: - // line 1308 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1299 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { de.dhbwstuttgart.logger.Logger.getLogger("parser").debug("T->Parser->referenctype: " + ((UsedId)yyVals[0+yyTop]), Section.PARSER); RefType RT = new RefType(((UsedId)yyVals[0+yyTop]).getQualifiedName(),null,((UsedId)yyVals[0+yyTop]).getOffset()); @@ -1930,25 +1921,25 @@ case 153: } break; case 154: - // line 1330 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1321 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((DeclId)yyVals[0+yyTop]); } break; case 155: - // line 1351 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1342 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((LocalVarDecl)yyVals[0+yyTop]); } break; case 156: - // line 1355 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1346 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((Statement)yyVals[0+yyTop]); } break; case 157: - // line 1360 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1351 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { FormalParameter FP = new FormalParameter(((DeclId)yyVals[0+yyTop])); FP.setType(((Type)yyVals[-1+yyTop])); @@ -1957,7 +1948,7 @@ case 157: } break; case 158: - // line 1385 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1376 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { de.dhbwstuttgart.logger.Logger.getLogger("parser").debug("\nFunktionsdeklaration mit typlosen Parametern: " + ((DeclId)yyVals[0+yyTop]).name, Section.PARSER); @@ -1977,7 +1968,7 @@ case 158: } break; case 159: - // line 1404 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1395 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { ArgumentList AL = new ArgumentList(); AL.expr.addElement(((Expr)yyVals[0+yyTop])); @@ -1985,14 +1976,14 @@ case 159: } break; case 160: - // line 1410 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1401 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { ((ArgumentList)yyVals[-2+yyTop]).expr.addElement(((Expr)yyVals[0+yyTop])); yyVal=((ArgumentList)yyVals[-2+yyTop]); } break; case 161: - // line 1422 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1413 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { DeclId DI = new DeclId(); /* #JB# 10.04.2005 */ @@ -2005,67 +1996,67 @@ case 161: } break; case 162: - // line 1434 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1425 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 163: - // line 1439 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1430 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((LocalVarDecl)yyVals[-1+yyTop]); } break; case 164: - // line 1444 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1435 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((Statement)yyVals[0+yyTop]); } break; case 165: - // line 1448 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1439 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((IfStmt)yyVals[0+yyTop]); } break; case 166: - // line 1452 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1443 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((IfStmt)yyVals[0+yyTop]); } break; case 167: - // line 1456 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1447 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((WhileStmt)yyVals[0+yyTop]); } break; case 168: - // line 1460 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1451 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((ForStmt)yyVals[0+yyTop]); } break; case 169: - // line 1463 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1454 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((Statement)yyVals[0+yyTop]); } break; case 170: - // line 1468 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1459 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 171: - // line 1472 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1463 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((NewClass)yyVals[0+yyTop]); } break; case 172: - // line 1490 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1481 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { de.dhbwstuttgart.logger.Logger.getLogger("parser").debug("P -> Lokale Variable angelegt!", Section.PARSER); LocalVarDecl LVD = new LocalVarDecl(((Type)yyVals[-1+yyTop]).getOffset(),((Type)yyVals[-1+yyTop]).getVariableLength()); @@ -2075,7 +2066,7 @@ case 172: } break; case 173: - // line 1501 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1492 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { de.dhbwstuttgart.logger.Logger.getLogger("parser").debug("P -> Lokale Variable angelegt!", Section.PARSER); LocalVarDecl LVD = new LocalVarDecl(((FieldDeclaration)yyVals[0+yyTop]).getOffset(),((FieldDeclaration)yyVals[0+yyTop]).getVariableLength()); @@ -2085,31 +2076,31 @@ case 173: } break; case 174: - // line 1511 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1502 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((Block)yyVals[0+yyTop]); } break; case 175: - // line 1515 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1506 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((EmptyStmt)yyVals[0+yyTop]); } break; case 176: - // line 1519 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1510 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((ExprStmt)yyVals[0+yyTop]); } break; case 177: - // line 1523 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1514 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((Return)yyVals[0+yyTop]); } break; case 178: - // line 1528 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1519 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { IfStmt Ifst = new IfStmt(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); Ifst.set_Expr(((Expr)yyVals[-2+yyTop])); @@ -2118,7 +2109,7 @@ case 178: } break; case 179: - // line 1536 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1527 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { IfStmt IfstElst = new IfStmt(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength()); IfstElst.set_Expr(((Expr)yyVals[-4+yyTop])); @@ -2128,7 +2119,7 @@ case 179: } break; case 180: - // line 1545 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1536 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { WhileStmt Whlst = new WhileStmt(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); Whlst.set_Expr(((Expr)yyVals[-2+yyTop])); @@ -2137,7 +2128,7 @@ case 180: } break; case 181: - // line 1556 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1547 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-6+yyTop]).getOffset(),((Expr)yyVals[-6+yyTop]).getVariableLength()); Fst.set_head_Initializer(((Expr)yyVals[-6+yyTop])); @@ -2150,7 +2141,7 @@ case 181: } break; case 182: - // line 1568 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1559 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-5+yyTop]).getOffset(),((Expr)yyVals[-5+yyTop]).getVariableLength()); Fst.set_head_Initializer(((Expr)yyVals[-5+yyTop])); @@ -2162,7 +2153,7 @@ case 182: } break; case 183: - // line 1579 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1570 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-5+yyTop]).getOffset(),((Expr)yyVals[-5+yyTop]).getVariableLength()); Fst.set_head_Initializer(((Expr)yyVals[-5+yyTop])); @@ -2174,7 +2165,7 @@ case 183: } break; case 184: - // line 1590 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1581 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength()); Fst.set_head_Condition(((Expr)yyVals[-4+yyTop])); @@ -2186,7 +2177,7 @@ case 184: } break; case 185: - // line 1601 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1592 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength()); Fst.set_head_Initializer(((Expr)yyVals[-4+yyTop])); @@ -2197,7 +2188,7 @@ case 185: } break; case 186: - // line 1611 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1602 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-3+yyTop]).getOffset(),((Expr)yyVals[-3+yyTop]).getVariableLength()); Fst.set_head_Condition(((Expr)yyVals[-3+yyTop])); @@ -2208,7 +2199,7 @@ case 186: } break; case 187: - // line 1621 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1612 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); Fst.set_head_Loop_expr(((Expr)yyVals[-2+yyTop])); @@ -2219,7 +2210,7 @@ case 187: } break; case 188: - // line 1631 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1622 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Statement)yyVals[0+yyTop]).getOffset(),((Statement)yyVals[0+yyTop]).getVariableLength()); Fst.set_body_Loop_block(((Statement)yyVals[0+yyTop])); @@ -2229,40 +2220,40 @@ case 188: } break; case 189: - // line 1640 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1631 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { de.dhbwstuttgart.logger.Logger.getLogger("parser").debug("conditionalexpression", Section.PARSER); yyVal=((Expr)yyVals[0+yyTop]); } break; case 190: - // line 1645 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1636 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((Assign)yyVals[0+yyTop]); } break; case 191: - // line 1651 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1642 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { EmptyStmt Empst = new EmptyStmt(); yyVal=Empst; } break; case 192: - // line 1657 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1648 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((Expr)yyVals[-1+yyTop]); } break; case 193: - // line 1662 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1653 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { Return ret = new Return(-1,-1); yyVal= ret; } break; case 194: - // line 1667 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1658 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { Return retexp = new Return(((Expr)yyVals[-1+yyTop]).getOffset(),((Expr)yyVals[-1+yyTop]).getVariableLength()); retexp.set_ReturnExpr(((Expr)yyVals[-1+yyTop])); @@ -2270,31 +2261,31 @@ case 194: } break; case 195: - // line 1674 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1665 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((Statement)yyVals[0+yyTop]); } break; case 196: - // line 1678 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1669 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((IfStmt)yyVals[0+yyTop]); } break; case 197: - // line 1682 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1673 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((WhileStmt)yyVals[0+yyTop]); } break; case 198: - // line 1687 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1678 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 199: - // line 1693 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1684 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { de.dhbwstuttgart.logger.Logger.getLogger("parser").debug("\nParser --> Zuweisung1!\n", Section.PARSER); Assign Ass = new Assign(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); @@ -2321,7 +2312,7 @@ case 199: } break; case 200: - // line 1718 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1709 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { Assign Ass =new Assign(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); LocalOrFieldVarOrClassname LOFV = new LocalOrFieldVarOrClassname(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); @@ -2345,43 +2336,43 @@ case 200: } break; case 201: - // line 1741 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1732 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((Assign)yyVals[0+yyTop]); } break; case 202: - // line 1745 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1736 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 203: - // line 1749 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1740 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 204: - // line 1753 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1744 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 205: - // line 1757 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1748 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 206: - // line 1761 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1752 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((MethodCall)yyVals[0+yyTop]); } break; case 207: - // line 1772 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1763 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { IfStmt IfElno = new IfStmt(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength()); IfElno.set_Expr(((Expr)yyVals[-4+yyTop])); @@ -2391,7 +2382,7 @@ case 207: } break; case 208: - // line 1781 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1772 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { WhileStmt Whstno = new WhileStmt(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); Whstno.set_Expr(((Expr)yyVals[-2+yyTop])); @@ -2400,13 +2391,13 @@ case 208: } break; case 209: - // line 1789 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1780 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 210: - // line 1793 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1784 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { Binary LogOr = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); OrOp OrO = new OrOp(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); @@ -2418,19 +2409,19 @@ case 210: } break; case 211: - // line 1806 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1797 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=null; } break; case 212: - // line 1811 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1802 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((Block)yyVals[0+yyTop]); } break; case 213: - // line 1815 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1806 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { /*Lambdabody kann auch nur aus einer Expression bestehen. In diesem Fall wird ein Block erstellt, welcher als einziges Statement ein return statment mit der expression hat.*/ /*Bsp.: Aus der Expression |var=="hallo"| wird: |{return var=="hallo";}|*/ @@ -2441,19 +2432,19 @@ case 213: } break; case 214: - // line 1825 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1816 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=null; } break; case 215: - // line 1829 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1820 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((ParameterList)yyVals[-1+yyTop]); } break; case 216: - // line 1834 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1825 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { LambdaExpression lambda = new LambdaExpression(/*((ParameSterList)$2).getOffset(),((ParameterList)$2).getVariableLength()*/0,0); if(((ParameterList)yyVals[-2+yyTop])!=null)lambda.setParameterList(((ParameterList)yyVals[-2+yyTop])); @@ -2462,54 +2453,54 @@ case 216: } break; case 217: - // line 1853 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1844 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((UsedId)yyVals[0+yyTop]); } break; case 218: - // line 1858 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1849 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=null; } break; case 219: - // line 1862 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1853 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { TimesOp TEO = new TimesOp(-1,-1); yyVal=TEO; } break; case 220: - // line 1867 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1858 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { DivideOp DEO = new DivideOp(-1,-1); yyVal=DEO; } break; case 221: - // line 1872 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1863 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { ModuloOp MEO = new ModuloOp(-1,-1); yyVal=MEO; } break; case 222: - // line 1877 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1868 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { PlusOp PEO = new PlusOp(-1,-1); yyVal=PEO; } break; case 223: - // line 1882 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1873 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { MinusOp MEO = new MinusOp(-1,-1); yyVal=MEO; } break; case 224: - // line 1894 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1885 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { PreIncExpr PRINC = new PreIncExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); PRINC.set_Expr(((Expr)yyVals[0+yyTop])); @@ -2517,7 +2508,7 @@ case 224: } break; case 225: - // line 1901 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1892 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { PreDecExpr PRDEC = new PreDecExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); PRDEC.set_Expr(((Expr)yyVals[0+yyTop])); @@ -2525,7 +2516,7 @@ case 225: } break; case 226: - // line 1908 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1899 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { PostIncExpr PIE = new PostIncExpr(((Expr)yyVals[-1+yyTop]).getOffset(),((Expr)yyVals[-1+yyTop]).getVariableLength()); PIE.set_Expr(((Expr)yyVals[-1+yyTop])); @@ -2533,7 +2524,7 @@ case 226: } break; case 227: - // line 1915 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1906 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { PostDecExpr PDE = new PostDecExpr(((Expr)yyVals[-1+yyTop]).getOffset(),((Expr)yyVals[-1+yyTop]).getVariableLength()); PDE.set_Expr(((Expr)yyVals[-1+yyTop])); @@ -2541,7 +2532,7 @@ case 227: } break; case 228: - // line 1923 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1914 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { de.dhbwstuttgart.logger.Logger.getLogger("parser").debug("M1", Section.PARSER); MethodCall MC = new MethodCall(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); @@ -2573,7 +2564,7 @@ case 228: } break; case 229: - // line 1953 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1944 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { de.dhbwstuttgart.logger.Logger.getLogger("parser").debug("M2", Section.PARSER); MethodCall MCarg = new MethodCall(((UsedId)yyVals[-3+yyTop]).getOffset(),((UsedId)yyVals[-3+yyTop]).getVariableLength()); @@ -2606,7 +2597,7 @@ case 229: } break; case 230: - // line 1984 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1975 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { de.dhbwstuttgart.logger.Logger.getLogger("parser").debug("M3", Section.PARSER); MethodCall MCpr = new MethodCall(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength()); @@ -2627,7 +2618,7 @@ case 230: } break; case 231: - // line 2003 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 1994 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { de.dhbwstuttgart.logger.Logger.getLogger("parser").debug("M4", Section.PARSER); MethodCall MCPA = new MethodCall(((Expr)yyVals[-5+yyTop]).getOffset(),((Expr)yyVals[-5+yyTop]).getVariableLength()); @@ -2649,17 +2640,18 @@ case 231: } break; case 232: - // line 2026 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 2017 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { NewClass NC = new NewClass(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); NC.set_UsedId(((UsedId)yyVals[-2+yyTop])); + usedIdsToCheck.addElement(((UsedId)yyVals[-2+yyTop])); /*auskommentiert von Andreas Stadelmeier (a10023) NC.setType(TypePlaceholder.fresh());*/ yyVal=NC; } break; case 233: - // line 2034 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 2026 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { NewClass NCarg = new NewClass(((UsedId)yyVals[-3+yyTop]).getOffset(),((UsedId)yyVals[-3+yyTop]).getVariableLength()); NCarg.set_UsedId(((UsedId)yyVals[-3+yyTop])); @@ -2670,13 +2662,13 @@ case 233: } break; case 234: - // line 2044 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 2036 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 235: - // line 2048 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 2040 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { Binary And = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); AndOp AndO = new AndOp(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); @@ -2688,19 +2680,19 @@ case 235: } break; case 236: - // line 2064 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 2056 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 237: - // line 2068 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 2060 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 238: - // line 2072 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 2064 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { PositivExpr POSEX=new PositivExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); UnaryPlus UP= new UnaryPlus(); @@ -2710,7 +2702,7 @@ case 238: } break; case 239: - // line 2080 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 2072 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { NegativeExpr NEGEX=new NegativeExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); UnaryMinus UM=new UnaryMinus(); @@ -2720,19 +2712,19 @@ case 239: } break; case 240: - // line 2088 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 2080 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 241: - // line 2093 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 2085 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 242: - // line 2097 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 2089 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { if (((UsedId)yyVals[0+yyTop]).get_Name().size() > 1) { @@ -2752,37 +2744,37 @@ case 242: } break; case 243: - // line 2115 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 2107 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 244: - // line 2119 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 2111 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 245: - // line 2124 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 2116 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 246: - // line 2129 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 2121 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 248: - // line 2135 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 2127 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((Literal)yyVals[0+yyTop]); } break; case 249: - // line 2139 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 2131 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { This T = new This(((Token)yyVals[0+yyTop]).getOffset(),((Token)yyVals[0+yyTop]).getLexem().length()); UsedId UT = new UsedId(((Token)yyVals[0+yyTop]).getOffset()); @@ -2792,23 +2784,23 @@ case 249: } break; case 250: - // line 2160 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 2152 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((MethodCall)yyVals[0+yyTop]); } break; case 251: - // line 2164 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 2156 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 252: - // line 2169 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 2161 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" {yyVal=((Expr)yyVals[0+yyTop]);} break; case 253: - // line 2171 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 2163 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" {NotExpr NE=new NotExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); UnaryNot UN=new UnaryNot(); NE.set_UnaryNot(UN); @@ -2817,32 +2809,32 @@ case 253: } break; case 254: - // line 2181 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 2173 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" {yyVal=((Expr)yyVals[0+yyTop]);} break; case 256: - // line 2186 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 2178 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" {IntLiteral IL = new IntLiteral(); IL.set_Int(((Token)yyVals[0+yyTop]).String2Int()); yyVal = IL; } break; case 257: - // line 2191 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 2183 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" {BoolLiteral BL = new BoolLiteral(); BL.set_Bool(((Token)yyVals[0+yyTop]).String2Bool()); yyVal = BL; } break; case 258: - // line 2195 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 2187 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" {CharLiteral CL = new CharLiteral(); CL.set_Char(((Token)yyVals[0+yyTop]).CharInString()); yyVal=CL; } break; case 259: - // line 2200 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 2192 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { StringLiteral ST = new StringLiteral(); ST.set_String(((Token)yyVals[0+yyTop]).get_String()); @@ -2850,14 +2842,14 @@ case 259: } break; case 260: - // line 2205 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 2197 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { LongLiteral LL = new LongLiteral(); LL.set_Long(((Token)yyVals[0+yyTop]).String2Long()); yyVal = LL; } break; case 261: - // line 2209 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 2201 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { FloatLiteral FL = new FloatLiteral(); FL.set_Float(((Token)yyVals[0+yyTop]).String2Float()); @@ -2865,7 +2857,7 @@ case 261: } break; case 262: - // line 2214 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 2206 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { DoubleLiteral DL = new DoubleLiteral(); DL.set_Double(((Token)yyVals[0+yyTop]).String2Double()); @@ -2873,31 +2865,31 @@ case 262: } break; case 263: - // line 2220 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 2212 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { Null NN = new Null(); yyVal=NN; } break; case 264: - // line 2239 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 2231 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 265: - // line 2243 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 2235 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { } break; case 266: - // line 2247 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 2239 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 267: - // line 2251 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 2243 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { Binary EQ = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); EqualOp EO = new EqualOp(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); @@ -2909,7 +2901,7 @@ case 267: } break; case 268: - // line 2261 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 2253 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { Binary NEQ = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); NotEqualOp NEO = new NotEqualOp(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); @@ -2921,13 +2913,13 @@ case 268: } break; case 269: - // line 2272 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 2264 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 270: - // line 2276 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 2268 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { Binary LO = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); LessOp LOO = new LessOp(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); @@ -2939,7 +2931,7 @@ case 270: } break; case 271: - // line 2286 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 2278 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { Binary GO = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); GreaterOp GOO = new GreaterOp(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); @@ -2951,7 +2943,7 @@ case 271: } break; case 272: - // line 2296 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 2288 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { Binary LE = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); LessEquOp LEO = new LessEquOp(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); @@ -2963,7 +2955,7 @@ case 272: } break; case 273: - // line 2306 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 2298 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { Binary GE = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); GreaterEquOp GEO = new GreaterEquOp(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); @@ -2975,7 +2967,7 @@ case 273: } break; case 274: - // line 2316 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 2308 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { InstanceOf ISO=new InstanceOf(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); ISO.set_Expr(((Expr)yyVals[-2+yyTop])); @@ -2984,19 +2976,19 @@ case 274: } break; case 275: - // line 2324 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 2316 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 276: - // line 2329 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 2321 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 277: - // line 2333 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 2325 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { Binary AD = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); PlusOp PO = new PlusOp(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); @@ -3008,7 +3000,7 @@ case 277: } break; case 278: - // line 2343 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 2335 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { Binary MI = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); MinusOp MO = new MinusOp(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); @@ -3020,13 +3012,13 @@ case 278: } break; case 279: - // line 2354 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 2346 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 280: - // line 2358 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 2350 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { Binary ML = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); TimesOp TO = new TimesOp(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); @@ -3038,7 +3030,7 @@ case 280: } break; case 281: - // line 2368 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 2360 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { Binary DV = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); DivideOp DO = new DivideOp(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); @@ -3050,7 +3042,7 @@ case 281: } break; case 282: - // line 2378 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" + // line 2370 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" { Binary MD = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); ModuloOp MO = new ModuloOp(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); @@ -3061,7 +3053,7 @@ case 282: yyVal =MD; } break; - // line 3065 "-" + // line 3057 "-" } yyTop -= yyLen[yyN]; yyState = yyStates[yyTop]; diff --git a/src/de/dhbwstuttgart/parser/JavaParser.jay b/src/de/dhbwstuttgart/parser/JavaParser.jay index b4f760e7..db28b802 100755 --- a/src/de/dhbwstuttgart/parser/JavaParser.jay +++ b/src/de/dhbwstuttgart/parser/JavaParser.jay @@ -663,15 +663,6 @@ modifier : PUBLIC classtype : classorinterfacetype { - //PL 05-07-30 eingefuegt containedTypes ANFANG - RefType RT = new RefType($1.get_Name_1Element(),null,-1); - //RT.set_UsedId($1); - //RT.setName(RT.get_UsedId().get_Name_1Element()); - RT.set_ParaList($1.get_RealParaList()); - //RT.setName($1.get_Name_1Element()); - containedTypes.addElement(RT); - //PL 05-07-30 eingefuegt containedTypes ENDE - $$ = $1; } @@ -2026,6 +2017,7 @@ classinstancecreationexpression : NEW classtype '(' ')' { NewClass NC = new NewClass($2.getOffset(),$2.getVariableLength()); NC.set_UsedId($2); + usedIdsToCheck.addElement($2); //auskommentiert von Andreas Stadelmeier (a10023) NC.setType(TypePlaceholder.fresh()); $$=NC; diff --git a/src/de/dhbwstuttgart/syntaxtree/SourceFile.java b/src/de/dhbwstuttgart/syntaxtree/SourceFile.java index d37d6e8e..f81c40f2 100755 --- a/src/de/dhbwstuttgart/syntaxtree/SourceFile.java +++ b/src/de/dhbwstuttgart/syntaxtree/SourceFile.java @@ -232,11 +232,6 @@ public class SourceFile globalAssumptions.add(importAssumptions); typinferenzLog.debug("Von JRE erstellte Assumptions: "+importAssumptions, Section.TYPEINFERENCE); - //FiniteClosure generieren: - FiniteClosure finiteClosure = UnifyTypeFactory.generateFC(globalAssumptions); - - typinferenzLog.debug("FiniteClosure: \n"+finiteClosure, Section.TYPEINFERENCE); - ConstraintsSet oderConstraints = new ConstraintsSet(); //Alle Constraints der in dieser SourceFile enthaltenen Klassen sammeln: for(Class klasse : KlassenVektor){ @@ -249,6 +244,11 @@ public class SourceFile *///////////////// //UnifyTypeFactory.convert(oderConstraints); + + //FiniteClosure generieren: + FiniteClosure finiteClosure = UnifyTypeFactory.generateFC(globalAssumptions); + + typinferenzLog.debug("FiniteClosure: \n"+finiteClosure, Section.TYPEINFERENCE); //////////////// //Typen in UnifyTypen umwandeln: diff --git a/src/de/dhbwstuttgart/syntaxtree/factory/UnifyTypeFactory.java b/src/de/dhbwstuttgart/syntaxtree/factory/UnifyTypeFactory.java index e5edd62c..2d043aa2 100644 --- a/src/de/dhbwstuttgart/syntaxtree/factory/UnifyTypeFactory.java +++ b/src/de/dhbwstuttgart/syntaxtree/factory/UnifyTypeFactory.java @@ -50,10 +50,10 @@ public class UnifyTypeFactory { public static FiniteClosure generateFC(TypeAssumptions fromAss){ HashSet pairs = new HashSet<>(); for(ClassAssumption cAss : fromAss.getClassAssumptions()){ - UnifyType tl = UnifyTypeFactory.convert(cAss.getAssumedClass().getType()); - RefType superClass = cAss.getAssumedClass().getSuperClass(); + UnifyType tl = UnifyTypeFactory.convert(cAss.getAssumedClass().getType().TYPE(fromAss, cAss.getAssumedClass())); + Type superClass = cAss.getAssumedClass().getSuperClass(); if(superClass != null){ - UnifyType tr = UnifyTypeFactory.convert(superClass); + UnifyType tr = UnifyTypeFactory.convert(superClass.TYPE(fromAss, cAss.getAssumedClass())); pairs.add(generateSmallerPair(tl, tr)); } } diff --git a/src/de/dhbwstuttgart/syntaxtree/statement/NewClass.java b/src/de/dhbwstuttgart/syntaxtree/statement/NewClass.java index 41f8fb0d..8fb7e24f 100755 --- a/src/de/dhbwstuttgart/syntaxtree/statement/NewClass.java +++ b/src/de/dhbwstuttgart/syntaxtree/statement/NewClass.java @@ -1,10 +1,12 @@ // ino.module.NewClass.8642.package package de.dhbwstuttgart.syntaxtree.statement; +import java.util.ArrayList; // ino.end // ino.module.NewClass.8642.import import java.util.Enumeration; import java.util.Hashtable; import java.util.Iterator; +import java.util.List; import org.apache.commons.bcel6.Constants; import org.apache.commons.bcel6.generic.ClassGen; @@ -23,6 +25,7 @@ import de.dhbwstuttgart.myexception.NotImplementedException; import de.dhbwstuttgart.myexception.SCExcept; import de.dhbwstuttgart.myexception.SCStatementException; import de.dhbwstuttgart.syntaxtree.Class; +import de.dhbwstuttgart.syntaxtree.ParameterList; import de.dhbwstuttgart.syntaxtree.SyntaxTreeNode; import de.dhbwstuttgart.syntaxtree.misc.UsedId; import de.dhbwstuttgart.syntaxtree.type.FunN; @@ -60,6 +63,7 @@ public class NewClass extends Expr // ino.attribute.arglist.25837.declaration private ArgumentList arglist; private boolean isStatement = false; + private List parameterList = new ArrayList<>(); // ino.end // ino.attribute.parserlog.25840.declaration protected static Logger parserlog = Logger.getLogger("parser"); @@ -131,7 +135,6 @@ public class NewClass extends Expr @Override public ConstraintsSet TYPEExpr(TypeAssumptions assumptions) { - //TODO: Das hier noch vervollständigen ConstraintsSet ret = new ConstraintsSet(); UndConstraint callConstraints = new UndConstraint(); @@ -144,7 +147,19 @@ public class NewClass extends Expr ret.add(this.arglist.expr.elementAt(i).TYPEExpr(assumptions)); callConstraints.addConstraint( this.arglist.expr.elementAt(i).getType().TYPE(assumptions, this), cA.getParameterType(i).TYPE(assumptions, this)); } - Type thisT = assumptions.checkType(new RefType(this.get_Name(),this,0), (SyntaxTreeNode)this); + //Die Parameterliste befindet sich in der UsedID: + for(Type param : this.usedid.get_ParaList()){ + this.parameterList.add(param.TYPE(assumptions, this)); + } + + //Den Typ der Instruktion setzen: + RefType refTypeToCheck; + if(this.parameterList.size() == 0){ + refTypeToCheck = new RefType(this.get_Name(),this,0); + }else{ + refTypeToCheck = new RefType(this.get_Name(),this.parameterList,this,0); + } + Type thisT = assumptions.checkType(refTypeToCheck, (SyntaxTreeNode)this); this.setType(thisT); return ret;