From bf341ab4f3e7544abab5f233661253a241070a77 Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Wed, 19 Feb 2014 14:16:28 +0100 Subject: [PATCH 01/79] =?UTF-8?q?createTypeAssumptions=20f=C3=BCr=20Field?= =?UTF-8?q?=20generiert?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/mycompiler/MyCompiler.java | 14 +------ src/mycompiler/myclass/Class.java | 3 ++ src/mycompiler/myclass/FieldDeclaration.java | 7 +++- .../test/lambda/testResults/LambdaTest.log | 40 +++---------------- 4 files changed, 14 insertions(+), 50 deletions(-) diff --git a/src/mycompiler/MyCompiler.java b/src/mycompiler/MyCompiler.java index 7b566e9ee..602ae2eec 100755 --- a/src/mycompiler/MyCompiler.java +++ b/src/mycompiler/MyCompiler.java @@ -80,15 +80,6 @@ public class MyCompiler implements MyCompilerAPI protected String OutputDir = ""; // ino.end - // ino.attribute.m_Singleton.21277.decldescription type=javadoc - /** - * Die Singleton-Instanz f�r den Compiler - *
Autor: J�rg B�uerle - */ - // ino.end - // ino.attribute.m_Singleton.21277.declaration - private static MyCompiler m_Singleton = null; - // ino.end // ino.attribute.m_AbstractSyntaxTree.21280.decldescription type=javadoc /** @@ -130,10 +121,7 @@ public class MyCompiler implements MyCompilerAPI // ino.end // ino.method.getAPI.21286.body { - if(m_Singleton==null){ - m_Singleton = new MyCompiler(); - } - return m_Singleton; + return new MyCompiler(); } // ino.end diff --git a/src/mycompiler/myclass/Class.java b/src/mycompiler/myclass/Class.java index 90988cf64..49e01d961 100755 --- a/src/mycompiler/myclass/Class.java +++ b/src/mycompiler/myclass/Class.java @@ -1258,6 +1258,9 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface */ public TypeAssumptions getPublicFieldAssumptions() { TypeAssumptions ret = this.getTypeAssumptions(); + for(Field f : this.getFields()){ + ret.add(f.createTypeAssumptions(this)); + } return ret; } diff --git a/src/mycompiler/myclass/FieldDeclaration.java b/src/mycompiler/myclass/FieldDeclaration.java index 70edf82f5..d04969b52 100644 --- a/src/mycompiler/myclass/FieldDeclaration.java +++ b/src/mycompiler/myclass/FieldDeclaration.java @@ -7,6 +7,8 @@ import typinferenz.JavaCodeResult; import typinferenz.OderConstraint; import typinferenz.ResultSet; import typinferenz.SingleConstraint; +import typinferenz.TypinferenzException; +import typinferenz.assumptions.FieldAssumption; import typinferenz.assumptions.TypeAssumptions; import mycompiler.SyntaxTreeNode; import mycompiler.mybytecode.ClassFile; @@ -71,15 +73,16 @@ public class FieldDeclaration extends Field{ * TODO: Der Feld-Assumption muss ein TPH als Typ hinzugefügt werden, falls er Typlos initialisiert wurde. Dies kann auch der Type-Algorithmus der Inst/FieldVar - Klasse machen. * Wird das Feld mit einem Typ initialisiert so muss dieser auch in die Assumptions. */ - if(this.getType() == null)this.setType(TypePlaceholder.fresh(this)); + if(this.getType() == null)throw new TypinferenzException("Der Typ eines Feldes darf nicht null sein"); //assumptions.add(TypeAssumptions.createFieldVarAssumption(classmember.getName(), this.getName(), this.getType())); - + assumptions.addFieldAssumption(new FieldAssumption(this,classmember)); return assumptions; } @Override public void parserPostProcessing(SyntaxTreeNode parent){ super.parserPostProcessing(parent); + if(this.getType() == null)this.setType(TypePlaceholder.fresh(this)); } diff --git a/test/mycompiler/test/lambda/testResults/LambdaTest.log b/test/mycompiler/test/lambda/testResults/LambdaTest.log index f4fd14841..34982e52d 100644 --- a/test/mycompiler/test/lambda/testResults/LambdaTest.log +++ b/test/mycompiler/test/lambda/testResults/LambdaTest.log @@ -1,41 +1,11 @@ -Class DEBUG [Typeinference] Erstellte Assumptions: this: WhileTestMethod Assumptions: -[typinferenz.assumptions.MethodAssumption@33e8c1e4, typinferenz.assumptions.MethodAssumption@76117a5b] +Class DEBUG [Typeinference] Erstellte Assumptions: this: LambdaTest1Method Assumptions: +[typinferenz.assumptions.MethodAssumption@1e54f9f6, typinferenz.assumptions.MethodAssumption@5ce69508] FieldVar Assumptions: -[] +[typinferenz.assumptions.FieldAssumption@26426fde] LocalVar Assumptions: [] Parameter Assumptions: [] -Block DEBUG [Typeinference] Prozessing statement: no type [var] -Block DEBUG [Typeinference] Prozessing statement: WHILE null { [(var = mycompiler.mystatement.StringLiteral@25cc8345)] -Block DEBUG [Typeinference] Prozessing statement: (var = mycompiler.mystatement.StringLiteral@25cc8345) -Block DEBUG [Typeinference] Prozessing statement: void(var: TPH C = mycompiler.mystatement.StringLiteral@25cc8345) -Block DEBUG [Typeinference] Prozessing statement: WHILE void { [void(var: TPH C = mycompiler.mystatement.StringLiteral@25cc8345)] -Block DEBUG [Typeinference] Prozessing statement: TPH C [var] -Class DEBUG [Typeinference] Erstellte Constraints: boolean < boolean -String < TPH C -TPH C < TPH D -void < TPH A - -SourceFile DEBUG [Typeinference] Karthesisches Produkt der Constraints: [[(boolean <. boolean), (String <. TPH C), (TPH C <. TPH D), (void <. TPH A)]] -SourceFile DEBUG [Typeinference] Unifiziertes Ergebnis: [[(TPH D = String), (TPH C = String), (TPH A = void)]] -SourceFile DEBUG [Typeinference] -JavaFiles: - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH D = String), (TPH C = String), (TPH A = void)] - -SourceFile DEBUG [Typeinference] class WhileTest extends Object -{ -void method() -{ -String var; -while(true){ -var = "String"; -} -} -B WhileTest() -{ -} -} - +Block DEBUG [Typeinference] Prozessing statement: null Return null (( [ String text, ]) -> null { [null Return toAppend]) +Block DEBUG [Typeinference] Prozessing statement: null Return toAppend From e33b9fd76ee5e27dc43cdf409aa7ddacec3aff43 Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Wed, 19 Feb 2014 17:32:43 +0100 Subject: [PATCH 02/79] weitere Fehler behoben --- bin/mycompiler/myparser/JavaParser.jay | 42 +++++++------- src/mycompiler/myclass/Class.java | 29 ++++++---- src/mycompiler/myclass/Constructor.java | 22 +++----- src/mycompiler/myclass/Method.java | 55 +++++++++---------- src/mycompiler/myclass/ParameterList.java | 9 ++- src/mycompiler/myparser/JavaParser.java | 42 +++++++------- src/mycompiler/myparser/JavaParser.jay | 42 +++++++------- test/mycompiler/test/lambda/TestWhile.jav | 2 +- .../test/lambda/testResults/LambdaTest.log | 10 ++-- 9 files changed, 128 insertions(+), 125 deletions(-) diff --git a/bin/mycompiler/myparser/JavaParser.jay b/bin/mycompiler/myparser/JavaParser.jay index a2755734b..793ea1630 100755 --- a/bin/mycompiler/myparser/JavaParser.jay +++ b/bin/mycompiler/myparser/JavaParser.jay @@ -1035,45 +1035,45 @@ boundedMethodParameters : boundedMethodParameter // returns Method methodheader :'<' boundedMethodParameters '>' type methoddeclarator { - $5.setReturnType($4); + $5.setType($4); $5.setGenericMethodParameters($2); $$=$5; } | type methoddeclarator { - $2.setReturnType($1); + $2.setType($1); $$=$2; } | modifiers type methoddeclarator { $3.set_Modifiers($1); - $3.setReturnType($2); + $3.setType($2); $$=$3; } | modifiers '<' boundedMethodParameters '>' type methoddeclarator { $6.set_Modifiers($1); $6.setGenericMethodParameters($3); - $6.setReturnType($5); + $6.setType($5); $$=$6; } | type methoddeclarator throws { - $2.setReturnType($1); + $2.setType($1); $2.set_ExceptionList($3); $$=$2; } | '<' boundedMethodParameters '>' type methoddeclarator throws { $5.setGenericMethodParameters($2); - $5.setReturnType($4); + $5.setType($4); $5.set_ExceptionList($6); $$=$5; } | modifiers type methoddeclarator throws { $3.set_Modifiers($1); - $3.setReturnType($2); + $3.setType($2); $3.set_ExceptionList($4); $$=$3; } @@ -1081,27 +1081,27 @@ methodheader :'<' boundedMethodParameters '>' type methoddeclarator { $6.set_Modifiers($1); $6.setGenericMethodParameters($3); - $6.setReturnType($5); + $6.setType($5); $6.set_ExceptionList($7); $$=$6; } | VOID methoddeclarator { Void Voit = new Void($1.getOffset()); - $2.setReturnType(Voit); + $2.setType(Voit); $$=$2; } | modifiers VOID methoddeclarator { Void voit = new Void($2.getOffset()); $3.set_Modifiers($1); - $3.setReturnType(voit); + $3.setType(voit); $$=$3; } | VOID methoddeclarator throws { Void voyt = new Void($1.getOffset()); - $2.setReturnType(voyt); + $2.setType(voyt); $2.set_ExceptionList($3); $$=$2; } @@ -1109,14 +1109,14 @@ methodheader :'<' boundedMethodParameters '>' type methoddeclarator { Void voyd = new Void($2.getOffset()); $3.set_Modifiers($1); - $3.setReturnType(voyd); + $3.setType(voyd); $3.set_ExceptionList($4); $$=$3; } | '<' boundedMethodParameters '>' VOID methoddeclarator { Void Voit = new Void($4.getOffset()); - $5.setReturnType(Voit); + $5.setType(Voit); $5.setGenericMethodParameters($2); $$=$5; } @@ -1124,14 +1124,14 @@ methodheader :'<' boundedMethodParameters '>' type methoddeclarator { Void voit = new Void($5.getOffset()); $6.set_Modifiers($1); - $6.setReturnType(voit); + $6.setType(voit); $6.setGenericMethodParameters($3); $$=$6; } | '<' boundedMethodParameters '>' VOID methoddeclarator throws { Void voyt = new Void($4.getOffset()); - $5.setReturnType(voyt); + $5.setType(voyt); $5.set_ExceptionList($6); $5.setGenericMethodParameters($2); $$=$5; @@ -1140,7 +1140,7 @@ methodheader :'<' boundedMethodParameters '>' type methoddeclarator { Void voyd = new Void($5.getOffset()); $6.set_Modifiers($1); - $6.setReturnType(voyd); + $6.setType(voyd); $6.set_ExceptionList($7); $6.setGenericMethodParameters($3); $$=$6; @@ -1148,12 +1148,12 @@ methodheader :'<' boundedMethodParameters '>' type methoddeclarator | methoddeclarator { - //auskommentiert von Andreas Stadelmeier (a10023) $1.setReturnType(TypePlaceholder.fresh()); + //auskommentiert von Andreas Stadelmeier (a10023) $1.setType(TypePlaceholder.fresh()); $$=$1; } | '<' boundedMethodParameters '>' methoddeclarator { - //auskommentiert von Andreas Stadelmeier (a10023) $4.setReturnType(TypePlaceholder.fresh()); + //auskommentiert von Andreas Stadelmeier (a10023) $4.setType(TypePlaceholder.fresh()); $4.setGenericMethodParameters($2); $$=$4; } @@ -1161,19 +1161,19 @@ methodheader :'<' boundedMethodParameters '>' type methoddeclarator | modifiers methoddeclarator { $2.set_Modifiers($1); - //auskommentiert von Andreas Stadelmeier (a10023) $2.setReturnType(TypePlaceholder.fresh()); + //auskommentiert von Andreas Stadelmeier (a10023) $2.setType(TypePlaceholder.fresh()); $$=$2; } | methoddeclarator throws { - //auskommentiert von Andreas Stadelmeier (a10023) $1.setReturnType(TypePlaceholder.fresh()); + //auskommentiert von Andreas Stadelmeier (a10023) $1.setType(TypePlaceholder.fresh()); $1.set_ExceptionList($2); $$=$1; } | modifiers methoddeclarator throws { $2.set_Modifiers($1); - //auskommentiert von Andreas Stadelmeier (a10023) $2.setReturnType(TypePlaceholder.fresh()); + //auskommentiert von Andreas Stadelmeier (a10023) $2.setType(TypePlaceholder.fresh()); $2.set_ExceptionList($3); $$=$2; } diff --git a/src/mycompiler/myclass/Class.java b/src/mycompiler/myclass/Class.java index 49e01d961..e89d30a77 100755 --- a/src/mycompiler/myclass/Class.java +++ b/src/mycompiler/myclass/Class.java @@ -247,14 +247,8 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface */ public void addField(Field i) { - Field tempField = i; - if(i instanceof Method){ - Method method = (Method)i; - if(method.get_Method_Name().equals(this.getName()) ){ - tempField = new Constructor(method); - } - } - fielddecl.addElement(tempField); + + fielddecl.addElement(i); } // ino.method.getUsedIdsToCheck.23050.definition @@ -1267,6 +1261,23 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface @Override public void parserPostProcessing(SyntaxTreeNode parent) { super.parserPostProcessing(parent); + + //Alle Methoden auf Konstruktoren durchsuchen und diese umwandeln: + Vector tempFields = new Vector(); + for(Field f : this.getFields()){ + if(f instanceof Method && !(f instanceof Constructor)){ + Method method = (Method)f; + if(method.get_Method_Name().equals(this.getName()) ){ + tempFields.add(new Constructor(method)); + }else{ + tempFields.add(f); + } + }else{ + tempFields.add(f); + } + } + this.fielddecl = tempFields; + //Prüfen ob ein Konstruktor vorhanden ist: boolean constructorVorhanden = false; for(Field f : this.getFields()){ @@ -1276,8 +1287,6 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface } } if(!constructorVorhanden){//Falls kein Konstruktor vorhanden ist, muss noch der Standardkonstruktor angefügt werden: - - Constructor standardKonstruktor = new Constructor(Method.createEmptyMethod(this.getName(), this)); this.addField(standardKonstruktor); } diff --git a/src/mycompiler/myclass/Constructor.java b/src/mycompiler/myclass/Constructor.java index 767a683f0..5a611fc96 100644 --- a/src/mycompiler/myclass/Constructor.java +++ b/src/mycompiler/myclass/Constructor.java @@ -15,6 +15,7 @@ import typinferenz.ConstraintsSet; import typinferenz.JavaCodeResult; import typinferenz.ResultSet; import typinferenz.SingleConstraint; +import typinferenz.TypinferenzException; import typinferenz.assumptions.TypeAssumptions; public class Constructor extends Method { @@ -27,6 +28,7 @@ public class Constructor extends Method { public Constructor(Method methode){ this.methode = methode; this.setDeclIdVector(methode.getDeclIdVector()); + this.methode.setType(new RefType(this.methode.getParentClass().getName(),0)); } @Override @@ -51,7 +53,7 @@ public class Constructor extends Method { @Override public String getTypeName() { - return this.methode.getTypeName(); + return this.getType().getName(); } @Override @@ -60,11 +62,7 @@ public class Constructor extends Method { return this.methode.get_Block(); } - @Override - public void setReturnType(Type type) { - - this.methode.setReturnType(type); - } + @Override public void set_Block(Block blo) { @@ -120,12 +118,6 @@ public class Constructor extends Method { this.methode.setOverloadedID(overloadedID); } - @Override - public Type getReturnType() { - - return this.methode.getReturnType(); - } - @Override public String get_codegen_Param_Type(Vector paralist) { @@ -262,13 +254,13 @@ public class Constructor extends Method { @Override public void setType(Type t) { - - this.methode.setType(t); + throw new TypinferenzException("Einem Konstruktor kann kein Typ zugewiesen werden"); + //this.methode.setType(t); } @Override public Type getType() { - return new RefType(this.methode.getParentClass().getName(),0); + return this.methode.getType(); } diff --git a/src/mycompiler/myclass/Method.java b/src/mycompiler/myclass/Method.java index f2465cc48..702402b4c 100755 --- a/src/mycompiler/myclass/Method.java +++ b/src/mycompiler/myclass/Method.java @@ -38,6 +38,7 @@ import typinferenz.ConstraintsSet; import typinferenz.ResultSet; import typinferenz.TypeInsertable; import typinferenz.assumptions.MethodAssumption; +import typinferenz.assumptions.ParameterAssumption; import typinferenz.assumptions.TypeAssumptions; @@ -168,10 +169,10 @@ public class Method extends Field implements ITypeReplacementListener, IItemWith // ino.end // ino.method.getTypeName.23533.body { - if( this.getReturnType() == null ) + if( this.getType() == null ) return null; else - return this.getReturnType().getName(); + return this.getType().getName(); } // ino.end @@ -191,7 +192,7 @@ public class Method extends Field implements ITypeReplacementListener, IItemWith */ // ino.end // ino.method.setReturnType.23539.definition - public void setReturnType(Type type) + private void setReturnType(Type type) // ino.end // ino.method.setReturnType.23539.body { @@ -301,20 +302,7 @@ public class Method extends Field implements ITypeReplacementListener, IItemWith } // ino.end - /** - * Liefert den Return Type der Methode. - * Dieser entspricht dem Returntype des Methoden-Block's - * @returnb - */ - // ino.method.getReturnType.23569.definition - public Type getReturnType() - // ino.end - // ino.method.getReturnType.23569.body - { - return this.returntype; //auskommentiert von Andreas Stadelmeier (a10023) - } - // ino.end - + // ino.method.get_codegen_Param_Type.23572.definition @@ -331,13 +319,13 @@ public class Method extends Field implements ITypeReplacementListener, IItemWith { ret += this.getParameterList().get_codegen_ParameterList(paralist); } - if(this.getReturnType() == null) + if(this.getType() == null) { ret += "V"; } else { - ret += this.getReturnType().get_codegen_Type(paralist); + ret += this.getType().get_codegen_Type(paralist); } return ret; } @@ -372,7 +360,7 @@ public class Method extends Field implements ITypeReplacementListener, IItemWith // ino.end // ino.method.codegen.23581.body { - classfile.add_method(declid.firstElement().get_Name(), this.get_codegen_Param_Type(paralist), this.getParameterList(), this.getReturnType(), block, declid.firstElement().get_access_flags(), paralist, isAbstract); + classfile.add_method(declid.firstElement().get_Name(), this.get_codegen_Param_Type(paralist), this.getParameterList(), this.getType(), block, declid.firstElement().get_access_flags(), paralist, isAbstract); } // ino.end @@ -472,7 +460,7 @@ public class Method extends Field implements ITypeReplacementListener, IItemWith // ino.end // ino.method.toString.23605.body { - return this.getReturnType() + " " + block.toString(); + return this.getType() + " " + block.toString(); } // ino.end @@ -511,7 +499,7 @@ public class Method extends Field implements ITypeReplacementListener, IItemWith // ino.method.wandleRefTypeAttributes2GenericAttributes.23614.body { // Zuerst Returntype untersuchen - Type returnType=getReturnType(); + Type returnType=getType(); GenericTypeVar pendantReturnType=ClassHelper.findGenericType(returnType, paralist,genericMethodParameters); if(pendantReturnType!=null){ //Wenn generisch, dann modifizieren setReturnType(pendantReturnType); @@ -547,8 +535,13 @@ public class Method extends Field implements ITypeReplacementListener, IItemWith public ConstraintsSet TYPE(TypeAssumptions ass) { ConstraintsSet ret = new ConstraintsSet(); - - ret.add(this.block.TYPEStmt(ass)); + TypeAssumptions localAss = new TypeAssumptions(); + localAss.add(ass); //Die globalen Assumptions anhängen + //Die Parameter zu den Assumptions hinzufügen: + if(this.parameterlist!=null)for(FormalParameter param : this.parameterlist){ + localAss.addParameterAssumption(new ParameterAssumption(param)); + } + ret.add(this.block.TYPEStmt(localAss)); //eine Verknüpfung mit der Type Assumption aus dem Assumption Set und dem ermittelten Typ der Methode: ret.add(new SingleConstraint(this.block.getType(), this.returntype)); return ret; @@ -560,13 +553,13 @@ public class Method extends Field implements ITypeReplacementListener, IItemWith */ public String getTypeInformation(){ if(this.parameterlist!=null)return "Methode "+this.get_Name()+ " Parameter: "+this.parameterlist.getTypeInformation()+", Block: "+this.block.getTypeInformation(); - return "Methode "+this.get_Name()+" : "+this.getReturnType()+", Block: "+this.block.getTypeInformation(); + return "Methode "+this.get_Name()+" : "+this.getType()+", Block: "+this.block.getTypeInformation(); } @Override public JavaCodeResult printJavaCode(ResultSet resultSet) { JavaCodeResult ret = new JavaCodeResult(); - ret.attach(this.getReturnType().printJavaCode(resultSet)).attach(" ").attach(this.get_Method_Name()).attach("()\n"); //TODO: hier müssen auch noch die Parameter ausgegeben werden! + ret.attach(this.getType().printJavaCode(resultSet)).attach(" ").attach(this.get_Method_Name()).attach("()\n"); //TODO: hier müssen auch noch die Parameter ausgegeben werden! ret.attach(this.block.printJavaCode(resultSet)); return ret; @@ -581,7 +574,7 @@ public class Method extends Field implements ITypeReplacementListener, IItemWith /* TypeAssumptions assumptions = new TypeAssumptions(); this.assumedType = null; - //if((this.get_Method_Name().equals(classmember.getName()) || this.get_Method_Name().equals("")) && ((this.getReturnType().equals(new mycompiler.mytype.Void(0))) || this.getReturnType() instanceof TypePlaceholder)){ + //if((this.get_Method_Name().equals(classmember.getName()) || this.get_Method_Name().equals("")) && ((this.getType().equals(new mycompiler.mytype.Void(0))) || this.getType() instanceof TypePlaceholder)){ if((this.get_Method_Name().equals(classmember.getName()) || this.get_Method_Name().equals(""))) { this.set_Method_Name(""); this.assumedType = new RefType(classmember.getName(),0); @@ -609,7 +602,7 @@ public class Method extends Field implements ITypeReplacementListener, IItemWith //methodList.addElement(method); //F�r V_fields_methods: - CMethodTypeAssumption methodAssum = new CMethodTypeAssumption(classmember.getType(), this.get_Method_Name(), this.getReturnType(), this.getParameterCount(),this.getLineNumber(),this.getOffset(),new Vector(),this.getGenericMethodParameters()); // Typannahme bauen... + CMethodTypeAssumption methodAssum = new CMethodTypeAssumption(classmember.getType(), this.get_Method_Name(), this.getType(), this.getParameterCount(),this.getLineNumber(),this.getOffset(),new Vector(),this.getGenericMethodParameters()); // Typannahme bauen... //Methode in V_Fields_methods ablegen @@ -681,6 +674,9 @@ public class Method extends Field implements ITypeReplacementListener, IItemWith this.returntype = t; } + /** + * Der Typ einer Methode ist ihr Returntype + */ @Override public Type getType(){ //Methode und Block teilen sich einen ReturnType: @@ -695,8 +691,7 @@ public class Method extends Field implements ITypeReplacementListener, IItemWith Block tempBlock = new Block(); //tempBlock.setType(new RefType(parent.getName(),0)); ret.set_Block(tempBlock); - ret.setType(TypePlaceholder.fresh(ret)); - ret.parent = parent; + ret.parserPostProcessing(parent); return ret; } diff --git a/src/mycompiler/myclass/ParameterList.java b/src/mycompiler/myclass/ParameterList.java index 6a7b49528..ba299a550 100755 --- a/src/mycompiler/myclass/ParameterList.java +++ b/src/mycompiler/myclass/ParameterList.java @@ -16,7 +16,7 @@ import java.util.Iterator; // ino.class.ParameterList.23620.declaration -public class ParameterList +public class ParameterList implements Iterable // ino.end // ino.class.ParameterList.23620.body { @@ -146,5 +146,12 @@ public class ParameterList return ret; } + + + @Override + public Iterator iterator() { + return this.formalparameter.iterator(); + } + } // ino.end diff --git a/src/mycompiler/myparser/JavaParser.java b/src/mycompiler/myparser/JavaParser.java index 4c0a9726d..1f5ddd2d5 100644 --- a/src/mycompiler/myparser/JavaParser.java +++ b/src/mycompiler/myparser/JavaParser.java @@ -1563,7 +1563,7 @@ case 102: case 103: // line 1037 "./../src/mycompiler/myparser/JavaParser.jay" { - ((Method)yyVals[0+yyTop]).setReturnType(((Type)yyVals[-1+yyTop])); + ((Method)yyVals[0+yyTop]).setType(((Type)yyVals[-1+yyTop])); ((Method)yyVals[0+yyTop]).setGenericMethodParameters(((Vector)yyVals[-3+yyTop])); yyVal=((Method)yyVals[0+yyTop]); } @@ -1571,7 +1571,7 @@ case 103: case 104: // line 1043 "./../src/mycompiler/myparser/JavaParser.jay" { - ((Method)yyVals[0+yyTop]).setReturnType(((Type)yyVals[-1+yyTop])); + ((Method)yyVals[0+yyTop]).setType(((Type)yyVals[-1+yyTop])); yyVal=((Method)yyVals[0+yyTop]); } break; @@ -1579,7 +1579,7 @@ case 105: // line 1048 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-2+yyTop])); - ((Method)yyVals[0+yyTop]).setReturnType(((Type)yyVals[-1+yyTop])); + ((Method)yyVals[0+yyTop]).setType(((Type)yyVals[-1+yyTop])); yyVal=((Method)yyVals[0+yyTop]); } break; @@ -1588,14 +1588,14 @@ case 106: { ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-5+yyTop])); ((Method)yyVals[0+yyTop]).setGenericMethodParameters(((Vector)yyVals[-3+yyTop])); - ((Method)yyVals[0+yyTop]).setReturnType(((Type)yyVals[-1+yyTop])); + ((Method)yyVals[0+yyTop]).setType(((Type)yyVals[-1+yyTop])); yyVal=((Method)yyVals[0+yyTop]); } break; case 107: // line 1061 "./../src/mycompiler/myparser/JavaParser.jay" { - ((Method)yyVals[-1+yyTop]).setReturnType(((Type)yyVals[-2+yyTop])); + ((Method)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop])); yyVal=((Method)yyVals[-1+yyTop]); } @@ -1604,7 +1604,7 @@ case 108: // line 1067 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[-1+yyTop]).setGenericMethodParameters(((Vector)yyVals[-4+yyTop])); - ((Method)yyVals[-1+yyTop]).setReturnType(((Type)yyVals[-2+yyTop])); + ((Method)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop])); yyVal=((Method)yyVals[-1+yyTop]); } @@ -1613,7 +1613,7 @@ case 109: // line 1074 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-3+yyTop])); - ((Method)yyVals[-1+yyTop]).setReturnType(((Type)yyVals[-2+yyTop])); + ((Method)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop])); yyVal=((Method)yyVals[-1+yyTop]); } @@ -1623,7 +1623,7 @@ case 110: { ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-6+yyTop])); ((Method)yyVals[-1+yyTop]).setGenericMethodParameters(((Vector)yyVals[-4+yyTop])); - ((Method)yyVals[-1+yyTop]).setReturnType(((Type)yyVals[-2+yyTop])); + ((Method)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop])); yyVal=((Method)yyVals[-1+yyTop]); } @@ -1632,7 +1632,7 @@ case 111: // line 1089 "./../src/mycompiler/myparser/JavaParser.jay" { Void Voit = new Void(((Token)yyVals[-1+yyTop]).getOffset()); - ((Method)yyVals[0+yyTop]).setReturnType(Voit); + ((Method)yyVals[0+yyTop]).setType(Voit); yyVal=((Method)yyVals[0+yyTop]); } break; @@ -1641,7 +1641,7 @@ case 112: { Void voit = new Void(((Token)yyVals[-1+yyTop]).getOffset()); ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-2+yyTop])); - ((Method)yyVals[0+yyTop]).setReturnType(voit); + ((Method)yyVals[0+yyTop]).setType(voit); yyVal=((Method)yyVals[0+yyTop]); } break; @@ -1649,7 +1649,7 @@ case 113: // line 1102 "./../src/mycompiler/myparser/JavaParser.jay" { Void voyt = new Void(((Token)yyVals[-2+yyTop]).getOffset()); - ((Method)yyVals[-1+yyTop]).setReturnType(voyt); + ((Method)yyVals[-1+yyTop]).setType(voyt); ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop])); yyVal=((Method)yyVals[-1+yyTop]); } @@ -1659,7 +1659,7 @@ case 114: { Void voyd = new Void(((Token)yyVals[-2+yyTop]).getOffset()); ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-3+yyTop])); - ((Method)yyVals[-1+yyTop]).setReturnType(voyd); + ((Method)yyVals[-1+yyTop]).setType(voyd); ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop])); yyVal=((Method)yyVals[-1+yyTop]); } @@ -1668,7 +1668,7 @@ case 115: // line 1117 "./../src/mycompiler/myparser/JavaParser.jay" { Void Voit = new Void(((Token)yyVals[-1+yyTop]).getOffset()); - ((Method)yyVals[0+yyTop]).setReturnType(Voit); + ((Method)yyVals[0+yyTop]).setType(Voit); ((Method)yyVals[0+yyTop]).setGenericMethodParameters(((Vector)yyVals[-3+yyTop])); yyVal=((Method)yyVals[0+yyTop]); } @@ -1678,7 +1678,7 @@ case 116: { Void voit = new Void(((Token)yyVals[-1+yyTop]).getOffset()); ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-5+yyTop])); - ((Method)yyVals[0+yyTop]).setReturnType(voit); + ((Method)yyVals[0+yyTop]).setType(voit); ((Method)yyVals[0+yyTop]).setGenericMethodParameters(((Vector)yyVals[-3+yyTop])); yyVal=((Method)yyVals[0+yyTop]); } @@ -1687,7 +1687,7 @@ case 117: // line 1132 "./../src/mycompiler/myparser/JavaParser.jay" { Void voyt = new Void(((Token)yyVals[-2+yyTop]).getOffset()); - ((Method)yyVals[-1+yyTop]).setReturnType(voyt); + ((Method)yyVals[-1+yyTop]).setType(voyt); ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop])); ((Method)yyVals[-1+yyTop]).setGenericMethodParameters(((Vector)yyVals[-4+yyTop])); yyVal=((Method)yyVals[-1+yyTop]); @@ -1698,7 +1698,7 @@ case 118: { Void voyd = new Void(((Token)yyVals[-2+yyTop]).getOffset()); ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-6+yyTop])); - ((Method)yyVals[-1+yyTop]).setReturnType(voyd); + ((Method)yyVals[-1+yyTop]).setType(voyd); ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop])); ((Method)yyVals[-1+yyTop]).setGenericMethodParameters(((Vector)yyVals[-4+yyTop])); yyVal=((Method)yyVals[-1+yyTop]); @@ -1707,14 +1707,14 @@ case 118: case 119: // line 1150 "./../src/mycompiler/myparser/JavaParser.jay" { - /*auskommentiert von Andreas Stadelmeier (a10023) $1.setReturnType(TypePlaceholder.fresh()); */ + /*auskommentiert von Andreas Stadelmeier (a10023) $1.setType(TypePlaceholder.fresh()); */ yyVal=((Method)yyVals[0+yyTop]); } break; case 120: // line 1155 "./../src/mycompiler/myparser/JavaParser.jay" { - /*auskommentiert von Andreas Stadelmeier (a10023) $4.setReturnType(TypePlaceholder.fresh());*/ + /*auskommentiert von Andreas Stadelmeier (a10023) $4.setType(TypePlaceholder.fresh());*/ ((Method)yyVals[0+yyTop]).setGenericMethodParameters(((Vector)yyVals[-2+yyTop])); yyVal=((Method)yyVals[0+yyTop]); } @@ -1723,14 +1723,14 @@ case 121: // line 1162 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-1+yyTop])); - /*auskommentiert von Andreas Stadelmeier (a10023) $2.setReturnType(TypePlaceholder.fresh());*/ + /*auskommentiert von Andreas Stadelmeier (a10023) $2.setType(TypePlaceholder.fresh());*/ yyVal=((Method)yyVals[0+yyTop]); } break; case 122: // line 1168 "./../src/mycompiler/myparser/JavaParser.jay" { - /*auskommentiert von Andreas Stadelmeier (a10023) $1.setReturnType(TypePlaceholder.fresh());*/ + /*auskommentiert von Andreas Stadelmeier (a10023) $1.setType(TypePlaceholder.fresh());*/ ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop])); yyVal=((Method)yyVals[-1+yyTop]); } @@ -1739,7 +1739,7 @@ case 123: // line 1174 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-2+yyTop])); - /*auskommentiert von Andreas Stadelmeier (a10023) $2.setReturnType(TypePlaceholder.fresh());*/ + /*auskommentiert von Andreas Stadelmeier (a10023) $2.setType(TypePlaceholder.fresh());*/ ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop])); yyVal=((Method)yyVals[-1+yyTop]); } diff --git a/src/mycompiler/myparser/JavaParser.jay b/src/mycompiler/myparser/JavaParser.jay index a2755734b..793ea1630 100755 --- a/src/mycompiler/myparser/JavaParser.jay +++ b/src/mycompiler/myparser/JavaParser.jay @@ -1035,45 +1035,45 @@ boundedMethodParameters : boundedMethodParameter // returns Method methodheader :'<' boundedMethodParameters '>' type methoddeclarator { - $5.setReturnType($4); + $5.setType($4); $5.setGenericMethodParameters($2); $$=$5; } | type methoddeclarator { - $2.setReturnType($1); + $2.setType($1); $$=$2; } | modifiers type methoddeclarator { $3.set_Modifiers($1); - $3.setReturnType($2); + $3.setType($2); $$=$3; } | modifiers '<' boundedMethodParameters '>' type methoddeclarator { $6.set_Modifiers($1); $6.setGenericMethodParameters($3); - $6.setReturnType($5); + $6.setType($5); $$=$6; } | type methoddeclarator throws { - $2.setReturnType($1); + $2.setType($1); $2.set_ExceptionList($3); $$=$2; } | '<' boundedMethodParameters '>' type methoddeclarator throws { $5.setGenericMethodParameters($2); - $5.setReturnType($4); + $5.setType($4); $5.set_ExceptionList($6); $$=$5; } | modifiers type methoddeclarator throws { $3.set_Modifiers($1); - $3.setReturnType($2); + $3.setType($2); $3.set_ExceptionList($4); $$=$3; } @@ -1081,27 +1081,27 @@ methodheader :'<' boundedMethodParameters '>' type methoddeclarator { $6.set_Modifiers($1); $6.setGenericMethodParameters($3); - $6.setReturnType($5); + $6.setType($5); $6.set_ExceptionList($7); $$=$6; } | VOID methoddeclarator { Void Voit = new Void($1.getOffset()); - $2.setReturnType(Voit); + $2.setType(Voit); $$=$2; } | modifiers VOID methoddeclarator { Void voit = new Void($2.getOffset()); $3.set_Modifiers($1); - $3.setReturnType(voit); + $3.setType(voit); $$=$3; } | VOID methoddeclarator throws { Void voyt = new Void($1.getOffset()); - $2.setReturnType(voyt); + $2.setType(voyt); $2.set_ExceptionList($3); $$=$2; } @@ -1109,14 +1109,14 @@ methodheader :'<' boundedMethodParameters '>' type methoddeclarator { Void voyd = new Void($2.getOffset()); $3.set_Modifiers($1); - $3.setReturnType(voyd); + $3.setType(voyd); $3.set_ExceptionList($4); $$=$3; } | '<' boundedMethodParameters '>' VOID methoddeclarator { Void Voit = new Void($4.getOffset()); - $5.setReturnType(Voit); + $5.setType(Voit); $5.setGenericMethodParameters($2); $$=$5; } @@ -1124,14 +1124,14 @@ methodheader :'<' boundedMethodParameters '>' type methoddeclarator { Void voit = new Void($5.getOffset()); $6.set_Modifiers($1); - $6.setReturnType(voit); + $6.setType(voit); $6.setGenericMethodParameters($3); $$=$6; } | '<' boundedMethodParameters '>' VOID methoddeclarator throws { Void voyt = new Void($4.getOffset()); - $5.setReturnType(voyt); + $5.setType(voyt); $5.set_ExceptionList($6); $5.setGenericMethodParameters($2); $$=$5; @@ -1140,7 +1140,7 @@ methodheader :'<' boundedMethodParameters '>' type methoddeclarator { Void voyd = new Void($5.getOffset()); $6.set_Modifiers($1); - $6.setReturnType(voyd); + $6.setType(voyd); $6.set_ExceptionList($7); $6.setGenericMethodParameters($3); $$=$6; @@ -1148,12 +1148,12 @@ methodheader :'<' boundedMethodParameters '>' type methoddeclarator | methoddeclarator { - //auskommentiert von Andreas Stadelmeier (a10023) $1.setReturnType(TypePlaceholder.fresh()); + //auskommentiert von Andreas Stadelmeier (a10023) $1.setType(TypePlaceholder.fresh()); $$=$1; } | '<' boundedMethodParameters '>' methoddeclarator { - //auskommentiert von Andreas Stadelmeier (a10023) $4.setReturnType(TypePlaceholder.fresh()); + //auskommentiert von Andreas Stadelmeier (a10023) $4.setType(TypePlaceholder.fresh()); $4.setGenericMethodParameters($2); $$=$4; } @@ -1161,19 +1161,19 @@ methodheader :'<' boundedMethodParameters '>' type methoddeclarator | modifiers methoddeclarator { $2.set_Modifiers($1); - //auskommentiert von Andreas Stadelmeier (a10023) $2.setReturnType(TypePlaceholder.fresh()); + //auskommentiert von Andreas Stadelmeier (a10023) $2.setType(TypePlaceholder.fresh()); $$=$2; } | methoddeclarator throws { - //auskommentiert von Andreas Stadelmeier (a10023) $1.setReturnType(TypePlaceholder.fresh()); + //auskommentiert von Andreas Stadelmeier (a10023) $1.setType(TypePlaceholder.fresh()); $1.set_ExceptionList($2); $$=$1; } | modifiers methoddeclarator throws { $2.set_Modifiers($1); - //auskommentiert von Andreas Stadelmeier (a10023) $2.setReturnType(TypePlaceholder.fresh()); + //auskommentiert von Andreas Stadelmeier (a10023) $2.setType(TypePlaceholder.fresh()); $2.set_ExceptionList($3); $$=$2; } diff --git a/test/mycompiler/test/lambda/TestWhile.jav b/test/mycompiler/test/lambda/TestWhile.jav index 019bf8f4e..504a72cf1 100755 --- a/test/mycompiler/test/lambda/TestWhile.jav +++ b/test/mycompiler/test/lambda/TestWhile.jav @@ -1,7 +1,7 @@ class WhileTest{ - public method(){ var; + public method(){ while(true){ var = "String"; } diff --git a/test/mycompiler/test/lambda/testResults/LambdaTest.log b/test/mycompiler/test/lambda/testResults/LambdaTest.log index 34982e52d..57d84f71e 100644 --- a/test/mycompiler/test/lambda/testResults/LambdaTest.log +++ b/test/mycompiler/test/lambda/testResults/LambdaTest.log @@ -1,11 +1,11 @@ -Class DEBUG [Typeinference] Erstellte Assumptions: this: LambdaTest1Method Assumptions: -[typinferenz.assumptions.MethodAssumption@1e54f9f6, typinferenz.assumptions.MethodAssumption@5ce69508] +Class DEBUG [Typeinference] Erstellte Assumptions: this: WhileTestMethod Assumptions: +[typinferenz.assumptions.MethodAssumption@52f37721, typinferenz.assumptions.MethodAssumption@6e124212] FieldVar Assumptions: -[typinferenz.assumptions.FieldAssumption@26426fde] +[typinferenz.assumptions.FieldAssumption@70afe432] LocalVar Assumptions: [] Parameter Assumptions: [] -Block DEBUG [Typeinference] Prozessing statement: null Return null (( [ String text, ]) -> null { [null Return toAppend]) -Block DEBUG [Typeinference] Prozessing statement: null Return toAppend +Block DEBUG [Typeinference] Prozessing statement: WHILE null { [(var = mycompiler.mystatement.StringLiteral@2a2d0d78)] +Block DEBUG [Typeinference] Prozessing statement: (var = mycompiler.mystatement.StringLiteral@2a2d0d78) From 282b0685525bdaa8153c3ce8a8b69b2fe1c306e9 Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Wed, 19 Feb 2014 23:04:48 +0100 Subject: [PATCH 03/79] Begeonnen mit Implementierung von getChildren() --- src/mycompiler/MyCompiler.java | 1 - src/mycompiler/SourceFile.java | 5 +- src/mycompiler/SyntaxTreeNode.java | 4 +- src/mycompiler/myclass/FieldDecl.java | 95 ------------------- .../myclass/FieldInitialization.java | 87 ----------------- src/mycompiler/myclass/Method.java | 2 +- src/mycompiler/mystatement/Assign.java | 14 +++ src/mycompiler/mystatement/Binary.java | 9 ++ src/mycompiler/mystatement/Block.java | 13 +++ src/mycompiler/mystatement/IfStmt.java | 13 +++ .../mystatement/LocalOrFieldVar.java | 2 +- src/mycompiler/mystatement/MethodCall.java | 2 +- src/mycompiler/mytest/LambdaTest.java | 2 +- .../assumptions/TypeAssumptions.java | 11 ++- .../test/lambda/ConstructorTest.java | 2 +- .../test/lambda/ParseMultipleFilesTest.java | 4 +- .../test/lambda/testResults/LambdaTest.log | 8 +- 17 files changed, 71 insertions(+), 203 deletions(-) delete mode 100755 src/mycompiler/myclass/FieldDecl.java delete mode 100755 src/mycompiler/myclass/FieldInitialization.java diff --git a/src/mycompiler/MyCompiler.java b/src/mycompiler/MyCompiler.java index 602ae2eec..2b5ca3722 100755 --- a/src/mycompiler/MyCompiler.java +++ b/src/mycompiler/MyCompiler.java @@ -17,7 +17,6 @@ import mycompiler.myclass.Class; import mycompiler.myclass.ClassBody; import mycompiler.myclass.Constructor_Backup; import mycompiler.myclass.DeclId; -import mycompiler.myclass.FieldDecl; import mycompiler.myclass.FormalParameter; import mycompiler.myclass.ImportDeclarations; import mycompiler.myclass.Method; diff --git a/src/mycompiler/SourceFile.java b/src/mycompiler/SourceFile.java index 2db1dda70..5df43c116 100755 --- a/src/mycompiler/SourceFile.java +++ b/src/mycompiler/SourceFile.java @@ -1508,7 +1508,8 @@ public class SourceFile @Override public void parserPostProcessing(SyntaxTreeNode parent) { if(parent!=null)throw new TypinferenzException("Eine SourceFile hat keine Elternelement im Syntaxbaum"); - for(SyntaxTreeNode node : this.getChildren())node.parserPostProcessing(this); + super.parserPostProcessing(parent); + //for(SyntaxTreeNode node : this.getChildren())node.parserPostProcessing(this); } @@ -1521,7 +1522,7 @@ public class SourceFile @Override public Vector getChildren() { - Vector ret = super.getChildren(); + Vector ret = new Vector(); for(Class cl : this.KlassenVektor){ ret.add(cl); } diff --git a/src/mycompiler/SyntaxTreeNode.java b/src/mycompiler/SyntaxTreeNode.java index 5252ab876..eeb0bd7a9 100644 --- a/src/mycompiler/SyntaxTreeNode.java +++ b/src/mycompiler/SyntaxTreeNode.java @@ -25,9 +25,7 @@ public abstract class SyntaxTreeNode { return this.parent; } - public Vector getChildren(){ - return new Vector(); - } + public abstract Vector getChildren(); public Class getParentClass(){ SyntaxTreeNode parent = this.getParent(); diff --git a/src/mycompiler/myclass/FieldDecl.java b/src/mycompiler/myclass/FieldDecl.java deleted file mode 100755 index d994b5679..000000000 --- a/src/mycompiler/myclass/FieldDecl.java +++ /dev/null @@ -1,95 +0,0 @@ -// ino.module.FieldDecl.8560.package -package mycompiler.myclass; -// ino.end -// ino.module.FieldDecl.8560.import -import java.util.Vector; - -import typinferenz.JavaCodeResult; -import typinferenz.ResultSet; -import typinferenz.Typeable; -import typinferenz.TypeInsertable; -import typinferenz.assumptions.TypeAssumptions; -import mycompiler.mybytecode.ClassFile; -import mycompiler.myexception.JVMCodeException; -// ino.end -import mycompiler.mystatement.Expr; -import mycompiler.mytypereconstruction.set.CTypeAssumptionSet; -import mycompiler.mytypereconstruction.typeassumption.CTypeAssumption; - -@Deprecated -// ino.class.FieldDecl.23367.declaration -public abstract class FieldDecl implements TypeInsertable -// ino.end -// ino.class.FieldDecl.23367.body -{ - // ino.attribute.declid.23370.declaration - protected Vector declid = new Vector(); // Vector, da 'int a, b, c, ...' auch eingeparst werden muss - - // ino.end - // ino.method.getTypeName.23373.declaration - public abstract String getTypeName(); - // ino.end - - - - // ino.method.codegen.23376.declaration - public abstract void codegen(ClassFile classfile, Vector paralist) - throws JVMCodeException; - // ino.end - - - - // ino.method.set_DeclId.23379.definition - public void set_DeclId(DeclId did) - // ino.end - // ino.method.set_DeclId.23379.body - { - this.declid.addElement(did); - } - // ino.end - - - - // ino.method.get_Name.23382.definition - public Vector get_Name() - // ino.end - // ino.method.get_Name.23382.body - { - return declid; - } - // ino.end - - // ino.method.getDeclIdVector.23385.definition - public Vector getDeclIdVector() - // ino.end - // ino.method.getDeclIdVector.23385.body - { - // otth: ganzer Vektor zur�ckgeben, um ihn zu kopieren (vgl. MyCompiler - Konstruktor in Methode umwandeln) - return declid; - } - // ino.end - - // ino.method.setDeclIdVector.23388.definition - public void setDeclIdVector( Vector vDeclId ) - // ino.end - // ino.method.setDeclIdVector.23388.body - { - // otth: kompletter Vektor setzen, um ihn zu kopieren (vgl. MyCompiler - Konstruktor in Methode umwandeln) - declid = vDeclId; - } - // ino.end - - - - - public abstract JavaCodeResult printJavaCode(ResultSet resultSet); - - /** - * Diese Methode generiert die Assumptions für dieses Feld der Klasse classmember - * @param classmember - * @return - */ - public abstract TypeAssumptions createTypeAssumptions(Class classmember); - -} -// ino.end diff --git a/src/mycompiler/myclass/FieldInitialization.java b/src/mycompiler/myclass/FieldInitialization.java deleted file mode 100755 index 39779a2c8..000000000 --- a/src/mycompiler/myclass/FieldInitialization.java +++ /dev/null @@ -1,87 +0,0 @@ -package mycompiler.myclass; - -import java.util.Vector; - -import typinferenz.JavaCodeResult; -import typinferenz.ResultSet; -import typinferenz.assumptions.TypeAssumptions; -import mycompiler.mybytecode.ClassFile; -import mycompiler.myexception.JVMCodeException; -import mycompiler.mystatement.Expr; -import mycompiler.mytype.Type; -import mycompiler.mytype.TypePlaceholder; -import mycompiler.mytypereconstruction.typeassumption.CInstVarTypeAssumption; - -@Deprecated -public class FieldInitialization extends InstVarDecl { - - - private Expr wert; - //private Type type; - - public void setWert(Expr initialExpression){ - this.wert = initialExpression; - } - public Expr getWert(){ - return this.wert; - } - - public String getIdentifier(){ - return this.getIdentifier().elementAt(0).name; - } - - - @Override - public String getTypeName() { - // TODO Auto-generated method stub - return null; - } - - - @Override - public void codegen(ClassFile classfile, Vector paralist) - throws JVMCodeException { - // TODO Auto-generated method stub - - } - /* - public Type getType() { - return this.type; - } - public void setType(Type type) { - this.type = type; - } - */ - - @Override - public String toString() - { - return super.toString() + "=" + getWert().toString(); - } - - - public JavaCodeResult printJavaCode(ResultSet resultSet) { - JavaCodeResult ret = new JavaCodeResult(); - ret.attach(this.getType().printJavaCode(resultSet)).attach( " ").attach( this.getName()+" = ").attach(this.getWert().printJavaCode(resultSet) ).attach( ";"); - - return ret; - } - - @Override - public TypeAssumptions createTypeAssumptions(Class classmember) { - ////////////////////////////// - //Felder: - ////////////////////////////// - - TypeAssumptions assumptions = new TypeAssumptions(); - /* - * TODO: Der Feld-Assumption muss ein TPH als Typ hinzugefügt werden, falls er Typlos initialisiert wurde. Dies kann auch der Type-Algorithmus der Inst/FieldVar - Klasse machen. - * Wird das Feld mit einem Typ initialisiert so muss dieser auch in die Assumptions. - */ - if(this.getType() == null)this.setType(TypePlaceholder.fresh(this)); - assumptions.add(TypeAssumptions.createFieldVarAssumption(classmember.getName(), this.getName(), this.getType())); - classmember.get_ClassBody().addField(this); - return assumptions; - } - -} diff --git a/src/mycompiler/myclass/Method.java b/src/mycompiler/myclass/Method.java index 702402b4c..580410766 100755 --- a/src/mycompiler/myclass/Method.java +++ b/src/mycompiler/myclass/Method.java @@ -662,7 +662,7 @@ public class Method extends Field implements ITypeReplacementListener, IItemWith @Override public Vector getChildren() { - Vector ret = super.getChildren(); + Vector ret = new Vector(); ret.add(this.block); return ret; } diff --git a/src/mycompiler/mystatement/Assign.java b/src/mycompiler/mystatement/Assign.java index 57d484cbf..bc81c7450 100755 --- a/src/mycompiler/mystatement/Assign.java +++ b/src/mycompiler/mystatement/Assign.java @@ -7,6 +7,7 @@ import java.util.Hashtable; import java.util.Iterator; import java.util.Vector; +import mycompiler.SyntaxTreeNode; import mycompiler.mybytecode.ClassFile; import mycompiler.mybytecode.CodeAttribute; import mycompiler.mybytecode.JVMCode; @@ -32,6 +33,7 @@ import mycompiler.mytypereconstruction.unify.Unify; import org.apache.log4j.Logger; + // ino.end import typinferenz.JavaCodeResult; import typinferenz.SingleConstraint; @@ -259,5 +261,17 @@ public class Assign extends Expr return ret; } + + + + + @Override + public Vector getChildren() { + Vector ret = new Vector(); + ret.add(this.expr1); + ret.add(this.expr2); + return ret; + } + } // ino.end diff --git a/src/mycompiler/mystatement/Binary.java b/src/mycompiler/mystatement/Binary.java index d8b9edc99..3bd3c40a3 100755 --- a/src/mycompiler/mystatement/Binary.java +++ b/src/mycompiler/mystatement/Binary.java @@ -6,6 +6,7 @@ import java.util.Enumeration; import java.util.Hashtable; import java.util.Vector; +import mycompiler.SyntaxTreeNode; import mycompiler.mybytecode.ClassFile; import mycompiler.mybytecode.CodeAttribute; import mycompiler.mybytecode.JVMCode; @@ -31,6 +32,7 @@ import org.apache.log4j.Logger; // ino.end + import sun.reflect.generics.reflectiveObjects.NotImplementedException; import typinferenz.ConstraintsSet; import typinferenz.JavaCodeResult; @@ -263,6 +265,13 @@ public class Binary extends BinaryExpr public JavaCodeResult printJavaCode(ResultSet resultSet) { throw new NotImplementedException(); } + + + + @Override + public Vector getChildren() { + throw new NotImplementedException(); + } } diff --git a/src/mycompiler/mystatement/Block.java b/src/mycompiler/mystatement/Block.java index 074d3410b..ea0720941 100755 --- a/src/mycompiler/mystatement/Block.java +++ b/src/mycompiler/mystatement/Block.java @@ -7,6 +7,7 @@ import java.util.Hashtable; import java.util.Iterator; import java.util.Vector; +import mycompiler.SyntaxTreeNode; import mycompiler.mybytecode.ClassFile; import mycompiler.mybytecode.CodeAttribute; import mycompiler.myclass.Class; @@ -30,6 +31,7 @@ import org.apache.log4j.Logger; // ino.end + import sun.reflect.generics.reflectiveObjects.NotImplementedException; import typinferenz.JavaCodeResult; import typinferenz.SingleConstraint; @@ -304,5 +306,16 @@ public class Block extends Statement return ret.attach("}"); } + + + + @Override + public Vector getChildren() { + Vector ret = new Vector(); + for(Statement st : this.get_Statement()){ + ret.add(st); + } + return ret; + } } // ino.end diff --git a/src/mycompiler/mystatement/IfStmt.java b/src/mycompiler/mystatement/IfStmt.java index b869eb902..c79d15297 100755 --- a/src/mycompiler/mystatement/IfStmt.java +++ b/src/mycompiler/mystatement/IfStmt.java @@ -7,6 +7,7 @@ import java.util.Hashtable; import java.util.Iterator; import java.util.Vector; +import mycompiler.SyntaxTreeNode; import mycompiler.mybytecode.ClassFile; import mycompiler.mybytecode.CodeAttribute; import mycompiler.mybytecode.JVMCode; @@ -40,6 +41,7 @@ import org.apache.log4j.Logger; // ino.end + import sun.reflect.generics.reflectiveObjects.NotImplementedException; import typinferenz.JavaCodeResult; import typinferenz.SingleConstraint; @@ -414,5 +416,16 @@ public class IfStmt extends Statement ret.attach("\n}"); return ret; } + + + + @Override + public Vector getChildren() { + Vector ret = new Vector(); + if(this.expr!=null)ret.add(this.expr); + if(this.else_block!=null)ret.add(this.else_block); + if(this.then_block!=null)ret.add(this.then_block); + return ret; + } } // ino.end diff --git a/src/mycompiler/mystatement/LocalOrFieldVar.java b/src/mycompiler/mystatement/LocalOrFieldVar.java index db6b5973c..ebaf14a2b 100755 --- a/src/mycompiler/mystatement/LocalOrFieldVar.java +++ b/src/mycompiler/mystatement/LocalOrFieldVar.java @@ -204,7 +204,7 @@ public class LocalOrFieldVar extends Expr public ConstraintsSet TYPEExpr(TypeAssumptions assumptions) { ConstraintsSet ret = new ConstraintsSet(); //gibt es eine Assumption für den die LocalOrFieldVar-Variablen, dann folgendes ausführen: - Type thisTypeAssumption = assumptions.getVarType(this.get_Name()); + Type thisTypeAssumption = assumptions.getVarType(this.get_Name(), this.getParentClass()); this.setType(thisTypeAssumption); //ret.add(new Constraint(thisTypeAssumption, this.getTypeVariable())); return ret; diff --git a/src/mycompiler/mystatement/MethodCall.java b/src/mycompiler/mystatement/MethodCall.java index 4296171a4..c8d59e3bf 100755 --- a/src/mycompiler/mystatement/MethodCall.java +++ b/src/mycompiler/mystatement/MethodCall.java @@ -241,7 +241,7 @@ public class MethodCall extends Expr parameterVector.addElement(fp); } pl.formalparameter=parameterVector; - meth.setReturnType(returnType); + meth.setType(returnType); meth.setParameterList(pl); meth.set_DeclId(new DeclId(assumption.getIdentifier())); return(meth); diff --git a/src/mycompiler/mytest/LambdaTest.java b/src/mycompiler/mytest/LambdaTest.java index dee04725f..519886f7e 100755 --- a/src/mycompiler/mytest/LambdaTest.java +++ b/src/mycompiler/mytest/LambdaTest.java @@ -98,7 +98,7 @@ public class LambdaTest { TypeAssumptions assumptions = result1.getInterferedClass().getPublicFieldAssumptions();// TypeAssumptions.getAssumptionsFor(classname); assertTrue("Fehler in Methode TypeAssumptions.getAssumptionsFor", assumptions!=null); for(String variable : variableTypeAssumptions.keySet()){ - Type assumedType = assumptions.getVarType(variable); + Type assumedType = assumptions.getVarType(variable, result1.getInterferedClass()); assertTrue("Der Variable muss ein TPH zugewiesen sein.", assumedType!=null && assumedType instanceof TypePlaceholder); //AssumedType auflösen: diff --git a/src/typinferenz/assumptions/TypeAssumptions.java b/src/typinferenz/assumptions/TypeAssumptions.java index 8dc9562a4..3c1ce434f 100755 --- a/src/typinferenz/assumptions/TypeAssumptions.java +++ b/src/typinferenz/assumptions/TypeAssumptions.java @@ -1,6 +1,7 @@ package typinferenz.assumptions; import java.util.Iterator; +import mycompiler.myclass.Class; import java.util.Vector; import sun.reflect.generics.reflectiveObjects.NotImplementedException; @@ -145,9 +146,10 @@ public class TypeAssumptions { * Durchsucht die Assumptions des aktuellen Gültigkeitsbereichs (lokale Variablen und Felder der aktuellen Klasse) nach einem Eintrag für den übergebenen Variablennamen. * In den Assumptions wird dann in der Reihenfolge LocalVarAssumptions, FieldAssumption nach dem übergebenen Variablennamen gesucht. * @param variableName - der Identifier der gesuchten Variablen - * @return - Der Typ für diesen Identifier. + * @param inScope - Sucht auch die Felder der übergebenen Klasse ab. Hier kann auch null übergeben werden, dann werden nur die Lokalen Variablen dieser TypeAssumption durchsucht. + * @return - Der Typ für diesen Identifier */ - public Type getVarType(String variableName){ + public Type getVarType(String variableName, Class inScope){ //Zuerst die Parameter durchsuchen for(ParameterAssumption ass : this.parameterAssumptions){//this.getParameterAssumptions(null)){ if(ass.getIdentifier().equals(variableName))return ass.getAssumedType(); @@ -158,8 +160,8 @@ public class TypeAssumptions { } //und zuletzt die Felder der Klasse in dessen Namensraum sich dieses AssumptionSet befindet. - if(this.thisClassName!=null){ - for(FieldAssumption ass : this.getAssumptionsFor(this.thisClassName)){ + if(inScope!=null){ + for(FieldAssumption ass : this.getAssumptionsFor(inScope.getName())){ if(ass.getIdentifier().equals(variableName) && ass instanceof FieldAssumption)return ass.getAssumedType(); } } @@ -246,3 +248,4 @@ public class TypeAssumptions { } } + diff --git a/test/mycompiler/test/lambda/ConstructorTest.java b/test/mycompiler/test/lambda/ConstructorTest.java index 2da4e867f..b1ab6b916 100755 --- a/test/mycompiler/test/lambda/ConstructorTest.java +++ b/test/mycompiler/test/lambda/ConstructorTest.java @@ -37,7 +37,7 @@ public class ConstructorTest { anzahlGeparsterKlassen++; }else if(cl.getName().equals("ConstructorTest2")){ anzahlGeparsterKlassen++; - assertTrue("ConstructorTest2.var muss vom Typ ConstructorTest1 sein.", ass.getVarType("var").printJavaCode( + assertTrue("ConstructorTest2.var muss vom Typ ConstructorTest1 sein.", ass.getVarType("var",cl).printJavaCode( res.getUnifiedConstraints()).toString().equals("ConstructorTest1")); }else fail("Die geparsten Klassen müssen ConstructorTest1 und ConstructorTest2 heißen"); } diff --git a/test/mycompiler/test/lambda/ParseMultipleFilesTest.java b/test/mycompiler/test/lambda/ParseMultipleFilesTest.java index b912e06f0..cebc22648 100755 --- a/test/mycompiler/test/lambda/ParseMultipleFilesTest.java +++ b/test/mycompiler/test/lambda/ParseMultipleFilesTest.java @@ -33,10 +33,10 @@ public class ParseMultipleFilesTest { TypeAssumptions ass = cl.getPublicFieldAssumptions(); if(cl.getName().equals("Klasse1")){ anzahlGeparsterKlassen++; - assertTrue("Klasse1.var1 muss vom Typ int sein.", ass.getVarType("var1").printJavaCode(res.getUnifiedConstraints()).toString().equals("int")); + assertTrue("Klasse1.var1 muss vom Typ int sein.", ass.getVarType("var1",cl).printJavaCode(res.getUnifiedConstraints()).toString().equals("int")); }else if(cl.getName().equals("Klasse2")){ anzahlGeparsterKlassen++; - assertTrue("Klasse1.var1 muss vom Typ Klasse1 sein.", ass.getVarType("var1").printJavaCode(res.getUnifiedConstraints()).toString().equals("Klasse1")); + assertTrue("Klasse1.var1 muss vom Typ Klasse1 sein.", ass.getVarType("var1",cl).printJavaCode(res.getUnifiedConstraints()).toString().equals("Klasse1")); }else fail("Die geparsten Klassen müssen Klasse1 und Klasse2 heißen"); } assertTrue("Es müssen insgesamt 2 Klassen inferierd worden sein", anzahlGeparsterKlassen == 2); diff --git a/test/mycompiler/test/lambda/testResults/LambdaTest.log b/test/mycompiler/test/lambda/testResults/LambdaTest.log index 57d84f71e..7421bb944 100644 --- a/test/mycompiler/test/lambda/testResults/LambdaTest.log +++ b/test/mycompiler/test/lambda/testResults/LambdaTest.log @@ -1,11 +1,11 @@ Class DEBUG [Typeinference] Erstellte Assumptions: this: WhileTestMethod Assumptions: -[typinferenz.assumptions.MethodAssumption@52f37721, typinferenz.assumptions.MethodAssumption@6e124212] +[typinferenz.assumptions.MethodAssumption@53be6b71, typinferenz.assumptions.MethodAssumption@7a7ff2aa] FieldVar Assumptions: -[typinferenz.assumptions.FieldAssumption@70afe432] +[typinferenz.assumptions.FieldAssumption@6614b5ba] LocalVar Assumptions: [] Parameter Assumptions: [] -Block DEBUG [Typeinference] Prozessing statement: WHILE null { [(var = mycompiler.mystatement.StringLiteral@2a2d0d78)] -Block DEBUG [Typeinference] Prozessing statement: (var = mycompiler.mystatement.StringLiteral@2a2d0d78) +Block DEBUG [Typeinference] Prozessing statement: WHILE null { [(var = mycompiler.mystatement.StringLiteral@49940c14)] +Block DEBUG [Typeinference] Prozessing statement: (var = mycompiler.mystatement.StringLiteral@49940c14) From b891ad4580f1789f2da4301ff8eb3aef17fca92f Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Sat, 22 Feb 2014 04:58:49 +0100 Subject: [PATCH 04/79] FunNMethode implementiert --- src/mycompiler/myclass/Method.java | 2 + src/mycompiler/mystatement/Block.java | 15 +- src/mycompiler/mystatement/BoolLiteral.java | 10 ++ src/mycompiler/mystatement/CharLiteral.java | 8 +- src/mycompiler/mystatement/DoubleLiteral.java | 7 +- src/mycompiler/mystatement/FloatLiteral.java | 7 +- src/mycompiler/mystatement/ForStmt.java | 9 + src/mycompiler/mystatement/IntLiteral.java | 8 +- .../mystatement/LambdaExpression.java | 8 + .../mystatement/LocalOrFieldVar.java | 8 + src/mycompiler/mystatement/LocalVarDecl.java | 7 + src/mycompiler/mystatement/LongLiteral.java | 7 +- src/mycompiler/mystatement/MethodCall.java | 25 ++- src/mycompiler/mystatement/NewClass.java | 15 +- src/mycompiler/mystatement/Return.java | 9 + src/mycompiler/mystatement/StringLiteral.java | 8 + src/mycompiler/mystatement/This.java | 8 + src/mycompiler/mystatement/WhileStmt.java | 10 ++ src/typinferenz/FunNMethod.java | 18 +- src/typinferenz/OderConstraint.java | 1 + .../assumptions/MethodAssumption.java | 4 +- .../test/lambda/parseMultipleFilesFile1.jav | 10 +- .../test/lambda/testResults/LambdaTest.log | 165 +++++++++++++++++- 23 files changed, 337 insertions(+), 32 deletions(-) diff --git a/src/mycompiler/myclass/Method.java b/src/mycompiler/myclass/Method.java index 580410766..b645a3129 100755 --- a/src/mycompiler/myclass/Method.java +++ b/src/mycompiler/myclass/Method.java @@ -695,5 +695,7 @@ public class Method extends Field implements ITypeReplacementListener, IItemWith return ret; } + + } // ino.end diff --git a/src/mycompiler/mystatement/Block.java b/src/mycompiler/mystatement/Block.java index ea0720941..b394c7c74 100755 --- a/src/mycompiler/mystatement/Block.java +++ b/src/mycompiler/mystatement/Block.java @@ -67,15 +67,7 @@ public class Block extends Statement // ino.attribute.statements.25047.declaration public Vector statements = new Vector(); // ino.end - // ino.attribute.HashTabelleKlasse.25050.declaration - private Hashtable HashTabelleKlasse; - // ino.end - // ino.attribute.HashTabelleBlock.25053.declaration - private Hashtable HashTabelleBlock; - // ino.end - // ino.attribute.block_para.25056.declaration - private Hashtable block_para; - // ino.end + //private String sc_meth_ret_type; // ino.attribute.inferencelog.25059.decldescription type=javadoc @@ -223,6 +215,7 @@ public class Block extends Statement @Override public ConstraintsSet TYPEStmt(TypeAssumptions assumptions) { ConstraintsSet ret = new ConstraintsSet(); + if(statements.size()==0)this.setType(new Void(0)); /* this.setTypeVariable(TypePlaceholder.fresh(this)); */ for(Statement stmt : statements){ typinferenceLog.debug("Prozessing statement: "+stmt); @@ -306,9 +299,7 @@ public class Block extends Statement return ret.attach("}"); } - - - + @Override public Vector getChildren() { Vector ret = new Vector(); diff --git a/src/mycompiler/mystatement/BoolLiteral.java b/src/mycompiler/mystatement/BoolLiteral.java index 646e57362..10b6e39bd 100755 --- a/src/mycompiler/mystatement/BoolLiteral.java +++ b/src/mycompiler/mystatement/BoolLiteral.java @@ -5,6 +5,7 @@ package mycompiler.mystatement; import java.util.Hashtable; import java.util.Vector; +import mycompiler.SyntaxTreeNode; import mycompiler.mybytecode.ClassFile; import mycompiler.mybytecode.CodeAttribute; import mycompiler.mybytecode.JVMCode; @@ -25,6 +26,7 @@ import org.apache.log4j.Logger; // ino.end + import typinferenz.ConstraintsSet; import typinferenz.JavaCodeResult; import typinferenz.ResultSet; @@ -190,6 +192,14 @@ public class BoolLiteral extends Literal return new JavaCodeResult("false"); } + + + @Override + public Vector getChildren() { + Vector ret = new Vector(); + return ret; + } + } // ino.end diff --git a/src/mycompiler/mystatement/CharLiteral.java b/src/mycompiler/mystatement/CharLiteral.java index e19d3022f..c1ed88936 100755 --- a/src/mycompiler/mystatement/CharLiteral.java +++ b/src/mycompiler/mystatement/CharLiteral.java @@ -5,6 +5,7 @@ package mycompiler.mystatement; import java.util.Hashtable; import java.util.Vector; +import mycompiler.SyntaxTreeNode; import mycompiler.mybytecode.ClassFile; import mycompiler.mybytecode.CodeAttribute; import mycompiler.mybytecode.JVMCode; @@ -26,6 +27,7 @@ import org.apache.log4j.Logger; // ino.end + import typinferenz.ConstraintsSet; import typinferenz.JavaCodeResult; import typinferenz.ResultSet; @@ -181,6 +183,10 @@ public class CharLiteral extends Literal public JavaCodeResult printJavaCode(ResultSet resultSet) { return new JavaCodeResult("'"+String.valueOf(this.Char)+"'"); } - + @Override + public Vector getChildren() { + Vector ret = new Vector(); + return ret; + } } // ino.end diff --git a/src/mycompiler/mystatement/DoubleLiteral.java b/src/mycompiler/mystatement/DoubleLiteral.java index b302f5adb..766234dea 100755 --- a/src/mycompiler/mystatement/DoubleLiteral.java +++ b/src/mycompiler/mystatement/DoubleLiteral.java @@ -5,6 +5,7 @@ package mycompiler.mystatement; import java.util.Hashtable; import java.util.Vector; +import mycompiler.SyntaxTreeNode; import mycompiler.mybytecode.ClassFile; import mycompiler.mybytecode.CodeAttribute; import mycompiler.mybytecode.JVMCode; @@ -213,6 +214,10 @@ public JavaCodeResult printJavaCode(ResultSet resultSet) { // TODO Auto-generated method stub return null; } - + @Override + public Vector getChildren() { + Vector ret = new Vector(); + return ret; + } } // ino.end diff --git a/src/mycompiler/mystatement/FloatLiteral.java b/src/mycompiler/mystatement/FloatLiteral.java index af4c1e688..55cec4f80 100755 --- a/src/mycompiler/mystatement/FloatLiteral.java +++ b/src/mycompiler/mystatement/FloatLiteral.java @@ -5,6 +5,7 @@ package mycompiler.mystatement; import java.util.Hashtable; import java.util.Vector; +import mycompiler.SyntaxTreeNode; import mycompiler.mybytecode.ClassFile; import mycompiler.mybytecode.CodeAttribute; import mycompiler.myclass.Class; @@ -207,6 +208,10 @@ public JavaCodeResult printJavaCode(ResultSet resultSet) { // TODO Auto-generated method stub return null; } - + @Override + public Vector getChildren() { + Vector ret = new Vector(); + return ret; + } } // ino.end diff --git a/src/mycompiler/mystatement/ForStmt.java b/src/mycompiler/mystatement/ForStmt.java index 9c266e765..1cd575f54 100755 --- a/src/mycompiler/mystatement/ForStmt.java +++ b/src/mycompiler/mystatement/ForStmt.java @@ -5,6 +5,7 @@ import java.util.Hashtable; import java.util.Iterator; import java.util.Vector; +import mycompiler.SyntaxTreeNode; import mycompiler.mybytecode.ClassFile; import mycompiler.mybytecode.CodeAttribute; import mycompiler.mybytecode.JVMCode; @@ -131,4 +132,12 @@ public JavaCodeResult printJavaCode(ResultSet resultSet) { // TODO Auto-generated method stub throw new NotImplementedException(); } + + @Override + public Vector getChildren() { + Vector ret = new Vector(); + ret.add(this.body_Loop_block); + throw new NotImplementedException(); + //return ret; + } } \ No newline at end of file diff --git a/src/mycompiler/mystatement/IntLiteral.java b/src/mycompiler/mystatement/IntLiteral.java index 199768698..e14635f10 100755 --- a/src/mycompiler/mystatement/IntLiteral.java +++ b/src/mycompiler/mystatement/IntLiteral.java @@ -5,6 +5,7 @@ package mycompiler.mystatement; import java.util.Hashtable; import java.util.Vector; +import mycompiler.SyntaxTreeNode; import mycompiler.mybytecode.ClassFile; import mycompiler.mybytecode.CodeAttribute; import mycompiler.mybytecode.JVMCode; @@ -26,6 +27,7 @@ import org.apache.log4j.Logger; // ino.end + import sun.reflect.generics.reflectiveObjects.NotImplementedException; import typinferenz.ConstraintsSet; import typinferenz.JavaCodeResult; @@ -212,6 +214,10 @@ public class IntLiteral extends Literal public JavaCodeResult printJavaCode(ResultSet resultSet) { return new JavaCodeResult(String.valueOf(this.Int)); } - + @Override + public Vector getChildren() { + Vector ret = new Vector(); + return ret; + } } // ino.end diff --git a/src/mycompiler/mystatement/LambdaExpression.java b/src/mycompiler/mystatement/LambdaExpression.java index ea4d47a3e..c5a24d0d2 100755 --- a/src/mycompiler/mystatement/LambdaExpression.java +++ b/src/mycompiler/mystatement/LambdaExpression.java @@ -13,6 +13,7 @@ import typinferenz.Typeable; import typinferenz.TypinferenzException; import typinferenz.assumptions.ParameterAssumption; import typinferenz.assumptions.TypeAssumptions; +import mycompiler.SyntaxTreeNode; import mycompiler.mybytecode.ClassFile; import mycompiler.mybytecode.CodeAttribute; import mycompiler.myclass.Class; @@ -164,4 +165,11 @@ public class LambdaExpression extends Expr{ return ret; } + @Override + public Vector getChildren() { + Vector ret = new Vector(); + ret.add(this.method_body); + return ret; + } + } diff --git a/src/mycompiler/mystatement/LocalOrFieldVar.java b/src/mycompiler/mystatement/LocalOrFieldVar.java index ebaf14a2b..4efc34d4b 100755 --- a/src/mycompiler/mystatement/LocalOrFieldVar.java +++ b/src/mycompiler/mystatement/LocalOrFieldVar.java @@ -6,6 +6,7 @@ import java.util.Enumeration; import java.util.Hashtable; import java.util.Vector; +import mycompiler.SyntaxTreeNode; import mycompiler.mybytecode.ClassFile; import mycompiler.mybytecode.CodeAttribute; import mycompiler.mybytecode.JVMCode; @@ -32,6 +33,7 @@ import org.apache.log4j.Logger; // ino.end + import sun.reflect.generics.reflectiveObjects.NotImplementedException; import typinferenz.JavaCodeResult; import typinferenz.SingleConstraint; @@ -220,5 +222,11 @@ public class LocalOrFieldVar extends Expr return new JavaCodeResult(this.get_Name()); } + @Override + public Vector getChildren() { + Vector ret = new Vector(); + return ret; + } + } // ino.end diff --git a/src/mycompiler/mystatement/LocalVarDecl.java b/src/mycompiler/mystatement/LocalVarDecl.java index 7c0f301cd..e73d713a0 100755 --- a/src/mycompiler/mystatement/LocalVarDecl.java +++ b/src/mycompiler/mystatement/LocalVarDecl.java @@ -12,6 +12,7 @@ import mycompiler.myclass.Class; import mycompiler.myclass.ClassHelper; import mycompiler.myclass.DeclId; import mycompiler.MyCompiler; +import mycompiler.SyntaxTreeNode; import mycompiler.myexception.JVMCodeException; import mycompiler.myexception.SCExcept; import mycompiler.myexception.SCStatementException; @@ -37,6 +38,7 @@ import org.apache.log4j.Logger; + import typinferenz.ConstraintsSet; import typinferenz.FreshTypeVariable; import typinferenz.JavaCodeResult; @@ -516,5 +518,10 @@ public class LocalVarDecl extends Statement implements TypeInsertable return this.get_Name(); } + @Override + public Vector getChildren() { + Vector ret = new Vector(); + return ret; + } } // ino.end diff --git a/src/mycompiler/mystatement/LongLiteral.java b/src/mycompiler/mystatement/LongLiteral.java index 405d87a2e..31d1b724b 100755 --- a/src/mycompiler/mystatement/LongLiteral.java +++ b/src/mycompiler/mystatement/LongLiteral.java @@ -5,6 +5,7 @@ package mycompiler.mystatement; import java.util.Hashtable; import java.util.Vector; +import mycompiler.SyntaxTreeNode; import mycompiler.mybytecode.ClassFile; import mycompiler.mybytecode.CodeAttribute; import mycompiler.mybytecode.JVMCode; @@ -212,6 +213,10 @@ public JavaCodeResult printJavaCode(ResultSet resultSet) { // TODO Auto-generated method stub return null; } - + @Override + public Vector getChildren() { + Vector ret = new Vector(); + return ret; + } } // ino.end diff --git a/src/mycompiler/mystatement/MethodCall.java b/src/mycompiler/mystatement/MethodCall.java index c8d59e3bf..b6304f2bc 100755 --- a/src/mycompiler/mystatement/MethodCall.java +++ b/src/mycompiler/mystatement/MethodCall.java @@ -7,6 +7,7 @@ import java.util.Hashtable; import java.util.Iterator; import java.util.Vector; +import mycompiler.SyntaxTreeNode; import mycompiler.mybytecode.ClassFile; import mycompiler.mybytecode.CodeAttribute; import mycompiler.mybytecode.JVMCode; @@ -50,6 +51,7 @@ import org.apache.log4j.Logger; // ino.end + import sun.reflect.generics.reflectiveObjects.NotImplementedException; import typinferenz.ConstraintsSet; import typinferenz.FreshTypeVariable; @@ -93,15 +95,13 @@ public class MethodCall extends Expr private Receiver receiver; // ino.end // ino.attribute.arglist.25642.declaration - private ArgumentList arglist=null; + private ArgumentList arglist=new ArgumentList(); // ino.end private Vector exprtypes=new Vector(); //hier werden die Typen der �bergabewerten von sc_check eingetragen. // ino.attribute.class_name.25645.declaration private String class_name; //hier steht in welcher Klasse die Methode deklariert ist. // ino.end - // ino.attribute.called_method.25648.declaration - private Method called_method=null; //hier steht nach Ende von sc_check die aufgerufene Methode. - // ino.end + // ino.attribute.uebernachdurch.25651.declaration private Hashtable uebernachdurch; // ino.end @@ -268,7 +268,7 @@ public class MethodCall extends Expr String receiverClassName=((RefType)receiver.get_Expr().getType()).getTypeName(); // Die richtige Methode wird gesucht und gesetzt - called_method=getMethodFittingMethodCallAndClassname(receiverClassName); + Method called_method=getMethodFittingMethodCallAndClassname(receiverClassName); Vector name_vector = get_Name_Vector(); @@ -709,6 +709,21 @@ public class MethodCall extends Expr return ret.attach(";"); } + @Override + public Vector getChildren() { + Vector ret = new Vector(); + for(Expr e : this.arglist.expr){ + ret.add(e); + } + if(this.receiver!=null)ret.add(this.receiver.get_Expr()); + return ret; + } + + @Override + public void parserPostProcessing(SyntaxTreeNode parent) { + super.parserPostProcessing(parent); + } + } // ino.end diff --git a/src/mycompiler/mystatement/NewClass.java b/src/mycompiler/mystatement/NewClass.java index 63c75dd42..afc7c20bb 100755 --- a/src/mycompiler/mystatement/NewClass.java +++ b/src/mycompiler/mystatement/NewClass.java @@ -7,6 +7,7 @@ import java.util.Hashtable; import java.util.Iterator; import java.util.Vector; +import mycompiler.SyntaxTreeNode; import mycompiler.mybytecode.ClassFile; import mycompiler.mybytecode.CodeAttribute; import mycompiler.mybytecode.JVMCode; @@ -35,6 +36,8 @@ import org.apache.log4j.Logger; // ino.end + + import typinferenz.JavaCodeResult; import typinferenz.Overloading; import typinferenz.SingleConstraint; @@ -243,7 +246,7 @@ public class NewClass extends Expr MethodCall newAufruf = new MethodCall(0,0); this.setType(new RefType(this.get_Name(),0)); newAufruf.type = new RefType(this.get_Name(),0); - newAufruf.set_Name(""); + newAufruf.set_Name(this.get_Name()); newAufruf.set_Receiver(null); ret.add(new Overloading(assumptions, newAufruf, this.getType()).generateConsstraints()); @@ -281,5 +284,15 @@ public class NewClass extends Expr return ret; } + @Override + public Vector getChildren() { + Vector ret = new Vector(); + if(this.arglist!=null)for(Expr e : this.arglist.expr){ + ret.add(e); + } + return ret; + } + + } // ino.end diff --git a/src/mycompiler/mystatement/Return.java b/src/mycompiler/mystatement/Return.java index 70297c5b7..50a5cc7a2 100755 --- a/src/mycompiler/mystatement/Return.java +++ b/src/mycompiler/mystatement/Return.java @@ -5,6 +5,7 @@ package mycompiler.mystatement; import java.util.Hashtable; import java.util.Vector; +import mycompiler.SyntaxTreeNode; import mycompiler.mybytecode.ClassFile; import mycompiler.mybytecode.CodeAttribute; import mycompiler.mybytecode.JVMCode; @@ -27,6 +28,7 @@ import org.apache.log4j.Logger; // ino.end + import sun.reflect.generics.reflectiveObjects.NotImplementedException; import typinferenz.JavaCodeResult; import typinferenz.SingleConstraint; @@ -142,6 +144,13 @@ public class Return extends Statement ret.attach(this.retexpr.printJavaCode(resultSet)); return ret.attach(";"); } + + @Override + public Vector getChildren() { + Vector ret = new Vector(); + ret.add(this.retexpr); + return ret; + } } // ino.end diff --git a/src/mycompiler/mystatement/StringLiteral.java b/src/mycompiler/mystatement/StringLiteral.java index 56705fc4d..4ad18a429 100755 --- a/src/mycompiler/mystatement/StringLiteral.java +++ b/src/mycompiler/mystatement/StringLiteral.java @@ -5,6 +5,7 @@ package mycompiler.mystatement; import java.util.Hashtable; import java.util.Vector; +import mycompiler.SyntaxTreeNode; import mycompiler.mybytecode.ClassFile; import mycompiler.mybytecode.CodeAttribute; import mycompiler.mybytecode.JVMCode; @@ -25,6 +26,7 @@ import org.apache.log4j.Logger; // ino.end + import typinferenz.ConstraintsSet; import typinferenz.JavaCodeResult; import typinferenz.ResultSet; @@ -143,6 +145,12 @@ public class StringLiteral extends Literal public JavaCodeResult printJavaCode(ResultSet resultSet) { return new JavaCodeResult("\""+this.string+"\""); } + + @Override + public Vector getChildren() { + Vector ret = new Vector(); + return ret; + } } diff --git a/src/mycompiler/mystatement/This.java b/src/mycompiler/mystatement/This.java index 9942e6007..d47569457 100755 --- a/src/mycompiler/mystatement/This.java +++ b/src/mycompiler/mystatement/This.java @@ -5,6 +5,7 @@ package mycompiler.mystatement; import java.util.Hashtable; import java.util.Vector; +import mycompiler.SyntaxTreeNode; import mycompiler.mybytecode.ClassFile; import mycompiler.mybytecode.CodeAttribute; import mycompiler.mybytecode.JVMCode; @@ -27,6 +28,7 @@ import org.apache.log4j.Logger; // ino.end + import typinferenz.ConstraintsSet; import typinferenz.JavaCodeResult; import typinferenz.ResultSet; @@ -185,5 +187,11 @@ public class This extends Expr return new JavaCodeResult("this"); } + @Override + public Vector getChildren() { + Vector ret = new Vector(); + return ret; + } + } // ino.end diff --git a/src/mycompiler/mystatement/WhileStmt.java b/src/mycompiler/mystatement/WhileStmt.java index 97a8194c6..ff9989ee2 100755 --- a/src/mycompiler/mystatement/WhileStmt.java +++ b/src/mycompiler/mystatement/WhileStmt.java @@ -7,6 +7,7 @@ import java.util.Hashtable; import java.util.Iterator; import java.util.Vector; +import mycompiler.SyntaxTreeNode; import mycompiler.mybytecode.ClassFile; import mycompiler.mybytecode.CodeAttribute; import mycompiler.mybytecode.JVMCode; @@ -36,6 +37,7 @@ import org.apache.log4j.Logger; // ino.end + import sun.reflect.generics.reflectiveObjects.NotImplementedException; import typinferenz.JavaCodeResult; import typinferenz.SingleConstraint; @@ -200,5 +202,13 @@ public class WhileStmt extends Statement public JavaCodeResult printJavaCode(ResultSet resultSet) { return new JavaCodeResult().attach("while(").attach(this.expr.printJavaCode(resultSet)).attach(")").attach(this.loop_block.printJavaCode(resultSet)); } + + @Override + public Vector getChildren() { + Vector ret = new Vector(); + ret.add(this.expr); + ret.add(this.loop_block); + return ret; + } } // ino.end diff --git a/src/typinferenz/FunNMethod.java b/src/typinferenz/FunNMethod.java index 48d60fa37..7581f9b81 100644 --- a/src/typinferenz/FunNMethod.java +++ b/src/typinferenz/FunNMethod.java @@ -1,6 +1,9 @@ package typinferenz; -import mycompiler.myclass.Method; +import java.util.Vector; + +import mycompiler.myclass.*; +import mycompiler.mytype.TypePlaceholder; public class FunNMethod extends Method{ @@ -9,7 +12,18 @@ public class FunNMethod extends Method{ * @param N - Anzahl der Parameter (Beispiel: Fun2) */ public FunNMethod(int N){ - + this.setType(TypePlaceholder.fresh(this)); + ParameterList pl = new ParameterList(); + Vector fpList = new Vector(); + for(int i = 0;i(); this.addConstraint(constraintPair); diff --git a/src/typinferenz/assumptions/MethodAssumption.java b/src/typinferenz/assumptions/MethodAssumption.java index 4b4c51843..b1036cf45 100644 --- a/src/typinferenz/assumptions/MethodAssumption.java +++ b/src/typinferenz/assumptions/MethodAssumption.java @@ -39,6 +39,8 @@ public class MethodAssumption extends FieldAssumption { } - + public String toString(){ + return "MethodAssumption: "+this.method.toString(); + } } diff --git a/test/mycompiler/test/lambda/parseMultipleFilesFile1.jav b/test/mycompiler/test/lambda/parseMultipleFilesFile1.jav index 79a5554a5..e51527c00 100755 --- a/test/mycompiler/test/lambda/parseMultipleFilesFile1.jav +++ b/test/mycompiler/test/lambda/parseMultipleFilesFile1.jav @@ -7,4 +7,12 @@ testMethode(){ return var1.getVar1(); } -} \ No newline at end of file +} + +class Klasse1 { + var1; + + int getVar1(){ + return var1; + } +} diff --git a/test/mycompiler/test/lambda/testResults/LambdaTest.log b/test/mycompiler/test/lambda/testResults/LambdaTest.log index 7421bb944..47aabcb4a 100644 --- a/test/mycompiler/test/lambda/testResults/LambdaTest.log +++ b/test/mycompiler/test/lambda/testResults/LambdaTest.log @@ -1,11 +1,166 @@ -Class DEBUG [Typeinference] Erstellte Assumptions: this: WhileTestMethod Assumptions: -[typinferenz.assumptions.MethodAssumption@53be6b71, typinferenz.assumptions.MethodAssumption@7a7ff2aa] +Class DEBUG [Typeinference] Erstellte Assumptions: this: Klasse2Method Assumptions: +[MethodAssumption: TPH B null { [(var1 = NEW Klasse1), null Return null (var1.getVar1( [ ]))], MethodAssumption: Klasse2 null { []] FieldVar Assumptions: -[typinferenz.assumptions.FieldAssumption@6614b5ba] +[typinferenz.assumptions.FieldAssumption@3ea4e3ae] LocalVar Assumptions: [] Parameter Assumptions: [] -Block DEBUG [Typeinference] Prozessing statement: WHILE null { [(var = mycompiler.mystatement.StringLiteral@49940c14)] -Block DEBUG [Typeinference] Prozessing statement: (var = mycompiler.mystatement.StringLiteral@49940c14) +Class DEBUG [Typeinference] Erstellte Assumptions: this: Klasse1Method Assumptions: +[MethodAssumption: int int { [null Return var1], MethodAssumption: Klasse1 null { []] +FieldVar Assumptions: +[typinferenz.assumptions.FieldAssumption@1799e2e2] +LocalVar Assumptions: +[] +Parameter Assumptions: +[] + +Block DEBUG [Typeinference] Prozessing statement: (var1 = NEW Klasse1) +Block DEBUG [Typeinference] Prozessing statement: null Return null (var1.getVar1( [ ])) +Block DEBUG [Typeinference] Prozessing statement: TPH K Return TPH J (var1: TPH A.getVar1( [ ])) +Block DEBUG [Typeinference] Prozessing statement: void(var1: TPH A = NEW Klasse1) +Class DEBUG [Typeinference] Erstellte Constraints: TPH A < TPH A +[(Klasse1 <. Klasse1), (Klasse1 <. Klasse1), ] +Klasse1 < TPH A +TPH A < TPH I +[(int <. TPH J), (TPH A <. Klasse1), (int <. TPH J), (TPH A <. Klasse1), ] +TPH J < TPH K +TPH K < TPH B + +SourceFile DEBUG [Typeinference] Karthesisches Produkt der Constraints: [[(TPH A <. TPH A), (Klasse1 <. Klasse1), (Klasse1 <. TPH A), (TPH A <. TPH I), (int <. TPH J), (TPH A <. Klasse1), (TPH J <. TPH K), (TPH K <. TPH B)], [(TPH A <. TPH A), (Klasse1 <. Klasse1), (Klasse1 <. TPH A), (TPH A <. TPH I), (int <. TPH J), (TPH A <. Klasse1), (TPH J <. TPH K), (TPH K <. TPH B)], [(TPH A <. TPH A), (Klasse1 <. Klasse1), (Klasse1 <. TPH A), (TPH A <. TPH I), (int <. TPH J), (TPH A <. Klasse1), (TPH J <. TPH K), (TPH K <. TPH B)], [(TPH A <. TPH A), (Klasse1 <. Klasse1), (Klasse1 <. TPH A), (TPH A <. TPH I), (int <. TPH J), (TPH A <. Klasse1), (TPH J <. TPH K), (TPH K <. TPH B)]] +SourceFile DEBUG [Typeinference] Unifiziertes Ergebnis: [[(TPH B = int), (TPH I = Klasse1), (TPH K = int), (TPH A = Klasse1), (TPH J = int)]] +SourceFile DEBUG [Typeinference] +JavaFiles: + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH B = int), (TPH I = Klasse1), (TPH K = int), (TPH A = Klasse1), (TPH J = int)] + +SourceFile DEBUG [Typeinference] class Klasse2 extends Object +{ +Klasse1 var1; +int testMethode() +{ +var1 = new Klasse1(); +return var1.getVar1();; +} +Klasse2 Klasse2() +{ +} +} + +SourceFile DEBUG [Typeinference] Unifiziertes Ergebnis: [[(TPH B = int), (TPH I = Klasse1), (TPH K = int), (TPH A = Klasse1), (TPH J = int)]] +SourceFile DEBUG [Typeinference] +JavaFiles: + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH B = int), (TPH I = Klasse1), (TPH K = int), (TPH A = Klasse1), (TPH J = int)] + +SourceFile DEBUG [Typeinference] class Klasse2 extends Object +{ +Klasse1 var1; +int testMethode() +{ +var1 = new Klasse1(); +return var1.getVar1();; +} +Klasse2 Klasse2() +{ +} +} + +SourceFile DEBUG [Typeinference] Unifiziertes Ergebnis: [[(TPH B = int), (TPH I = Klasse1), (TPH K = int), (TPH A = Klasse1), (TPH J = int)]] +SourceFile DEBUG [Typeinference] +JavaFiles: + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH B = int), (TPH I = Klasse1), (TPH K = int), (TPH A = Klasse1), (TPH J = int)] + +SourceFile DEBUG [Typeinference] class Klasse2 extends Object +{ +Klasse1 var1; +int testMethode() +{ +var1 = new Klasse1(); +return var1.getVar1();; +} +Klasse2 Klasse2() +{ +} +} + +SourceFile DEBUG [Typeinference] Unifiziertes Ergebnis: [[(TPH B = int), (TPH I = Klasse1), (TPH K = int), (TPH A = Klasse1), (TPH J = int)]] +SourceFile DEBUG [Typeinference] +JavaFiles: + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH B = int), (TPH I = Klasse1), (TPH K = int), (TPH A = Klasse1), (TPH J = int)] + +SourceFile DEBUG [Typeinference] class Klasse2 extends Object +{ +Klasse1 var1; +int testMethode() +{ +var1 = new Klasse1(); +return var1.getVar1();; +} +Klasse2 Klasse2() +{ +} +} + +Block DEBUG [Typeinference] Prozessing statement: null Return var1 +Block DEBUG [Typeinference] Prozessing statement: TPH L Return var1: TPH D +Class DEBUG [Typeinference] Erstellte Constraints: TPH D < TPH D +TPH D < TPH L +TPH L < int + +SourceFile DEBUG [Typeinference] Karthesisches Produkt der Constraints: [[(TPH D <. TPH D), (TPH D <. TPH L), (TPH L <. int)]] +SourceFile DEBUG [Typeinference] Unifiziertes Ergebnis: [[(TPH D = int), (TPH L = int)]] +SourceFile DEBUG [Typeinference] +JavaFiles: + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH D = int), (TPH L = int)] + +SourceFile DEBUG [Typeinference] class Klasse1 extends Object +{ +int var1; +int getVar1() +{ +return var1; +} +Klasse1 Klasse1() +{ +} +} + +Class DEBUG [Typeinference] Erstellte Assumptions: this: Klasse1Method Assumptions: +[MethodAssumption: int int { [null Return var1], MethodAssumption: Klasse1 null { []] +FieldVar Assumptions: +[typinferenz.assumptions.FieldAssumption@744578e0] +LocalVar Assumptions: +[] +Parameter Assumptions: +[] + +Block DEBUG [Typeinference] Prozessing statement: null Return var1 +Block DEBUG [Typeinference] Prozessing statement: TPH M Return var1: TPH F +Class DEBUG [Typeinference] Erstellte Constraints: TPH F < TPH F +TPH F < TPH M +TPH M < int + +SourceFile DEBUG [Typeinference] Karthesisches Produkt der Constraints: [[(TPH F <. TPH F), (TPH F <. TPH M), (TPH M <. int)]] +SourceFile DEBUG [Typeinference] Unifiziertes Ergebnis: [[(TPH F = int), (TPH M = int)]] +SourceFile DEBUG [Typeinference] +JavaFiles: + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH F = int), (TPH M = int)] + +SourceFile DEBUG [Typeinference] class Klasse1 extends Object +{ +int var1; +int getVar1() +{ +return var1; +} +Klasse1 Klasse1() +{ +} +} + From a39a9273a17484aaa5c6e23e5507d16c1b8c5ce4 Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Sat, 22 Feb 2014 05:43:20 +0100 Subject: [PATCH 05/79] =?UTF-8?q?=C3=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/mycompiler/mytype/TypePlaceholder.java | 12 ++++++++++++ .../mytypereconstruction/TypeinferenceResultSet.java | 7 ++++--- src/typinferenz/TypeInsertPoint.java | 6 ++++++ 3 files changed, 22 insertions(+), 3 deletions(-) diff --git a/src/mycompiler/mytype/TypePlaceholder.java b/src/mycompiler/mytype/TypePlaceholder.java index c996f9aa8..49fdd18de 100755 --- a/src/mycompiler/mytype/TypePlaceholder.java +++ b/src/mycompiler/mytype/TypePlaceholder.java @@ -9,6 +9,8 @@ import java.util.Vector; import typinferenz.JavaCodeResult; import typinferenz.ResultSet; +import typinferenz.TypeInsertPoint; +import typinferenz.TypeInsertable; import mycompiler.MyCompiler; import mycompiler.mytypereconstruction.replacementlistener.CReplaceTypeEvent; import mycompiler.mytypereconstruction.replacementlistener.IReplaceTypeEventProvider; @@ -508,6 +510,16 @@ public class TypePlaceholder extends Type implements IReplaceTypeEventProvider return equalType.printJavaCode(resultSet); } + + public Vector getTypeInsertPoints(ResultSet result) { + Vector ret = new Vector(); + for(ITypeReplacementListener ti : this.m_ReplacementListeners){ + if(ti instanceof TypeInsertable){ + new TypeInsertPoint(this, ti, result.getTypeEqualTo(this)); + } + } + return ret; + } } // ino.end diff --git a/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java b/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java index c5fb71783..e3e9fb319 100755 --- a/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java +++ b/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java @@ -113,16 +113,17 @@ public class TypeinferenceResultSet } /** - * Berechnet alle möglichen Punkte zum Einsetzen eines Typs im Quelltext + * Berechnet alle möglichen Punkte zum Einsetzen eines Typs im Quelltext an der Stelle dieses TypePlaceholders * @return */ public Vector getTypeInsertionPoints(){ + Vector ret = new Vector(); for(Pair p : constraints){ for(TypePlaceholder tph : p.getTypePlaceholder()){ - + ret.addAll(tph.getTypeInsertPoints(this.unifiedConstraints)); } } - return null; + return ret; } } diff --git a/src/typinferenz/TypeInsertPoint.java b/src/typinferenz/TypeInsertPoint.java index 7c552d7bf..94ead554f 100644 --- a/src/typinferenz/TypeInsertPoint.java +++ b/src/typinferenz/TypeInsertPoint.java @@ -1,5 +1,11 @@ package typinferenz; +import mycompiler.mytype.*; + public class TypeInsertPoint { + public TypeInsertPoint(TypePlaceholder tph, TypeInsertable insertPoint, Type insertType){ + + } + } From 9ced1b4827f47dfeb50975d2f52519543459ca4d Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Fri, 7 Mar 2014 22:05:10 +0100 Subject: [PATCH 06/79] =?UTF-8?q?Funktion=20parse(sourceCode)=20angef?= =?UTF-8?q?=C3=BCgt.=20SourceFile=20enth=C3=A4lt=20nicht=20mehr=20das=20Fe?= =?UTF-8?q?ld=20filename?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/mycompiler/MyCompiler.java | 12 ++++++++---- src/mycompiler/MyCompilerAPI.java | 6 ++++++ src/mycompiler/SourceFile.java | 5 +++-- 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/src/mycompiler/MyCompiler.java b/src/mycompiler/MyCompiler.java index 2b5ca3722..d7a90d61f 100755 --- a/src/mycompiler/MyCompiler.java +++ b/src/mycompiler/MyCompiler.java @@ -489,7 +489,7 @@ public class MyCompiler implements MyCompilerAPI // ino.method.parse.21298.body { FileReader fr = new FileReader(file); - this.m_AbstractSyntaxTree.add(this.parse2SyntaxTree(file.getName(), fr)); + this.m_AbstractSyntaxTree.add(this.parse2SyntaxTree(fr)); fr.close(); } // ino.end @@ -734,7 +734,7 @@ public class MyCompiler implements MyCompilerAPI /** * Parst den Inhalt einer Datei zu einem Syntaxbaum. */ - private SourceFile parse2SyntaxTree(String filename, Reader fileContent){ + private SourceFile parse2SyntaxTree(Reader fileContent){ //StringReader reader = new StringReader(fileContent); ////////////////////////////////////// @@ -756,7 +756,6 @@ public class MyCompiler implements MyCompilerAPI ////////////////////////////////////// // Postprocessing: ////////////////////////////////////// - srcFile.setFileName(filename); srcFile.parserPostProcessing(null); //Muss mit null aufgerufen werden. //Fertig: return srcFile; @@ -791,7 +790,7 @@ public class MyCompiler implements MyCompilerAPI StringReader srcreader = new StringReader(fileData.toString()); //Den aus der Datei ausgelesenen Quellcode zu einem Syntaxbaum parsen: - this.m_AbstractSyntaxTree.add(parse2SyntaxTree(filename,srcreader)); // Alle Dateien nacheinander hintereinander anhängen... + this.m_AbstractSyntaxTree.add(parse2SyntaxTree(srcreader)); // Alle Dateien nacheinander hintereinander anhängen... } /* @@ -827,5 +826,10 @@ public class MyCompiler implements MyCompilerAPI */ } + + @Override + public void parse(String sourceCode) { + this.m_AbstractSyntaxTree.add(this.parse2SyntaxTree(new StringReader(sourceCode))); + } } // ino.end diff --git a/src/mycompiler/MyCompilerAPI.java b/src/mycompiler/MyCompilerAPI.java index 2d18b2011..126242a8f 100755 --- a/src/mycompiler/MyCompilerAPI.java +++ b/src/mycompiler/MyCompilerAPI.java @@ -124,5 +124,11 @@ public interface MyCompilerAPI */ public void parse(Vector filenames); + /** + * Parst den SourceCode einer Datei. + * @param sourceCode - SourceCode einer Java-Quellcodedatei + */ + public void parse(String sourceCode); + } // ino.end diff --git a/src/mycompiler/SourceFile.java b/src/mycompiler/SourceFile.java index 5df43c116..bd87e32d8 100755 --- a/src/mycompiler/SourceFile.java +++ b/src/mycompiler/SourceFile.java @@ -123,7 +123,7 @@ public class SourceFile // ino.attribute.InterfaceVektor.21379.declaration public Vector InterfaceVektor = new Vector(); // ino.end - private String filename; + /** * Die SourceFile repräsntiert eine zu einem Syntaxbaum eingelesene Java-Datei. * SourceFile stellt dabei den Wurzelknoten des Syntaxbaumes dar. @@ -1534,8 +1534,9 @@ public class SourceFile * SourceFile stellt eine geparste Java-Datei dar. Mit dieser Methode wird der Name der eingelesenen Datei gesetzt. * @param filename - Der Name der eingelesenen JavaDatei */ + @Deprecated public void setFileName(String filename) { - this.filename = filename; + //this.filename = filename; } } From 1872b8aac4a7adfad4f65193d73518bf6498d237 Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Sun, 9 Mar 2014 11:44:12 +0100 Subject: [PATCH 07/79] =?UTF-8?q?TypeInsertTests=20angef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/mycompiler/mytype/Pair.java | 3 +- src/mycompiler/mytype/TypePlaceholder.java | 7 ++- .../TypeinferenceResultSet.java | 7 ++- src/typinferenz/TypeInsertPoint.java | 35 +++++++++++- src/typinferenz/TypeInsertSet.java | 41 ++++++++++++++ test/plugindevelopment/TypeInsertTester.java | 56 +++++++++++++++++++ .../VariableTypeInsertTest.jav | 4 ++ .../VariableTypeInsertTest.java | 15 +++++ .../VariableTypeInsertTestSolution.jav | 4 ++ 9 files changed, 163 insertions(+), 9 deletions(-) create mode 100644 src/typinferenz/TypeInsertSet.java create mode 100644 test/plugindevelopment/TypeInsertTester.java create mode 100644 test/plugindevelopment/VariableTypeInsertTest.jav create mode 100644 test/plugindevelopment/VariableTypeInsertTest.java create mode 100644 test/plugindevelopment/VariableTypeInsertTestSolution.jav diff --git a/src/mycompiler/mytype/Pair.java b/src/mycompiler/mytype/Pair.java index 1db66f94f..f594797d7 100755 --- a/src/mycompiler/mytype/Pair.java +++ b/src/mycompiler/mytype/Pair.java @@ -380,7 +380,8 @@ public class Pair */ public Vector getTypePlaceholder() { Vector ret = new Vector(); - + if(this.TA1 instanceof TypePlaceholder)ret.add((TypePlaceholder)TA1); + if(this.TA2 instanceof TypePlaceholder)ret.add((TypePlaceholder)TA2); return ret; } } diff --git a/src/mycompiler/mytype/TypePlaceholder.java b/src/mycompiler/mytype/TypePlaceholder.java index 49fdd18de..c1ef7abd5 100755 --- a/src/mycompiler/mytype/TypePlaceholder.java +++ b/src/mycompiler/mytype/TypePlaceholder.java @@ -10,6 +10,7 @@ import java.util.Vector; import typinferenz.JavaCodeResult; import typinferenz.ResultSet; import typinferenz.TypeInsertPoint; +import typinferenz.TypeInsertSet; import typinferenz.TypeInsertable; import mycompiler.MyCompiler; import mycompiler.mytypereconstruction.replacementlistener.CReplaceTypeEvent; @@ -511,11 +512,11 @@ public class TypePlaceholder extends Type implements IReplaceTypeEventProvider return equalType.printJavaCode(resultSet); } - public Vector getTypeInsertPoints(ResultSet result) { - Vector ret = new Vector(); + public TypeInsertSet getTypeInsertPoints(ResultSet result) { + TypeInsertSet ret = new TypeInsertSet(); for(ITypeReplacementListener ti : this.m_ReplacementListeners){ if(ti instanceof TypeInsertable){ - new TypeInsertPoint(this, ti, result.getTypeEqualTo(this)); + ret.add(new TypeInsertPoint(this, (TypeInsertable)ti, result.getTypeEqualTo(this), result)); } } return ret; diff --git a/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java b/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java index e3e9fb319..5a6cb72c7 100755 --- a/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java +++ b/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java @@ -10,6 +10,7 @@ import java.util.Vector; import typinferenz.ConstraintsSet; import typinferenz.ResultSet; import typinferenz.TypeInsertPoint; +import typinferenz.TypeInsertSet; import typinferenz.TypinferenzException; import typinferenz.assumptions.TypeAssumptions; import mycompiler.mytype.GenericTypeVar; @@ -116,11 +117,11 @@ public class TypeinferenceResultSet * Berechnet alle möglichen Punkte zum Einsetzen eines Typs im Quelltext an der Stelle dieses TypePlaceholders * @return */ - public Vector getTypeInsertionPoints(){ - Vector ret = new Vector(); + public Vector getTypeInsertionPoints(){ + Vector ret = new Vector(); for(Pair p : constraints){ for(TypePlaceholder tph : p.getTypePlaceholder()){ - ret.addAll(tph.getTypeInsertPoints(this.unifiedConstraints)); + ret.add(tph.getTypeInsertPoints(this.unifiedConstraints)); } } return ret; diff --git a/src/typinferenz/TypeInsertPoint.java b/src/typinferenz/TypeInsertPoint.java index 94ead554f..1d46012dd 100644 --- a/src/typinferenz/TypeInsertPoint.java +++ b/src/typinferenz/TypeInsertPoint.java @@ -1,11 +1,42 @@ package typinferenz; import mycompiler.mytype.*; +import mycompiler.mytypereconstruction.replacementlistener.ITypeReplacementListener; + public class TypeInsertPoint { - public TypeInsertPoint(TypePlaceholder tph, TypeInsertable insertPoint, Type insertType){ - + private TypePlaceholder tph; + private TypeInsertable point; + private Type type; + private ResultSet resultSet; + + public TypeInsertPoint(TypePlaceholder tph, TypeInsertable insertPoint, Type insertType, ResultSet resultSet){ + this.tph = tph; + this.point = insertPoint; + this.type = insertType; + this.resultSet = resultSet; + } + + /** + * Setzt den Typ dieses TypeInsertPoint in den übergebenen Quelltext ein. + * @param fileContent - der Quelltext + * @param additionalOffset - Falls mehrere Typen in einen Quellcode eingesetzet werden muss die Verschiebung der Offsets mit einbezogen werden. + * @return + */ + public String insertType(String fileContent, int additionalOffset) { + String anfang = fileContent.substring(0, point.getOffset()+additionalOffset); + String mitte = this.getTypeInsertString(); + String ende = fileContent.substring(point.getOffset()+additionalOffset); + return anfang + mitte + ende; + } + + public int getInsertLength() { + return this.getTypeInsertString().length(); } + private String getTypeInsertString(){ + String ret = type.printJavaCode(this.resultSet).toString()+" "; + return ret; + } } diff --git a/src/typinferenz/TypeInsertSet.java b/src/typinferenz/TypeInsertSet.java new file mode 100644 index 000000000..fa80ab87b --- /dev/null +++ b/src/typinferenz/TypeInsertSet.java @@ -0,0 +1,41 @@ +package typinferenz; + +import java.util.Vector; + +/** + * Bündelt ein Set von TypeInsertPoints, die alle zu einem TypePlaceholder gehören. + * Diese müssen gemeinsam eingesetzt werden. + * @author janulrich + * + */ +public class TypeInsertSet { + + Vector points = new Vector(); + + public TypeInsertSet(TypeInsertPoint p){ + points.add(p); + } + + public TypeInsertSet() { + } + + public void add(TypeInsertPoint typeInsertPoint) { + points.add(typeInsertPoint); + } + + /** + * Fügt alle Typen dieses TypeInsertSets in den übergebenen Quellcode ein + * @param fileContent + * @return + */ + public String insertAllTypes(String fileContent) { + int additionalOffset = 0; + String ret = fileContent; + for(TypeInsertPoint p : points){ + ret = p.insertType(ret, additionalOffset); + additionalOffset += p.getInsertLength(); + } + return ret; + } + +} diff --git a/test/plugindevelopment/TypeInsertTester.java b/test/plugindevelopment/TypeInsertTester.java new file mode 100644 index 000000000..644c970d7 --- /dev/null +++ b/test/plugindevelopment/TypeInsertTester.java @@ -0,0 +1,56 @@ +package plugindevelopment; + +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileReader; +import java.io.IOException; +import java.nio.ByteBuffer; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.util.Vector; + +import typinferenz.TypeInsertPoint; +import typinferenz.TypeInsertSet; +import junit.framework.TestCase; +import mycompiler.MyCompiler; +import mycompiler.MyCompilerAPI; +import mycompiler.myparser.JavaParser.yyException; +import mycompiler.mytypereconstruction.TypeinferenceResultSet; + + +public class TypeInsertTester extends TestCase { + + private static final String rootDirectory = System.getProperty("user.dir")+"/test/plugindevelopment/"; + + public static void test(String sourceFileToInfere, String solutionFile){ + String inferedSource = ""; + MyCompilerAPI compiler = MyCompiler.getAPI(); + try { + compiler.parse(new File(rootDirectory + sourceFileToInfere)); + Vector results = compiler.typeReconstruction(); + assertTrue("Es darf nicht mehr als eine Lösungsmöglichkeit geben", results.size()==1); + for(TypeinferenceResultSet result : results){ + Vector points = result.getTypeInsertionPoints(); + assertTrue("Es muss genau ein TypeInsertSet vorhanden sein", points.size()==1); + for(TypeInsertSet point : points){ + inferedSource = point.insertAllTypes(getFileContent(rootDirectory + sourceFileToInfere)); + String solutionSource = getFileContent(rootDirectory + solutionFile); + System.out.println("\nInferierter Source:\n"+inferedSource); + assertTrue("Nicht das erwartete Ergebnis", inferedSource.equals(solutionSource)); + } + } + + } catch (IOException | yyException e) { + e.printStackTrace(); + fail(); + } + } + + //Source: https://stackoverflow.com/questions/326390/how-to-create-a-java-string-from-the-contents-of-a-file + private static String getFileContent(String path)throws IOException + { + byte[] encoded = Files.readAllBytes(Paths.get(path)); + return StandardCharsets.UTF_8.decode(ByteBuffer.wrap(encoded)).toString(); + } +} diff --git a/test/plugindevelopment/VariableTypeInsertTest.jav b/test/plugindevelopment/VariableTypeInsertTest.jav new file mode 100644 index 000000000..228c7fc12 --- /dev/null +++ b/test/plugindevelopment/VariableTypeInsertTest.jav @@ -0,0 +1,4 @@ + +class VariableTypeInsertTest{ + var = "test"; +} diff --git a/test/plugindevelopment/VariableTypeInsertTest.java b/test/plugindevelopment/VariableTypeInsertTest.java new file mode 100644 index 000000000..f59bcf2ee --- /dev/null +++ b/test/plugindevelopment/VariableTypeInsertTest.java @@ -0,0 +1,15 @@ +package plugindevelopment; + +import org.junit.Test; + +public class VariableTypeInsertTest { + + private static final String TEST_FILE = "VariableTypeInsertTest.jav"; + private static final String SOLUTION_FILE = "VariableTypeInsertTestSolution.jav"; + + @Test + public void run(){ + TypeInsertTester.test(this.TEST_FILE, this.SOLUTION_FILE); + } + +} diff --git a/test/plugindevelopment/VariableTypeInsertTestSolution.jav b/test/plugindevelopment/VariableTypeInsertTestSolution.jav new file mode 100644 index 000000000..626e53454 --- /dev/null +++ b/test/plugindevelopment/VariableTypeInsertTestSolution.jav @@ -0,0 +1,4 @@ + +class VariableTypeInsertTest{ + String var = "test"; +} From 4786345f7b729169ec3be2676577662c6d06e005 Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Sun, 9 Mar 2014 12:10:03 +0100 Subject: [PATCH 08/79] =?UTF-8?q?Felder=20(Field)=20m=C3=BCssen=20nun=20im?= =?UTF-8?q?mer=20mit=20einem=20Offset=20initialisiert=20werden.=20Fehler?= =?UTF-8?q?=20behoben.=20Parser=20modifiziert.=20VariableTypeInsertTest=20?= =?UTF-8?q?l=C3=A4uft=20erfolgreich?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/mycompiler/myparser/JavaParser.jay | 11 +- src/mycompiler/myclass/Constant.java | 2 + src/mycompiler/myclass/Constructor.java | 2 + src/mycompiler/myclass/Field.java | 4 + src/mycompiler/myclass/FieldDeclaration.java | 4 + src/mycompiler/myclass/Method.java | 6 +- src/mycompiler/myparser/JavaParser.java | 305 ++++++++++--------- src/mycompiler/myparser/JavaParser.jay | 11 +- src/typinferenz/FunNMethod.java | 1 + 9 files changed, 183 insertions(+), 163 deletions(-) diff --git a/bin/mycompiler/myparser/JavaParser.jay b/bin/mycompiler/myparser/JavaParser.jay index 793ea1630..8b53e82f8 100755 --- a/bin/mycompiler/myparser/JavaParser.jay +++ b/bin/mycompiler/myparser/JavaParser.jay @@ -821,7 +821,7 @@ classmemberdeclaration : fielddeclaration staticinitializer : STATIC block { - Method STAT = new Method(); + Method STAT = new Method($1.getOffset()); DeclId DST = new DeclId(); DST.set_Name($1.getLexem()); STAT.set_DeclId(DST); @@ -869,7 +869,7 @@ Dieses Problem ist bei Feldern nicht der Fall. */ fielddeclarator : variabledeclarator '=' expression { - FieldDeclaration ret = new FieldDeclaration(); + FieldDeclaration ret = new FieldDeclaration($1.getOffset()); ret.set_DeclId($1); ret.setWert($3); $$=ret; @@ -1197,8 +1197,9 @@ type : primitivetype } variabledeclarators : variabledeclarator { - FieldDeclaration IVD = new FieldDeclaration(); + FieldDeclaration IVD = new FieldDeclaration($1.getOffset()); IVD.getDeclIdVector().addElement( $1 ); + IVD.setOffset($1.getOffset()); $$ = IVD; } | variabledeclarators ',' variabledeclarator @@ -1267,7 +1268,7 @@ classtypelist : classtype methoddeclarator :IDENTIFIER '(' ')' { - Method met = new Method(); + Method met = new Method($1.getOffset()); /* #JB# 10.04.2005 */ /* ########################################################### */ met.setLineNumber($1.getLineNumber()); @@ -1280,7 +1281,7 @@ methoddeclarator :IDENTIFIER '(' ')' } |IDENTIFIER '(' formalparameterlist ')' { - Method met_para = new Method(); + Method met_para = new Method($1.getOffset()); /* #JB# 10.04.2005 */ /* ########################################################### */ met_para.setLineNumber($1.getLineNumber()); diff --git a/src/mycompiler/myclass/Constant.java b/src/mycompiler/myclass/Constant.java index 86a347bba..f4936a3ea 100755 --- a/src/mycompiler/myclass/Constant.java +++ b/src/mycompiler/myclass/Constant.java @@ -50,10 +50,12 @@ public class Constant extends Method // ino.end // ino.method.Constant.23228.definition + @Deprecated public Constant(String name, Modifiers mod) // ino.end // ino.method.Constant.23228.body { + super(0); //Nur ein Workaraound. Da Constant = Deprecated this.name = name; this.mod = mod; } diff --git a/src/mycompiler/myclass/Constructor.java b/src/mycompiler/myclass/Constructor.java index 5a611fc96..2eb1259e9 100644 --- a/src/mycompiler/myclass/Constructor.java +++ b/src/mycompiler/myclass/Constructor.java @@ -26,11 +26,13 @@ public class Constructor extends Method { * Diese Klasse beherbegt den als Methode geparsten Konstruktor und wandelt sein verhalten zu dem eines Konstruktors ab. */ public Constructor(Method methode){ + super(methode.getOffset()); this.methode = methode; this.setDeclIdVector(methode.getDeclIdVector()); this.methode.setType(new RefType(this.methode.getParentClass().getName(),0)); } + @Override public void setGenericMethodParameters( Vector genericMethodParameters) { diff --git a/src/mycompiler/myclass/Field.java b/src/mycompiler/myclass/Field.java index 552b4f847..e3885aa4d 100644 --- a/src/mycompiler/myclass/Field.java +++ b/src/mycompiler/myclass/Field.java @@ -22,6 +22,10 @@ public abstract class Field extends SyntaxTreeNode implements TypeInsertable, Ty private int offset; + public Field(int offset){ + this.offset = offset; + } + @Override public void setOffset(int offset){ this.offset = offset; diff --git a/src/mycompiler/myclass/FieldDeclaration.java b/src/mycompiler/myclass/FieldDeclaration.java index d04969b52..dc0b1efc7 100644 --- a/src/mycompiler/myclass/FieldDeclaration.java +++ b/src/mycompiler/myclass/FieldDeclaration.java @@ -29,6 +29,10 @@ public class FieldDeclaration extends Field{ private Expr wert; //private Type type; + public FieldDeclaration(int offset){ + super(offset); + } + public void setWert(Expr initialExpression){ this.wert = initialExpression; } diff --git a/src/mycompiler/myclass/Method.java b/src/mycompiler/myclass/Method.java index b645a3129..fece74d83 100755 --- a/src/mycompiler/myclass/Method.java +++ b/src/mycompiler/myclass/Method.java @@ -100,6 +100,10 @@ public class Method extends Field implements ITypeReplacementListener, IItemWith protected static Logger parserlog = Logger.getLogger("parser"); // ino.end + public Method(int offset){ + super(offset); + } + // ino.method.setGenericMethodParameters.23521.definition public void setGenericMethodParameters(Vector genericMethodParameters) // ino.end @@ -684,7 +688,7 @@ public class Method extends Field implements ITypeReplacementListener, IItemWith } public static Method createEmptyMethod(String withSignature, Class parent){ - Method ret = new Method(); + Method ret = new Method(0); DeclId DImethod = new DeclId(); DImethod.set_Name(withSignature); ret.set_DeclId(DImethod); diff --git a/src/mycompiler/myparser/JavaParser.java b/src/mycompiler/myparser/JavaParser.java index 1f5ddd2d5..a0406caf7 100644 --- a/src/mycompiler/myparser/JavaParser.java +++ b/src/mycompiler/myparser/JavaParser.java @@ -1320,7 +1320,7 @@ case 72: case 73: // line 823 "./../src/mycompiler/myparser/JavaParser.jay" { - Method STAT = new Method(); + Method STAT = new Method(((Token)yyVals[-1+yyTop]).getOffset()); DeclId DST = new DeclId(); DST.set_Name(((Token)yyVals[-1+yyTop]).getLexem()); STAT.set_DeclId(DST); @@ -1367,7 +1367,7 @@ case 77: case 78: // line 871 "./../src/mycompiler/myparser/JavaParser.jay" { - FieldDeclaration ret = new FieldDeclaration(); + FieldDeclaration ret = new FieldDeclaration(((DeclId)yyVals[-2+yyTop]).getOffset()); ret.set_DeclId(((DeclId)yyVals[-2+yyTop])); ret.setWert(((Expr)yyVals[0+yyTop])); yyVal=ret; @@ -1771,26 +1771,27 @@ case 127: case 128: // line 1199 "./../src/mycompiler/myparser/JavaParser.jay" { - FieldDeclaration IVD = new FieldDeclaration(); + FieldDeclaration IVD = new FieldDeclaration(((DeclId)yyVals[0+yyTop]).getOffset()); IVD.getDeclIdVector().addElement( ((DeclId)yyVals[0+yyTop]) ); + IVD.setOffset(((DeclId)yyVals[0+yyTop]).getOffset()); yyVal = IVD; } break; case 129: - // line 1205 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1206 "./../src/mycompiler/myparser/JavaParser.jay" { ((FieldDeclaration)yyVals[-2+yyTop]).getDeclIdVector().addElement(((DeclId)yyVals[0+yyTop])); yyVal=((FieldDeclaration)yyVals[-2+yyTop]); } break; case 130: - // line 1211 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1212 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[0+yyTop]); } break; case 131: - // line 1216 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1217 "./../src/mycompiler/myparser/JavaParser.jay" { Block Blstat = new Block(); Blstat.set_Statement(((Statement)yyVals[0+yyTop])); @@ -1798,14 +1799,14 @@ case 131: } break; case 132: - // line 1223 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1224 "./../src/mycompiler/myparser/JavaParser.jay" { ((Block)yyVals[-1+yyTop]).set_Statement(((Statement)yyVals[0+yyTop])); yyVal=((Block)yyVals[-1+yyTop]); } break; case 133: - // line 1229 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1230 "./../src/mycompiler/myparser/JavaParser.jay" { ParameterList PL = new ParameterList(); PL.set_AddParameter(((FormalParameter)yyVals[0+yyTop])); @@ -1813,21 +1814,21 @@ case 133: } break; case 134: - // line 1235 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1236 "./../src/mycompiler/myparser/JavaParser.jay" { ((ParameterList)yyVals[-2+yyTop]).set_AddParameter(((FormalParameter)yyVals[0+yyTop])); yyVal = ((ParameterList)yyVals[-2+yyTop]); } break; case 135: - // line 1241 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1242 "./../src/mycompiler/myparser/JavaParser.jay" { This THCON = new This(((Token)yyVals[-3+yyTop]).getOffset(),((Token)yyVals[-3+yyTop]).getLexem().length()); yyVal=THCON; } break; case 136: - // line 1246 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1247 "./../src/mycompiler/myparser/JavaParser.jay" { This THCONargl = new This(((Token)yyVals[-4+yyTop]).getOffset(),((Token)yyVals[-4+yyTop]).getLexem().length()); THCONargl.set_ArgumentList(((ArgumentList)yyVals[-2+yyTop])); @@ -1835,7 +1836,7 @@ case 136: } break; case 137: - // line 1255 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1256 "./../src/mycompiler/myparser/JavaParser.jay" { RefType RT = new RefType(-1); RT.set_UsedId(((UsedId)yyVals[0+yyTop])); @@ -1844,7 +1845,7 @@ case 137: } break; case 138: - // line 1262 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1263 "./../src/mycompiler/myparser/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()); @@ -1852,9 +1853,9 @@ case 138: } break; case 139: - // line 1269 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1270 "./../src/mycompiler/myparser/JavaParser.jay" { - Method met = new Method(); + Method met = new Method(((Token)yyVals[-2+yyTop]).getOffset()); /* #JB# 10.04.2005 */ /* ########################################################### */ met.setLineNumber(((Token)yyVals[-2+yyTop]).getLineNumber()); @@ -1867,9 +1868,9 @@ case 139: } break; case 140: - // line 1282 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1283 "./../src/mycompiler/myparser/JavaParser.jay" { - Method met_para = new Method(); + Method met_para = new Method(((Token)yyVals[-3+yyTop]).getOffset()); /* #JB# 10.04.2005 */ /* ########################################################### */ met_para.setLineNumber(((Token)yyVals[-3+yyTop]).getLineNumber()); @@ -1883,7 +1884,7 @@ case 140: } break; case 141: - // line 1297 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1298 "./../src/mycompiler/myparser/JavaParser.jay" { BooleanType BT = new BooleanType(); /* #JB# 05.04.2005 */ @@ -1894,13 +1895,13 @@ case 141: } break; case 142: - // line 1306 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1307 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((BaseType)yyVals[0+yyTop]); } break; case 143: - // line 1312 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1313 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("T->Parser->referenctype: " + ((UsedId)yyVals[0+yyTop])); RefType RT = new RefType(((UsedId)yyVals[0+yyTop]).getOffset()); @@ -1920,25 +1921,25 @@ case 143: } break; case 144: - // line 1332 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1333 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((DeclId)yyVals[0+yyTop]); } break; case 145: - // line 1353 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1354 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((LocalVarDecl)yyVals[0+yyTop]); } break; case 146: - // line 1357 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1358 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Statement)yyVals[0+yyTop]); } break; case 147: - // line 1362 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1363 "./../src/mycompiler/myparser/JavaParser.jay" { FormalParameter FP = new FormalParameter(); FP.setType(((Type)yyVals[-1+yyTop])); @@ -1947,7 +1948,7 @@ case 147: } break; case 148: - // line 1387 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1388 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("\nFunktionsdeklaration mit typlosen Parametern: " + ((DeclId)yyVals[0+yyTop]).name); @@ -1967,7 +1968,7 @@ case 148: } break; case 149: - // line 1406 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1407 "./../src/mycompiler/myparser/JavaParser.jay" { ArgumentList AL = new ArgumentList(); AL.expr.addElement(((Expr)yyVals[0+yyTop])); @@ -1975,20 +1976,20 @@ case 149: } break; case 150: - // line 1412 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1413 "./../src/mycompiler/myparser/JavaParser.jay" { ((ArgumentList)yyVals[-2+yyTop]).expr.addElement(((Expr)yyVals[0+yyTop])); yyVal=((ArgumentList)yyVals[-2+yyTop]); } break; case 151: - // line 1418 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1419 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((BaseType)yyVals[0+yyTop]); } break; case 152: - // line 1423 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1424 "./../src/mycompiler/myparser/JavaParser.jay" { DeclId DI = new DeclId(); /* #JB# 10.04.2005 */ @@ -2001,61 +2002,61 @@ case 152: } break; case 153: - // line 1435 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1436 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 154: - // line 1440 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1441 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((LocalVarDecl)yyVals[-1+yyTop]); } break; case 155: - // line 1445 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1446 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Statement)yyVals[0+yyTop]); } break; case 156: - // line 1449 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1450 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((IfStmt)yyVals[0+yyTop]); } break; case 157: - // line 1453 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1454 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((IfStmt)yyVals[0+yyTop]); } break; case 158: - // line 1457 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1458 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((WhileStmt)yyVals[0+yyTop]); } break; case 159: - // line 1461 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1462 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((ForStmt)yyVals[0+yyTop]); } break; case 160: - // line 1466 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1467 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 161: - // line 1470 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1471 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((NewClass)yyVals[0+yyTop]); } break; case 162: - // line 1475 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1476 "./../src/mycompiler/myparser/JavaParser.jay" { IntegerType IT = new IntegerType(); /* #JB# 05.04.2005 */ @@ -2066,7 +2067,7 @@ case 162: } break; case 163: - // line 1484 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1485 "./../src/mycompiler/myparser/JavaParser.jay" { CharacterType CT = new CharacterType(); /* #JB# 05.04.2005 */ @@ -2077,7 +2078,7 @@ case 163: } break; case 164: - // line 1494 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1495 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("P -> Lokale Variable angelegt!"); LocalVarDecl LVD = new LocalVarDecl(((Type)yyVals[-1+yyTop]).getOffset(),((Type)yyVals[-1+yyTop]).getVariableLength()); @@ -2087,7 +2088,7 @@ case 164: } break; case 165: - // line 1505 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1506 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("P -> Lokale Variable angelegt!"); LocalVarDecl LVD = new LocalVarDecl(((FieldDeclaration)yyVals[0+yyTop]).getOffset(),((FieldDeclaration)yyVals[0+yyTop]).getVariableLength()); @@ -2097,31 +2098,31 @@ case 165: } break; case 166: - // line 1515 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1516 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[0+yyTop]); } break; case 167: - // line 1519 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1520 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((EmptyStmt)yyVals[0+yyTop]); } break; case 168: - // line 1523 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1524 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((ExprStmt)yyVals[0+yyTop]); } break; case 169: - // line 1527 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1528 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Return)yyVals[0+yyTop]); } break; case 170: - // line 1532 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1533 "./../src/mycompiler/myparser/JavaParser.jay" { IfStmt Ifst = new IfStmt(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); Ifst.set_Expr(((Expr)yyVals[-2+yyTop])); @@ -2130,7 +2131,7 @@ case 170: } break; case 171: - // line 1540 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1541 "./../src/mycompiler/myparser/JavaParser.jay" { IfStmt IfstElst = new IfStmt(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength()); IfstElst.set_Expr(((Expr)yyVals[-4+yyTop])); @@ -2140,7 +2141,7 @@ case 171: } break; case 172: - // line 1549 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1550 "./../src/mycompiler/myparser/JavaParser.jay" { WhileStmt Whlst = new WhileStmt(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); Whlst.set_Expr(((Expr)yyVals[-2+yyTop])); @@ -2149,7 +2150,7 @@ case 172: } break; case 173: - // line 1560 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1561 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-6+yyTop]).getOffset(),((Expr)yyVals[-6+yyTop]).getVariableLength()); Fst.set_head_Initializer(((Expr)yyVals[-6+yyTop])); @@ -2162,7 +2163,7 @@ case 173: } break; case 174: - // line 1572 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1573 "./../src/mycompiler/myparser/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 +2175,7 @@ case 174: } break; case 175: - // line 1583 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1584 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-5+yyTop]).getOffset(),((Expr)yyVals[-5+yyTop]).getVariableLength()); Fst.set_head_Initializer(((Expr)yyVals[-5+yyTop])); @@ -2186,7 +2187,7 @@ case 175: } break; case 176: - // line 1594 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1595 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength()); Fst.set_head_Condition(((Expr)yyVals[-4+yyTop])); @@ -2198,7 +2199,7 @@ case 176: } break; case 177: - // line 1605 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1606 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength()); Fst.set_head_Initializer(((Expr)yyVals[-4+yyTop])); @@ -2209,7 +2210,7 @@ case 177: } break; case 178: - // line 1615 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1616 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-3+yyTop]).getOffset(),((Expr)yyVals[-3+yyTop]).getVariableLength()); Fst.set_head_Condition(((Expr)yyVals[-3+yyTop])); @@ -2220,7 +2221,7 @@ case 178: } break; case 179: - // line 1625 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1626 "./../src/mycompiler/myparser/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])); @@ -2231,7 +2232,7 @@ case 179: } break; case 180: - // line 1635 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1636 "./../src/mycompiler/myparser/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])); @@ -2241,40 +2242,40 @@ case 180: } break; case 181: - // line 1644 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1645 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("conditionalexpression"); yyVal=((Expr)yyVals[0+yyTop]); } break; case 182: - // line 1649 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1650 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Assign)yyVals[0+yyTop]); } break; case 183: - // line 1655 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1656 "./../src/mycompiler/myparser/JavaParser.jay" { EmptyStmt Empst = new EmptyStmt(); yyVal=Empst; } break; case 184: - // line 1661 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1662 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[-1+yyTop]); } break; case 185: - // line 1666 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1667 "./../src/mycompiler/myparser/JavaParser.jay" { Return ret = new Return(-1,-1); yyVal= ret; } break; case 186: - // line 1671 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1672 "./../src/mycompiler/myparser/JavaParser.jay" { Return retexp = new Return(((Expr)yyVals[-1+yyTop]).getOffset(),((Expr)yyVals[-1+yyTop]).getVariableLength()); retexp.set_ReturnExpr(((Expr)yyVals[-1+yyTop])); @@ -2282,31 +2283,31 @@ case 186: } break; case 187: - // line 1678 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1679 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Statement)yyVals[0+yyTop]); } break; case 188: - // line 1682 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1683 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((IfStmt)yyVals[0+yyTop]); } break; case 189: - // line 1686 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1687 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((WhileStmt)yyVals[0+yyTop]); } break; case 190: - // line 1691 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1692 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 191: - // line 1697 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1698 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("\nParser --> Zuweisung1!\n"); Assign Ass = new Assign(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); @@ -2333,7 +2334,7 @@ case 191: } break; case 192: - // line 1722 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1723 "./../src/mycompiler/myparser/JavaParser.jay" { Assign Ass =new Assign(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); LocalOrFieldVar LOFV = new LocalOrFieldVar(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); @@ -2357,43 +2358,43 @@ case 192: } break; case 193: - // line 1745 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1746 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Assign)yyVals[0+yyTop]); } break; case 194: - // line 1749 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1750 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 195: - // line 1753 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1754 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 196: - // line 1757 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1758 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 197: - // line 1761 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1762 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 198: - // line 1765 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1766 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((MethodCall)yyVals[0+yyTop]); } break; case 199: - // line 1776 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1777 "./../src/mycompiler/myparser/JavaParser.jay" { IfStmt IfElno = new IfStmt(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength()); IfElno.set_Expr(((Expr)yyVals[-4+yyTop])); @@ -2403,7 +2404,7 @@ case 199: } break; case 200: - // line 1785 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1786 "./../src/mycompiler/myparser/JavaParser.jay" { WhileStmt Whstno = new WhileStmt(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); Whstno.set_Expr(((Expr)yyVals[-2+yyTop])); @@ -2412,13 +2413,13 @@ case 200: } break; case 201: - // line 1793 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1794 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 202: - // line 1797 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1798 "./../src/mycompiler/myparser/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()); @@ -2430,19 +2431,19 @@ case 202: } break; case 203: - // line 1810 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1811 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=null; } break; case 204: - // line 1815 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1816 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[0+yyTop]); } break; case 205: - // line 1819 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1820 "./../src/mycompiler/myparser/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";}|*/ @@ -2453,19 +2454,19 @@ case 205: } break; case 206: - // line 1829 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1830 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=null; } break; case 207: - // line 1833 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1834 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((ParameterList)yyVals[-1+yyTop]); } break; case 208: - // line 1838 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1839 "./../src/mycompiler/myparser/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])); @@ -2474,54 +2475,54 @@ case 208: } break; case 209: - // line 1857 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1858 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((UsedId)yyVals[0+yyTop]); } break; case 210: - // line 1862 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1863 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=null; } break; case 211: - // line 1866 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1867 "./../src/mycompiler/myparser/JavaParser.jay" { TimesOp TEO = new TimesOp(-1,-1); yyVal=TEO; } break; case 212: - // line 1871 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1872 "./../src/mycompiler/myparser/JavaParser.jay" { DivideOp DEO = new DivideOp(-1,-1); yyVal=DEO; } break; case 213: - // line 1876 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1877 "./../src/mycompiler/myparser/JavaParser.jay" { ModuloOp MEO = new ModuloOp(-1,-1); yyVal=MEO; } break; case 214: - // line 1881 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1882 "./../src/mycompiler/myparser/JavaParser.jay" { PlusOp PEO = new PlusOp(-1,-1); yyVal=PEO; } break; case 215: - // line 1886 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1887 "./../src/mycompiler/myparser/JavaParser.jay" { MinusOp MEO = new MinusOp(-1,-1); yyVal=MEO; } break; case 216: - // line 1898 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1899 "./../src/mycompiler/myparser/JavaParser.jay" { PreIncExpr PRINC = new PreIncExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); PRINC.set_Expr(((Expr)yyVals[0+yyTop])); @@ -2529,7 +2530,7 @@ case 216: } break; case 217: - // line 1905 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1906 "./../src/mycompiler/myparser/JavaParser.jay" { PreDecExpr PRDEC = new PreDecExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); PRDEC.set_Expr(((Expr)yyVals[0+yyTop])); @@ -2537,7 +2538,7 @@ case 217: } break; case 218: - // line 1912 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1913 "./../src/mycompiler/myparser/JavaParser.jay" { PostIncExpr PIE = new PostIncExpr(((Expr)yyVals[-1+yyTop]).getOffset(),((Expr)yyVals[-1+yyTop]).getVariableLength()); PIE.set_Expr(((Expr)yyVals[-1+yyTop])); @@ -2545,7 +2546,7 @@ case 218: } break; case 219: - // line 1919 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1920 "./../src/mycompiler/myparser/JavaParser.jay" { PostDecExpr PDE = new PostDecExpr(((Expr)yyVals[-1+yyTop]).getOffset(),((Expr)yyVals[-1+yyTop]).getVariableLength()); PDE.set_Expr(((Expr)yyVals[-1+yyTop])); @@ -2553,7 +2554,7 @@ case 219: } break; case 220: - // line 1927 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1928 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("M1"); MethodCall MC = new MethodCall(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); @@ -2585,7 +2586,7 @@ case 220: } break; case 221: - // line 1957 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1958 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("M2"); MethodCall MCarg = new MethodCall(((UsedId)yyVals[-3+yyTop]).getOffset(),((UsedId)yyVals[-3+yyTop]).getVariableLength()); @@ -2618,7 +2619,7 @@ case 221: } break; case 222: - // line 1988 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1989 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("M3"); MethodCall MCpr = new MethodCall(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength()); @@ -2639,7 +2640,7 @@ case 222: } break; case 223: - // line 2007 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2008 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("M4"); MethodCall MCPA = new MethodCall(((Expr)yyVals[-5+yyTop]).getOffset(),((Expr)yyVals[-5+yyTop]).getVariableLength()); @@ -2661,7 +2662,7 @@ case 223: } break; case 224: - // line 2030 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2031 "./../src/mycompiler/myparser/JavaParser.jay" { NewClass NC = new NewClass(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); NC.set_UsedId(((UsedId)yyVals[-2+yyTop])); @@ -2671,7 +2672,7 @@ case 224: } break; case 225: - // line 2038 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2039 "./../src/mycompiler/myparser/JavaParser.jay" { NewClass NCarg = new NewClass(((UsedId)yyVals[-3+yyTop]).getOffset(),((UsedId)yyVals[-3+yyTop]).getVariableLength()); NCarg.set_UsedId(((UsedId)yyVals[-3+yyTop])); @@ -2682,13 +2683,13 @@ case 225: } break; case 226: - // line 2048 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2049 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 227: - // line 2052 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2053 "./../src/mycompiler/myparser/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()); @@ -2700,19 +2701,19 @@ case 227: } break; case 228: - // line 2068 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2069 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 229: - // line 2072 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2073 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 230: - // line 2076 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2077 "./../src/mycompiler/myparser/JavaParser.jay" { PositivExpr POSEX=new PositivExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); UnaryPlus UP= new UnaryPlus(); @@ -2722,7 +2723,7 @@ case 230: } break; case 231: - // line 2084 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2085 "./../src/mycompiler/myparser/JavaParser.jay" { NegativeExpr NEGEX=new NegativeExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); UnaryMinus UM=new UnaryMinus(); @@ -2732,19 +2733,19 @@ case 231: } break; case 232: - // line 2092 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2093 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 233: - // line 2097 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2098 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 234: - // line 2101 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2102 "./../src/mycompiler/myparser/JavaParser.jay" { if (((UsedId)yyVals[0+yyTop]).get_Name().size() > 1) { @@ -2764,37 +2765,37 @@ case 234: } break; case 235: - // line 2119 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2120 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 236: - // line 2123 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2124 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 237: - // line 2128 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2129 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 238: - // line 2133 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2134 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 240: - // line 2139 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2140 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Literal)yyVals[0+yyTop]); } break; case 241: - // line 2143 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2144 "./../src/mycompiler/myparser/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()); @@ -2804,23 +2805,23 @@ case 241: } break; case 242: - // line 2164 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2165 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((MethodCall)yyVals[0+yyTop]); } break; case 243: - // line 2168 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2169 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 244: - // line 2173 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2174 "./../src/mycompiler/myparser/JavaParser.jay" {yyVal=((Expr)yyVals[0+yyTop]);} break; case 245: - // line 2175 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2176 "./../src/mycompiler/myparser/JavaParser.jay" {NotExpr NE=new NotExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); UnaryNot UN=new UnaryNot(); NE.set_UnaryNot(UN); @@ -2829,36 +2830,36 @@ case 245: } break; case 246: - // line 2181 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2182 "./../src/mycompiler/myparser/JavaParser.jay" {yyVal=((CastExpr)yyVals[0+yyTop]);} break; case 247: - // line 2183 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2184 "./../src/mycompiler/myparser/JavaParser.jay" {yyVal=((Expr)yyVals[0+yyTop]);} break; case 249: - // line 2188 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2189 "./../src/mycompiler/myparser/JavaParser.jay" {IntLiteral IL = new IntLiteral(); IL.set_Int(((Token)yyVals[0+yyTop]).String2Int()); yyVal = IL; } break; case 250: - // line 2193 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2194 "./../src/mycompiler/myparser/JavaParser.jay" {BoolLiteral BL = new BoolLiteral(); BL.set_Bool(((Token)yyVals[0+yyTop]).String2Bool()); yyVal = BL; } break; case 251: - // line 2197 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2198 "./../src/mycompiler/myparser/JavaParser.jay" {CharLiteral CL = new CharLiteral(); CL.set_Char(((Token)yyVals[0+yyTop]).CharInString()); yyVal=CL; } break; case 252: - // line 2202 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2203 "./../src/mycompiler/myparser/JavaParser.jay" { StringLiteral ST = new StringLiteral(); ST.set_String(((Token)yyVals[0+yyTop]).get_String()); @@ -2866,14 +2867,14 @@ case 252: } break; case 253: - // line 2207 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2208 "./../src/mycompiler/myparser/JavaParser.jay" { LongLiteral LL = new LongLiteral(); LL.set_Long(((Token)yyVals[0+yyTop]).String2Long()); yyVal = LL; } break; case 254: - // line 2211 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2212 "./../src/mycompiler/myparser/JavaParser.jay" { FloatLiteral FL = new FloatLiteral(); FL.set_Float(((Token)yyVals[0+yyTop]).String2Float()); @@ -2881,7 +2882,7 @@ case 254: } break; case 255: - // line 2216 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2217 "./../src/mycompiler/myparser/JavaParser.jay" { DoubleLiteral DL = new DoubleLiteral(); DL.set_Double(((Token)yyVals[0+yyTop]).String2Double()); @@ -2889,14 +2890,14 @@ case 255: } break; case 256: - // line 2222 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2223 "./../src/mycompiler/myparser/JavaParser.jay" { Null NN = new Null(); yyVal=NN; } break; case 257: - // line 2228 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2229 "./../src/mycompiler/myparser/JavaParser.jay" { CastExpr CaEx=new CastExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); CaEx.set_Type(((BaseType)yyVals[-2+yyTop])); @@ -2905,24 +2906,24 @@ case 257: } break; case 258: - // line 2237 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2238 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 259: - // line 2241 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2242 "./../src/mycompiler/myparser/JavaParser.jay" { } break; case 260: - // line 2245 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2246 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 261: - // line 2249 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2250 "./../src/mycompiler/myparser/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()); @@ -2934,7 +2935,7 @@ case 261: } break; case 262: - // line 2259 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2260 "./../src/mycompiler/myparser/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()); @@ -2946,13 +2947,13 @@ case 262: } break; case 263: - // line 2270 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2271 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 264: - // line 2274 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2275 "./../src/mycompiler/myparser/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()); @@ -2964,7 +2965,7 @@ case 264: } break; case 265: - // line 2284 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2285 "./../src/mycompiler/myparser/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()); @@ -2976,7 +2977,7 @@ case 265: } break; case 266: - // line 2294 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2295 "./../src/mycompiler/myparser/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()); @@ -2988,7 +2989,7 @@ case 266: } break; case 267: - // line 2304 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2305 "./../src/mycompiler/myparser/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()); @@ -3000,7 +3001,7 @@ case 267: } break; case 268: - // line 2314 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2315 "./../src/mycompiler/myparser/JavaParser.jay" { InstanceOf ISO=new InstanceOf(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); ISO.set_Expr(((Expr)yyVals[-2+yyTop])); @@ -3009,19 +3010,19 @@ case 268: } break; case 269: - // line 2322 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2323 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 270: - // line 2327 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2328 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 271: - // line 2331 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2332 "./../src/mycompiler/myparser/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()); @@ -3033,7 +3034,7 @@ case 271: } break; case 272: - // line 2341 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2342 "./../src/mycompiler/myparser/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()); @@ -3045,13 +3046,13 @@ case 272: } break; case 273: - // line 2352 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2353 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 274: - // line 2356 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2357 "./../src/mycompiler/myparser/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()); @@ -3063,7 +3064,7 @@ case 274: } break; case 275: - // line 2366 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2367 "./../src/mycompiler/myparser/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()); @@ -3075,7 +3076,7 @@ case 275: } break; case 276: - // line 2376 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2377 "./../src/mycompiler/myparser/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()); @@ -3086,7 +3087,7 @@ case 276: yyVal =MD; } break; - // line 3090 "-" + // line 3091 "-" } yyTop -= yyLen[yyN]; yyState = yyStates[yyTop]; diff --git a/src/mycompiler/myparser/JavaParser.jay b/src/mycompiler/myparser/JavaParser.jay index 793ea1630..8b53e82f8 100755 --- a/src/mycompiler/myparser/JavaParser.jay +++ b/src/mycompiler/myparser/JavaParser.jay @@ -821,7 +821,7 @@ classmemberdeclaration : fielddeclaration staticinitializer : STATIC block { - Method STAT = new Method(); + Method STAT = new Method($1.getOffset()); DeclId DST = new DeclId(); DST.set_Name($1.getLexem()); STAT.set_DeclId(DST); @@ -869,7 +869,7 @@ Dieses Problem ist bei Feldern nicht der Fall. */ fielddeclarator : variabledeclarator '=' expression { - FieldDeclaration ret = new FieldDeclaration(); + FieldDeclaration ret = new FieldDeclaration($1.getOffset()); ret.set_DeclId($1); ret.setWert($3); $$=ret; @@ -1197,8 +1197,9 @@ type : primitivetype } variabledeclarators : variabledeclarator { - FieldDeclaration IVD = new FieldDeclaration(); + FieldDeclaration IVD = new FieldDeclaration($1.getOffset()); IVD.getDeclIdVector().addElement( $1 ); + IVD.setOffset($1.getOffset()); $$ = IVD; } | variabledeclarators ',' variabledeclarator @@ -1267,7 +1268,7 @@ classtypelist : classtype methoddeclarator :IDENTIFIER '(' ')' { - Method met = new Method(); + Method met = new Method($1.getOffset()); /* #JB# 10.04.2005 */ /* ########################################################### */ met.setLineNumber($1.getLineNumber()); @@ -1280,7 +1281,7 @@ methoddeclarator :IDENTIFIER '(' ')' } |IDENTIFIER '(' formalparameterlist ')' { - Method met_para = new Method(); + Method met_para = new Method($1.getOffset()); /* #JB# 10.04.2005 */ /* ########################################################### */ met_para.setLineNumber($1.getLineNumber()); diff --git a/src/typinferenz/FunNMethod.java b/src/typinferenz/FunNMethod.java index 7581f9b81..7d14317eb 100644 --- a/src/typinferenz/FunNMethod.java +++ b/src/typinferenz/FunNMethod.java @@ -12,6 +12,7 @@ public class FunNMethod extends Method{ * @param N - Anzahl der Parameter (Beispiel: Fun2) */ public FunNMethod(int N){ + super(0); //Hat keinen Offset, da nur theoretisch gedachte Methode this.setType(TypePlaceholder.fresh(this)); ParameterList pl = new ParameterList(); Vector fpList = new Vector(); From c5eb3a57119b0a7ef181c3c97fa576a238608730 Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Sun, 9 Mar 2014 13:03:30 +0100 Subject: [PATCH 09/79] =?UTF-8?q?MethodTypeInsertTest=20angef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/mycompiler/SourceFile.java | 5 ++--- .../TypeinferenceResultSet.java | 12 +++--------- test/plugindevelopment/MethodTypeInsertTest.jav | 6 ++++++ test/plugindevelopment/MethodTypeInsertTest.java | 16 ++++++++++++++++ .../MethodTypeInsertTestSolution.jav | 6 ++++++ test/plugindevelopment/TypeInsertTester.java | 10 +++++----- 6 files changed, 38 insertions(+), 17 deletions(-) create mode 100644 test/plugindevelopment/MethodTypeInsertTest.jav create mode 100644 test/plugindevelopment/MethodTypeInsertTest.java create mode 100644 test/plugindevelopment/MethodTypeInsertTestSolution.jav diff --git a/src/mycompiler/SourceFile.java b/src/mycompiler/SourceFile.java index bd87e32d8..8f148b8d6 100755 --- a/src/mycompiler/SourceFile.java +++ b/src/mycompiler/SourceFile.java @@ -42,6 +42,7 @@ import sun.reflect.generics.reflectiveObjects.NotImplementedException; import sun.reflect.generics.reflectiveObjects.TypeVariableImpl; import typinferenz.ConstraintsSet; import typinferenz.FunN; +import typinferenz.ResultSet; import typinferenz.TypinferenzException; import typinferenz.UndConstraint; import typinferenz.assumptions.TypeAssumptions; @@ -713,9 +714,7 @@ public class SourceFile //Der Unifikationsalgorithmus kann wiederum auch mehrere Lösungen errechnen, diese werden im folgenden durchlaufen: for(Vector resultSet : result){ //Add Result set as a new ReconstructionResult to ret: - TypeinferenceResultSet reconstructionResult = new TypeinferenceResultSet(klasse); - reconstructionResult.setConstraints(constraints); - reconstructionResult.setUnifiedConstraints(resultSet); + TypeinferenceResultSet reconstructionResult = new TypeinferenceResultSet(klasse, constraints, new ResultSet(resultSet)); ret.add(reconstructionResult); //ResultSet res = new ResultSet(resultSet); diff --git a/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java b/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java index 5a6cb72c7..933e89853 100755 --- a/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java +++ b/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java @@ -53,12 +53,13 @@ public class TypeinferenceResultSet private mycompiler.myclass.Class ownerOfResultSet;//Jedes Resultset gilt immer nur für eine Klasse. Diese wird in dieser Variable gespeichert. // ino.method.CTypeReconstructionResult.27256.definition - public TypeinferenceResultSet(mycompiler.myclass.Class inferedClass) + public TypeinferenceResultSet(mycompiler.myclass.Class inferedClass, Vector constraints, ResultSet unifiedConstraints) // ino.end // ino.method.CTypeReconstructionResult.27256.body { this.ownerOfResultSet = inferedClass; - + this.constraints = constraints; + this.unifiedConstraints = unifiedConstraints; } // ino.end @@ -74,10 +75,6 @@ public class TypeinferenceResultSet } - public void setConstraints(Vector constraints) { - this.constraints = constraints; - } - /** * @author Andreas Stadelmeier, a10023 * Nach dem Durchführen des Interferenzalgorithmus von Lambda 8 entsteht für jede Lösung ein Set con Constraints. @@ -88,9 +85,6 @@ public class TypeinferenceResultSet return unifiedConstraints; } - public void setUnifiedConstraints(Vector unifiedConstraints) { - this.unifiedConstraints = new ResultSet(unifiedConstraints); - } /** * Ermittelt den in diesem ResultSet für den TypePlaceholder tph zugewiesenen Wert. diff --git a/test/plugindevelopment/MethodTypeInsertTest.jav b/test/plugindevelopment/MethodTypeInsertTest.jav new file mode 100644 index 000000000..03b20bc8f --- /dev/null +++ b/test/plugindevelopment/MethodTypeInsertTest.jav @@ -0,0 +1,6 @@ + +class VariableTypeInsertTest{ + methode(){ + return "String"; + } +} diff --git a/test/plugindevelopment/MethodTypeInsertTest.java b/test/plugindevelopment/MethodTypeInsertTest.java new file mode 100644 index 000000000..cf9c5aef0 --- /dev/null +++ b/test/plugindevelopment/MethodTypeInsertTest.java @@ -0,0 +1,16 @@ +package plugindevelopment; + +import org.junit.Test; + +public class MethodTypeInsertTest { + + + private static final String TEST_FILE = "MethodTypeInsertTest.jav"; + private static final String SOLUTION_FILE = "MethodTypeInsertTestSolution.jav"; + + @Test + public void run(){ + TypeInsertTester.test(this.TEST_FILE, this.SOLUTION_FILE); + } + +} diff --git a/test/plugindevelopment/MethodTypeInsertTestSolution.jav b/test/plugindevelopment/MethodTypeInsertTestSolution.jav new file mode 100644 index 000000000..4246f9536 --- /dev/null +++ b/test/plugindevelopment/MethodTypeInsertTestSolution.jav @@ -0,0 +1,6 @@ + +class VariableTypeInsertTest{ + String methode(){ + return "String"; + } +} diff --git a/test/plugindevelopment/TypeInsertTester.java b/test/plugindevelopment/TypeInsertTester.java index 644c970d7..f49a3292a 100644 --- a/test/plugindevelopment/TypeInsertTester.java +++ b/test/plugindevelopment/TypeInsertTester.java @@ -19,7 +19,7 @@ import mycompiler.myparser.JavaParser.yyException; import mycompiler.mytypereconstruction.TypeinferenceResultSet; -public class TypeInsertTester extends TestCase { +public class TypeInsertTester{ private static final String rootDirectory = System.getProperty("user.dir")+"/test/plugindevelopment/"; @@ -29,21 +29,21 @@ public class TypeInsertTester extends TestCase { try { compiler.parse(new File(rootDirectory + sourceFileToInfere)); Vector results = compiler.typeReconstruction(); - assertTrue("Es darf nicht mehr als eine Lösungsmöglichkeit geben", results.size()==1); + TestCase.assertTrue("Es darf nicht mehr als eine Lösungsmöglichkeit geben", results.size()==1); for(TypeinferenceResultSet result : results){ Vector points = result.getTypeInsertionPoints(); - assertTrue("Es muss genau ein TypeInsertSet vorhanden sein", points.size()==1); + TestCase.assertTrue("Es muss mindestens ein TypeInsertSet vorhanden sein", points.size()>0); for(TypeInsertSet point : points){ inferedSource = point.insertAllTypes(getFileContent(rootDirectory + sourceFileToInfere)); String solutionSource = getFileContent(rootDirectory + solutionFile); System.out.println("\nInferierter Source:\n"+inferedSource); - assertTrue("Nicht das erwartete Ergebnis", inferedSource.equals(solutionSource)); + TestCase.assertTrue("Nicht das erwartete Ergebnis", inferedSource.equals(solutionSource)); } } } catch (IOException | yyException e) { e.printStackTrace(); - fail(); + TestCase.fail(); } } From eef38bff422bb2a937a5a21f40502b55655e587d Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Sun, 9 Mar 2014 14:12:48 +0100 Subject: [PATCH 10/79] =?UTF-8?q?MethodTypeInsertTest=20angef=C3=BCgt.=20T?= =?UTF-8?q?ypeInsertTester=20verbessert?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/mycompiler/SourceFile.java | 3 ++- src/mycompiler/myclass/Method.java | 2 +- src/mycompiler/mystatement/MethodCall.java | 2 +- src/typinferenz/TypeInsertSet.java | 2 +- test/plugindevelopment/TypeInsertTester.java | 21 ++++++++++++++++++++ 5 files changed, 26 insertions(+), 4 deletions(-) diff --git a/src/mycompiler/SourceFile.java b/src/mycompiler/SourceFile.java index 8f148b8d6..4dd5c1d55 100755 --- a/src/mycompiler/SourceFile.java +++ b/src/mycompiler/SourceFile.java @@ -679,7 +679,8 @@ public class SourceFile } //Erst die Unifizierung erstellen: - Vector> unifyResult = Unify.unify(constraints, finiteClosure); + Vector constraintsClone = (Vector)constraints.clone(); + Vector> unifyResult = Unify.unify(constraintsClone, finiteClosure); //Dann den Ergebnissen anfügen result.addAll(unifyResult); diff --git a/src/mycompiler/myclass/Method.java b/src/mycompiler/myclass/Method.java index fece74d83..f41a2a998 100755 --- a/src/mycompiler/myclass/Method.java +++ b/src/mycompiler/myclass/Method.java @@ -51,7 +51,7 @@ import typinferenz.assumptions.TypeAssumptions; * @author janulrich * */ -public class Method extends Field implements ITypeReplacementListener, IItemWithOffset, TypeInsertable +public class Method extends Field implements IItemWithOffset, TypeInsertable // ino.end // ino.class.Method.23482.body { diff --git a/src/mycompiler/mystatement/MethodCall.java b/src/mycompiler/mystatement/MethodCall.java index b6304f2bc..fcebc7744 100755 --- a/src/mycompiler/mystatement/MethodCall.java +++ b/src/mycompiler/mystatement/MethodCall.java @@ -231,7 +231,7 @@ public class MethodCall extends Expr } Vector paraAssumptions=assumption.getParaAssumptions(); Type returnType=assumption.getAssumedType(); - Method meth=new Method(); + Method meth=new Method(0); Vector parameterVector=new Vector(); ParameterList pl=new ParameterList(); for(int i=0;i points = new Vector(); + public Vector points = new Vector(); public TypeInsertSet(TypeInsertPoint p){ points.add(p); diff --git a/test/plugindevelopment/TypeInsertTester.java b/test/plugindevelopment/TypeInsertTester.java index f49a3292a..4e8d42ae6 100644 --- a/test/plugindevelopment/TypeInsertTester.java +++ b/test/plugindevelopment/TypeInsertTester.java @@ -10,17 +10,35 @@ import java.nio.file.Files; import java.nio.file.Paths; import java.util.Vector; +import org.apache.log4j.ConsoleAppender; +import org.apache.log4j.FileAppender; +import org.apache.log4j.Level; +import org.apache.log4j.Logger; +import org.apache.log4j.PatternLayout; +import org.apache.log4j.SimpleLayout; + import typinferenz.TypeInsertPoint; import typinferenz.TypeInsertSet; import junit.framework.TestCase; import mycompiler.MyCompiler; import mycompiler.MyCompilerAPI; import mycompiler.myparser.JavaParser.yyException; +import mycompiler.mytest.LambdaTest; import mycompiler.mytypereconstruction.TypeinferenceResultSet; public class TypeInsertTester{ + private static Logger inferencelog = Logger.getLogger("Typeinference"); + static{ + { + // Ausgabeoptionen fuer die Logger + ConsoleAppender logAppender = new ConsoleAppender(new SimpleLayout()); + logAppender.setTarget("System.out"); + logAppender.activateOptions(); + inferencelog.addAppender(logAppender); //Bei den Tests wird der Log auch in System.out geschrieben. + } + } private static final String rootDirectory = System.getProperty("user.dir")+"/test/plugindevelopment/"; public static void test(String sourceFileToInfere, String solutionFile){ @@ -34,10 +52,12 @@ public class TypeInsertTester{ Vector points = result.getTypeInsertionPoints(); TestCase.assertTrue("Es muss mindestens ein TypeInsertSet vorhanden sein", points.size()>0); for(TypeInsertSet point : points){ + if(point.points.size()>0){ inferedSource = point.insertAllTypes(getFileContent(rootDirectory + sourceFileToInfere)); String solutionSource = getFileContent(rootDirectory + solutionFile); System.out.println("\nInferierter Source:\n"+inferedSource); TestCase.assertTrue("Nicht das erwartete Ergebnis", inferedSource.equals(solutionSource)); + } } } @@ -53,4 +73,5 @@ public class TypeInsertTester{ byte[] encoded = Files.readAllBytes(Paths.get(path)); return StandardCharsets.UTF_8.decode(ByteBuffer.wrap(encoded)).toString(); } + } From b29fa03782e0cd40a688e38d7c1b77c48e0bd326 Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Mon, 10 Mar 2014 15:56:17 +0100 Subject: [PATCH 11/79] ParameterInsertTest added --- src/typinferenz/TypeInsertPoint.java | 14 +++++++++++++- test/plugindevelopment/ParameterInsertTest.java | 13 +++++++++++++ test/plugindevelopment/ParameterTypeInsertTest.jav | 7 +++++++ .../ParameterTypeInsertTestSolution.jav | 7 +++++++ 4 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 test/plugindevelopment/ParameterInsertTest.java create mode 100644 test/plugindevelopment/ParameterTypeInsertTest.jav create mode 100644 test/plugindevelopment/ParameterTypeInsertTestSolution.jav diff --git a/src/typinferenz/TypeInsertPoint.java b/src/typinferenz/TypeInsertPoint.java index 1d46012dd..3f61eb2e9 100644 --- a/src/typinferenz/TypeInsertPoint.java +++ b/src/typinferenz/TypeInsertPoint.java @@ -35,7 +35,19 @@ public class TypeInsertPoint { return this.getTypeInsertString().length(); } - private String getTypeInsertString(){ + /** + * + * @return Der Offset des TypeInsertPoints in dem geparsten Source für dessen Klasse er erstellt wurde. + */ + public int getOffset(){ + return this.point.getOffset(); + } + + /** + * Die Zeichenkette die durch diesen TypeInsertPoint eingesetzt wird. (Der Typ als String) + * @return + */ + public String getTypeInsertString(){ String ret = type.printJavaCode(this.resultSet).toString()+" "; return ret; } diff --git a/test/plugindevelopment/ParameterInsertTest.java b/test/plugindevelopment/ParameterInsertTest.java new file mode 100644 index 000000000..63b108196 --- /dev/null +++ b/test/plugindevelopment/ParameterInsertTest.java @@ -0,0 +1,13 @@ +package plugindevelopment; + +import org.junit.Test; + +public class ParameterInsertTest { + private static final String TEST_FILE = "ParameterTypeInsertTest.jav"; + private static final String SOLUTION_FILE = "ParameterTypeInsertTestSolution.jav"; + + @Test + public void run(){ + TypeInsertTester.test(this.TEST_FILE, this.SOLUTION_FILE); + } +} diff --git a/test/plugindevelopment/ParameterTypeInsertTest.jav b/test/plugindevelopment/ParameterTypeInsertTest.jav new file mode 100644 index 000000000..9a2405af3 --- /dev/null +++ b/test/plugindevelopment/ParameterTypeInsertTest.jav @@ -0,0 +1,7 @@ + +class VariableTypeInsertTest{ + String var; + void methode(test){ + var = test; + } +} diff --git a/test/plugindevelopment/ParameterTypeInsertTestSolution.jav b/test/plugindevelopment/ParameterTypeInsertTestSolution.jav new file mode 100644 index 000000000..151fcd40a --- /dev/null +++ b/test/plugindevelopment/ParameterTypeInsertTestSolution.jav @@ -0,0 +1,7 @@ + +class VariableTypeInsertTest{ + String var; + void methode(String test){ + var = test; + } +} From 5d5717936473424f7f774a145c95fedf786f2dce Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Wed, 12 Mar 2014 15:27:26 +0100 Subject: [PATCH 12/79] =?UTF-8?q?SyntaxTreeNode.getDescription()=20angef?= =?UTF-8?q?=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/mycompiler/MyCompiler.java | 6 ++++-- src/mycompiler/MyCompilerAPI.java | 3 ++- src/mycompiler/SyntaxTreeNode.java | 8 ++++++++ src/mycompiler/myclass/Class.java | 5 +++++ src/mycompiler/myclass/Field.java | 5 +++++ src/mycompiler/myclass/Method.java | 2 -- test/plugindevelopment/SyntaxTreeTests.java | 7 +++++++ 7 files changed, 31 insertions(+), 5 deletions(-) create mode 100644 test/plugindevelopment/SyntaxTreeTests.java diff --git a/src/mycompiler/MyCompiler.java b/src/mycompiler/MyCompiler.java index d7a90d61f..a40d05547 100755 --- a/src/mycompiler/MyCompiler.java +++ b/src/mycompiler/MyCompiler.java @@ -828,8 +828,10 @@ public class MyCompiler implements MyCompilerAPI } @Override - public void parse(String sourceCode) { - this.m_AbstractSyntaxTree.add(this.parse2SyntaxTree(new StringReader(sourceCode))); + public SourceFile parse(String sourceCode) { + SourceFile ret = this.parse2SyntaxTree(new StringReader(sourceCode)); + this.m_AbstractSyntaxTree.add(ret); + return ret; } } // ino.end diff --git a/src/mycompiler/MyCompilerAPI.java b/src/mycompiler/MyCompilerAPI.java index 126242a8f..9120cb74a 100755 --- a/src/mycompiler/MyCompilerAPI.java +++ b/src/mycompiler/MyCompilerAPI.java @@ -127,8 +127,9 @@ public interface MyCompilerAPI /** * Parst den SourceCode einer Datei. * @param sourceCode - SourceCode einer Java-Quellcodedatei + * @return den aus dem sourceCode generierten Syntaxbaum */ - public void parse(String sourceCode); + public SourceFile parse(String sourceCode); } // ino.end diff --git a/src/mycompiler/SyntaxTreeNode.java b/src/mycompiler/SyntaxTreeNode.java index eeb0bd7a9..cc8f4d6de 100644 --- a/src/mycompiler/SyntaxTreeNode.java +++ b/src/mycompiler/SyntaxTreeNode.java @@ -33,4 +33,12 @@ public abstract class SyntaxTreeNode { if(parent == null)throw new TypinferenzException("Das Wurzelelement eines Syntaxbaumes muss Class sein"); return parent.getParentClass(); } + + /** + * Eine Beschreibung/Name des SyntaxTree-Nodes + * @return + */ + public String getDescription(){ + return this.toString(); + } } diff --git a/src/mycompiler/myclass/Class.java b/src/mycompiler/myclass/Class.java index e89d30a77..35f9dbfee 100755 --- a/src/mycompiler/myclass/Class.java +++ b/src/mycompiler/myclass/Class.java @@ -1314,5 +1314,10 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface return true; } + + @Override + public String getDescription(){ + return "class "+this.getName(); + } } // ino.end diff --git a/src/mycompiler/myclass/Field.java b/src/mycompiler/myclass/Field.java index e3885aa4d..a39079209 100644 --- a/src/mycompiler/myclass/Field.java +++ b/src/mycompiler/myclass/Field.java @@ -90,4 +90,9 @@ public abstract class Field extends SyntaxTreeNode implements TypeInsertable, Ty public String getIdentifier() { return this.get_Name().firstElement().get_Name(); } + + @Override + public String getDescription(){ + return this.getIdentifier(); + } } diff --git a/src/mycompiler/myclass/Method.java b/src/mycompiler/myclass/Method.java index f41a2a998..76562ccbd 100755 --- a/src/mycompiler/myclass/Method.java +++ b/src/mycompiler/myclass/Method.java @@ -699,7 +699,5 @@ public class Method extends Field implements IItemWithOffset, TypeInsertable return ret; } - - } // ino.end diff --git a/test/plugindevelopment/SyntaxTreeTests.java b/test/plugindevelopment/SyntaxTreeTests.java new file mode 100644 index 000000000..105897a1c --- /dev/null +++ b/test/plugindevelopment/SyntaxTreeTests.java @@ -0,0 +1,7 @@ +package plugindevelopment; + +public class SyntaxTreeTests { + + //TODO: Hier tests für getChildren anfügen. + +} From 931e90e7f27b1e0f9d8fbc7730a86d4b2987b096 Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Wed, 12 Mar 2014 16:32:50 +0100 Subject: [PATCH 13/79] =?UTF-8?q?Erster=20Bytecodegeneration-Test=20angef?= =?UTF-8?q?=C3=BCgt.=20codegen()-Methode=20angepasst?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/mycompiler/MyCompiler.java | 18 ++++++------ src/mycompiler/MyCompilerAPI.java | 5 +++- src/mycompiler/SourceFile.java | 9 ++++-- src/mycompiler/myclass/Class.java | 22 ++++++++++----- .../TypeinferenceResultSet.java | 8 ++++++ test/bytecode/EmptyClassTest.java | 28 +++++++++++++++++++ 6 files changed, 72 insertions(+), 18 deletions(-) create mode 100644 test/bytecode/EmptyClassTest.java diff --git a/src/mycompiler/MyCompiler.java b/src/mycompiler/MyCompiler.java index a40d05547..957a26dc0 100755 --- a/src/mycompiler/MyCompiler.java +++ b/src/mycompiler/MyCompiler.java @@ -13,6 +13,7 @@ import java.io.Reader; import java.io.StringReader; import java.util.Vector; +import mycompiler.mybytecode.ClassFile; import mycompiler.myclass.Class; import mycompiler.myclass.ClassBody; import mycompiler.myclass.Constructor_Backup; @@ -42,6 +43,7 @@ import org.apache.log4j.xml.DOMConfigurator; import com.sun.corba.se.spi.orbutil.fsm.Guard.Result; import com.sun.org.apache.xerces.internal.impl.xs.identity.Field; +import typinferenz.ResultSet; import typinferenz.TypinferenzException; // ino.end import typinferenz.assumptions.TypeAssumptions; @@ -534,30 +536,30 @@ public class MyCompiler implements MyCompilerAPI - // ino.method.codeGeneration.21310.defdescription type=javadoc /** * Author: J�rg B�uerle
* Generiert den Bytecode und das Class-File f�r den Syntaxbaum. * @throws NullPointerException Wenn noch kein abstrakter Syntaxbaum vorhanden * ist. */ - // ino.end - // ino.method.codeGeneration.21310.definition - public void codeGeneration() + @Override + public Vector codeGeneration(ResultSet result) throws NullPointerException, JVMCodeException - // ino.end - // ino.method.codeGeneration.21310.body { if(m_AbstractSyntaxTree==null){ throw new NullPointerException("Es wurde noch kein Abstrakter Syntaxbaum erstellt!"); } codegenlog.info("Beginn der Codegenerierung ..."); - //m_AbstractSyntaxTree.codegen(); + Vector ret = new Vector(); + + for(SourceFile sf : m_AbstractSyntaxTree){ + ret.addAll(sf.codegen(result)); + } codegenlog.info("Codegenerierung beendet!"); + return ret; } - // ino.end // ino.method.main.21313.defdescription type=javadoc /** diff --git a/src/mycompiler/MyCompilerAPI.java b/src/mycompiler/MyCompilerAPI.java index 9120cb74a..a0d3349e1 100755 --- a/src/mycompiler/MyCompilerAPI.java +++ b/src/mycompiler/MyCompilerAPI.java @@ -7,6 +7,9 @@ import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.util.Vector; + +import typinferenz.ResultSet; +import mycompiler.mybytecode.ClassFile; import mycompiler.myexception.CTypeReconstructionException; import mycompiler.myexception.JVMCodeException; import mycompiler.myparser.JavaParser; @@ -94,7 +97,7 @@ public interface MyCompilerAPI */ // ino.end // ino.method.codeGeneration.21346.declaration - public void codeGeneration() + public Vector codeGeneration(ResultSet result) throws NullPointerException, JVMCodeException; // ino.end diff --git a/src/mycompiler/SourceFile.java b/src/mycompiler/SourceFile.java index 4dd5c1d55..46c353e0e 100755 --- a/src/mycompiler/SourceFile.java +++ b/src/mycompiler/SourceFile.java @@ -3,11 +3,13 @@ package mycompiler; // ino.end // ino.module.SourceFile.8722.import +import java.util.Collection; import java.util.Enumeration; import java.util.Hashtable; import java.util.Iterator; import java.util.Vector; +import mycompiler.mybytecode.ClassFile; import mycompiler.myclass.BasicAssumptionClass; import mycompiler.myclass.Class; import mycompiler.myclass.ImportDeclarations; @@ -216,11 +218,12 @@ public class SourceFile */ // ino.end // ino.method.codegen.21397.definition - public void codegen() + public Vector codegen(ResultSet result) throws JVMCodeException // ino.end // ino.method.codegen.21397.body { + Vector ret = new Vector(); codegenlog.info("Anzahl der Interfaces: " + Integer.toString(InterfaceVektor.size())); for(int i = 0; i < InterfaceVektor.size(); i++) { @@ -230,8 +233,9 @@ public class SourceFile codegenlog.info("Anzahl der Klassen: " + Integer.toString(KlassenVektor.size())); for(int i = 0; i < KlassenVektor.size(); i++) { - KlassenVektor.elementAt(i).codegen(this); + ret.add(KlassenVektor.elementAt(i).codegen(result)); } + return ret; } // ino.end @@ -1539,5 +1543,6 @@ public class SourceFile //this.filename = filename; } + } // ino.end diff --git a/src/mycompiler/myclass/Class.java b/src/mycompiler/myclass/Class.java index 35f9dbfee..7dacfbe1b 100755 --- a/src/mycompiler/myclass/Class.java +++ b/src/mycompiler/myclass/Class.java @@ -299,8 +299,14 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface + /** + * Generiert die ClassFile für diese Klasse. + * @param typeinferenceResult - Das ResultSet einer Typinferierung oder null, falls alle Typen eindeutig feststehen. + * @return + * @throws JVMCodeException + */ // ino.method.codegen.23071.definition - public void codegen(SourceFile sf) + public ClassFile codegen(ResultSet typeinferenceResult) throws JVMCodeException // ino.end // ino.method.codegen.23071.body @@ -316,12 +322,13 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface } // Handling der Package - String pkgName = ""; - if (sf.getPackageName() != null) { - pkgName = sf.getPackageName().get_codegen_UsedId() + "/"; - } + //String pkgName = ""; + //if (sf.getPackageName() != null) { + // pkgName = sf.getPackageName().get_codegen_UsedId() + "/"; + //} - classfile.add_class(getName(), pkgName, superClass, getAccessFlags()); + //geändert von Andreas Stadelmeier: pkgName wird nicht mehr aus dem SourceFile ausgelesen: + classfile.add_class(getName(), pkgName.get_Name_1Element(), superClass, getAccessFlags()); // Handling fuer Superinterfaces classfile.addSuperInterfaces(getSuperInterfaces()); @@ -340,9 +347,10 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface classfile.add_method("", "()V", null, null, null, (short)0, this.paralist, false); } - classfile.codegen(); + //classfile.codegen(); codegenlog.info("Compilierung erfolgreich abgeschlossen, "+ getName() + ".class erstellt."); + return classfile; } public void codegen(ClassFile classfile, Vector paralist) diff --git a/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java b/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java index 933e89853..60d598363 100755 --- a/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java +++ b/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java @@ -121,5 +121,13 @@ public class TypeinferenceResultSet return ret; } + /** + * Startet die Bytecodegenerierung dieser Lösung. + * Dabei wird die codegen-Methode der inferierten Klasse mit diesem ResultSet aufgerufen. + */ + public void codegen(){ + + } + } // ino.end diff --git a/test/bytecode/EmptyClassTest.java b/test/bytecode/EmptyClassTest.java new file mode 100644 index 000000000..db89b73a1 --- /dev/null +++ b/test/bytecode/EmptyClassTest.java @@ -0,0 +1,28 @@ +package bytecode; + +import java.util.Vector; + +import junit.framework.TestCase; +import mycompiler.MyCompiler; +import mycompiler.MyCompilerAPI; +import mycompiler.myexception.JVMCodeException; +import mycompiler.mytypereconstruction.TypeinferenceResultSet; + +import org.junit.Test; + +public class EmptyClassTest extends TestCase { + + @Test + public void test(){ + MyCompilerAPI compiler = MyCompiler.getAPI(); + compiler.parse("class EmptyClass{}"); + try { + compiler.codeGeneration(null); + } catch (NullPointerException | JVMCodeException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + assertTrue("Test erfolgreich",true); + } + +} From d7e6a7848d72b83c9dfb004c2b8b3f2a87b6f0ce Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Wed, 12 Mar 2014 18:28:30 +0100 Subject: [PATCH 14/79] Bytecodegenerierung angepasst. Tests erstellt --- src/mycompiler/mybytecode/Attribute.java | 8 +- src/mycompiler/mybytecode/AttributeInfo.java | 5 +- .../mybytecode/CONSTANT_Class_info.java | 4 +- .../mybytecode/CONSTANT_Double_info.java | 4 +- .../mybytecode/CONSTANT_Fieldref_info.java | 4 +- .../mybytecode/CONSTANT_Float_info.java | 4 +- .../mybytecode/CONSTANT_Integer_info.java | 4 +- .../CONSTANT_InterfaceMethodref_info.java | 4 +- .../mybytecode/CONSTANT_Long_info.java | 4 +- .../mybytecode/CONSTANT_Methodref_info.java | 4 +- .../mybytecode/CONSTANT_NameAndType_info.java | 4 +- .../mybytecode/CONSTANT_String_info.java | 4 +- .../mybytecode/CONSTANT_Utf8_info.java | 4 +- src/mycompiler/mybytecode/CPInfo.java | 7 +- src/mycompiler/mybytecode/ClassFile.java | 85 +++++++- .../mybytecode/ClassFileMember.java | 10 + src/mycompiler/mybytecode/CodeAttribute.java | 5 +- src/mycompiler/mybytecode/ExceptionTable.java | 7 +- src/mycompiler/mybytecode/FieldInfo.java | 8 +- src/mycompiler/mybytecode/Key.java | 7 +- src/mycompiler/mybytecode/MethodInfo.java | 7 +- src/mycompiler/mybytecode/SignatureInfo.java | 6 +- src/mycompiler/myclass/Class.java | 4 +- test/bytecode/BytecodeTester.java | 45 ++++ test/bytecode/EmptyClassTest.java | 10 +- test/bytecode/FieldTest.jav | 6 + test/bytecode/GeneralTest.java | 35 ++++ test/bytecode/MethodTest.java | 12 ++ test/mycompiler/test/lambda/TestInterface.jav | 3 + .../mycompiler/test/lambda/TestInterface.java | 24 +++ .../test/lambda/testResults/LambdaTest.log | 198 +++++++----------- 31 files changed, 376 insertions(+), 160 deletions(-) create mode 100644 src/mycompiler/mybytecode/ClassFileMember.java create mode 100644 test/bytecode/BytecodeTester.java create mode 100644 test/bytecode/FieldTest.jav create mode 100644 test/bytecode/GeneralTest.java create mode 100644 test/bytecode/MethodTest.java create mode 100644 test/mycompiler/test/lambda/TestInterface.jav create mode 100644 test/mycompiler/test/lambda/TestInterface.java diff --git a/src/mycompiler/mybytecode/Attribute.java b/src/mycompiler/mybytecode/Attribute.java index f89b5c8ca..19a21e56d 100755 --- a/src/mycompiler/mybytecode/Attribute.java +++ b/src/mycompiler/mybytecode/Attribute.java @@ -5,12 +5,15 @@ package mycompiler.mybytecode; // ino.module.Attribute.8529.import import java.io.FileOutputStream; import java.io.IOException; +import java.io.OutputStream; + import mycompiler.myexception.JVMCodeException; + import org.apache.log4j.Logger; // ino.end // ino.class.Attribute.21446.declaration -public abstract class Attribute +public abstract class Attribute implements ClassFileMember // ino.end // ino.class.Attribute.21446.body { @@ -44,7 +47,8 @@ public abstract class Attribute // ino.end // ino.method.codegen.21461.declaration - public abstract void codegen(ClassFile classfile, FileOutputStream f) + @Override + public abstract void codegen(ClassFile classfile, OutputStream f) throws JVMCodeException, IOException; // ino.end diff --git a/src/mycompiler/mybytecode/AttributeInfo.java b/src/mycompiler/mybytecode/AttributeInfo.java index 405e75815..0c6eb249a 100755 --- a/src/mycompiler/mybytecode/AttributeInfo.java +++ b/src/mycompiler/mybytecode/AttributeInfo.java @@ -4,8 +4,10 @@ package mycompiler.mybytecode; // ino.module.AttributeInfo.8530.import import java.io.FileOutputStream; +import java.io.OutputStream; import java.lang.reflect.Array; import java.util.Vector; + import mycompiler.myexception.JVMCodeException; // ino.end @@ -70,7 +72,8 @@ public class AttributeInfo extends Attribute // ino.end // ino.method.codegen.21489.definition - public void codegen(ClassFile classfile, FileOutputStream f) + @Override + public void codegen(ClassFile classfile, OutputStream f) throws JVMCodeException, java.io.IOException // ino.end // ino.method.codegen.21489.body diff --git a/src/mycompiler/mybytecode/CONSTANT_Class_info.java b/src/mycompiler/mybytecode/CONSTANT_Class_info.java index b54c6d7f7..76f61b2cd 100755 --- a/src/mycompiler/mybytecode/CONSTANT_Class_info.java +++ b/src/mycompiler/mybytecode/CONSTANT_Class_info.java @@ -5,6 +5,7 @@ package mycompiler.mybytecode; // ino.module.CONSTANT_Class_info.8533.import import java.io.FileOutputStream; import java.io.IOException; +import java.io.OutputStream; // ino.end // ino.class.CONSTANT_Class_info.21763.declaration @@ -35,7 +36,8 @@ public class CONSTANT_Class_info extends CPInfo // ino.end // ino.method.codegen.21776.definition - public void codegen(ClassFile classfile, FileOutputStream f) + @Override + public void codegen(ClassFile classfile, OutputStream f) throws IOException // ino.end // ino.method.codegen.21776.body diff --git a/src/mycompiler/mybytecode/CONSTANT_Double_info.java b/src/mycompiler/mybytecode/CONSTANT_Double_info.java index a720799e4..18c3523c0 100755 --- a/src/mycompiler/mybytecode/CONSTANT_Double_info.java +++ b/src/mycompiler/mybytecode/CONSTANT_Double_info.java @@ -6,6 +6,7 @@ package mycompiler.mybytecode; import java.io.FileOutputStream; import java.io.IOException; // ino.end +import java.io.OutputStream; // ino.class.CONSTANT_Double_info.21782.declaration public class CONSTANT_Double_info extends CPInfo @@ -46,7 +47,8 @@ public class CONSTANT_Double_info extends CPInfo // ino.end // ino.method.codegen.21804.definition - public void codegen(ClassFile classfile, FileOutputStream f) + @Override + public void codegen(ClassFile classfile, OutputStream f) throws IOException // ino.end // ino.method.codegen.21804.body diff --git a/src/mycompiler/mybytecode/CONSTANT_Fieldref_info.java b/src/mycompiler/mybytecode/CONSTANT_Fieldref_info.java index fca75546d..05dbd5f9c 100755 --- a/src/mycompiler/mybytecode/CONSTANT_Fieldref_info.java +++ b/src/mycompiler/mybytecode/CONSTANT_Fieldref_info.java @@ -6,6 +6,7 @@ package mycompiler.mybytecode; import java.io.FileOutputStream; import java.io.IOException; // ino.end +import java.io.OutputStream; // ino.class.CONSTANT_Fieldref_info.21810.declaration public class CONSTANT_Fieldref_info extends CPInfo @@ -57,7 +58,8 @@ public class CONSTANT_Fieldref_info extends CPInfo // ino.end // ino.method.codegen.21832.definition - public void codegen(ClassFile classfile, FileOutputStream f) + @Override + public void codegen(ClassFile classfile, OutputStream f) throws IOException // ino.end // ino.method.codegen.21832.body diff --git a/src/mycompiler/mybytecode/CONSTANT_Float_info.java b/src/mycompiler/mybytecode/CONSTANT_Float_info.java index 95317a506..8c1d8f393 100755 --- a/src/mycompiler/mybytecode/CONSTANT_Float_info.java +++ b/src/mycompiler/mybytecode/CONSTANT_Float_info.java @@ -5,6 +5,7 @@ package mycompiler.mybytecode; import java.io.FileOutputStream; import java.io.IOException; // ino.end +import java.io.OutputStream; // ino.class.CONSTANT_Float_info.21838.declaration public class CONSTANT_Float_info extends CPInfo @@ -29,7 +30,8 @@ public class CONSTANT_Float_info extends CPInfo // ino.end // ino.method.codegen.21851.definition - public void codegen(ClassFile classfile, FileOutputStream f) + @Override + public void codegen(ClassFile classfile, OutputStream f) throws IOException // ino.end // ino.method.codegen.21851.body diff --git a/src/mycompiler/mybytecode/CONSTANT_Integer_info.java b/src/mycompiler/mybytecode/CONSTANT_Integer_info.java index 7150cc6eb..c317bfb4f 100755 --- a/src/mycompiler/mybytecode/CONSTANT_Integer_info.java +++ b/src/mycompiler/mybytecode/CONSTANT_Integer_info.java @@ -4,6 +4,7 @@ package mycompiler.mybytecode; // ino.module.CONSTANT_Integer_info.8537.import import java.io.FileOutputStream; import java.io.IOException; +import java.io.OutputStream; // ino.end @@ -32,7 +33,8 @@ public class CONSTANT_Integer_info extends CPInfo // ino.end // ino.method.codegen.21870.definition - public void codegen(ClassFile classfile, FileOutputStream f) + @Override + public void codegen(ClassFile classfile, OutputStream f) throws IOException // ino.end // ino.method.codegen.21870.body diff --git a/src/mycompiler/mybytecode/CONSTANT_InterfaceMethodref_info.java b/src/mycompiler/mybytecode/CONSTANT_InterfaceMethodref_info.java index c00288e6b..6701db8a8 100755 --- a/src/mycompiler/mybytecode/CONSTANT_InterfaceMethodref_info.java +++ b/src/mycompiler/mybytecode/CONSTANT_InterfaceMethodref_info.java @@ -6,6 +6,7 @@ package mycompiler.mybytecode; import java.io.FileOutputStream; import java.io.IOException; // ino.end +import java.io.OutputStream; // ino.class.CONSTANT_InterfaceMethodref_info.21876.declaration public class CONSTANT_InterfaceMethodref_info extends CPInfo @@ -57,7 +58,8 @@ public class CONSTANT_InterfaceMethodref_info extends CPInfo // ino.end // ino.method.codegen.21898.definition - public void codegen(ClassFile classfile, FileOutputStream f) + @Override + public void codegen(ClassFile classfile, OutputStream f) throws IOException // ino.end // ino.method.codegen.21898.body diff --git a/src/mycompiler/mybytecode/CONSTANT_Long_info.java b/src/mycompiler/mybytecode/CONSTANT_Long_info.java index 76b2719c4..6aacc7472 100755 --- a/src/mycompiler/mybytecode/CONSTANT_Long_info.java +++ b/src/mycompiler/mybytecode/CONSTANT_Long_info.java @@ -5,6 +5,7 @@ package mycompiler.mybytecode; // ino.module.CONSTANT_Long_info.8539.import import java.io.FileOutputStream; import java.io.IOException; +import java.io.OutputStream; // ino.end // ino.class.CONSTANT_Long_info.21904.declaration @@ -57,7 +58,8 @@ public class CONSTANT_Long_info extends CPInfo // ino.end // ino.method.codegen.21926.definition - public void codegen(ClassFile classfile, FileOutputStream f) + @Override + public void codegen(ClassFile classfile, OutputStream f) throws IOException // ino.end // ino.method.codegen.21926.body diff --git a/src/mycompiler/mybytecode/CONSTANT_Methodref_info.java b/src/mycompiler/mybytecode/CONSTANT_Methodref_info.java index 692ef0d94..2f9790530 100755 --- a/src/mycompiler/mybytecode/CONSTANT_Methodref_info.java +++ b/src/mycompiler/mybytecode/CONSTANT_Methodref_info.java @@ -6,6 +6,7 @@ package mycompiler.mybytecode; import java.io.FileOutputStream; import java.io.IOException; // ino.end +import java.io.OutputStream; // ino.class.CONSTANT_Methodref_info.21932.declaration public class CONSTANT_Methodref_info extends CPInfo @@ -57,7 +58,8 @@ public class CONSTANT_Methodref_info extends CPInfo // ino.end // ino.method.codegen.21954.definition - public void codegen(ClassFile classfile, FileOutputStream f) + @Override + public void codegen(ClassFile classfile, OutputStream f) throws IOException // ino.end // ino.method.codegen.21954.body diff --git a/src/mycompiler/mybytecode/CONSTANT_NameAndType_info.java b/src/mycompiler/mybytecode/CONSTANT_NameAndType_info.java index 2bd63b58d..d13049be7 100755 --- a/src/mycompiler/mybytecode/CONSTANT_NameAndType_info.java +++ b/src/mycompiler/mybytecode/CONSTANT_NameAndType_info.java @@ -6,6 +6,7 @@ package mycompiler.mybytecode; import java.io.FileOutputStream; import java.io.IOException; // ino.end +import java.io.OutputStream; // ino.class.CONSTANT_NameAndType_info.21960.declaration public class CONSTANT_NameAndType_info extends CPInfo @@ -57,7 +58,8 @@ public class CONSTANT_NameAndType_info extends CPInfo // ino.end // ino.method.codegen.21982.definition - public void codegen(ClassFile classfile, FileOutputStream f) + @Override + public void codegen(ClassFile classfile, OutputStream f) throws IOException // ino.end // ino.method.codegen.21982.body diff --git a/src/mycompiler/mybytecode/CONSTANT_String_info.java b/src/mycompiler/mybytecode/CONSTANT_String_info.java index 1c36bfac2..b8ffb5980 100755 --- a/src/mycompiler/mybytecode/CONSTANT_String_info.java +++ b/src/mycompiler/mybytecode/CONSTANT_String_info.java @@ -6,6 +6,7 @@ package mycompiler.mybytecode; import java.io.FileOutputStream; import java.io.IOException; // ino.end +import java.io.OutputStream; // ino.class.CONSTANT_String_info.21988.declaration public class CONSTANT_String_info extends CPInfo @@ -35,7 +36,8 @@ public class CONSTANT_String_info extends CPInfo // ino.end // ino.method.codegen.22001.definition - public void codegen(ClassFile classfile, FileOutputStream f) + @Override + public void codegen(ClassFile classfile, OutputStream f) throws IOException // ino.end // ino.method.codegen.22001.body diff --git a/src/mycompiler/mybytecode/CONSTANT_Utf8_info.java b/src/mycompiler/mybytecode/CONSTANT_Utf8_info.java index 8425249c9..58a44c2d9 100755 --- a/src/mycompiler/mybytecode/CONSTANT_Utf8_info.java +++ b/src/mycompiler/mybytecode/CONSTANT_Utf8_info.java @@ -5,6 +5,7 @@ package mycompiler.mybytecode; // ino.module.CONSTANT_Utf8_info.8543.import import java.io.FileOutputStream; import java.io.IOException; +import java.io.OutputStream; import java.lang.reflect.Array; // ino.end @@ -36,7 +37,8 @@ public class CONSTANT_Utf8_info extends CPInfo // ino.end // ino.method.codegen.22020.definition - public void codegen(ClassFile classfile, FileOutputStream f) + @Override + public void codegen(ClassFile classfile, OutputStream f) throws IOException // ino.end // ino.method.codegen.22020.body diff --git a/src/mycompiler/mybytecode/CPInfo.java b/src/mycompiler/mybytecode/CPInfo.java index de91ff93c..9ee33ba6c 100755 --- a/src/mycompiler/mybytecode/CPInfo.java +++ b/src/mycompiler/mybytecode/CPInfo.java @@ -5,11 +5,13 @@ package mycompiler.mybytecode; // ino.module.CPInfo.8544.import import java.io.FileOutputStream; import java.io.IOException; +import java.io.OutputStream; + import org.apache.log4j.Logger; // ino.end // ino.class.CPInfo.22026.declaration -public abstract class CPInfo +public abstract class CPInfo implements ClassFileMember // ino.end // ino.class.CPInfo.22026.body { @@ -43,7 +45,8 @@ public abstract class CPInfo // ino.end // ino.method.codegen.22041.declaration - public abstract void codegen(ClassFile classfile, FileOutputStream f) + @Override + public abstract void codegen(ClassFile classfile, OutputStream f) throws IOException; // ino.end diff --git a/src/mycompiler/mybytecode/ClassFile.java b/src/mycompiler/mybytecode/ClassFile.java index 90136ede9..661eae1b1 100755 --- a/src/mycompiler/mybytecode/ClassFile.java +++ b/src/mycompiler/mybytecode/ClassFile.java @@ -2,11 +2,14 @@ package mycompiler.mybytecode; // ino.end // ino.module.ClassFile.8531.import +import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; +import java.io.OutputStream; import java.lang.reflect.Array; import java.util.Vector; + import mycompiler.myclass.ParameterList; import mycompiler.myclass.UsedId; import mycompiler.MyCompiler; @@ -16,6 +19,7 @@ import mycompiler.mystatement.Assign; import mycompiler.mystatement.Block; import mycompiler.mytype.Type; import mycompiler.SourceFile; + import org.apache.log4j.Logger; // ino.end @@ -34,6 +38,7 @@ public class ClassFile // ino.end // ino.class.ClassFile.21492.body { + //Beschreibung des Classfiles: http://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html#jvms-4.4 public boolean hamaAload0 = false; //hama: f�gt in Konstruktor und set Methode ein aload_0 ein wird f�r StoreSomethingParmCon ben�tigt // ino.attribute.codegenlog.21495.decldescription type=line @@ -794,7 +799,7 @@ public class ClassFile // ino.end // ino.method.writeInt.21669.definition - public void writeInt(FileOutputStream f, int i) + public void writeInt(OutputStream f, int i) throws IOException // ino.end // ino.method.writeInt.21669.body @@ -807,7 +812,7 @@ public class ClassFile // ino.end // ino.method.writeShort.21672.definition - public void writeShort(FileOutputStream f, short i) + public void writeShort(OutputStream f, short i) throws IOException // ino.end // ino.method.writeShort.21672.body @@ -818,7 +823,7 @@ public class ClassFile // ino.end // ino.method.writeByte.21675.definition - public void writeByte(FileOutputStream f, byte i) + public void writeByte(OutputStream f, byte i) throws IOException // ino.end // ino.method.writeByte.21675.body @@ -828,7 +833,7 @@ public class ClassFile // ino.end // ino.method.writeByteArray.21678.definition - public void writeByteArray(FileOutputStream f, byte[] b) + public void writeByteArray(OutputStream f, byte[] b) throws IOException // ino.end // ino.method.writeByteArray.21678.body @@ -836,6 +841,78 @@ public class ClassFile for(int i = 0; i < Array.getLength(b); i++) f.write(b[i]); } // ino.end + + public byte[] getBytecode() { + ByteArrayOutputStream f = new ByteArrayOutputStream(); + try { + // Schreiben der Header-Infos + writeInt(f, magic); + + writeShort(f, minor_version); + writeShort(f, major_version); + codegenlog.debug("Header: magic=" + Integer.toHexString(magic)); + codegenlog.debug("Header: minor_version=" + minor_version); + codegenlog.debug("Header: major_version=" + major_version); + codegenlog.info("Verarbeite Konstanten-Pool: " + (constant_pool.size()+1)); + + // Constant-Pool verarbeiten + writeShort(f, (short)(constant_pool.size() + 1)); + for(int i = 0; i < constant_pool.size(); i++) + { + codegenlog.debug((i+1) +". " + + constant_pool.elementAt(i).toString()); + constant_pool.elementAt(i).codegen(this, f); + } + + // Informationen ueber die Klasse selbst verarbeiten + writeShort(f, access_flags); + writeShort(f, this_class); + writeShort(f, super_class); + codegenlog.debug("Klasseninfos: access_flags=" + access_flags); + codegenlog.debug("Klasseninfos: this_class=" + this_class); + codegenlog.debug("Klasseninfos: super_class=" + super_class); + + // Interfaces verarbeiten + codegenlog.info("Verarbeite Interfaces: " + interfaces.size()); + writeShort(f, (short)interfaces.size()); + for (int i=0; i testCodegen(String sourceCode){ + MyCompilerAPI compiler = MyCompiler.getAPI(); + compiler.parse("class EmptyClass{}"); + Vector ret = null; + try { + ret = compiler.codeGeneration(null); + } catch (NullPointerException | JVMCodeException e) { + e.printStackTrace(); + TestCase.fail(); + } + TestCase.assertTrue("Es wurden keine ClassFiles generiert",ret != null && ret.size()>0); + return ret; + } + + public static Vector readFileAndTestCodegen(String fileName) throws IOException{ + return testCodegen(getFileContent(rootDirectory + fileName)); + } + + private static String getFileContent(String path)throws IOException + { + byte[] encoded = Files.readAllBytes(Paths.get(path)); + return StandardCharsets.UTF_8.decode(ByteBuffer.wrap(encoded)).toString(); + } +} diff --git a/test/bytecode/EmptyClassTest.java b/test/bytecode/EmptyClassTest.java index db89b73a1..471640ef5 100644 --- a/test/bytecode/EmptyClassTest.java +++ b/test/bytecode/EmptyClassTest.java @@ -14,15 +14,7 @@ public class EmptyClassTest extends TestCase { @Test public void test(){ - MyCompilerAPI compiler = MyCompiler.getAPI(); - compiler.parse("class EmptyClass{}"); - try { - compiler.codeGeneration(null); - } catch (NullPointerException | JVMCodeException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - assertTrue("Test erfolgreich",true); + BytecodeTester.testCodegen("class EmptyClass{}"); } } diff --git a/test/bytecode/FieldTest.jav b/test/bytecode/FieldTest.jav new file mode 100644 index 000000000..57f1614ab --- /dev/null +++ b/test/bytecode/FieldTest.jav @@ -0,0 +1,6 @@ +class FieldTest{ + String var; + String methode(String para1){ + return var; + } +} \ No newline at end of file diff --git a/test/bytecode/GeneralTest.java b/test/bytecode/GeneralTest.java new file mode 100644 index 000000000..2f9090503 --- /dev/null +++ b/test/bytecode/GeneralTest.java @@ -0,0 +1,35 @@ +package bytecode; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.util.Vector; + +import junit.framework.TestCase; + +import org.junit.Test; + +import sun.misc.IOUtils; +import mycompiler.mybytecode.ClassFile; + +public class GeneralTest extends TestCase{ + @Test + public void test(){ + Vector cfs = null; + try { + cfs = BytecodeTester.readFileAndTestCodegen("FieldTest.jav"); + } catch (IOException e) { + e.printStackTrace(); + fail(); + } + assertTrue("Es darf nur eine ClassFile erstellt werden", cfs.size()==1); + try { + FileOutputStream output = new FileOutputStream(new File(BytecodeTester.rootDirectory+"target-file")); + output.write(cfs.firstElement().getBytecode()); + } catch (IOException e) { + e.printStackTrace(); + fail(); + } + } + +} diff --git a/test/bytecode/MethodTest.java b/test/bytecode/MethodTest.java new file mode 100644 index 000000000..6df9d4199 --- /dev/null +++ b/test/bytecode/MethodTest.java @@ -0,0 +1,12 @@ +package bytecode; + +import org.junit.Test; + +public class MethodTest { + + @Test + public void test(){ + BytecodeTester.testCodegen("class MethodTest{ public void method(){} }"); + } + +} diff --git a/test/mycompiler/test/lambda/TestInterface.jav b/test/mycompiler/test/lambda/TestInterface.jav new file mode 100644 index 000000000..0adbc2a18 --- /dev/null +++ b/test/mycompiler/test/lambda/TestInterface.jav @@ -0,0 +1,3 @@ +interface TestInterface{ + +} \ No newline at end of file diff --git a/test/mycompiler/test/lambda/TestInterface.java b/test/mycompiler/test/lambda/TestInterface.java new file mode 100644 index 000000000..a73aa9520 --- /dev/null +++ b/test/mycompiler/test/lambda/TestInterface.java @@ -0,0 +1,24 @@ +package mycompiler.test.lambda; + +import java.util.HashMap; + +import mycompiler.mytest.LambdaTest; + +import org.junit.Test; + +public class TestInterface { + @Test + public void test() { + //Testet nur ob ein Interface ohne Fehler geparst und inferiert wird. + executeTest(); + } + + private static final String exampleJavFile = "TestInterface.jav"; + + private HashMap variableTypeAssumptions = new HashMap(); + + public void executeTest(){ + LambdaTest tester = new LambdaTest(exampleJavFile); + tester.runTest(); + } +} diff --git a/test/mycompiler/test/lambda/testResults/LambdaTest.log b/test/mycompiler/test/lambda/testResults/LambdaTest.log index 47aabcb4a..03bd567ce 100644 --- a/test/mycompiler/test/lambda/testResults/LambdaTest.log +++ b/test/mycompiler/test/lambda/testResults/LambdaTest.log @@ -1,165 +1,123 @@ -Class DEBUG [Typeinference] Erstellte Assumptions: this: Klasse2Method Assumptions: -[MethodAssumption: TPH B null { [(var1 = NEW Klasse1), null Return null (var1.getVar1( [ ]))], MethodAssumption: Klasse2 null { []] +Class DEBUG [Typeinference] Erstellte Assumptions: this: MatrixMethod Assumptions: +[MethodAssumption: Matrix null { []] FieldVar Assumptions: -[typinferenz.assumptions.FieldAssumption@3ea4e3ae] +[typinferenz.assumptions.FieldAssumption@cd7e6ef] LocalVar Assumptions: [] Parameter Assumptions: [] -Class DEBUG [Typeinference] Erstellte Assumptions: this: Klasse1Method Assumptions: -[MethodAssumption: int int { [null Return var1], MethodAssumption: Klasse1 null { []] -FieldVar Assumptions: -[typinferenz.assumptions.FieldAssumption@1799e2e2] -LocalVar Assumptions: -[] -Parameter Assumptions: -[] +Block DEBUG [Typeinference] Prozessing statement: null Return null (( [ f, ]) -> null { [null Return null (f.apply( [ null (this(null)), m, ]))]) +Block DEBUG [Typeinference] Prozessing statement: null Return null (f.apply( [ null (this(null)), m, ])) +Block DEBUG [Typeinference] Prozessing statement: TPH CJ Return TPH CF (f: TPH CD.apply( [ Matrix (this(null)), m: TPH CB, ])) +Block DEBUG [Typeinference] Prozessing statement: TPH CK Return TPH CE (( [ TPH CD f, ]) -> TPH CJ { [TPH CJ Return TPH CF (f: TPH CD.apply( [ Matrix (this(null)), m: TPH CB, ]))]) +Class DEBUG [Typeinference] Erstellte Constraints: TPH BZ < TPH BZ +[(TPH CG <. TPH CF), (Matrix <. TPH CH), (TPH CB <. TPH CI), (TPH CD <. FunN), ] +TPH CF < TPH CJ +Fun1< TPH CJ, TPH CD > < TPH CE +TPH CE < TPH CK +Fun1< TPH CK, TPH CB > < TPH CC +TPH CC < TPH BZ -Block DEBUG [Typeinference] Prozessing statement: (var1 = NEW Klasse1) -Block DEBUG [Typeinference] Prozessing statement: null Return null (var1.getVar1( [ ])) -Block DEBUG [Typeinference] Prozessing statement: TPH K Return TPH J (var1: TPH A.getVar1( [ ])) -Block DEBUG [Typeinference] Prozessing statement: void(var1: TPH A = NEW Klasse1) -Class DEBUG [Typeinference] Erstellte Constraints: TPH A < TPH A -[(Klasse1 <. Klasse1), (Klasse1 <. Klasse1), ] -Klasse1 < TPH A -TPH A < TPH I -[(int <. TPH J), (TPH A <. Klasse1), (int <. TPH J), (TPH A <. Klasse1), ] -TPH J < TPH K -TPH K < TPH B - -SourceFile DEBUG [Typeinference] Karthesisches Produkt der Constraints: [[(TPH A <. TPH A), (Klasse1 <. Klasse1), (Klasse1 <. TPH A), (TPH A <. TPH I), (int <. TPH J), (TPH A <. Klasse1), (TPH J <. TPH K), (TPH K <. TPH B)], [(TPH A <. TPH A), (Klasse1 <. Klasse1), (Klasse1 <. TPH A), (TPH A <. TPH I), (int <. TPH J), (TPH A <. Klasse1), (TPH J <. TPH K), (TPH K <. TPH B)], [(TPH A <. TPH A), (Klasse1 <. Klasse1), (Klasse1 <. TPH A), (TPH A <. TPH I), (int <. TPH J), (TPH A <. Klasse1), (TPH J <. TPH K), (TPH K <. TPH B)], [(TPH A <. TPH A), (Klasse1 <. Klasse1), (Klasse1 <. TPH A), (TPH A <. TPH I), (int <. TPH J), (TPH A <. Klasse1), (TPH J <. TPH K), (TPH K <. TPH B)]] -SourceFile DEBUG [Typeinference] Unifiziertes Ergebnis: [[(TPH B = int), (TPH I = Klasse1), (TPH K = int), (TPH A = Klasse1), (TPH J = int)]] +SourceFile DEBUG [Typeinference] Karthesisches Produkt der Constraints: [[(TPH BZ <. TPH BZ), (TPH CG <. TPH CF), (Matrix <. TPH CH), (TPH CB <. TPH CI), (TPH CD <. FunN), (TPH CF <. TPH CJ), (Fun1< TPH CJ, TPH CD > <. TPH CE), (TPH CE <. TPH CK), (Fun1< TPH CK, TPH CB > <. TPH CC), (TPH CC <. TPH BZ)]] +SourceFile DEBUG [Typeinference] Unifiziertes Ergebnis: [[(TPH CG <. TPH CF), (TPH CB <. TPH CI), (TPH CF <. TPH CJ), (TPH CK = Fun1< TPH CJ, FunN >), (TPH BZ = Fun1< Fun1< TPH CJ, FunN >, TPH CB >), (TPH CH = Matrix), (TPH CD = FunN), (TPH CE = Fun1< TPH CJ, FunN >), (TPH CC = Fun1< Fun1< TPH CJ, FunN >, TPH CB >)], [(TPH CG <. TPH CF), (TPH CB <. TPH CI), (TPH CF <. TPH CJ), (TPH CK = Fun1< TPH CJ, FunN >), (TPH BZ = Fun1< Fun1< TPH CJ, FunN >, TPH CB >), (TPH CH = Vector< Vector< GTV Integer > >), (TPH CD = FunN), (TPH CE = Fun1< TPH CJ, FunN >), (TPH CC = Fun1< Fun1< TPH CJ, FunN >, TPH CB >)], [(TPH CG <. TPH CF), (TPH CB <. TPH CI), (TPH CF <. TPH CJ), (TPH CK = Fun1< TPH CJ, FunN >), (TPH BZ = Fun1< Fun1< TPH CJ, FunN >, TPH CB >), (TPH CH = Vector< ? extends Vector< GTV Integer > >), (TPH CD = FunN), (TPH CE = Fun1< TPH CJ, FunN >), (TPH CC = Fun1< Fun1< TPH CJ, FunN >, TPH CB >)], [(TPH CG <. TPH CF), (TPH CB <. TPH CI), (TPH CF <. TPH CJ), (TPH CK = Fun1< TPH CJ, FunN >), (TPH BZ = Fun1< Fun1< TPH CJ, FunN >, TPH CB >), (TPH CH = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH CD = FunN), (TPH CE = Fun1< TPH CJ, FunN >), (TPH CC = Fun1< Fun1< TPH CJ, FunN >, TPH CB >)], [(TPH CG <. TPH CF), (TPH CB <. TPH CI), (TPH CF <. TPH CJ), (TPH CK = Fun1< TPH CJ, FunN >), (TPH BZ = Fun1< Fun1< TPH CJ, FunN >, TPH CB >), (TPH CH = Vector< ? extends Vector< ? super GTV Integer > >), (TPH CD = FunN), (TPH CE = Fun1< TPH CJ, FunN >), (TPH CC = Fun1< Fun1< TPH CJ, FunN >, TPH CB >)], [(TPH CG <. TPH CF), (TPH CB <. TPH CI), (TPH CF <. TPH CJ), (TPH CK = Fun1< TPH CJ, FunN >), (TPH BZ = Fun1< Fun1< TPH CJ, FunN >, TPH CB >), (TPH CH = Vector< ? super Vector< GTV Integer > >), (TPH CD = FunN), (TPH CE = Fun1< TPH CJ, FunN >), (TPH CC = Fun1< Fun1< TPH CJ, FunN >, TPH CB >)], [(TPH CG <. TPH CF), (TPH CB <. TPH CI), (TPH CF <. TPH CJ), (TPH CK = Fun1< TPH CJ, FunN >), (TPH BZ = Fun1< Fun1< TPH CJ, FunN >, TPH CB >), (TPH CH = Vector< ? super Matrix >), (TPH CD = FunN), (TPH CE = Fun1< TPH CJ, FunN >), (TPH CC = Fun1< Fun1< TPH CJ, FunN >, TPH CB >)]] SourceFile DEBUG [Typeinference] JavaFiles: -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH B = int), (TPH I = Klasse1), (TPH K = int), (TPH A = Klasse1), (TPH J = int)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH CG <. TPH CF), (TPH CB <. TPH CI), (TPH CF <. TPH CJ), (TPH CK = Fun1< TPH CJ, FunN >), (TPH BZ = Fun1< Fun1< TPH CJ, FunN >, TPH CB >), (TPH CH = Matrix), (TPH CD = FunN), (TPH CE = Fun1< TPH CJ, FunN >), (TPH CC = Fun1< Fun1< TPH CJ, FunN >, TPH CB >)] -SourceFile DEBUG [Typeinference] class Klasse2 extends Object +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Klasse1 var1; -int testMethode() -{ -var1 = new Klasse1(); -return var1.getVar1();; -} -Klasse2 Klasse2() +Fun1, CB> op = (CB m) -> { +return (FunN f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() { } } -SourceFile DEBUG [Typeinference] Unifiziertes Ergebnis: [[(TPH B = int), (TPH I = Klasse1), (TPH K = int), (TPH A = Klasse1), (TPH J = int)]] -SourceFile DEBUG [Typeinference] -JavaFiles: +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH CG <. TPH CF), (TPH CB <. TPH CI), (TPH CF <. TPH CJ), (TPH CK = Fun1< TPH CJ, FunN >), (TPH BZ = Fun1< Fun1< TPH CJ, FunN >, TPH CB >), (TPH CH = Vector< Vector< GTV Integer > >), (TPH CD = FunN), (TPH CE = Fun1< TPH CJ, FunN >), (TPH CC = Fun1< Fun1< TPH CJ, FunN >, TPH CB >)] -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH B = int), (TPH I = Klasse1), (TPH K = int), (TPH A = Klasse1), (TPH J = int)] - -SourceFile DEBUG [Typeinference] class Klasse2 extends Object +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Klasse1 var1; -int testMethode() -{ -var1 = new Klasse1(); -return var1.getVar1();; -} -Klasse2 Klasse2() +Fun1, CB> op = (CB m) -> { +return (FunN f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() { } } -SourceFile DEBUG [Typeinference] Unifiziertes Ergebnis: [[(TPH B = int), (TPH I = Klasse1), (TPH K = int), (TPH A = Klasse1), (TPH J = int)]] -SourceFile DEBUG [Typeinference] -JavaFiles: +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH CG <. TPH CF), (TPH CB <. TPH CI), (TPH CF <. TPH CJ), (TPH CK = Fun1< TPH CJ, FunN >), (TPH BZ = Fun1< Fun1< TPH CJ, FunN >, TPH CB >), (TPH CH = Vector< ? extends Vector< GTV Integer > >), (TPH CD = FunN), (TPH CE = Fun1< TPH CJ, FunN >), (TPH CC = Fun1< Fun1< TPH CJ, FunN >, TPH CB >)] -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH B = int), (TPH I = Klasse1), (TPH K = int), (TPH A = Klasse1), (TPH J = int)] - -SourceFile DEBUG [Typeinference] class Klasse2 extends Object +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Klasse1 var1; -int testMethode() -{ -var1 = new Klasse1(); -return var1.getVar1();; -} -Klasse2 Klasse2() +Fun1, CB> op = (CB m) -> { +return (FunN f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() { } } -SourceFile DEBUG [Typeinference] Unifiziertes Ergebnis: [[(TPH B = int), (TPH I = Klasse1), (TPH K = int), (TPH A = Klasse1), (TPH J = int)]] -SourceFile DEBUG [Typeinference] -JavaFiles: +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH CG <. TPH CF), (TPH CB <. TPH CI), (TPH CF <. TPH CJ), (TPH CK = Fun1< TPH CJ, FunN >), (TPH BZ = Fun1< Fun1< TPH CJ, FunN >, TPH CB >), (TPH CH = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH CD = FunN), (TPH CE = Fun1< TPH CJ, FunN >), (TPH CC = Fun1< Fun1< TPH CJ, FunN >, TPH CB >)] -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH B = int), (TPH I = Klasse1), (TPH K = int), (TPH A = Klasse1), (TPH J = int)] - -SourceFile DEBUG [Typeinference] class Klasse2 extends Object +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Klasse1 var1; -int testMethode() -{ -var1 = new Klasse1(); -return var1.getVar1();; -} -Klasse2 Klasse2() +Fun1, CB> op = (CB m) -> { +return (FunN f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() { } } -Block DEBUG [Typeinference] Prozessing statement: null Return var1 -Block DEBUG [Typeinference] Prozessing statement: TPH L Return var1: TPH D -Class DEBUG [Typeinference] Erstellte Constraints: TPH D < TPH D -TPH D < TPH L -TPH L < int +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH CG <. TPH CF), (TPH CB <. TPH CI), (TPH CF <. TPH CJ), (TPH CK = Fun1< TPH CJ, FunN >), (TPH BZ = Fun1< Fun1< TPH CJ, FunN >, TPH CB >), (TPH CH = Vector< ? extends Vector< ? super GTV Integer > >), (TPH CD = FunN), (TPH CE = Fun1< TPH CJ, FunN >), (TPH CC = Fun1< Fun1< TPH CJ, FunN >, TPH CB >)] -SourceFile DEBUG [Typeinference] Karthesisches Produkt der Constraints: [[(TPH D <. TPH D), (TPH D <. TPH L), (TPH L <. int)]] -SourceFile DEBUG [Typeinference] Unifiziertes Ergebnis: [[(TPH D = int), (TPH L = int)]] -SourceFile DEBUG [Typeinference] -JavaFiles: - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH D = int), (TPH L = int)] - -SourceFile DEBUG [Typeinference] class Klasse1 extends Object +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -int var1; -int getVar1() -{ -return var1; -} -Klasse1 Klasse1() +Fun1, CB> op = (CB m) -> { +return (FunN f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() { } } -Class DEBUG [Typeinference] Erstellte Assumptions: this: Klasse1Method Assumptions: -[MethodAssumption: int int { [null Return var1], MethodAssumption: Klasse1 null { []] -FieldVar Assumptions: -[typinferenz.assumptions.FieldAssumption@744578e0] -LocalVar Assumptions: -[] -Parameter Assumptions: -[] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH CG <. TPH CF), (TPH CB <. TPH CI), (TPH CF <. TPH CJ), (TPH CK = Fun1< TPH CJ, FunN >), (TPH BZ = Fun1< Fun1< TPH CJ, FunN >, TPH CB >), (TPH CH = Vector< ? super Vector< GTV Integer > >), (TPH CD = FunN), (TPH CE = Fun1< TPH CJ, FunN >), (TPH CC = Fun1< Fun1< TPH CJ, FunN >, TPH CB >)] -Block DEBUG [Typeinference] Prozessing statement: null Return var1 -Block DEBUG [Typeinference] Prozessing statement: TPH M Return var1: TPH F -Class DEBUG [Typeinference] Erstellte Constraints: TPH F < TPH F -TPH F < TPH M -TPH M < int - -SourceFile DEBUG [Typeinference] Karthesisches Produkt der Constraints: [[(TPH F <. TPH F), (TPH F <. TPH M), (TPH M <. int)]] -SourceFile DEBUG [Typeinference] Unifiziertes Ergebnis: [[(TPH F = int), (TPH M = int)]] -SourceFile DEBUG [Typeinference] -JavaFiles: - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH F = int), (TPH M = int)] - -SourceFile DEBUG [Typeinference] class Klasse1 extends Object +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -int var1; -int getVar1() -{ -return var1; -} -Klasse1 Klasse1() +Fun1, CB> op = (CB m) -> { +return (FunN f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH CG <. TPH CF), (TPH CB <. TPH CI), (TPH CF <. TPH CJ), (TPH CK = Fun1< TPH CJ, FunN >), (TPH BZ = Fun1< Fun1< TPH CJ, FunN >, TPH CB >), (TPH CH = Vector< ? super Matrix >), (TPH CD = FunN), (TPH CE = Fun1< TPH CJ, FunN >), (TPH CC = Fun1< Fun1< TPH CJ, FunN >, TPH CB >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1, CB> op = (CB m) -> { +return (FunN f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() { } } From 8060278e3f073ec631ac0531898c8ee591b2a345 Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Thu, 13 Mar 2014 01:21:02 +0100 Subject: [PATCH 15/79] =?UTF-8?q?Kleine=20=C3=84nderungen=20an=20Tests?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/mycompiler/mytest/LambdaTest.java | 1 + test/bytecode/BytecodeTester.java | 2 +- test/bytecode/GeneralTest.java | 2 +- test/mycompiler/test/lambda/TestInterface.jav | 8 +- .../test/lambda/testResults/LambdaTest.log | 166 +++++++----------- 5 files changed, 74 insertions(+), 105 deletions(-) diff --git a/src/mycompiler/mytest/LambdaTest.java b/src/mycompiler/mytest/LambdaTest.java index 519886f7e..43aa5e302 100755 --- a/src/mycompiler/mytest/LambdaTest.java +++ b/src/mycompiler/mytest/LambdaTest.java @@ -189,6 +189,7 @@ public class LambdaTest { }catch(Exception e){ e.printStackTrace(); assertNotNull("Fehler bei Typinferenzalgorithmus. Message: "+e.getMessage(), resultSet); + fail(); } return resultSet; } diff --git a/test/bytecode/BytecodeTester.java b/test/bytecode/BytecodeTester.java index 1fdddafb7..db64d3d87 100644 --- a/test/bytecode/BytecodeTester.java +++ b/test/bytecode/BytecodeTester.java @@ -21,7 +21,7 @@ public class BytecodeTester{ public static Vector testCodegen(String sourceCode){ MyCompilerAPI compiler = MyCompiler.getAPI(); - compiler.parse("class EmptyClass{}"); + compiler.parse(sourceCode); Vector ret = null; try { ret = compiler.codeGeneration(null); diff --git a/test/bytecode/GeneralTest.java b/test/bytecode/GeneralTest.java index 2f9090503..816ecfbf6 100644 --- a/test/bytecode/GeneralTest.java +++ b/test/bytecode/GeneralTest.java @@ -24,7 +24,7 @@ public class GeneralTest extends TestCase{ } assertTrue("Es darf nur eine ClassFile erstellt werden", cfs.size()==1); try { - FileOutputStream output = new FileOutputStream(new File(BytecodeTester.rootDirectory+"target-file")); + FileOutputStream output = new FileOutputStream(new File(BytecodeTester.rootDirectory+"FieldTest.class")); output.write(cfs.firstElement().getBytecode()); } catch (IOException e) { e.printStackTrace(); diff --git a/test/mycompiler/test/lambda/TestInterface.jav b/test/mycompiler/test/lambda/TestInterface.jav index 0adbc2a18..569e12943 100644 --- a/test/mycompiler/test/lambda/TestInterface.jav +++ b/test/mycompiler/test/lambda/TestInterface.jav @@ -1,3 +1,9 @@ interface TestInterface{ - + methode(); +} + +class TestClass implements TestInterface{ + methode(){ + return "test"; + } } \ No newline at end of file diff --git a/test/mycompiler/test/lambda/testResults/LambdaTest.log b/test/mycompiler/test/lambda/testResults/LambdaTest.log index 03bd567ce..4aa85c5a9 100644 --- a/test/mycompiler/test/lambda/testResults/LambdaTest.log +++ b/test/mycompiler/test/lambda/testResults/LambdaTest.log @@ -1,123 +1,85 @@ -Class DEBUG [Typeinference] Erstellte Assumptions: this: MatrixMethod Assumptions: -[MethodAssumption: Matrix null { []] +Class DEBUG [Typeinference] Erstellte Assumptions: this: ConstructorTest1Method Assumptions: +[MethodAssumption: ConstructorTest1 null { [no type [var], (var = int 1)]] FieldVar Assumptions: -[typinferenz.assumptions.FieldAssumption@cd7e6ef] +[] LocalVar Assumptions: [] Parameter Assumptions: [] -Block DEBUG [Typeinference] Prozessing statement: null Return null (( [ f, ]) -> null { [null Return null (f.apply( [ null (this(null)), m, ]))]) -Block DEBUG [Typeinference] Prozessing statement: null Return null (f.apply( [ null (this(null)), m, ])) -Block DEBUG [Typeinference] Prozessing statement: TPH CJ Return TPH CF (f: TPH CD.apply( [ Matrix (this(null)), m: TPH CB, ])) -Block DEBUG [Typeinference] Prozessing statement: TPH CK Return TPH CE (( [ TPH CD f, ]) -> TPH CJ { [TPH CJ Return TPH CF (f: TPH CD.apply( [ Matrix (this(null)), m: TPH CB, ]))]) -Class DEBUG [Typeinference] Erstellte Constraints: TPH BZ < TPH BZ -[(TPH CG <. TPH CF), (Matrix <. TPH CH), (TPH CB <. TPH CI), (TPH CD <. FunN), ] -TPH CF < TPH CJ -Fun1< TPH CJ, TPH CD > < TPH CE -TPH CE < TPH CK -Fun1< TPH CK, TPH CB > < TPH CC -TPH CC < TPH BZ +Block DEBUG [Typeinference] Prozessing statement: no type [var] +Block DEBUG [Typeinference] Prozessing statement: (var = int 1) +Block DEBUG [Typeinference] Prozessing statement: void(var: TPH D = int 1) +Block DEBUG [Typeinference] Prozessing statement: TPH D [var] +Class DEBUG [Typeinference] Erstellte Constraints: int < TPH D +TPH D < TPH E -SourceFile DEBUG [Typeinference] Karthesisches Produkt der Constraints: [[(TPH BZ <. TPH BZ), (TPH CG <. TPH CF), (Matrix <. TPH CH), (TPH CB <. TPH CI), (TPH CD <. FunN), (TPH CF <. TPH CJ), (Fun1< TPH CJ, TPH CD > <. TPH CE), (TPH CE <. TPH CK), (Fun1< TPH CK, TPH CB > <. TPH CC), (TPH CC <. TPH BZ)]] -SourceFile DEBUG [Typeinference] Unifiziertes Ergebnis: [[(TPH CG <. TPH CF), (TPH CB <. TPH CI), (TPH CF <. TPH CJ), (TPH CK = Fun1< TPH CJ, FunN >), (TPH BZ = Fun1< Fun1< TPH CJ, FunN >, TPH CB >), (TPH CH = Matrix), (TPH CD = FunN), (TPH CE = Fun1< TPH CJ, FunN >), (TPH CC = Fun1< Fun1< TPH CJ, FunN >, TPH CB >)], [(TPH CG <. TPH CF), (TPH CB <. TPH CI), (TPH CF <. TPH CJ), (TPH CK = Fun1< TPH CJ, FunN >), (TPH BZ = Fun1< Fun1< TPH CJ, FunN >, TPH CB >), (TPH CH = Vector< Vector< GTV Integer > >), (TPH CD = FunN), (TPH CE = Fun1< TPH CJ, FunN >), (TPH CC = Fun1< Fun1< TPH CJ, FunN >, TPH CB >)], [(TPH CG <. TPH CF), (TPH CB <. TPH CI), (TPH CF <. TPH CJ), (TPH CK = Fun1< TPH CJ, FunN >), (TPH BZ = Fun1< Fun1< TPH CJ, FunN >, TPH CB >), (TPH CH = Vector< ? extends Vector< GTV Integer > >), (TPH CD = FunN), (TPH CE = Fun1< TPH CJ, FunN >), (TPH CC = Fun1< Fun1< TPH CJ, FunN >, TPH CB >)], [(TPH CG <. TPH CF), (TPH CB <. TPH CI), (TPH CF <. TPH CJ), (TPH CK = Fun1< TPH CJ, FunN >), (TPH BZ = Fun1< Fun1< TPH CJ, FunN >, TPH CB >), (TPH CH = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH CD = FunN), (TPH CE = Fun1< TPH CJ, FunN >), (TPH CC = Fun1< Fun1< TPH CJ, FunN >, TPH CB >)], [(TPH CG <. TPH CF), (TPH CB <. TPH CI), (TPH CF <. TPH CJ), (TPH CK = Fun1< TPH CJ, FunN >), (TPH BZ = Fun1< Fun1< TPH CJ, FunN >, TPH CB >), (TPH CH = Vector< ? extends Vector< ? super GTV Integer > >), (TPH CD = FunN), (TPH CE = Fun1< TPH CJ, FunN >), (TPH CC = Fun1< Fun1< TPH CJ, FunN >, TPH CB >)], [(TPH CG <. TPH CF), (TPH CB <. TPH CI), (TPH CF <. TPH CJ), (TPH CK = Fun1< TPH CJ, FunN >), (TPH BZ = Fun1< Fun1< TPH CJ, FunN >, TPH CB >), (TPH CH = Vector< ? super Vector< GTV Integer > >), (TPH CD = FunN), (TPH CE = Fun1< TPH CJ, FunN >), (TPH CC = Fun1< Fun1< TPH CJ, FunN >, TPH CB >)], [(TPH CG <. TPH CF), (TPH CB <. TPH CI), (TPH CF <. TPH CJ), (TPH CK = Fun1< TPH CJ, FunN >), (TPH BZ = Fun1< Fun1< TPH CJ, FunN >, TPH CB >), (TPH CH = Vector< ? super Matrix >), (TPH CD = FunN), (TPH CE = Fun1< TPH CJ, FunN >), (TPH CC = Fun1< Fun1< TPH CJ, FunN >, TPH CB >)]] +SourceFile DEBUG [Typeinference] Karthesisches Produkt der Constraints: [[(int <. TPH D), (TPH D <. TPH E)]] +SourceFile DEBUG [Typeinference] Unifiziertes Ergebnis: [[(TPH E = int), (TPH D = int)]] SourceFile DEBUG [Typeinference] JavaFiles: -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH CG <. TPH CF), (TPH CB <. TPH CI), (TPH CF <. TPH CJ), (TPH CK = Fun1< TPH CJ, FunN >), (TPH BZ = Fun1< Fun1< TPH CJ, FunN >, TPH CB >), (TPH CH = Matrix), (TPH CD = FunN), (TPH CE = Fun1< TPH CJ, FunN >), (TPH CC = Fun1< Fun1< TPH CJ, FunN >, TPH CB >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH E = int), (TPH D = int)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class ConstructorTest1 extends Object { -Fun1, CB> op = (CB m) -> { -return (FunN f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() +ConstructorTest1 ConstructorTest1() +{ +int var; +var = 1; +} +} + +Class DEBUG [Typeinference] Erstellte Assumptions: this: ConstructorTest2Method Assumptions: +[MethodAssumption: void void { [(var = NEW ConstructorTest1)], MethodAssumption: ConstructorTest2 null { []] +FieldVar Assumptions: +[typinferenz.assumptions.FieldAssumption@27beded] +LocalVar Assumptions: +[] +Parameter Assumptions: +[] + +Block DEBUG [Typeinference] Prozessing statement: (var = NEW ConstructorTest1) +Block DEBUG [Typeinference] Prozessing statement: void(var: TPH B = NEW ConstructorTest1) +Class DEBUG [Typeinference] Erstellte Constraints: TPH B < TPH B +[(ConstructorTest1 <. ConstructorTest1), (ConstructorTest1 <. ConstructorTest1), ] +ConstructorTest1 < TPH B +TPH B < TPH G +void < void + +SourceFile DEBUG [Typeinference] Karthesisches Produkt der Constraints: [[(TPH B <. TPH B), (ConstructorTest1 <. ConstructorTest1), (ConstructorTest1 <. TPH B), (TPH B <. TPH G), (void <. void)], [(TPH B <. TPH B), (ConstructorTest1 <. ConstructorTest1), (ConstructorTest1 <. TPH B), (TPH B <. TPH G), (void <. void)]] +SourceFile DEBUG [Typeinference] Unifiziertes Ergebnis: [[(TPH G = ConstructorTest1), (TPH B = ConstructorTest1)]] +SourceFile DEBUG [Typeinference] +JavaFiles: + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH G = ConstructorTest1), (TPH B = ConstructorTest1)] + +SourceFile DEBUG [Typeinference] class ConstructorTest2 extends Object +{ +ConstructorTest1 var; +void method() +{ +var = new ConstructorTest1(); +} +ConstructorTest2 ConstructorTest2() { } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH CG <. TPH CF), (TPH CB <. TPH CI), (TPH CF <. TPH CJ), (TPH CK = Fun1< TPH CJ, FunN >), (TPH BZ = Fun1< Fun1< TPH CJ, FunN >, TPH CB >), (TPH CH = Vector< Vector< GTV Integer > >), (TPH CD = FunN), (TPH CE = Fun1< TPH CJ, FunN >), (TPH CC = Fun1< Fun1< TPH CJ, FunN >, TPH CB >)] +SourceFile DEBUG [Typeinference] Unifiziertes Ergebnis: [[(TPH G = ConstructorTest1), (TPH B = ConstructorTest1)]] +SourceFile DEBUG [Typeinference] +JavaFiles: -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH G = ConstructorTest1), (TPH B = ConstructorTest1)] + +SourceFile DEBUG [Typeinference] class ConstructorTest2 extends Object { -Fun1, CB> op = (CB m) -> { -return (FunN f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH CG <. TPH CF), (TPH CB <. TPH CI), (TPH CF <. TPH CJ), (TPH CK = Fun1< TPH CJ, FunN >), (TPH BZ = Fun1< Fun1< TPH CJ, FunN >, TPH CB >), (TPH CH = Vector< ? extends Vector< GTV Integer > >), (TPH CD = FunN), (TPH CE = Fun1< TPH CJ, FunN >), (TPH CC = Fun1< Fun1< TPH CJ, FunN >, TPH CB >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1, CB> op = (CB m) -> { -return (FunN f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH CG <. TPH CF), (TPH CB <. TPH CI), (TPH CF <. TPH CJ), (TPH CK = Fun1< TPH CJ, FunN >), (TPH BZ = Fun1< Fun1< TPH CJ, FunN >, TPH CB >), (TPH CH = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH CD = FunN), (TPH CE = Fun1< TPH CJ, FunN >), (TPH CC = Fun1< Fun1< TPH CJ, FunN >, TPH CB >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1, CB> op = (CB m) -> { -return (FunN f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH CG <. TPH CF), (TPH CB <. TPH CI), (TPH CF <. TPH CJ), (TPH CK = Fun1< TPH CJ, FunN >), (TPH BZ = Fun1< Fun1< TPH CJ, FunN >, TPH CB >), (TPH CH = Vector< ? extends Vector< ? super GTV Integer > >), (TPH CD = FunN), (TPH CE = Fun1< TPH CJ, FunN >), (TPH CC = Fun1< Fun1< TPH CJ, FunN >, TPH CB >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1, CB> op = (CB m) -> { -return (FunN f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH CG <. TPH CF), (TPH CB <. TPH CI), (TPH CF <. TPH CJ), (TPH CK = Fun1< TPH CJ, FunN >), (TPH BZ = Fun1< Fun1< TPH CJ, FunN >, TPH CB >), (TPH CH = Vector< ? super Vector< GTV Integer > >), (TPH CD = FunN), (TPH CE = Fun1< TPH CJ, FunN >), (TPH CC = Fun1< Fun1< TPH CJ, FunN >, TPH CB >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1, CB> op = (CB m) -> { -return (FunN f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH CG <. TPH CF), (TPH CB <. TPH CI), (TPH CF <. TPH CJ), (TPH CK = Fun1< TPH CJ, FunN >), (TPH BZ = Fun1< Fun1< TPH CJ, FunN >, TPH CB >), (TPH CH = Vector< ? super Matrix >), (TPH CD = FunN), (TPH CE = Fun1< TPH CJ, FunN >), (TPH CC = Fun1< Fun1< TPH CJ, FunN >, TPH CB >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1, CB> op = (CB m) -> { -return (FunN f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() +ConstructorTest1 var; +void method() +{ +var = new ConstructorTest1(); +} +ConstructorTest2 ConstructorTest2() { } } From 977e7778782c4c86170f2ece13866eaaebb9bb0a Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Thu, 13 Mar 2014 01:21:52 +0100 Subject: [PATCH 16/79] =?UTF-8?q?Starte=20mit=20der=20Einf=C3=BChrung=20vo?= =?UTF-8?q?n=20Interfaces?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/mycompiler/myclass/Interface.java | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 src/mycompiler/myclass/Interface.java diff --git a/src/mycompiler/myclass/Interface.java b/src/mycompiler/myclass/Interface.java new file mode 100644 index 000000000..c5915b59e --- /dev/null +++ b/src/mycompiler/myclass/Interface.java @@ -0,0 +1,23 @@ +package mycompiler.myclass; + +import java.util.Vector; + +import mycompiler.mymodifier.Modifiers; +import mycompiler.mytype.Type; + +/** + * Ein Interface ist eine abstrakte Klasse, erbt daher von Class + * @author janulrich + * + */ +public class Interface extends Class { + + public Interface(String name, Modifiers mod, ClassBody cb, Vector ct, + Vector usedIdsToCheck, UsedId superclass, + Vector superif, Vector paralist) { + super(name, mod, cb, ct, usedIdsToCheck, superclass, superif, paralist); + } + + + +} From 40346b2a0b331be78e458cbc7b917620705b11f3 Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Fri, 14 Mar 2014 14:09:03 +0100 Subject: [PATCH 17/79] =?UTF-8?q?Neue=20Klasse=20f=C3=BCr=20Interface=20ei?= =?UTF-8?q?ngef=C3=BChrt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/mycompiler/myparser/JavaParser.jay | 4 +- src/mycompiler/myclass/Interface.java | 7 +- src/mycompiler/myinterface/InterfaceBody.java | 1 - src/mycompiler/myparser/JavaParser.java | 2379 +-- src/mycompiler/myparser/JavaParser.jay | 4 +- .../test/lambda/testResults/LambdaTest.log | 166 +- tools/y.output | 13870 ++++++++-------- 7 files changed, 8477 insertions(+), 7954 deletions(-) diff --git a/bin/mycompiler/myparser/JavaParser.jay b/bin/mycompiler/myparser/JavaParser.jay index 8b53e82f8..27d756b10 100755 --- a/bin/mycompiler/myparser/JavaParser.jay +++ b/bin/mycompiler/myparser/JavaParser.jay @@ -394,12 +394,12 @@ typedeclaration :classdeclaration { $$=$1; } -/* | interfacedeclaration + | interfacedeclaration { // SCJU: Interface $$=$1; } -*/ + qualifiedname : name '.' IDENTIFIER { diff --git a/src/mycompiler/myclass/Interface.java b/src/mycompiler/myclass/Interface.java index c5915b59e..4434b55bd 100644 --- a/src/mycompiler/myclass/Interface.java +++ b/src/mycompiler/myclass/Interface.java @@ -12,12 +12,9 @@ import mycompiler.mytype.Type; */ public class Interface extends Class { - public Interface(String name, Modifiers mod, ClassBody cb, Vector ct, - Vector usedIdsToCheck, UsedId superclass, - Vector superif, Vector paralist) { - super(name, mod, cb, ct, usedIdsToCheck, superclass, superif, paralist); + public Interface(String name){ + super(name); } - } diff --git a/src/mycompiler/myinterface/InterfaceBody.java b/src/mycompiler/myinterface/InterfaceBody.java index 54d904eaa..35123ef21 100755 --- a/src/mycompiler/myinterface/InterfaceBody.java +++ b/src/mycompiler/myinterface/InterfaceBody.java @@ -9,7 +9,6 @@ import mycompiler.myclass.Field; import mycompiler.mybytecode.ClassFile; import mycompiler.myclass.Constant; -import mycompiler.myclass.FieldDecl; import mycompiler.myclass.Method; import mycompiler.myexception.JVMCodeException; import mycompiler.mymodifier.Modifiers; diff --git a/src/mycompiler/myparser/JavaParser.java b/src/mycompiler/myparser/JavaParser.java index a0406caf7..d368209d8 100644 --- a/src/mycompiler/myparser/JavaParser.java +++ b/src/mycompiler/myparser/JavaParser.java @@ -266,7 +266,7 @@ public Vector testPair = new Vector(); */ //t protected jay.yydebug.yyDebug yydebug; - protected static final int yyFinal = 8; + protected static final int yyFinal = 9; //t public static final String yyRule [] = { //t "$accept : compilationunit", //t "compilationunit : typedeclarations", @@ -279,6 +279,7 @@ public Vector testPair = new Vector(); //t "name : qualifiedname", //t "name : simplename", //t "typedeclaration : classdeclaration", +//t "typedeclaration : interfacedeclaration", //t "qualifiedname : name '.' IDENTIFIER", //t "importqualifiedname : name '.' IDENTIFIER", //t "importqualifiedname : name '.' '*'", @@ -812,6 +813,13 @@ case 10: } break; case 11: + // line 398 "./../src/mycompiler/myparser/JavaParser.jay" + { + /* SCJU: Interface*/ + yyVal=((Interface)yyVals[0+yyTop]); + } + break; +case 12: // line 405 "./../src/mycompiler/myparser/JavaParser.jay" { ((UsedId)yyVals[-2+yyTop]).set_Name(((Token)yyVals[0+yyTop]).getLexem()); @@ -819,7 +827,7 @@ case 11: yyVal=((UsedId)yyVals[-2+yyTop]); } break; -case 12: +case 13: // line 412 "./../src/mycompiler/myparser/JavaParser.jay" { ((UsedId)yyVals[-2+yyTop]).set_Name(((Token)yyVals[0+yyTop]).getLexem()); @@ -827,7 +835,7 @@ case 12: yyVal=((UsedId)yyVals[-2+yyTop]); } break; -case 13: +case 14: // line 418 "./../src/mycompiler/myparser/JavaParser.jay" { ((UsedId)yyVals[-2+yyTop]).set_Name("*"); @@ -835,7 +843,7 @@ case 13: yyVal=((UsedId)yyVals[-2+yyTop]); } break; -case 14: +case 15: // line 426 "./../src/mycompiler/myparser/JavaParser.jay" { UsedId UI = new UsedId(((Token)yyVals[0+yyTop]).getOffset()); @@ -844,7 +852,7 @@ case 14: yyVal = UI; } break; -case 15: +case 16: // line 434 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Um das hier uebersichtlicher zu halten,*/ @@ -863,7 +871,7 @@ case 15: this.initUsedIdsToCheck(); } break; -case 16: +case 17: // line 451 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = new Class(((ClassAndParameter)yyVals[-1+yyTop]).getName(), ((Modifiers)yyVals[-3+yyTop]), ((ClassBody)yyVals[0+yyTop]), containedTypes,usedIdsToCheck, null, null, ((ClassAndParameter)yyVals[-1+yyTop]).getParaVector()); @@ -871,7 +879,7 @@ case 16: this.initUsedIdsToCheck(); } break; -case 17: +case 18: // line 457 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = new Class(((ClassAndParameter)yyVals[-2+yyTop]).getName(), null, ((ClassBody)yyVals[0+yyTop]), containedTypes,usedIdsToCheck, ((UsedId)yyVals[-1+yyTop]), null, ((ClassAndParameter)yyVals[-2+yyTop]).getParaVector()); @@ -879,7 +887,7 @@ case 17: this.initUsedIdsToCheck(); } break; -case 18: +case 19: // line 463 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = new Class(((ClassAndParameter)yyVals[-2+yyTop]).getName(), ((Modifiers)yyVals[-4+yyTop]), ((ClassBody)yyVals[0+yyTop]), containedTypes, usedIdsToCheck, ((UsedId)yyVals[-1+yyTop]), null, ((ClassAndParameter)yyVals[-2+yyTop]).getParaVector()); @@ -887,7 +895,7 @@ case 18: this.initUsedIdsToCheck(); } break; -case 19: +case 20: // line 470 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = new Class(((ClassAndParameter)yyVals[-2+yyTop]).getName(), null, ((ClassBody)yyVals[0+yyTop]), containedTypes, usedIdsToCheck, null, ((InterfaceList)yyVals[-1+yyTop]).getVector(), ((ClassAndParameter)yyVals[-2+yyTop]).getParaVector()); @@ -895,7 +903,7 @@ case 19: this.initUsedIdsToCheck(); } break; -case 20: +case 21: // line 476 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = new Class(((ClassAndParameter)yyVals[-2+yyTop]).getName(), ((Modifiers)yyVals[-4+yyTop]), ((ClassBody)yyVals[0+yyTop]), containedTypes, usedIdsToCheck, null, ((InterfaceList)yyVals[-1+yyTop]).getVector(), ((ClassAndParameter)yyVals[-2+yyTop]).getParaVector()); @@ -903,7 +911,7 @@ case 20: this.initUsedIdsToCheck(); } break; -case 21: +case 22: // line 482 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = new Class(((ClassAndParameter)yyVals[-3+yyTop]).getName(), null, ((ClassBody)yyVals[0+yyTop]), containedTypes,usedIdsToCheck, ((UsedId)yyVals[-2+yyTop]), ((InterfaceList)yyVals[-1+yyTop]).getVector(), ((ClassAndParameter)yyVals[-3+yyTop]).getParaVector()); @@ -911,7 +919,7 @@ case 21: this.initUsedIdsToCheck(); } break; -case 22: +case 23: // line 488 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = new Class(((ClassAndParameter)yyVals[-3+yyTop]).getName(), ((Modifiers)yyVals[-5+yyTop]), ((ClassBody)yyVals[0+yyTop]), containedTypes, usedIdsToCheck, ((UsedId)yyVals[-2+yyTop]), ((InterfaceList)yyVals[-1+yyTop]).getVector(), ((ClassAndParameter)yyVals[-3+yyTop]).getParaVector()); @@ -919,7 +927,7 @@ case 22: this.initUsedIdsToCheck(); } break; -case 23: +case 24: // line 495 "./../src/mycompiler/myparser/JavaParser.jay" { /* HOTI*/ @@ -927,13 +935,13 @@ case 23: yyVal = new InterfaceAndParameter(((Token)yyVals[0+yyTop]).getLexem()); } break; -case 24: +case 25: // line 501 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = new InterfaceAndParameter(((Token)yyVals[-3+yyTop]).getLexem(), ((ParaList)yyVals[-1+yyTop])); } break; -case 25: +case 26: // line 506 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Hilfskonstrukt, um die Grammatik ueberschaubar zu halten*/ @@ -941,13 +949,13 @@ case 25: yyVal = new ClassAndParameter(((Token)yyVals[0+yyTop]).getLexem()); } break; -case 26: +case 27: // line 512 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = new ClassAndParameter(((Token)yyVals[-3+yyTop]).getLexem(), ((ParaList)yyVals[-1+yyTop])); } break; -case 27: +case 28: // line 517 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Interface*/ @@ -959,7 +967,7 @@ case 27: yyVal = ic; } break; -case 28: +case 29: // line 527 "./../src/mycompiler/myparser/JavaParser.jay" { Interface ic = new Interface(((InterfaceAndParameter)yyVals[-1+yyTop]).getName(), ((Modifiers)yyVals[-3+yyTop])); @@ -970,7 +978,7 @@ case 28: yyVal = ic; } break; -case 29: +case 30: // line 536 "./../src/mycompiler/myparser/JavaParser.jay" { Interface ic = new Interface(((InterfaceAndParameter)yyVals[-2+yyTop]).getName()); @@ -982,7 +990,7 @@ case 29: yyVal = ic; } break; -case 30: +case 31: // line 546 "./../src/mycompiler/myparser/JavaParser.jay" { Interface ic = new Interface(((InterfaceAndParameter)yyVals[-2+yyTop]).getName(), ((Modifiers)yyVals[-4+yyTop])); @@ -994,7 +1002,7 @@ case 30: yyVal = ic; } break; -case 31: +case 32: // line 557 "./../src/mycompiler/myparser/JavaParser.jay" { ParaList pl = new ParaList(); @@ -1007,7 +1015,7 @@ case 31: yyVal = pl; } break; -case 32: +case 33: // line 568 "./../src/mycompiler/myparser/JavaParser.jay" { ParaList pl = new ParaList(); @@ -1018,7 +1026,7 @@ case 32: yyVal = pl; } break; -case 33: +case 34: // line 577 "./../src/mycompiler/myparser/JavaParser.jay" { ParaList pl = new ParaList(); @@ -1026,7 +1034,7 @@ case 33: yyVal = pl; } break; -case 34: +case 35: // line 583 "./../src/mycompiler/myparser/JavaParser.jay" { @@ -1040,7 +1048,7 @@ case 34: yyVal=((ParaList)yyVals[-2+yyTop]); } break; -case 35: +case 36: // line 596 "./../src/mycompiler/myparser/JavaParser.jay" { RefType t = new RefType( ((Token)yyVals[-3+yyTop]).getLexem() ,((Token)yyVals[-3+yyTop]).getOffset() ); @@ -1050,14 +1058,14 @@ case 35: yyVal=((ParaList)yyVals[-5+yyTop]); } break; -case 36: +case 37: // line 604 "./../src/mycompiler/myparser/JavaParser.jay" { ((ParaList)yyVals[-2+yyTop]).getParalist().addElement(((WildcardType)yyVals[0+yyTop])); yyVal=((ParaList)yyVals[-2+yyTop]); } break; -case 37: +case 38: // line 610 "./../src/mycompiler/myparser/JavaParser.jay" { /*Luar 29.11.06 Offset auf -1, da keine Angabe vorhanden*/ @@ -1065,34 +1073,34 @@ case 37: yyVal = wc; } break; -case 38: +case 39: // line 616 "./../src/mycompiler/myparser/JavaParser.jay" { ExtendsWildcardType ewc = new ExtendsWildcardType(((Token)yyVals[-1+yyTop]).getOffset(),((RefType)yyVals[0+yyTop])); yyVal = ewc; } break; -case 39: +case 40: // line 621 "./../src/mycompiler/myparser/JavaParser.jay" { SuperWildcardType swc = new SuperWildcardType(((Token)yyVals[-1+yyTop]).getOffset(),((RefType)yyVals[0+yyTop])); yyVal = swc; } break; -case 40: +case 41: // line 627 "./../src/mycompiler/myparser/JavaParser.jay" { ClassBody CB = new ClassBody(); yyVal = CB; } break; -case 41: +case 42: // line 633 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = ((ClassBody)yyVals[-1+yyTop]); } break; -case 42: +case 43: // line 638 "./../src/mycompiler/myparser/JavaParser.jay" { Modifiers Mod = new Modifiers(); @@ -1100,20 +1108,20 @@ case 42: yyVal = Mod; } break; -case 43: +case 44: // line 644 "./../src/mycompiler/myparser/JavaParser.jay" { ((Modifiers)yyVals[-1+yyTop]).addModifier(((Modifier)yyVals[0+yyTop])); yyVal = ((Modifiers)yyVals[-1+yyTop]); } break; -case 44: +case 45: // line 650 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = ((UsedId)yyVals[0+yyTop]); } break; -case 45: +case 46: // line 655 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Interface*/ @@ -1122,27 +1130,27 @@ case 45: yyVal = il; } break; -case 46: +case 47: // line 662 "./../src/mycompiler/myparser/JavaParser.jay" { ((InterfaceList)yyVals[-2+yyTop]).addInterface(((UsedId)yyVals[0+yyTop])); yyVal = ((InterfaceList)yyVals[-2+yyTop]); } break; -case 47: +case 48: // line 668 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Interface*/ yyVal = new InterfaceBody(); } break; -case 48: +case 49: // line 673 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = ((InterfaceBody)yyVals[-1+yyTop]); } break; -case 49: +case 50: // line 680 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Interface*/ @@ -1151,14 +1159,14 @@ case 49: yyVal = il; } break; -case 50: +case 51: // line 687 "./../src/mycompiler/myparser/JavaParser.jay" { ((InterfaceList)yyVals[-2+yyTop]).addInterface(((UsedId)yyVals[0+yyTop])); yyVal = ((InterfaceList)yyVals[-2+yyTop]); } break; -case 51: +case 52: // line 694 "./../src/mycompiler/myparser/JavaParser.jay" { ClassBody CB = new ClassBody(); @@ -1166,55 +1174,55 @@ case 51: yyVal=CB; } break; -case 52: +case 53: // line 700 "./../src/mycompiler/myparser/JavaParser.jay" { ((ClassBody)yyVals[-1+yyTop]).addField(((Field)yyVals[0+yyTop])); yyVal = ((ClassBody)yyVals[-1+yyTop]); } break; -case 53: +case 54: // line 707 "./../src/mycompiler/myparser/JavaParser.jay" { Public Pub = new Public(); yyVal=Pub; } break; -case 54: +case 55: // line 712 "./../src/mycompiler/myparser/JavaParser.jay" { Protected Pro = new Protected(); yyVal=Pro; } break; -case 55: +case 56: // line 717 "./../src/mycompiler/myparser/JavaParser.jay" { Private Pri = new Private(); yyVal=Pri; } break; -case 56: +case 57: // line 722 "./../src/mycompiler/myparser/JavaParser.jay" { Static Sta = new Static(); yyVal=Sta; } break; -case 57: +case 58: // line 727 "./../src/mycompiler/myparser/JavaParser.jay" { Abstract Abs = new Abstract(); yyVal=Abs; } break; -case 58: +case 59: // line 732 "./../src/mycompiler/myparser/JavaParser.jay" { Final fin = new Final(); yyVal = fin; } break; -case 59: +case 60: // line 738 "./../src/mycompiler/myparser/JavaParser.jay" { /*PL 05-07-30 eingefuegt containedTypes ANFANG*/ @@ -1229,7 +1237,7 @@ case 59: yyVal = ((UsedId)yyVals[0+yyTop]); } break; -case 60: +case 61: // line 753 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Interface*/ @@ -1238,39 +1246,39 @@ case 60: yyVal = ib; } break; -case 61: +case 62: // line 760 "./../src/mycompiler/myparser/JavaParser.jay" { ((InterfaceBody)yyVals[-1+yyTop]).addElement(((Field)yyVals[0+yyTop])); yyVal = ((InterfaceBody)yyVals[-1+yyTop]); } break; -case 62: +case 63: // line 766 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Interfaces*/ yyVal = ((UsedId)yyVals[0+yyTop]); } break; -case 63: +case 64: // line 772 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Field)yyVals[0+yyTop]); } break; -case 64: +case 65: // line 777 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Method)yyVals[0+yyTop]); } break; -case 65: +case 66: // line 781 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Field)yyVals[0+yyTop]); } break; -case 66: +case 67: // line 786 "./../src/mycompiler/myparser/JavaParser.jay" { if (((ParaList)yyVals[0+yyTop]) != null) { @@ -1282,42 +1290,42 @@ case 66: yyVal=((UsedId)yyVals[-1+yyTop]); } break; -case 67: +case 68: // line 797 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = null; } break; -case 68: +case 69: // line 799 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = ((ParaList)yyVals[-1+yyTop]); } break; -case 69: +case 70: // line 804 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Interfaces, Spezialform Konstantendef.*/ yyVal = ((Constant)yyVals[0+yyTop]); } break; -case 70: +case 71: // line 809 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = ((Method)yyVals[0+yyTop]); } break; -case 71: +case 72: // line 814 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Field)yyVals[0+yyTop]); } break; -case 72: +case 73: // line 818 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Method)yyVals[0+yyTop]); } break; -case 73: +case 74: // line 823 "./../src/mycompiler/myparser/JavaParser.jay" { Method STAT = new Method(((Token)yyVals[-1+yyTop]).getOffset()); @@ -1332,14 +1340,14 @@ case 73: yyVal=STAT; } break; -case 74: +case 75: // line 837 "./../src/mycompiler/myparser/JavaParser.jay" { ((Constructor)yyVals[-1+yyTop]).set_Block(((Block)yyVals[0+yyTop])); yyVal = ((Constructor)yyVals[-1+yyTop]); } break; -case 75: +case 76: // line 842 "./../src/mycompiler/myparser/JavaParser.jay" { ((Constructor)yyVals[-1+yyTop]).set_Block(((Block)yyVals[0+yyTop])); @@ -1347,7 +1355,7 @@ case 75: yyVal = ((Constructor)yyVals[-1+yyTop]); } break; -case 76: +case 77: // line 849 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Interface*/ @@ -1357,14 +1365,14 @@ case 76: yyVal = c; } break; -case 77: +case 78: // line 858 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Interface*/ yyVal = ((Method)yyVals[-1+yyTop]); } break; -case 78: +case 79: // line 871 "./../src/mycompiler/myparser/JavaParser.jay" { FieldDeclaration ret = new FieldDeclaration(((DeclId)yyVals[-2+yyTop]).getOffset()); @@ -1373,26 +1381,26 @@ case 78: yyVal=ret; } break; -case 79: +case 80: // line 879 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((FieldDeclaration)yyVals[-1+yyTop]); } break; -case 80: +case 81: // line 883 "./../src/mycompiler/myparser/JavaParser.jay" { ((FieldDeclaration)yyVals[0+yyTop]).setType(((Type)yyVals[-1+yyTop])); yyVal=((FieldDeclaration)yyVals[0+yyTop]); } break; -case 81: +case 82: // line 889 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((FieldDeclaration)yyVals[-1+yyTop]); } break; -case 82: +case 83: // line 894 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("T->Parser->fielddeclaration ...: type " + ((Type)yyVals[-2+yyTop])); @@ -1400,7 +1408,7 @@ case 82: yyVal = ((FieldDeclaration)yyVals[-1+yyTop]); } break; -case 83: +case 84: // line 901 "./../src/mycompiler/myparser/JavaParser.jay" { ((FieldDeclaration)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); @@ -1411,27 +1419,27 @@ case 83: yyVal = ((FieldDeclaration)yyVals[-1+yyTop]); } break; -case 84: +case 85: // line 911 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[-1+yyTop]).set_Block(((Block)yyVals[0+yyTop])); yyVal=((Method)yyVals[-1+yyTop]); } break; -case 85: +case 86: // line 918 "./../src/mycompiler/myparser/JavaParser.jay" { Block Bl = new Block(); yyVal=Bl; } break; -case 86: +case 87: // line 924 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[-1+yyTop]); } break; -case 87: +case 88: // line 929 "./../src/mycompiler/myparser/JavaParser.jay" { Constructor CON = new Constructor(null); /*TODO: Der Parser kann sowieso nicht zwischen einem Konstruktor und einer Methode unterscheiden. Das hier kann wegfallen...*/ @@ -1441,7 +1449,7 @@ case 87: yyVal=CON; } break; -case 88: +case 89: // line 937 "./../src/mycompiler/myparser/JavaParser.jay" { Constructor CONpara = new Constructor(null); @@ -1452,14 +1460,14 @@ case 88: yyVal=CONpara; } break; -case 89: +case 90: // line 947 "./../src/mycompiler/myparser/JavaParser.jay" { Block CBL = new Block(); yyVal=CBL; } break; -case 90: +case 91: // line 952 "./../src/mycompiler/myparser/JavaParser.jay" { Block CBLexpl = new Block(); @@ -1467,13 +1475,13 @@ case 90: yyVal=CBLexpl; } break; -case 91: +case 92: // line 958 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[-1+yyTop]); } break; -case 92: +case 93: // line 962 "./../src/mycompiler/myparser/JavaParser.jay" { Block CBes = new Block(); @@ -1485,7 +1493,7 @@ case 92: yyVal=CBes; } break; -case 93: +case 94: // line 973 "./../src/mycompiler/myparser/JavaParser.jay" { ExceptionList EL = new ExceptionList(); @@ -1493,13 +1501,13 @@ case 93: yyVal=EL; } break; -case 94: +case 95: // line 980 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = ((GenericTypeVar)yyVals[0+yyTop]); } break; -case 95: +case 96: // line 985 "./../src/mycompiler/myparser/JavaParser.jay" { ParaList p = new ParaList(); @@ -1507,20 +1515,20 @@ case 95: yyVal=p; } break; -case 96: +case 97: // line 991 "./../src/mycompiler/myparser/JavaParser.jay" { ((ParaList)yyVals[-2+yyTop]).add_ParaList(((GenericTypeVar)yyVals[0+yyTop])); yyVal=((ParaList)yyVals[-2+yyTop]); } break; -case 97: +case 98: // line 998 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=new GenericTypeVar(((Token)yyVals[0+yyTop]).getLexem(),((Token)yyVals[0+yyTop]).getOffset()); } break; -case 98: +case 99: // line 1002 "./../src/mycompiler/myparser/JavaParser.jay" { BoundedGenericTypeVar gtv=new BoundedGenericTypeVar(((Token)yyVals[-2+yyTop]).getLexem(),((Token)yyVals[-2+yyTop]).getOffset()); @@ -1528,7 +1536,7 @@ case 98: yyVal=gtv; } break; -case 99: +case 100: // line 1009 "./../src/mycompiler/myparser/JavaParser.jay" { Vector vec=new Vector(); @@ -1537,7 +1545,7 @@ case 99: yyVal=vec; } break; -case 100: +case 101: // line 1016 "./../src/mycompiler/myparser/JavaParser.jay" { ((Vector)yyVals[-2+yyTop]).addElement(((RefType)yyVals[0+yyTop])); @@ -1545,7 +1553,7 @@ case 100: yyVal=((Vector)yyVals[-2+yyTop]); } break; -case 101: +case 102: // line 1023 "./../src/mycompiler/myparser/JavaParser.jay" { Vector vec=new Vector(); @@ -1553,14 +1561,14 @@ case 101: yyVal=vec; } break; -case 102: +case 103: // line 1029 "./../src/mycompiler/myparser/JavaParser.jay" { ((Vector)yyVals[-2+yyTop]).addElement(((GenericTypeVar)yyVals[0+yyTop])); yyVal=((Vector)yyVals[-2+yyTop]); } break; -case 103: +case 104: // line 1037 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[0+yyTop]).setType(((Type)yyVals[-1+yyTop])); @@ -1568,14 +1576,14 @@ case 103: yyVal=((Method)yyVals[0+yyTop]); } break; -case 104: +case 105: // line 1043 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[0+yyTop]).setType(((Type)yyVals[-1+yyTop])); yyVal=((Method)yyVals[0+yyTop]); } break; -case 105: +case 106: // line 1048 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-2+yyTop])); @@ -1583,7 +1591,7 @@ case 105: yyVal=((Method)yyVals[0+yyTop]); } break; -case 106: +case 107: // line 1054 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-5+yyTop])); @@ -1592,7 +1600,7 @@ case 106: yyVal=((Method)yyVals[0+yyTop]); } break; -case 107: +case 108: // line 1061 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); @@ -1600,7 +1608,7 @@ case 107: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 108: +case 109: // line 1067 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[-1+yyTop]).setGenericMethodParameters(((Vector)yyVals[-4+yyTop])); @@ -1609,7 +1617,7 @@ case 108: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 109: +case 110: // line 1074 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-3+yyTop])); @@ -1618,7 +1626,7 @@ case 109: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 110: +case 111: // line 1081 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-6+yyTop])); @@ -1628,7 +1636,7 @@ case 110: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 111: +case 112: // line 1089 "./../src/mycompiler/myparser/JavaParser.jay" { Void Voit = new Void(((Token)yyVals[-1+yyTop]).getOffset()); @@ -1636,7 +1644,7 @@ case 111: yyVal=((Method)yyVals[0+yyTop]); } break; -case 112: +case 113: // line 1095 "./../src/mycompiler/myparser/JavaParser.jay" { Void voit = new Void(((Token)yyVals[-1+yyTop]).getOffset()); @@ -1645,7 +1653,7 @@ case 112: yyVal=((Method)yyVals[0+yyTop]); } break; -case 113: +case 114: // line 1102 "./../src/mycompiler/myparser/JavaParser.jay" { Void voyt = new Void(((Token)yyVals[-2+yyTop]).getOffset()); @@ -1654,7 +1662,7 @@ case 113: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 114: +case 115: // line 1109 "./../src/mycompiler/myparser/JavaParser.jay" { Void voyd = new Void(((Token)yyVals[-2+yyTop]).getOffset()); @@ -1664,7 +1672,7 @@ case 114: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 115: +case 116: // line 1117 "./../src/mycompiler/myparser/JavaParser.jay" { Void Voit = new Void(((Token)yyVals[-1+yyTop]).getOffset()); @@ -1673,7 +1681,7 @@ case 115: yyVal=((Method)yyVals[0+yyTop]); } break; -case 116: +case 117: // line 1124 "./../src/mycompiler/myparser/JavaParser.jay" { Void voit = new Void(((Token)yyVals[-1+yyTop]).getOffset()); @@ -1683,7 +1691,7 @@ case 116: yyVal=((Method)yyVals[0+yyTop]); } break; -case 117: +case 118: // line 1132 "./../src/mycompiler/myparser/JavaParser.jay" { Void voyt = new Void(((Token)yyVals[-2+yyTop]).getOffset()); @@ -1693,7 +1701,7 @@ case 117: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 118: +case 119: // line 1140 "./../src/mycompiler/myparser/JavaParser.jay" { Void voyd = new Void(((Token)yyVals[-2+yyTop]).getOffset()); @@ -1704,14 +1712,14 @@ case 118: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 119: +case 120: // line 1150 "./../src/mycompiler/myparser/JavaParser.jay" { /*auskommentiert von Andreas Stadelmeier (a10023) $1.setType(TypePlaceholder.fresh()); */ yyVal=((Method)yyVals[0+yyTop]); } break; -case 120: +case 121: // line 1155 "./../src/mycompiler/myparser/JavaParser.jay" { /*auskommentiert von Andreas Stadelmeier (a10023) $4.setType(TypePlaceholder.fresh());*/ @@ -1719,7 +1727,7 @@ case 120: yyVal=((Method)yyVals[0+yyTop]); } break; -case 121: +case 122: // line 1162 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-1+yyTop])); @@ -1727,7 +1735,7 @@ case 121: yyVal=((Method)yyVals[0+yyTop]); } break; -case 122: +case 123: // line 1168 "./../src/mycompiler/myparser/JavaParser.jay" { /*auskommentiert von Andreas Stadelmeier (a10023) $1.setType(TypePlaceholder.fresh());*/ @@ -1735,7 +1743,7 @@ case 122: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 123: +case 124: // line 1174 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-2+yyTop])); @@ -1744,31 +1752,31 @@ case 123: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 124: +case 125: // line 1183 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((BaseType)yyVals[0+yyTop]); } break; -case 125: +case 126: // line 1187 "./../src/mycompiler/myparser/JavaParser.jay" { ((BaseType)yyVals[-2+yyTop]).setArray(true); } break; -case 126: +case 127: // line 1191 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((RefType)yyVals[0+yyTop]); } break; -case 127: +case 128: // line 1195 "./../src/mycompiler/myparser/JavaParser.jay" { ((RefType)yyVals[-2+yyTop]).setArray(true); } break; -case 128: +case 129: // line 1199 "./../src/mycompiler/myparser/JavaParser.jay" { FieldDeclaration IVD = new FieldDeclaration(((DeclId)yyVals[0+yyTop]).getOffset()); @@ -1777,20 +1785,20 @@ case 128: yyVal = IVD; } break; -case 129: +case 130: // line 1206 "./../src/mycompiler/myparser/JavaParser.jay" { ((FieldDeclaration)yyVals[-2+yyTop]).getDeclIdVector().addElement(((DeclId)yyVals[0+yyTop])); yyVal=((FieldDeclaration)yyVals[-2+yyTop]); } break; -case 130: +case 131: // line 1212 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[0+yyTop]); } break; -case 131: +case 132: // line 1217 "./../src/mycompiler/myparser/JavaParser.jay" { Block Blstat = new Block(); @@ -1798,14 +1806,14 @@ case 131: yyVal=Blstat; } break; -case 132: +case 133: // line 1224 "./../src/mycompiler/myparser/JavaParser.jay" { ((Block)yyVals[-1+yyTop]).set_Statement(((Statement)yyVals[0+yyTop])); yyVal=((Block)yyVals[-1+yyTop]); } break; -case 133: +case 134: // line 1230 "./../src/mycompiler/myparser/JavaParser.jay" { ParameterList PL = new ParameterList(); @@ -1813,21 +1821,21 @@ case 133: yyVal = PL; } break; -case 134: +case 135: // line 1236 "./../src/mycompiler/myparser/JavaParser.jay" { ((ParameterList)yyVals[-2+yyTop]).set_AddParameter(((FormalParameter)yyVals[0+yyTop])); yyVal = ((ParameterList)yyVals[-2+yyTop]); } break; -case 135: +case 136: // line 1242 "./../src/mycompiler/myparser/JavaParser.jay" { This THCON = new This(((Token)yyVals[-3+yyTop]).getOffset(),((Token)yyVals[-3+yyTop]).getLexem().length()); yyVal=THCON; } break; -case 136: +case 137: // line 1247 "./../src/mycompiler/myparser/JavaParser.jay" { This THCONargl = new This(((Token)yyVals[-4+yyTop]).getOffset(),((Token)yyVals[-4+yyTop]).getLexem().length()); @@ -1835,7 +1843,7 @@ case 136: yyVal=THCONargl; } break; -case 137: +case 138: // line 1256 "./../src/mycompiler/myparser/JavaParser.jay" { RefType RT = new RefType(-1); @@ -1844,7 +1852,7 @@ case 137: yyVal=RT; } break; -case 138: +case 139: // line 1263 "./../src/mycompiler/myparser/JavaParser.jay" { ((RefType)yyVals[-2+yyTop]).set_UsedId(((UsedId)yyVals[0+yyTop])); @@ -1852,7 +1860,7 @@ case 138: yyVal=((RefType)yyVals[-2+yyTop]); } break; -case 139: +case 140: // line 1270 "./../src/mycompiler/myparser/JavaParser.jay" { Method met = new Method(((Token)yyVals[-2+yyTop]).getOffset()); @@ -1867,7 +1875,7 @@ case 139: yyVal = met; } break; -case 140: +case 141: // line 1283 "./../src/mycompiler/myparser/JavaParser.jay" { Method met_para = new Method(((Token)yyVals[-3+yyTop]).getOffset()); @@ -1883,7 +1891,7 @@ case 140: yyVal = met_para; } break; -case 141: +case 142: // line 1298 "./../src/mycompiler/myparser/JavaParser.jay" { BooleanType BT = new BooleanType(); @@ -1894,13 +1902,13 @@ case 141: yyVal=BT; } break; -case 142: +case 143: // line 1307 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((BaseType)yyVals[0+yyTop]); } break; -case 143: +case 144: // line 1313 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("T->Parser->referenctype: " + ((UsedId)yyVals[0+yyTop])); @@ -1920,25 +1928,25 @@ case 143: yyVal=RT; } break; -case 144: +case 145: // line 1333 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((DeclId)yyVals[0+yyTop]); } break; -case 145: +case 146: // line 1354 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((LocalVarDecl)yyVals[0+yyTop]); } break; -case 146: +case 147: // line 1358 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Statement)yyVals[0+yyTop]); } break; -case 147: +case 148: // line 1363 "./../src/mycompiler/myparser/JavaParser.jay" { FormalParameter FP = new FormalParameter(); @@ -1947,7 +1955,7 @@ case 147: yyVal=FP; } break; -case 148: +case 149: // line 1388 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("\nFunktionsdeklaration mit typlosen Parametern: " + ((DeclId)yyVals[0+yyTop]).name); @@ -1967,7 +1975,7 @@ case 148: yyVal=FP; } break; -case 149: +case 150: // line 1407 "./../src/mycompiler/myparser/JavaParser.jay" { ArgumentList AL = new ArgumentList(); @@ -1975,20 +1983,20 @@ case 149: yyVal=AL; } break; -case 150: +case 151: // line 1413 "./../src/mycompiler/myparser/JavaParser.jay" { ((ArgumentList)yyVals[-2+yyTop]).expr.addElement(((Expr)yyVals[0+yyTop])); yyVal=((ArgumentList)yyVals[-2+yyTop]); } break; -case 151: +case 152: // line 1419 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((BaseType)yyVals[0+yyTop]); } break; -case 152: +case 153: // line 1424 "./../src/mycompiler/myparser/JavaParser.jay" { DeclId DI = new DeclId(); @@ -2001,61 +2009,61 @@ case 152: yyVal=DI; } break; -case 153: +case 154: // line 1436 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 154: +case 155: // line 1441 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((LocalVarDecl)yyVals[-1+yyTop]); } break; -case 155: +case 156: // line 1446 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Statement)yyVals[0+yyTop]); } break; -case 156: +case 157: // line 1450 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((IfStmt)yyVals[0+yyTop]); } break; -case 157: +case 158: // line 1454 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((IfStmt)yyVals[0+yyTop]); } break; -case 158: +case 159: // line 1458 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((WhileStmt)yyVals[0+yyTop]); } break; -case 159: +case 160: // line 1462 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((ForStmt)yyVals[0+yyTop]); } break; -case 160: +case 161: // line 1467 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 161: +case 162: // line 1471 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((NewClass)yyVals[0+yyTop]); } break; -case 162: +case 163: // line 1476 "./../src/mycompiler/myparser/JavaParser.jay" { IntegerType IT = new IntegerType(); @@ -2066,7 +2074,7 @@ case 162: yyVal=IT; } break; -case 163: +case 164: // line 1485 "./../src/mycompiler/myparser/JavaParser.jay" { CharacterType CT = new CharacterType(); @@ -2077,7 +2085,7 @@ case 163: yyVal=CT; } break; -case 164: +case 165: // line 1495 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("P -> Lokale Variable angelegt!"); @@ -2087,7 +2095,7 @@ case 164: yyVal = LVD; } break; -case 165: +case 166: // line 1506 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("P -> Lokale Variable angelegt!"); @@ -2097,31 +2105,31 @@ case 165: yyVal = LVD; } break; -case 166: +case 167: // line 1516 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[0+yyTop]); } break; -case 167: +case 168: // line 1520 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((EmptyStmt)yyVals[0+yyTop]); } break; -case 168: +case 169: // line 1524 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((ExprStmt)yyVals[0+yyTop]); } break; -case 169: +case 170: // line 1528 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Return)yyVals[0+yyTop]); } break; -case 170: +case 171: // line 1533 "./../src/mycompiler/myparser/JavaParser.jay" { IfStmt Ifst = new IfStmt(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); @@ -2130,7 +2138,7 @@ case 170: yyVal=Ifst; } break; -case 171: +case 172: // line 1541 "./../src/mycompiler/myparser/JavaParser.jay" { IfStmt IfstElst = new IfStmt(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength()); @@ -2140,7 +2148,7 @@ case 171: yyVal=IfstElst; } break; -case 172: +case 173: // line 1550 "./../src/mycompiler/myparser/JavaParser.jay" { WhileStmt Whlst = new WhileStmt(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); @@ -2149,7 +2157,7 @@ case 172: yyVal=Whlst; } break; -case 173: +case 174: // line 1561 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-6+yyTop]).getOffset(),((Expr)yyVals[-6+yyTop]).getVariableLength()); @@ -2162,7 +2170,7 @@ case 173: yyVal = Fst; } break; -case 174: +case 175: // line 1573 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-5+yyTop]).getOffset(),((Expr)yyVals[-5+yyTop]).getVariableLength()); @@ -2174,7 +2182,7 @@ case 174: yyVal = Fst; } break; -case 175: +case 176: // line 1584 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-5+yyTop]).getOffset(),((Expr)yyVals[-5+yyTop]).getVariableLength()); @@ -2186,7 +2194,7 @@ case 175: yyVal = Fst; } break; -case 176: +case 177: // line 1595 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength()); @@ -2198,7 +2206,7 @@ case 176: yyVal = Fst; } break; -case 177: +case 178: // line 1606 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength()); @@ -2209,7 +2217,7 @@ case 177: yyVal = Fst; } break; -case 178: +case 179: // line 1616 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-3+yyTop]).getOffset(),((Expr)yyVals[-3+yyTop]).getVariableLength()); @@ -2220,7 +2228,7 @@ case 178: yyVal = Fst; } break; -case 179: +case 180: // line 1626 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); @@ -2231,7 +2239,7 @@ case 179: yyVal = Fst; } break; -case 180: +case 181: // line 1636 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Statement)yyVals[0+yyTop]).getOffset(),((Statement)yyVals[0+yyTop]).getVariableLength()); @@ -2241,40 +2249,40 @@ case 180: yyVal = Fst; } break; -case 181: +case 182: // line 1645 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("conditionalexpression"); yyVal=((Expr)yyVals[0+yyTop]); } break; -case 182: +case 183: // line 1650 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Assign)yyVals[0+yyTop]); } break; -case 183: +case 184: // line 1656 "./../src/mycompiler/myparser/JavaParser.jay" { EmptyStmt Empst = new EmptyStmt(); yyVal=Empst; } break; -case 184: +case 185: // line 1662 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[-1+yyTop]); } break; -case 185: +case 186: // line 1667 "./../src/mycompiler/myparser/JavaParser.jay" { Return ret = new Return(-1,-1); yyVal= ret; } break; -case 186: +case 187: // line 1672 "./../src/mycompiler/myparser/JavaParser.jay" { Return retexp = new Return(((Expr)yyVals[-1+yyTop]).getOffset(),((Expr)yyVals[-1+yyTop]).getVariableLength()); @@ -2282,31 +2290,31 @@ case 186: yyVal=retexp; } break; -case 187: +case 188: // line 1679 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Statement)yyVals[0+yyTop]); } break; -case 188: +case 189: // line 1683 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((IfStmt)yyVals[0+yyTop]); } break; -case 189: +case 190: // line 1687 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((WhileStmt)yyVals[0+yyTop]); } break; -case 190: +case 191: // line 1692 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 191: +case 192: // line 1698 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("\nParser --> Zuweisung1!\n"); @@ -2333,7 +2341,7 @@ case 191: yyVal=Ass; } break; -case 192: +case 193: // line 1723 "./../src/mycompiler/myparser/JavaParser.jay" { Assign Ass =new Assign(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); @@ -2357,43 +2365,43 @@ case 192: yyVal=Ass; } break; -case 193: +case 194: // line 1746 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Assign)yyVals[0+yyTop]); } break; -case 194: +case 195: // line 1750 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 195: +case 196: // line 1754 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 196: +case 197: // line 1758 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 197: +case 198: // line 1762 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 198: +case 199: // line 1766 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((MethodCall)yyVals[0+yyTop]); } break; -case 199: +case 200: // line 1777 "./../src/mycompiler/myparser/JavaParser.jay" { IfStmt IfElno = new IfStmt(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength()); @@ -2403,7 +2411,7 @@ case 199: yyVal=IfElno; } break; -case 200: +case 201: // line 1786 "./../src/mycompiler/myparser/JavaParser.jay" { WhileStmt Whstno = new WhileStmt(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); @@ -2412,13 +2420,13 @@ case 200: yyVal=Whstno; } break; -case 201: +case 202: // line 1794 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 202: +case 203: // line 1798 "./../src/mycompiler/myparser/JavaParser.jay" { Binary LogOr = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); @@ -2430,19 +2438,19 @@ case 202: yyVal=LogOr; } break; -case 203: +case 204: // line 1811 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=null; } break; -case 204: +case 205: // line 1816 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[0+yyTop]); } break; -case 205: +case 206: // line 1820 "./../src/mycompiler/myparser/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.*/ @@ -2453,19 +2461,19 @@ case 205: yyVal=ret; } break; -case 206: +case 207: // line 1830 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=null; } break; -case 207: +case 208: // line 1834 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((ParameterList)yyVals[-1+yyTop]); } break; -case 208: +case 209: // line 1839 "./../src/mycompiler/myparser/JavaParser.jay" { LambdaExpression lambda = new LambdaExpression(/*((ParameSterList)$2).getOffset(),((ParameterList)$2).getVariableLength()*/0,0); @@ -2474,54 +2482,54 @@ case 208: yyVal=lambda; } break; -case 209: +case 210: // line 1858 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((UsedId)yyVals[0+yyTop]); } break; -case 210: +case 211: // line 1863 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=null; } break; -case 211: +case 212: // line 1867 "./../src/mycompiler/myparser/JavaParser.jay" { TimesOp TEO = new TimesOp(-1,-1); yyVal=TEO; } break; -case 212: +case 213: // line 1872 "./../src/mycompiler/myparser/JavaParser.jay" { DivideOp DEO = new DivideOp(-1,-1); yyVal=DEO; } break; -case 213: +case 214: // line 1877 "./../src/mycompiler/myparser/JavaParser.jay" { ModuloOp MEO = new ModuloOp(-1,-1); yyVal=MEO; } break; -case 214: +case 215: // line 1882 "./../src/mycompiler/myparser/JavaParser.jay" { PlusOp PEO = new PlusOp(-1,-1); yyVal=PEO; } break; -case 215: +case 216: // line 1887 "./../src/mycompiler/myparser/JavaParser.jay" { MinusOp MEO = new MinusOp(-1,-1); yyVal=MEO; } break; -case 216: +case 217: // line 1899 "./../src/mycompiler/myparser/JavaParser.jay" { PreIncExpr PRINC = new PreIncExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); @@ -2529,7 +2537,7 @@ case 216: yyVal=PRINC; } break; -case 217: +case 218: // line 1906 "./../src/mycompiler/myparser/JavaParser.jay" { PreDecExpr PRDEC = new PreDecExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); @@ -2537,7 +2545,7 @@ case 217: yyVal=PRDEC; } break; -case 218: +case 219: // line 1913 "./../src/mycompiler/myparser/JavaParser.jay" { PostIncExpr PIE = new PostIncExpr(((Expr)yyVals[-1+yyTop]).getOffset(),((Expr)yyVals[-1+yyTop]).getVariableLength()); @@ -2545,7 +2553,7 @@ case 218: yyVal=PIE; } break; -case 219: +case 220: // line 1920 "./../src/mycompiler/myparser/JavaParser.jay" { PostDecExpr PDE = new PostDecExpr(((Expr)yyVals[-1+yyTop]).getOffset(),((Expr)yyVals[-1+yyTop]).getVariableLength()); @@ -2553,7 +2561,7 @@ case 219: yyVal=PDE; } break; -case 220: +case 221: // line 1928 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("M1"); @@ -2585,7 +2593,7 @@ case 220: yyVal=MC; } break; -case 221: +case 222: // line 1958 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("M2"); @@ -2618,7 +2626,7 @@ case 221: yyVal=MCarg; } break; -case 222: +case 223: // line 1989 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("M3"); @@ -2639,7 +2647,7 @@ case 222: yyVal=MCpr; } break; -case 223: +case 224: // line 2008 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("M4"); @@ -2661,7 +2669,7 @@ case 223: yyVal=MCPA; } break; -case 224: +case 225: // line 2031 "./../src/mycompiler/myparser/JavaParser.jay" { NewClass NC = new NewClass(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); @@ -2671,7 +2679,7 @@ case 224: yyVal=NC; } break; -case 225: +case 226: // line 2039 "./../src/mycompiler/myparser/JavaParser.jay" { NewClass NCarg = new NewClass(((UsedId)yyVals[-3+yyTop]).getOffset(),((UsedId)yyVals[-3+yyTop]).getVariableLength()); @@ -2682,13 +2690,13 @@ case 225: yyVal=NCarg; } break; -case 226: +case 227: // line 2049 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 227: +case 228: // line 2053 "./../src/mycompiler/myparser/JavaParser.jay" { Binary And = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); @@ -2700,19 +2708,19 @@ case 227: yyVal=And; } break; -case 228: +case 229: // line 2069 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 229: +case 230: // line 2073 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 230: +case 231: // line 2077 "./../src/mycompiler/myparser/JavaParser.jay" { PositivExpr POSEX=new PositivExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); @@ -2722,7 +2730,7 @@ case 230: yyVal=POSEX; } break; -case 231: +case 232: // line 2085 "./../src/mycompiler/myparser/JavaParser.jay" { NegativeExpr NEGEX=new NegativeExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); @@ -2732,19 +2740,19 @@ case 231: yyVal=NEGEX; } break; -case 232: +case 233: // line 2093 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 233: +case 234: // line 2098 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 234: +case 235: // line 2102 "./../src/mycompiler/myparser/JavaParser.jay" { if (((UsedId)yyVals[0+yyTop]).get_Name().size() > 1) { @@ -2764,37 +2772,37 @@ case 234: } } break; -case 235: +case 236: // line 2120 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 236: +case 237: // line 2124 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 237: +case 238: // line 2129 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 238: +case 239: // line 2134 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 240: +case 241: // line 2140 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Literal)yyVals[0+yyTop]); } break; -case 241: +case 242: // line 2144 "./../src/mycompiler/myparser/JavaParser.jay" { This T = new This(((Token)yyVals[0+yyTop]).getOffset(),((Token)yyVals[0+yyTop]).getLexem().length()); @@ -2804,23 +2812,23 @@ case 241: yyVal=T; } break; -case 242: +case 243: // line 2165 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((MethodCall)yyVals[0+yyTop]); } break; -case 243: +case 244: // line 2169 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 244: +case 245: // line 2174 "./../src/mycompiler/myparser/JavaParser.jay" {yyVal=((Expr)yyVals[0+yyTop]);} break; -case 245: +case 246: // line 2176 "./../src/mycompiler/myparser/JavaParser.jay" {NotExpr NE=new NotExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); UnaryNot UN=new UnaryNot(); @@ -2829,36 +2837,36 @@ case 245: yyVal=NE; } break; -case 246: +case 247: // line 2182 "./../src/mycompiler/myparser/JavaParser.jay" {yyVal=((CastExpr)yyVals[0+yyTop]);} break; -case 247: +case 248: // line 2184 "./../src/mycompiler/myparser/JavaParser.jay" {yyVal=((Expr)yyVals[0+yyTop]);} break; -case 249: +case 250: // line 2189 "./../src/mycompiler/myparser/JavaParser.jay" {IntLiteral IL = new IntLiteral(); IL.set_Int(((Token)yyVals[0+yyTop]).String2Int()); yyVal = IL; } break; -case 250: +case 251: // line 2194 "./../src/mycompiler/myparser/JavaParser.jay" {BoolLiteral BL = new BoolLiteral(); BL.set_Bool(((Token)yyVals[0+yyTop]).String2Bool()); yyVal = BL; } break; -case 251: +case 252: // line 2198 "./../src/mycompiler/myparser/JavaParser.jay" {CharLiteral CL = new CharLiteral(); CL.set_Char(((Token)yyVals[0+yyTop]).CharInString()); yyVal=CL; } break; -case 252: +case 253: // line 2203 "./../src/mycompiler/myparser/JavaParser.jay" { StringLiteral ST = new StringLiteral(); @@ -2866,14 +2874,14 @@ case 252: yyVal=ST; } break; -case 253: +case 254: // line 2208 "./../src/mycompiler/myparser/JavaParser.jay" { LongLiteral LL = new LongLiteral(); LL.set_Long(((Token)yyVals[0+yyTop]).String2Long()); yyVal = LL; } break; -case 254: +case 255: // line 2212 "./../src/mycompiler/myparser/JavaParser.jay" { FloatLiteral FL = new FloatLiteral(); @@ -2881,7 +2889,7 @@ case 254: yyVal = FL; } break; -case 255: +case 256: // line 2217 "./../src/mycompiler/myparser/JavaParser.jay" { DoubleLiteral DL = new DoubleLiteral(); @@ -2889,14 +2897,14 @@ case 255: yyVal = DL; } break; -case 256: +case 257: // line 2223 "./../src/mycompiler/myparser/JavaParser.jay" { Null NN = new Null(); yyVal=NN; } break; -case 257: +case 258: // line 2229 "./../src/mycompiler/myparser/JavaParser.jay" { CastExpr CaEx=new CastExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); @@ -2905,24 +2913,24 @@ case 257: yyVal=CaEx; } break; -case 258: +case 259: // line 2238 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 259: +case 260: // line 2242 "./../src/mycompiler/myparser/JavaParser.jay" { } break; -case 260: +case 261: // line 2246 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 261: +case 262: // line 2250 "./../src/mycompiler/myparser/JavaParser.jay" { Binary EQ = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); @@ -2934,7 +2942,7 @@ case 261: yyVal=EQ; } break; -case 262: +case 263: // line 2260 "./../src/mycompiler/myparser/JavaParser.jay" { Binary NEQ = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); @@ -2946,13 +2954,13 @@ case 262: yyVal=NEQ; } break; -case 263: +case 264: // line 2271 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 264: +case 265: // line 2275 "./../src/mycompiler/myparser/JavaParser.jay" { Binary LO = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); @@ -2964,7 +2972,7 @@ case 264: yyVal=LO; } break; -case 265: +case 266: // line 2285 "./../src/mycompiler/myparser/JavaParser.jay" { Binary GO = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); @@ -2976,7 +2984,7 @@ case 265: yyVal=GO; } break; -case 266: +case 267: // line 2295 "./../src/mycompiler/myparser/JavaParser.jay" { Binary LE = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); @@ -2988,7 +2996,7 @@ case 266: yyVal=LE; } break; -case 267: +case 268: // line 2305 "./../src/mycompiler/myparser/JavaParser.jay" { Binary GE = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); @@ -3000,7 +3008,7 @@ case 267: yyVal=GE; } break; -case 268: +case 269: // line 2315 "./../src/mycompiler/myparser/JavaParser.jay" { InstanceOf ISO=new InstanceOf(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); @@ -3009,19 +3017,19 @@ case 268: yyVal=ISO; } break; -case 269: +case 270: // line 2323 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 270: +case 271: // line 2328 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 271: +case 272: // line 2332 "./../src/mycompiler/myparser/JavaParser.jay" { Binary AD = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); @@ -3033,7 +3041,7 @@ case 271: yyVal=AD; } break; -case 272: +case 273: // line 2342 "./../src/mycompiler/myparser/JavaParser.jay" { Binary MI = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); @@ -3045,13 +3053,13 @@ case 272: yyVal=MI; } break; -case 273: +case 274: // line 2353 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 274: +case 275: // line 2357 "./../src/mycompiler/myparser/JavaParser.jay" { Binary ML = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); @@ -3063,7 +3071,7 @@ case 274: yyVal=ML; } break; -case 275: +case 276: // line 2367 "./../src/mycompiler/myparser/JavaParser.jay" { Binary DV = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); @@ -3075,7 +3083,7 @@ case 275: yyVal = DV; } break; -case 276: +case 277: // line 2377 "./../src/mycompiler/myparser/JavaParser.jay" { Binary MD = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); @@ -3087,7 +3095,7 @@ case 276: yyVal =MD; } break; - // line 3091 "-" + // line 3099 "-" } yyTop -= yyLen[yyN]; yyState = yyStates[yyTop]; @@ -3119,991 +3127,1044 @@ case 276: protected static final short yyLhs [] = { -1, 0, 98, 26, 26, 25, 92, 92, 27, 27, 105, - 23, 24, 24, 22, 1, 1, 1, 1, 1, 1, - 1, 1, 9, 9, 8, 8, 2, 2, 2, 2, - 112, 112, 112, 112, 112, 112, 114, 114, 114, 7, - 7, 40, 40, 28, 32, 32, 3, 3, 33, 33, - 15, 15, 41, 41, 41, 41, 41, 41, 29, 4, - 4, 31, 16, 16, 16, 30, 113, 113, 5, 5, - 17, 17, 110, 106, 106, 10, 6, 19, 11, 11, - 11, 11, 11, 13, 42, 42, 107, 107, 108, 108, - 108, 108, 48, 94, 97, 97, 93, 93, 95, 95, - 96, 96, 12, 12, 12, 12, 12, 12, 12, 12, + 105, 23, 24, 24, 22, 1, 1, 1, 1, 1, + 1, 1, 1, 9, 9, 8, 8, 2, 2, 2, + 2, 112, 112, 112, 112, 112, 112, 114, 114, 114, + 7, 7, 40, 40, 28, 32, 32, 3, 3, 33, + 33, 15, 15, 41, 41, 41, 41, 41, 41, 29, + 4, 4, 31, 16, 16, 16, 30, 113, 113, 5, + 5, 17, 17, 110, 106, 106, 10, 6, 19, 11, + 11, 11, 11, 11, 13, 42, 42, 107, 107, 108, + 108, 108, 108, 48, 94, 97, 97, 93, 93, 95, + 95, 96, 96, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 12, 12, 12, 39, 39, 39, 39, 18, 18, 43, - 44, 44, 50, 50, 109, 109, 38, 38, 14, 14, - 36, 36, 37, 20, 80, 80, 49, 49, 103, 103, - 35, 21, 78, 46, 81, 81, 81, 81, 81, 71, - 71, 34, 34, 47, 47, 79, 79, 79, 79, 86, - 87, 83, 84, 84, 84, 84, 84, 84, 84, 84, - 69, 69, 89, 77, 90, 90, 82, 82, 82, 68, - 99, 99, 72, 72, 72, 72, 72, 72, 88, 85, - 67, 67, 101, 45, 45, 51, 51, 70, 102, 100, - 100, 100, 100, 100, 100, 73, 74, 75, 76, 104, - 104, 104, 104, 91, 91, 66, 66, 57, 57, 57, - 57, 57, 55, 55, 55, 55, 54, 65, 65, 53, - 53, 53, 53, 56, 56, 56, 64, 64, 52, 52, - 52, 52, 52, 52, 52, 52, 111, 63, 63, 62, - 62, 62, 61, 61, 61, 61, 61, 61, 60, 59, - 59, 59, 58, 58, 58, 58, + 12, 12, 12, 12, 39, 39, 39, 39, 18, 18, + 43, 44, 44, 50, 50, 109, 109, 38, 38, 14, + 14, 36, 36, 37, 20, 80, 80, 49, 49, 103, + 103, 35, 21, 78, 46, 81, 81, 81, 81, 81, + 71, 71, 34, 34, 47, 47, 79, 79, 79, 79, + 86, 87, 83, 84, 84, 84, 84, 84, 84, 84, + 84, 69, 69, 89, 77, 90, 90, 82, 82, 82, + 68, 99, 99, 72, 72, 72, 72, 72, 72, 88, + 85, 67, 67, 101, 45, 45, 51, 51, 70, 102, + 100, 100, 100, 100, 100, 100, 73, 74, 75, 76, + 104, 104, 104, 104, 91, 91, 66, 66, 57, 57, + 57, 57, 57, 55, 55, 55, 55, 54, 65, 65, + 53, 53, 53, 53, 56, 56, 56, 64, 64, 52, + 52, 52, 52, 52, 52, 52, 52, 111, 63, 63, + 62, 62, 62, 61, 61, 61, 61, 61, 61, 60, + 59, 59, 59, 58, 58, 58, 58, }; protected static final short yyLen [] = { 2, 1, 3, 1, 2, 3, 1, 2, 1, 1, 1, - 3, 3, 3, 1, 3, 4, 4, 5, 4, 5, - 5, 6, 1, 4, 1, 4, 3, 4, 4, 5, - 1, 4, 1, 3, 6, 3, 1, 3, 3, 2, - 3, 1, 2, 2, 2, 3, 2, 3, 2, 3, - 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, - 2, 1, 1, 1, 1, 2, 0, 3, 1, 1, - 1, 1, 2, 2, 3, 6, 2, 3, 2, 2, - 2, 3, 4, 2, 2, 3, 3, 4, 2, 3, - 3, 4, 2, 1, 1, 3, 1, 3, 1, 3, - 1, 3, 5, 2, 3, 6, 3, 6, 4, 7, - 2, 3, 3, 4, 5, 6, 6, 7, 1, 4, - 2, 2, 3, 1, 3, 1, 3, 1, 3, 1, - 1, 2, 1, 3, 4, 5, 1, 3, 3, 4, - 1, 1, 1, 1, 1, 1, 2, 1, 1, 3, - 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 2, 1, 1, 1, 1, 1, 5, - 7, 5, 9, 8, 8, 8, 7, 7, 7, 6, - 1, 1, 1, 2, 2, 3, 1, 1, 1, 1, - 3, 3, 1, 1, 1, 1, 1, 1, 7, 5, - 1, 3, 1, 1, 1, 2, 3, 3, 1, 1, - 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, - 4, 5, 6, 4, 5, 1, 3, 1, 1, 2, - 2, 1, 1, 1, 1, 1, 1, 1, 3, 1, - 1, 1, 1, 1, 2, 1, 1, 3, 1, 1, - 1, 1, 1, 1, 1, 1, 4, 1, 3, 1, - 3, 3, 1, 3, 3, 3, 3, 3, 1, 1, - 3, 3, 1, 3, 3, 3, + 1, 3, 3, 3, 1, 3, 4, 4, 5, 4, + 5, 5, 6, 1, 4, 1, 4, 3, 4, 4, + 5, 1, 4, 1, 3, 6, 3, 1, 3, 3, + 2, 3, 1, 2, 2, 2, 3, 2, 3, 2, + 3, 1, 2, 1, 1, 1, 1, 1, 1, 1, + 1, 2, 1, 1, 1, 1, 2, 0, 3, 1, + 1, 1, 1, 2, 2, 3, 6, 2, 3, 2, + 2, 2, 3, 4, 2, 2, 3, 3, 4, 2, + 3, 3, 4, 2, 1, 1, 3, 1, 3, 1, + 3, 1, 3, 5, 2, 3, 6, 3, 6, 4, + 7, 2, 3, 3, 4, 5, 6, 6, 7, 1, + 4, 2, 2, 3, 1, 3, 1, 3, 1, 3, + 1, 1, 2, 1, 3, 4, 5, 1, 3, 3, + 4, 1, 1, 1, 1, 1, 1, 2, 1, 1, + 3, 1, 1, 1, 2, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, + 5, 7, 5, 9, 8, 8, 8, 7, 7, 7, + 6, 1, 1, 1, 2, 2, 3, 1, 1, 1, + 1, 3, 3, 1, 1, 1, 1, 1, 1, 7, + 5, 1, 3, 1, 1, 1, 2, 3, 3, 1, + 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, + 3, 4, 5, 6, 4, 5, 1, 3, 1, 1, + 2, 2, 1, 1, 1, 1, 1, 1, 1, 3, + 1, 1, 1, 1, 1, 2, 1, 1, 3, 1, + 1, 1, 1, 1, 1, 1, 1, 4, 1, 3, + 1, 3, 3, 1, 3, 3, 3, 3, 3, 1, + 1, 3, 3, 1, 3, 3, 3, }; protected static final short yyDefRed [] = { 0, - 57, 0, 58, 55, 54, 53, 56, 0, 10, 0, - 42, 0, 6, 0, 0, 0, 43, 7, 0, 0, - 0, 0, 15, 0, 0, 0, 0, 94, 95, 0, - 14, 0, 44, 59, 62, 45, 141, 163, 162, 0, - 0, 0, 0, 40, 71, 0, 72, 0, 0, 51, - 63, 0, 0, 0, 144, 0, 143, 151, 142, 0, - 0, 0, 0, 65, 0, 64, 17, 0, 0, 19, - 16, 0, 0, 0, 0, 26, 0, 66, 0, 73, - 0, 0, 0, 101, 0, 130, 84, 0, 122, 41, - 52, 0, 81, 79, 0, 0, 0, 0, 0, 0, - 0, 80, 0, 0, 0, 0, 0, 0, 0, 74, - 21, 46, 18, 0, 20, 99, 0, 96, 0, 0, - 0, 33, 0, 0, 0, 241, 0, 249, 253, 255, - 254, 250, 256, 251, 252, 0, 0, 0, 183, 85, - 0, 0, 128, 0, 8, 0, 0, 166, 0, 145, - 0, 0, 240, 237, 0, 0, 243, 0, 194, 195, - 0, 0, 168, 155, 131, 146, 158, 159, 156, 157, - 167, 169, 193, 0, 0, 113, 139, 148, 0, 133, - 0, 0, 0, 137, 0, 152, 129, 0, 0, 0, - 0, 0, 9, 0, 232, 273, 0, 0, 263, 0, - 0, 0, 0, 0, 0, 0, 181, 160, 78, 228, - 229, 235, 236, 161, 182, 242, 246, 87, 0, 125, - 127, 107, 82, 0, 0, 123, 0, 0, 75, 0, - 89, 0, 0, 22, 0, 0, 0, 0, 0, 68, - 0, 0, 185, 0, 0, 0, 216, 217, 206, 0, - 0, 0, 0, 86, 132, 154, 203, 0, 0, 218, - 219, 184, 214, 215, 211, 212, 213, 210, 0, 147, - 0, 140, 102, 0, 120, 0, 0, 0, 0, 230, - 231, 245, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, - 114, 0, 109, 83, 0, 91, 90, 0, 100, 0, - 38, 39, 0, 36, 0, 0, 0, 186, 0, 207, - 11, 220, 149, 0, 204, 208, 205, 0, 191, 192, - 134, 0, 0, 138, 0, 0, 274, 275, 276, 0, - 0, 268, 266, 267, 264, 265, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 92, 32, 0, - 0, 0, 0, 0, 0, 0, 221, 0, 117, 108, - 224, 0, 257, 0, 0, 135, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 170, 0, 189, 188, - 172, 150, 222, 0, 225, 118, 110, 136, 35, 180, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 223, - 179, 178, 0, 177, 0, 0, 0, 0, 0, 171, - 176, 175, 174, 0, 0, 0, 173, 0, 200, 0, - 199, - }; - protected static final short yyDgoto [] = { 8, - 9, 0, 0, 0, 0, 0, 23, 15, 0, 0, - 45, 46, 47, 48, 49, 50, 51, 142, 53, 143, - 55, 193, 145, 0, 0, 0, 146, 24, 33, 57, - 36, 25, 0, 58, 59, 60, 61, 185, 147, 10, - 11, 148, 87, 149, 326, 150, 151, 89, 180, 250, - 152, 153, 154, 155, 194, 195, 196, 197, 198, 199, - 200, 201, 202, 203, 204, 205, 206, 207, 208, 157, - 323, 158, 210, 211, 212, 213, 163, 0, 164, 165, - 166, 388, 167, 168, 389, 169, 170, 390, 171, 172, - 214, 12, 28, 29, 117, 85, 30, 0, 173, 269, - 258, 174, 324, 216, 13, 64, 65, 110, 233, 66, - 217, 121, 78, 122, - }; - protected static final short yySindex [] = { 249, - 0, -251, 0, 0, 0, 0, 0, 0, 0, 332, - 0, 249, 0, 9, -104, -251, 0, 0, -241, -208, - -208, 1029, 0, -88, -1, -104, -170, 0, 0, 20, - 0, 100, 0, 0, 0, 0, 0, 0, 0, 33, - -139, 144, -241, 0, 0, 33, 0, -78, 1351, 0, - 0, 70, 137, 155, 0, 25, 0, 0, 0, 114, - 129, -70, 1946, 0, 99, 0, 0, -1, -208, 0, - 0, -88, -1, -208, -241, 0, -59, 0, 3006, 0, - 144, -78, -17, 0, 29, 0, 0, -208, 0, 0, - 0, -55, 0, 0, 941, -14, 165, 204, 144, -78, - 111, 0, -139, 144, -241, -78, -70, 99, 3058, 0, - 0, 0, 0, -1, 0, 0, 269, 0, 252, -73, - 42, 0, 273, 276, 462, 0, 277, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 968, 968, 0, 0, - 34, 275, 0, 100, 0, 61, -55, 0, 3110, 0, - 265, -3, 0, 0, 274, -118, 0, 268, 0, 0, + 58, 0, 59, 56, 55, 54, 0, 57, 0, 10, + 11, 0, 43, 0, 6, 0, 0, 0, 0, 0, + 0, 44, 7, 0, 0, 0, 0, 16, 0, 0, + 0, 0, 0, 28, 0, 0, 0, 0, 95, 96, + 0, 15, 0, 45, 60, 63, 46, 142, 164, 163, + 0, 0, 0, 0, 41, 72, 0, 73, 0, 0, + 52, 64, 0, 0, 0, 145, 0, 144, 152, 143, + 0, 0, 0, 0, 66, 0, 65, 18, 0, 0, + 20, 0, 50, 0, 48, 0, 61, 71, 70, 0, + 0, 0, 0, 30, 17, 0, 0, 29, 0, 0, + 0, 27, 0, 67, 0, 74, 0, 0, 0, 102, + 0, 131, 85, 0, 123, 42, 53, 0, 82, 80, + 0, 0, 0, 0, 0, 0, 0, 81, 0, 0, + 0, 0, 0, 0, 75, 22, 47, 25, 49, 62, + 78, 0, 51, 19, 0, 21, 31, 100, 0, 97, + 0, 0, 0, 34, 0, 0, 0, 242, 0, 250, + 254, 256, 255, 251, 257, 252, 253, 0, 0, 0, + 184, 86, 0, 0, 129, 0, 8, 0, 0, 167, + 0, 146, 0, 0, 241, 238, 0, 0, 244, 0, + 195, 196, 0, 0, 169, 156, 132, 147, 159, 160, + 157, 158, 168, 170, 194, 0, 0, 114, 140, 149, + 0, 134, 0, 0, 0, 138, 0, 153, 130, 0, + 0, 0, 0, 0, 9, 0, 233, 274, 0, 0, + 264, 0, 0, 0, 0, 0, 0, 0, 182, 161, + 79, 229, 230, 236, 237, 162, 183, 243, 247, 88, + 0, 126, 128, 108, 83, 0, 0, 124, 0, 0, + 76, 0, 90, 0, 0, 0, 23, 0, 0, 0, + 0, 0, 69, 0, 0, 186, 0, 0, 0, 217, + 218, 207, 0, 0, 0, 0, 87, 133, 155, 204, + 0, 0, 219, 220, 185, 215, 216, 212, 213, 214, + 211, 0, 148, 0, 141, 103, 0, 121, 0, 0, + 0, 0, 231, 232, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -44, 0, 0, 0, 0, -55, 0, - 107, -241, -196, 0, 284, 0, 0, -208, 34, 968, - 968, 968, 0, -118, 0, 0, 167, 83, 0, -54, - -120, 291, 237, 208, 26, 36, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 169, 0, - 0, 0, 0, -78, 59, 0, -78, 117, 0, 304, - 0, 3167, 3211, 0, -208, -59, -208, -208, -18, 0, - 579, 941, 0, 290, 941, 61, 0, 0, 0, 177, - 49, 616, 275, 0, 0, 0, 0, 426, 58, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 941, 0, - -93, 0, 0, -139, 0, -139, -208, 321, 5, 0, - 0, 0, 968, 968, 968, 968, 968, -208, 968, 968, - 968, 968, 968, 968, 968, 968, 968, 968, 968, 0, - 0, -128, 0, 0, 633, 0, 0, 3269, 0, 62, - 0, 0, 302, 0, 671, 308, 327, 0, 329, 0, - 0, 0, 0, 189, 0, 0, 0, 331, 0, 0, - 0, -78, -78, 0, 698, 968, 0, 0, 0, 167, - 167, 0, 0, 0, 0, 0, -54, -54, -120, 291, - 237, 208, 26, -139, -139, 314, 191, 0, 0, -59, - 735, 318, 778, 1489, 2205, 941, 0, 805, 0, 0, - 0, 199, 0, -78, -78, 0, 323, 71, 2205, 338, - 822, 849, 325, 340, 345, 0, 0, 119, 0, 0, - 0, 0, 0, 261, 0, 0, 0, 0, 0, 0, - 2205, 2205, 347, 2205, 350, 904, 941, 941, 2205, 0, - 0, 0, 2205, 0, 2205, 2205, 351, 352, 355, 0, - 0, 0, 0, 2205, 1489, 1489, 0, 134, 0, 1489, - 0, + 0, 0, 89, 115, 0, 110, 84, 0, 92, 91, + 0, 0, 101, 0, 39, 40, 0, 37, 0, 0, + 0, 187, 0, 208, 12, 221, 150, 0, 205, 209, + 206, 0, 192, 193, 135, 0, 0, 139, 0, 0, + 275, 276, 277, 0, 0, 269, 267, 268, 265, 266, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 93, 0, 33, 0, 0, 0, 0, 0, 0, + 0, 222, 0, 118, 109, 225, 0, 258, 0, 0, + 136, 0, 77, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 171, 0, 190, 189, 173, 151, 223, 0, + 226, 119, 111, 137, 36, 181, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 224, 180, 179, 0, 178, + 0, 0, 0, 0, 0, 172, 177, 176, 175, 0, + 0, 0, 174, 0, 201, 0, 200, + }; + protected static final short yyDgoto [] = { 9, + 10, 11, 34, 86, 87, 88, 28, 17, 19, 89, + 56, 57, 58, 59, 60, 61, 62, 174, 64, 175, + 66, 225, 177, 0, 0, 0, 178, 29, 44, 68, + 47, 30, 35, 69, 70, 71, 72, 217, 179, 12, + 13, 180, 113, 181, 360, 182, 183, 115, 212, 283, + 184, 185, 186, 187, 226, 227, 228, 229, 230, 231, + 232, 233, 234, 235, 236, 237, 238, 239, 240, 189, + 357, 190, 242, 243, 244, 245, 195, 0, 196, 197, + 198, 424, 199, 200, 425, 201, 202, 426, 203, 204, + 246, 14, 39, 40, 149, 111, 41, 0, 247, 302, + 291, 206, 358, 248, 15, 75, 76, 135, 265, 77, + 249, 153, 104, 154, + }; + protected static final short yySindex [] = { 499, + 0, -186, 0, 0, 0, 0, -164, 0, 0, 0, + 0, 884, 0, 499, 0, 121, -103, 126, -92, -186, + -164, 0, 0, -154, -109, -109, 330, 0, -97, -6, + -154, -109, 781, 0, 2, -103, -92, -31, 0, 0, + 27, 0, 191, 0, 0, 0, 0, 0, 0, 0, + 138, 28, 303, -154, 0, 0, 138, 0, 59, 1621, + 0, 0, 239, 260, 293, 0, 56, 0, 0, 0, + 272, 277, 68, 460, 0, 249, 0, 0, -6, -109, + 0, 40, 0, 303, 0, 3494, 0, 0, 0, 319, + 28, 460, -109, 0, 0, -97, -6, 0, 2, -109, + -154, 0, -58, 0, 3104, 0, 303, 59, -39, 0, + 110, 0, 0, -109, 0, 0, 0, 82, 0, 0, + 1028, -5, 294, 298, 303, 59, 255, 0, 28, -154, + 59, 68, 249, 3186, 0, 0, 0, 0, 0, 0, + 0, 85, 0, 0, -6, 0, 0, 0, 354, 0, + 333, -115, 150, 0, 359, 362, 492, 0, 363, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1079, 1079, + 0, 0, 23, 373, 0, 191, 0, 67, 82, 0, + 3295, 0, 347, 92, 0, 0, 374, -246, 0, 365, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, + 82, 0, 14, -154, 331, 0, 382, 0, 0, -109, + 23, 1079, 1079, 1079, 0, -246, 0, 0, 269, 282, + 0, -28, -217, 393, 338, 311, 137, 142, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 70, 0, 0, 0, 0, 59, 159, 0, 59, 258, + 0, 409, 0, 3349, 3397, 42, 0, -109, -58, -109, + -109, -36, 0, 522, 1028, 0, 391, 1028, 67, 0, + 0, 0, 279, 151, 660, 373, 0, 0, 0, 0, + 687, 160, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1028, 0, -74, 0, 0, 28, 0, 28, -109, + 420, 18, 0, 0, 0, 1079, 1079, 1079, 1079, 1079, + -109, 1079, 1079, 1079, 1079, 1079, 1079, 1079, 1079, 1079, + 1079, 1079, 0, 0, 380, 0, 0, 714, 0, 0, + 3449, 1028, 0, 163, 0, 0, 405, 0, 792, 407, + 426, 0, 427, 0, 0, 0, 0, 290, 0, 0, + 0, 429, 0, 0, 0, 59, 59, 0, 809, 1079, + 0, 0, 0, 269, 269, 0, 0, 0, 0, 0, + -28, -28, -217, 393, 338, 311, 137, 28, 28, 412, + 295, 0, 414, 0, -58, 836, 415, 877, 1140, 1246, + 1028, 0, 930, 0, 0, 0, 301, 0, 59, 59, + 0, 419, 0, 164, 1246, 439, 957, 984, 422, 442, + 443, 0, 0, 218, 0, 0, 0, 0, 0, 308, + 0, 0, 0, 0, 0, 0, 1246, 1246, 445, 1246, + 446, 1001, 1028, 1028, 1246, 0, 0, 0, 1246, 0, + 1246, 1246, 448, 451, 452, 0, 0, 0, 0, 1246, + 1140, 1140, 0, 229, 0, 1140, 0, }; protected static final short yyRindex [] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 403, 0, -89, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 74, 0, 0, 0, - 0, 1123, 0, 0, 0, 0, 0, 0, 0, 2588, - 0, -23, 0, 0, 0, 0, 0, 282, 0, 0, - 0, 0, 0, 139, 0, -84, 0, 0, 0, 106, - 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 498, 0, -71, 0, -81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 292, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 91, 293, - 0, 0, 0, -50, 0, 297, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 76, 0, 87, 96, + 0, 0, 0, 0, 0, 0, 0, 172, 0, 0, + 0, 0, 1301, 0, 0, 0, 0, 0, 0, 0, + 2008, 0, -11, 0, 0, 0, 0, 0, 9, 0, + 0, 0, 0, 0, 271, 0, -83, 0, 0, 0, + 68, 202, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 215, 0, 0, 0, 0, - 0, 362, 0, 320, 0, 526, 0, 0, 0, 0, - 0, 0, 0, 0, 1237, 0, 0, 0, 0, 0, - -45, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -43, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 299, 0, 0, 0, 0, 0, - 0, 0, 0, 2981, 0, 0, 2708, 2152, 0, 2428, - 2254, 1292, 1398, 1543, 1602, 1671, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 301, 0, 0, 305, 0, 0, -41, + 0, 0, 0, 0, 248, 34, 0, 0, 0, 0, + 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 185, 0, + 186, 208, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 80, 0, 0, + 0, 0, 0, 455, 0, -37, 0, 625, 0, 0, + 0, 0, 0, 0, 0, 0, 1356, 0, 0, 0, + 0, 0, -20, -8, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -42, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 51, 0, 0, 0, + 0, 0, 0, 0, 0, 3240, 0, 0, 2880, 2264, + 0, 2460, 2515, 1410, 1464, 1715, 1769, 1807, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1708, 0, 0, 0, 0, - 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 72, 0, 0, 79, 0, + 0, -35, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1844, 0, + 0, 0, 0, 0, 0, 456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 106, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 68, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 224, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 86, 87, 0, 0, 0, + 0, 0, 0, 2934, 2989, 0, 0, 0, 0, 0, + 2629, 2820, 2569, 1904, 2095, 2155, 2209, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 90, 91, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 3050, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 97, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 317, 324, 0, 0, 0, 0, 0, 0, 2780, - 2870, 0, 0, 0, 0, 0, 2529, 2619, 2343, 1794, - 1879, 1981, 2067, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 328, 333, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1192, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, + 0, 0, 0, 0, 0, 0, 0, }; protected static final short yyGindex [] = { 0, - 0, 0, 0, 0, 0, 0, 558, 398, 0, 0, - 0, 0, 0, -40, 0, 394, 0, -10, 382, 27, - -2, 465, 0, 0, 0, 0, 2657, 420, -77, 11, - 379, 53, 0, 0, 0, 266, -49, 0, -9, 35, - 37, -31, 0, -67, 0, 0, 0, -80, 187, -25, - 0, 0, 0, 0, -79, 0, -82, 3, 0, 143, - -56, 170, 164, 179, 182, 163, 0, 0, 214, 0, - 196, 0, -61, -26, -7, 48, 0, 0, -313, -116, - 944, -202, 0, 0, 0, 0, 0, 0, 0, 0, - 219, 0, -15, 402, 0, 388, 0, 0, 184, 0, - 0, 0, -276, 66, 472, 0, 431, 389, 0, 0, - 0, -192, 0, 259, + 0, 0, 30, 0, 418, 0, 434, 487, 489, 0, + 0, 11, 0, -51, 0, 461, 0, 26, 449, 10, + -22, 543, 0, 0, 0, 0, 1467, 480, -86, -19, + 135, 37, 491, 0, 0, 313, -88, 0, -17, 136, + 44, -32, 0, -113, 0, 0, 0, 4, 220, 84, + 0, 0, 0, 0, -105, 0, 372, -78, 0, 118, + 33, 201, 207, 209, 212, 206, 0, 0, 238, 0, + 184, 0, -87, -33, -15, 39, 0, 0, -339, -166, + 1876, -222, 0, 0, 0, 0, 0, 0, 0, 0, + 242, 0, -24, 444, 0, 416, 516, 0, 57, 0, + 0, 0, -261, 112, 534, 0, 479, 421, 0, 0, + 0, -234, 0, 284, }; - protected static final short yyTable [] = { 156, - 82, 176, 242, 120, 241, 291, 67, 292, 80, 14, - 184, 52, 62, 196, 86, 198, 268, 159, 22, 222, - 152, 100, 106, 177, 116, 226, 218, 84, 357, 156, - 34, 35, 255, 25, 22, 152, 14, 152, 52, 62, - 14, 232, 69, 310, 120, 336, 17, 159, 54, 14, - 386, 101, 160, 107, 247, 248, 63, 181, 372, 27, - 197, 37, 224, 75, 96, 38, 227, 14, 19, 156, - 219, 161, 182, 179, 249, 54, 68, 39, 73, 35, - 178, 76, 160, 63, 77, 239, 179, 159, 54, 84, - 183, 394, 31, 178, 274, 97, 228, 74, 34, 17, - 252, 161, 182, 240, 104, 239, 251, 280, 281, 282, - 278, 386, 386, 92, 239, 255, 386, 97, 187, 98, - 302, 22, 160, 359, 114, 286, 162, 287, 93, 37, - 31, 179, 399, 38, 152, 97, 253, 98, 178, 37, - 34, 161, 275, 301, 175, 39, 303, 272, 31, 152, - 271, 152, 156, 156, 92, 79, 162, 37, 34, 77, - 92, 81, 354, 20, 37, 308, 273, 378, 38, 223, - 159, 159, 31, 276, 175, 304, 270, 21, 25, 179, - 39, 293, 128, 83, 294, 309, 178, 311, 312, 260, - 261, 255, 25, 21, 237, 94, 162, 128, 34, 334, - 337, 338, 339, 285, 97, 160, 160, 136, 283, 300, - 88, 238, 271, 284, 175, 95, 67, 320, 288, 98, - 271, 109, 428, 429, 161, 161, 325, 431, 156, 367, - 99, 377, 366, 332, 366, 333, 347, 348, 342, 395, - 37, 119, 366, 37, 38, 186, 159, 38, 289, 290, - 14, 369, 370, 373, 14, 152, 39, 220, 152, 39, - 14, 179, 235, 235, 242, 242, 241, 241, 178, 263, - 264, 265, 266, 152, 14, 14, 267, 14, 215, 162, - 162, 160, 313, 136, 156, 156, 136, 34, 340, 341, - 209, 37, 355, 396, 397, 38, 221, 175, 175, 156, - 161, 410, 159, 159, 366, 14, 235, 39, 215, 236, - 236, 236, 241, 374, 375, 242, 245, 159, 92, 259, - 244, 156, 156, 256, 156, 257, 262, 277, 295, 156, - 296, 297, 298, 156, 136, 156, 156, 160, 160, 159, - 159, 299, 159, 305, 156, 156, 156, 159, 318, 321, - 156, 159, 160, 159, 159, 162, 161, 161, 328, 9, - 335, 360, 159, 159, 159, 9, 363, 364, 159, 365, - 368, 161, 376, 175, 160, 160, 381, 160, 401, 407, - 9, 398, 160, 406, 408, 409, 160, 413, 160, 160, - 415, 424, 425, 161, 161, 426, 161, 160, 160, 160, - 430, 161, 1, 160, 119, 161, 124, 161, 161, 126, - 67, 162, 162, 26, 111, 104, 161, 161, 161, 121, - 165, 93, 161, 112, 215, 215, 162, 105, 215, 175, - 175, 343, 344, 345, 346, 215, 316, 317, 164, 115, - 319, 215, 91, 102, 175, 72, 103, 112, 162, 162, - 116, 162, 215, 327, 279, 106, 162, 331, 192, 350, - 162, 353, 162, 162, 349, 189, 175, 175, 190, 175, - 191, 162, 162, 162, 175, 351, 118, 162, 175, 352, - 175, 175, 329, 18, 32, 32, 56, 330, 215, 175, - 175, 175, 225, 108, 192, 175, 229, 314, 215, 0, - 0, 189, 0, 0, 190, 1, 191, 0, 0, 0, - 362, 2, 0, 56, 0, 14, 0, 3, 215, 0, - 243, 0, 14, 14, 4, 5, 6, 56, 14, 14, - 14, 14, 7, 32, 0, 14, 0, 0, 32, 0, - 0, 0, 0, 144, 215, 0, 215, 32, 79, 215, - 0, 215, 32, 0, 0, 0, 380, 0, 383, 0, - 32, 392, 234, 234, 215, 215, 234, 234, 234, 234, - 234, 0, 234, 144, 0, 0, 403, 405, 0, 0, - 0, 67, 70, 71, 234, 234, 209, 234, 1, 215, - 215, 215, 0, 0, 16, 0, 0, 0, 0, 0, - 3, 417, 418, 419, 0, 32, 0, 4, 5, 6, - 0, 192, 0, 144, 0, 7, 0, 0, 189, 234, - 67, 190, 0, 191, 0, 111, 0, 9, 9, 113, - 115, 0, 0, 9, 9, 9, 9, 315, 0, 0, - 9, 0, 0, 0, 0, 0, 0, 32, 192, 234, - 234, 0, 32, 32, 0, 189, 322, 0, 190, 0, - 191, 0, 0, 0, 0, 192, 0, 0, 0, 0, - 0, 234, 189, 356, 0, 190, 0, 191, 0, 0, + protected static final short yyTable [] = { 188, + 108, 209, 9, 243, 152, 45, 46, 68, 9, 73, + 242, 148, 46, 15, 288, 91, 199, 191, 106, 27, + 264, 126, 131, 9, 112, 27, 152, 216, 188, 110, + 33, 324, 153, 325, 344, 250, 65, 80, 197, 126, + 131, 24, 73, 90, 15, 93, 191, 153, 15, 153, + 198, 26, 63, 68, 305, 22, 132, 304, 370, 422, + 46, 293, 294, 282, 94, 79, 98, 120, 91, 65, + 101, 192, 97, 46, 142, 188, 391, 256, 112, 15, + 259, 109, 65, 101, 326, 63, 210, 327, 102, 193, + 259, 211, 105, 191, 45, 122, 90, 288, 127, 210, + 192, 138, 342, 122, 211, 110, 285, 407, 123, 94, + 333, 208, 284, 304, 16, 103, 27, 22, 193, 15, + 153, 422, 422, 153, 33, 15, 422, 219, 147, 254, + 113, 120, 145, 311, 258, 22, 18, 106, 153, 15, + 15, 430, 112, 194, 116, 104, 38, 192, 117, 107, + 210, 341, 270, 214, 301, 211, 105, 260, 188, 188, + 414, 205, 74, 308, 25, 193, 83, 122, 92, 271, + 15, 215, 194, 94, 288, 32, 191, 191, 26, 343, + 24, 345, 346, 48, 26, 31, 24, 49, 303, 306, + 205, 42, 213, 272, 113, 74, 26, 309, 210, 50, + 45, 106, 214, 211, 286, 251, 272, 272, 116, 104, + 26, 273, 117, 107, 137, 98, 207, 68, 48, 194, + 335, 92, 49, 368, 394, 435, 168, 143, 99, 32, + 192, 192, 376, 98, 50, 188, 100, 205, 464, 465, + 374, 375, 151, 467, 321, 207, 99, 32, 193, 193, + 103, 38, 48, 191, 15, 366, 49, 367, 359, 334, + 105, 168, 336, 68, 347, 243, 243, 35, 50, 38, + 9, 9, 242, 242, 322, 323, 9, 9, 9, 9, + 48, 210, 118, 9, 49, 35, 211, 236, 236, 15, + 45, 153, 207, 188, 188, 168, 50, 119, 118, 237, + 237, 118, 194, 194, 241, 318, 153, 192, 153, 188, + 316, 191, 191, 255, 129, 317, 337, 389, 120, 354, + 205, 205, 304, 168, 319, 193, 320, 191, 107, 129, + 402, 188, 188, 401, 188, 412, 409, 410, 401, 188, + 277, 431, 109, 188, 401, 188, 188, 114, 446, 191, + 191, 401, 191, 121, 188, 188, 188, 191, 381, 382, + 188, 191, 123, 191, 191, 192, 192, 124, 125, 404, + 405, 134, 191, 191, 191, 207, 207, 141, 191, 194, + 15, 192, 218, 193, 193, 266, 252, 15, 15, 54, + 253, 268, 269, 15, 15, 15, 15, 205, 274, 193, + 15, 275, 278, 192, 192, 289, 192, 296, 297, 298, + 299, 192, 432, 433, 300, 192, 118, 192, 192, 292, + 290, 193, 193, 295, 193, 310, 192, 192, 192, 193, + 328, 329, 192, 193, 330, 193, 193, 194, 194, 377, + 378, 379, 380, 331, 193, 193, 193, 332, 338, 352, + 193, 355, 207, 194, 55, 205, 205, 350, 351, 369, + 362, 353, 78, 81, 395, 398, 399, 400, 403, 95, + 411, 205, 413, 417, 361, 194, 194, 434, 194, 437, + 442, 443, 444, 194, 445, 449, 451, 194, 460, 194, + 194, 461, 462, 205, 205, 466, 205, 1, 194, 194, + 194, 205, 127, 140, 194, 205, 36, 205, 205, 37, + 207, 207, 136, 166, 165, 96, 205, 205, 205, 130, + 117, 128, 205, 365, 224, 393, 207, 99, 383, 144, + 146, 221, 397, 312, 222, 384, 223, 387, 385, 363, + 280, 281, 386, 364, 150, 257, 82, 23, 207, 207, + 276, 207, 133, 261, 224, 348, 207, 0, 0, 0, + 207, 221, 207, 207, 222, 0, 223, 43, 43, 67, + 0, 207, 207, 207, 43, 43, 0, 207, 267, 416, + 349, 419, 0, 0, 428, 0, 1, 48, 48, 0, + 0, 49, 49, 313, 314, 315, 0, 0, 3, 0, + 439, 441, 67, 50, 50, 4, 5, 6, 0, 0, + 0, 0, 0, 51, 0, 0, 67, 0, 0, 0, + 52, 307, 43, 0, 0, 453, 454, 455, 43, 0, + 53, 84, 0, 0, 43, 43, 0, 48, 0, 0, + 0, 49, 43, 0, 0, 0, 0, 176, 0, 0, + 0, 43, 0, 50, 0, 0, 43, 0, 0, 0, + 0, 235, 235, 0, 43, 235, 235, 235, 235, 235, + 388, 235, 0, 0, 0, 0, 176, 0, 0, 0, + 42, 0, 0, 235, 235, 210, 235, 371, 372, 373, + 0, 0, 224, 0, 0, 0, 0, 0, 0, 221, + 356, 0, 222, 0, 223, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 43, 1, 48, 235, 224, + 0, 49, 0, 176, 0, 0, 221, 0, 3, 222, + 0, 223, 0, 50, 0, 4, 5, 6, 0, 0, + 0, 408, 0, 8, 0, 0, 224, 0, 235, 235, + 129, 0, 0, 221, 390, 1, 222, 43, 223, 0, + 84, 2, 43, 43, 0, 0, 220, 3, 0, 0, + 0, 0, 0, 0, 4, 5, 6, 0, 158, 7, + 0, 0, 8, 0, 160, 161, 162, 163, 164, 165, + 166, 167, 42, 0, 0, 0, 220, 0, 0, 169, + 170, 0, 0, 0, 0, 0, 176, 176, 158, 105, + 43, 0, 43, 43, 160, 161, 162, 163, 164, 165, + 166, 167, 42, 0, 224, 0, 0, 0, 0, 169, + 170, 221, 0, 0, 222, 0, 223, 0, 0, 0, + 54, 224, 0, 0, 0, 0, 43, 0, 221, 406, + 396, 222, 43, 223, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 43, 0, 0, 0, 0, 224, 0, + 0, 0, 0, 0, 0, 221, 415, 43, 222, 0, + 223, 235, 235, 176, 0, 0, 235, 0, 0, 0, + 0, 0, 0, 235, 0, 0, 0, 235, 235, 0, + 235, 235, 235, 0, 0, 85, 0, 0, 235, 224, + 0, 0, 0, 0, 0, 235, 221, 0, 0, 222, + 0, 223, 0, 0, 0, 235, 235, 235, 235, 235, + 235, 235, 235, 235, 220, 418, 0, 0, 210, 210, + 210, 210, 0, 0, 0, 210, 158, 0, 0, 0, + 0, 0, 160, 161, 162, 163, 164, 165, 166, 167, + 42, 220, 224, 0, 0, 0, 0, 169, 170, 221, + 429, 0, 222, 158, 223, 0, 0, 0, 0, 160, + 161, 162, 163, 164, 165, 166, 167, 42, 220, 224, + 0, 0, 0, 0, 169, 170, 221, 438, 0, 222, + 158, 223, 0, 0, 0, 0, 160, 161, 162, 163, + 164, 165, 166, 167, 42, 0, 224, 0, 0, 0, + 0, 169, 170, 221, 440, 0, 222, 0, 223, 0, + 0, 0, 0, 224, 0, 0, 0, 1, 48, 0, + 221, 452, 49, 222, 0, 223, 0, 0, 0, 3, + 0, 0, 0, 0, 50, 0, 4, 5, 6, 0, + 224, 0, 0, 0, 8, 0, 220, 221, 0, 0, + 222, 52, 223, 0, 0, 0, 0, 0, 158, 0, + 0, 84, 0, 220, 160, 161, 162, 163, 164, 165, + 166, 167, 42, 0, 0, 158, 0, 0, 0, 169, + 170, 160, 161, 162, 163, 164, 165, 166, 167, 42, + 220, 224, 0, 0, 0, 0, 169, 170, 221, 0, + 0, 222, 158, 223, 0, 0, 0, 0, 160, 161, + 162, 163, 164, 165, 166, 167, 42, 0, 0, 0, + 1, 0, 0, 169, 170, 0, 20, 0, 0, 0, + 0, 220, 3, 0, 0, 0, 0, 0, 0, 4, + 5, 6, 0, 158, 21, 0, 0, 8, 0, 160, + 161, 162, 163, 164, 165, 166, 167, 42, 0, 173, + 0, 0, 0, 0, 169, 170, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 171, 0, + 0, 0, 0, 0, 220, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 158, 0, 0, 0, + 0, 0, 160, 161, 162, 163, 164, 165, 166, 167, + 42, 220, 0, 0, 0, 0, 0, 169, 170, 0, + 0, 0, 0, 158, 0, 0, 0, 0, 0, 160, + 161, 162, 163, 164, 165, 166, 167, 42, 220, 0, + 0, 0, 105, 0, 169, 170, 0, 0, 0, 0, + 158, 0, 0, 0, 0, 220, 160, 161, 162, 163, + 164, 165, 166, 167, 42, 173, 0, 158, 0, 0, + 0, 169, 170, 160, 161, 162, 163, 164, 165, 166, + 167, 42, 220, 0, 171, 0, 0, 0, 169, 170, + 0, 0, 0, 0, 158, 0, 0, 0, 0, 0, + 160, 161, 162, 163, 164, 165, 166, 167, 42, 0, + 0, 0, 0, 0, 0, 169, 170, 68, 68, 0, + 68, 68, 68, 68, 68, 68, 68, 68, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, + 0, 0, 68, 0, 0, 158, 0, 0, 105, 0, + 0, 160, 161, 162, 163, 164, 165, 166, 167, 42, + 0, 0, 0, 0, 0, 0, 169, 170, 0, 0, + 0, 68, 234, 234, 68, 0, 234, 234, 234, 234, + 234, 0, 234, 0, 0, 0, 0, 0, 0, 0, + 155, 420, 0, 0, 234, 234, 0, 234, 0, 0, + 0, 0, 157, 68, 68, 68, 158, 0, 0, 0, + 0, 421, 160, 161, 162, 163, 164, 165, 166, 167, + 42, 0, 0, 0, 0, 0, 248, 169, 170, 234, + 248, 248, 248, 248, 248, 248, 248, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 248, 248, + 0, 248, 0, 0, 0, 0, 0, 0, 0, 234, + 234, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 144, 144, 0, 32, - 188, 32, 32, 192, 0, 0, 0, 0, 0, 0, - 189, 0, 126, 190, 0, 191, 0, 0, 128, 129, - 130, 131, 132, 133, 134, 135, 31, 0, 0, 361, - 192, 0, 0, 137, 138, 32, 188, 189, 371, 0, - 190, 32, 191, 0, 0, 0, 0, 0, 126, 0, - 0, 0, 32, 0, 128, 129, 130, 131, 132, 133, - 134, 135, 31, 0, 0, 0, 32, 192, 0, 137, - 138, 0, 144, 0, 189, 379, 0, 190, 0, 191, + 239, 239, 0, 248, 239, 239, 239, 239, 239, 239, + 239, 0, 0, 0, 0, 0, 155, 156, 0, 0, + 0, 0, 239, 239, 0, 239, 0, 0, 157, 0, + 0, 0, 158, 248, 248, 0, 0, 159, 160, 161, + 162, 163, 164, 165, 166, 167, 42, 0, 0, 0, + 0, 0, 0, 169, 170, 0, 0, 68, 68, 0, + 0, 0, 68, 0, 0, 0, 0, 0, 0, 68, + 0, 0, 0, 68, 68, 0, 68, 68, 68, 0, + 0, 0, 68, 0, 68, 0, 0, 239, 239, 0, + 0, 68, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 68, 68, 68, 68, 68, 68, 68, 68, 68, 0, 0, 234, 234, 0, 0, 0, 234, 0, 0, 0, 0, 0, 0, 234, 0, 0, 0, 234, 234, - 0, 234, 234, 234, 0, 0, 0, 0, 0, 234, - 192, 0, 0, 0, 0, 0, 234, 189, 0, 0, - 190, 0, 191, 0, 0, 0, 234, 234, 234, 234, - 234, 234, 234, 234, 234, 0, 382, 192, 0, 209, - 209, 209, 209, 0, 189, 393, 209, 190, 0, 191, - 0, 0, 0, 188, 192, 0, 0, 0, 0, 0, - 0, 189, 402, 0, 190, 126, 191, 0, 0, 0, - 0, 128, 129, 130, 131, 132, 133, 134, 135, 31, - 0, 192, 0, 0, 0, 0, 137, 138, 189, 404, - 188, 190, 0, 191, 0, 0, 0, 0, 0, 0, - 0, 0, 126, 0, 0, 0, 0, 188, 128, 129, - 130, 131, 132, 133, 134, 135, 31, 0, 0, 126, - 0, 0, 0, 137, 138, 128, 129, 130, 131, 132, - 133, 134, 135, 31, 0, 0, 192, 0, 0, 0, - 137, 138, 0, 189, 416, 188, 190, 0, 191, 0, - 0, 0, 0, 0, 0, 0, 0, 126, 0, 0, - 0, 0, 0, 128, 129, 130, 131, 132, 133, 134, - 135, 31, 188, 192, 0, 0, 0, 0, 137, 138, - 189, 0, 0, 190, 126, 191, 0, 0, 0, 0, - 128, 129, 130, 131, 132, 133, 134, 135, 31, 0, - 192, 0, 0, 0, 0, 137, 138, 189, 0, 188, - 190, 0, 191, 0, 0, 0, 0, 0, 0, 0, - 0, 126, 0, 0, 0, 0, 0, 128, 129, 130, - 131, 132, 133, 134, 135, 31, 0, 0, 0, 0, - 0, 0, 137, 138, 0, 0, 0, 0, 0, 0, - 0, 0, 188, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 126, 0, 0, 0, 0, 0, - 128, 129, 130, 131, 132, 133, 134, 135, 31, 188, - 0, 0, 0, 0, 0, 137, 138, 0, 43, 0, - 0, 126, 0, 0, 0, 0, 188, 128, 129, 130, - 131, 132, 133, 134, 135, 31, 0, 0, 126, 0, - 0, 0, 137, 138, 128, 129, 130, 131, 132, 133, - 134, 135, 31, 188, 0, 0, 0, 0, 0, 137, - 138, 0, 0, 0, 0, 126, 0, 0, 0, 0, - 0, 128, 129, 130, 131, 132, 133, 134, 135, 31, - 0, 0, 0, 44, 0, 0, 137, 138, 0, 67, - 67, 0, 67, 67, 67, 67, 67, 67, 67, 67, - 0, 0, 0, 0, 0, 0, 0, 0, 188, 0, - 0, 67, 0, 0, 67, 0, 0, 0, 0, 0, - 126, 0, 0, 0, 0, 0, 128, 129, 130, 131, - 132, 133, 134, 135, 31, 0, 0, 0, 0, 0, - 0, 137, 138, 67, 0, 188, 67, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 126, 0, 0, - 0, 155, 0, 128, 129, 130, 131, 132, 133, 134, - 135, 31, 0, 0, 0, 67, 67, 67, 137, 138, - 155, 0, 0, 0, 126, 0, 0, 0, 0, 0, - 128, 129, 130, 131, 132, 133, 134, 135, 31, 0, - 0, 0, 0, 233, 233, 137, 138, 233, 233, 233, - 233, 233, 0, 233, 0, 1, 37, 0, 0, 0, - 38, 0, 0, 0, 0, 233, 233, 3, 233, 0, - 0, 0, 39, 0, 4, 5, 6, 387, 391, 0, - 0, 0, 40, 0, 155, 0, 155, 0, 0, 41, - 0, 0, 400, 0, 0, 0, 0, 0, 247, 42, - 233, 0, 247, 247, 247, 247, 247, 247, 247, 0, - 0, 0, 0, 0, 411, 412, 0, 414, 0, 0, - 247, 247, 420, 247, 0, 0, 421, 0, 422, 423, - 233, 233, 0, 0, 0, 0, 0, 427, 387, 391, - 0, 0, 0, 420, 0, 0, 0, 0, 0, 67, - 67, 0, 0, 0, 67, 247, 0, 0, 0, 0, - 0, 67, 0, 0, 0, 67, 67, 0, 67, 67, - 67, 0, 0, 0, 67, 0, 67, 0, 0, 0, - 43, 0, 0, 67, 0, 247, 247, 0, 0, 0, - 0, 0, 0, 67, 67, 67, 67, 67, 67, 67, - 67, 67, 0, 0, 238, 238, 0, 0, 238, 238, - 238, 238, 238, 238, 238, 0, 0, 0, 0, 155, - 0, 0, 0, 155, 0, 0, 238, 238, 187, 238, - 0, 0, 155, 155, 0, 155, 0, 0, 0, 0, - 0, 0, 0, 0, 155, 90, 0, 0, 155, 0, - 0, 0, 0, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 233, 233, 0, 0, 0, 233, 155, - 155, 0, 0, 0, 0, 233, 0, 0, 0, 233, - 233, 0, 233, 233, 233, 0, 0, 0, 0, 0, - 233, 238, 238, 0, 0, 0, 0, 233, 141, 0, - 0, 0, 0, 0, 0, 0, 0, 233, 233, 233, - 233, 233, 233, 233, 233, 233, 0, 139, 247, 247, - 0, 0, 0, 247, 0, 0, 0, 0, 0, 0, - 247, 0, 0, 0, 247, 247, 0, 247, 247, 247, - 0, 0, 0, 0, 0, 247, 0, 0, 0, 226, - 226, 0, 247, 226, 226, 226, 226, 226, 226, 226, - 0, 0, 247, 247, 247, 247, 247, 247, 247, 247, - 247, 226, 226, 0, 226, 0, 0, 1, 37, 0, - 0, 79, 38, 0, 0, 0, 0, 0, 0, 3, - 0, 0, 0, 0, 39, 0, 4, 5, 6, 0, - 0, 0, 0, 0, 40, 0, 226, 0, 201, 201, - 0, 41, 201, 201, 201, 201, 201, 201, 201, 0, - 0, 42, 0, 0, 238, 238, 0, 0, 0, 238, - 201, 201, 0, 201, 0, 0, 238, 226, 0, 0, - 238, 238, 0, 238, 238, 238, 0, 0, 0, 0, - 0, 238, 0, 0, 0, 0, 0, 0, 238, 0, - 0, 0, 0, 0, 0, 201, 0, 0, 238, 238, - 238, 238, 238, 238, 238, 238, 238, 190, 190, 0, - 0, 190, 190, 190, 190, 190, 190, 190, 0, 0, - 0, 0, 0, 0, 0, 201, 201, 0, 0, 190, - 190, 0, 190, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 234, 234, 0, 0, 234, 234, - 234, 234, 234, 0, 234, 0, 0, 0, 0, 123, - 384, 0, 0, 0, 190, 0, 234, 234, 0, 234, - 0, 125, 0, 0, 0, 126, 0, 0, 0, 0, - 385, 128, 129, 130, 131, 132, 133, 134, 135, 31, - 0, 0, 0, 0, 190, 190, 137, 138, 0, 226, - 226, 234, 0, 0, 226, 0, 0, 0, 0, 0, - 0, 226, 0, 0, 0, 226, 226, 0, 226, 226, - 226, 0, 0, 0, 0, 0, 226, 0, 0, 0, - 248, 234, 234, 226, 248, 248, 248, 248, 248, 248, - 248, 0, 0, 226, 226, 226, 226, 226, 226, 226, - 226, 226, 248, 248, 0, 248, 0, 0, 201, 201, - 0, 0, 0, 201, 0, 0, 0, 0, 0, 0, - 201, 0, 0, 0, 201, 201, 0, 201, 201, 201, - 0, 0, 0, 0, 0, 201, 0, 248, 0, 0, - 0, 0, 201, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 201, 201, 201, 201, 201, 201, 0, 201, - 201, 0, 0, 0, 0, 239, 239, 248, 248, 239, - 239, 239, 239, 239, 239, 239, 0, 190, 190, 0, - 0, 0, 190, 0, 0, 0, 0, 239, 239, 190, - 239, 0, 0, 190, 190, 0, 190, 190, 190, 0, - 0, 0, 0, 0, 190, 0, 0, 0, 0, 0, - 0, 190, 0, 0, 234, 234, 0, 0, 0, 234, - 0, 190, 190, 190, 190, 190, 234, 190, 190, 190, - 234, 234, 0, 234, 234, 234, 0, 0, 0, 0, - 0, 234, 0, 0, 0, 0, 0, 0, 234, 0, - 0, 0, 239, 239, 0, 105, 0, 0, 234, 234, - 234, 234, 234, 234, 234, 234, 234, 227, 227, 0, - 0, 227, 227, 227, 227, 227, 227, 227, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 227, - 227, 0, 227, 0, 0, 0, 0, 0, 0, 0, - 248, 248, 0, 0, 0, 248, 0, 0, 0, 0, - 0, 0, 248, 0, 0, 0, 248, 248, 0, 248, - 248, 248, 0, 0, 227, 0, 0, 248, 0, 0, - 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 202, 202, 227, 0, 202, 202, 202, - 202, 202, 202, 202, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 202, 202, 0, 202, 0, - 0, 0, 0, 0, 0, 239, 239, 0, 0, 0, - 239, 0, 0, 0, 0, 0, 0, 239, 0, 0, - 0, 239, 239, 0, 239, 239, 239, 0, 0, 0, - 202, 0, 239, 0, 0, 0, 0, 0, 0, 239, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 239, - 239, 239, 239, 239, 239, 239, 239, 239, 269, 269, - 202, 202, 269, 269, 0, 269, 0, 269, 269, 0, - 0, 0, 1, 37, 0, 0, 0, 38, 0, 0, - 269, 269, 0, 269, 3, 0, 0, 0, 0, 39, - 0, 4, 5, 6, 0, 0, 0, 0, 0, 7, - 0, 0, 0, 0, 0, 0, 103, 227, 227, 0, - 0, 0, 227, 0, 141, 269, 104, 0, 0, 227, - 0, 0, 0, 227, 227, 0, 227, 227, 227, 0, - 0, 0, 0, 139, 227, 0, 0, 0, 0, 0, - 0, 227, 0, 0, 0, 269, 269, 0, 0, 0, - 0, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 258, 258, 0, 0, 258, 258, 258, 258, 258, 258, - 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 258, 258, 0, 258, 0, 0, 0, 0, - 0, 0, 0, 202, 202, 0, 0, 79, 202, 0, - 0, 0, 0, 0, 0, 202, 0, 0, 0, 202, - 202, 0, 202, 202, 202, 0, 0, 258, 0, 0, + 0, 234, 234, 234, 0, 279, 279, 0, 0, 234, + 0, 0, 0, 0, 0, 0, 234, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 234, 234, 234, 234, + 234, 234, 234, 234, 234, 0, 248, 248, 0, 0, + 0, 248, 0, 0, 0, 0, 0, 0, 248, 0, + 54, 0, 248, 248, 0, 248, 248, 248, 279, 279, + 279, 0, 0, 248, 0, 0, 0, 0, 0, 0, + 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 248, 248, 248, 248, 248, 248, 248, 248, 248, 0, + 239, 239, 0, 0, 0, 239, 0, 0, 0, 0, + 0, 0, 239, 0, 0, 0, 239, 239, 0, 239, + 239, 239, 0, 0, 0, 116, 0, 239, 0, 0, + 0, 227, 227, 0, 239, 227, 227, 227, 227, 227, + 227, 227, 0, 0, 239, 239, 239, 239, 239, 239, + 239, 239, 239, 227, 227, 0, 227, 0, 0, 0, + 0, 0, 279, 279, 279, 279, 279, 0, 279, 279, + 279, 279, 279, 279, 279, 279, 279, 279, 279, 0, + 0, 0, 0, 0, 0, 202, 202, 0, 227, 202, + 202, 202, 202, 202, 202, 202, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 202, 202, 0, + 202, 0, 0, 0, 0, 0, 279, 0, 0, 227, + 0, 0, 0, 191, 191, 0, 0, 191, 191, 191, + 191, 191, 191, 191, 0, 0, 0, 0, 0, 0, + 0, 0, 202, 0, 0, 191, 191, 0, 191, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 48, 0, + 235, 235, 49, 0, 235, 235, 235, 235, 235, 3, + 235, 0, 202, 202, 50, 0, 4, 5, 6, 0, + 191, 0, 235, 235, 51, 235, 0, 0, 0, 0, + 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 53, 0, 0, 0, 0, 0, 0, 0, 0, + 191, 191, 0, 0, 0, 0, 0, 235, 0, 0, + 249, 0, 0, 0, 249, 249, 249, 249, 249, 249, + 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 249, 249, 0, 249, 0, 235, 235, 0, + 0, 227, 227, 0, 0, 0, 227, 0, 0, 0, + 0, 0, 0, 227, 0, 0, 0, 227, 227, 0, + 227, 227, 227, 0, 0, 0, 0, 249, 227, 0, + 0, 0, 0, 0, 0, 227, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 227, 227, 227, 227, 227, + 227, 227, 227, 227, 0, 202, 202, 249, 249, 0, 202, 0, 0, 0, 0, 0, 0, 202, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 202, 202, 202, - 202, 202, 202, 0, 202, 202, 0, 258, 258, 259, - 259, 0, 0, 259, 259, 259, 259, 259, 259, 259, + 0, 202, 202, 0, 202, 202, 202, 0, 0, 0, + 0, 0, 202, 0, 0, 0, 0, 0, 0, 202, + 0, 0, 0, 191, 191, 0, 0, 57, 191, 202, + 202, 202, 202, 202, 202, 191, 202, 202, 0, 191, + 191, 0, 191, 191, 191, 0, 0, 0, 0, 0, + 191, 0, 0, 0, 0, 0, 0, 191, 0, 0, + 235, 235, 0, 0, 0, 235, 0, 191, 191, 191, + 191, 191, 235, 191, 191, 191, 235, 235, 0, 235, + 235, 235, 0, 0, 0, 0, 0, 235, 0, 0, + 0, 240, 240, 0, 235, 240, 240, 240, 240, 240, + 240, 240, 0, 0, 235, 235, 235, 235, 235, 235, + 235, 235, 235, 240, 240, 0, 240, 0, 0, 0, + 249, 249, 0, 0, 0, 249, 0, 0, 0, 0, + 0, 0, 249, 0, 0, 0, 249, 249, 0, 249, + 249, 249, 0, 0, 0, 0, 0, 249, 0, 0, + 0, 228, 228, 0, 249, 228, 228, 228, 228, 228, + 228, 228, 0, 0, 249, 249, 249, 249, 249, 249, + 249, 249, 249, 228, 228, 0, 228, 0, 240, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 259, 259, 0, 259, 0, 0, 0, 269, 269, - 0, 0, 0, 269, 0, 0, 0, 0, 0, 0, - 269, 0, 0, 0, 269, 269, 0, 269, 269, 269, - 0, 0, 0, 0, 0, 269, 259, 0, 0, 0, - 0, 0, 269, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 269, 269, 269, 269, 269, 269, 269, 269, - 269, 0, 0, 0, 260, 260, 259, 259, 260, 260, - 260, 260, 260, 260, 260, 123, 124, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 260, 125, 0, 0, - 0, 126, 0, 0, 0, 0, 127, 128, 129, 130, - 131, 132, 133, 134, 135, 31, 0, 0, 0, 0, - 258, 258, 137, 138, 0, 258, 0, 0, 0, 0, - 0, 260, 258, 0, 0, 0, 258, 258, 0, 258, - 258, 258, 0, 0, 0, 0, 0, 258, 0, 0, - 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, - 0, 260, 260, 0, 258, 0, 258, 258, 0, 258, - 258, 258, 258, 0, 0, 261, 261, 0, 0, 261, - 261, 261, 261, 261, 261, 261, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 261, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, - 259, 0, 0, 0, 259, 0, 0, 0, 0, 0, - 0, 259, 0, 0, 0, 259, 259, 0, 259, 259, - 259, 0, 261, 0, 0, 0, 259, 0, 0, 0, - 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 259, 0, 259, 259, 56, 259, 259, - 259, 259, 261, 261, 0, 262, 262, 0, 0, 262, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 203, 203, 0, 228, 203, + 203, 203, 203, 203, 203, 203, 0, 0, 0, 0, + 0, 0, 0, 0, 57, 57, 0, 203, 203, 57, + 203, 0, 0, 0, 423, 427, 57, 0, 0, 228, + 0, 57, 0, 57, 57, 57, 0, 0, 0, 0, + 436, 57, 0, 0, 0, 0, 0, 0, 57, 0, + 270, 270, 203, 0, 270, 270, 0, 270, 57, 270, + 270, 0, 447, 448, 0, 450, 0, 0, 0, 0, + 456, 0, 270, 270, 457, 270, 458, 459, 0, 0, + 0, 0, 203, 203, 0, 463, 423, 427, 0, 0, + 0, 456, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 240, 240, 0, 0, 0, 240, 270, 0, 0, + 0, 0, 0, 240, 0, 0, 0, 240, 240, 0, + 240, 240, 240, 0, 0, 0, 0, 0, 240, 0, + 0, 0, 0, 0, 0, 240, 0, 270, 270, 0, + 0, 0, 0, 0, 0, 240, 240, 240, 240, 240, + 240, 240, 240, 240, 0, 0, 0, 0, 0, 0, + 0, 228, 228, 0, 0, 0, 228, 0, 0, 0, + 0, 0, 0, 228, 0, 0, 0, 228, 228, 0, + 228, 228, 228, 0, 0, 0, 0, 0, 228, 0, + 0, 0, 0, 0, 0, 228, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 228, 228, 228, 228, 228, + 228, 228, 228, 228, 0, 203, 203, 0, 0, 0, + 203, 0, 0, 0, 0, 0, 0, 203, 0, 0, + 0, 203, 203, 0, 203, 203, 203, 0, 0, 0, + 0, 0, 203, 0, 0, 0, 261, 261, 0, 203, + 261, 261, 261, 261, 261, 261, 261, 0, 0, 203, + 203, 203, 203, 203, 203, 0, 203, 203, 261, 0, + 270, 270, 0, 0, 0, 270, 0, 0, 0, 0, + 0, 0, 270, 0, 0, 0, 270, 270, 0, 270, + 270, 270, 0, 0, 0, 0, 0, 270, 0, 0, + 0, 259, 259, 261, 270, 259, 259, 259, 259, 259, + 259, 259, 0, 0, 270, 270, 270, 270, 270, 270, + 270, 270, 270, 259, 259, 0, 259, 0, 0, 0, + 0, 0, 0, 261, 261, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 260, 260, 0, 259, 260, + 260, 260, 260, 260, 260, 260, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 260, 260, 0, + 260, 0, 0, 0, 0, 0, 0, 0, 259, 259, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 260, 0, 0, 262, 262, 0, 0, 262, 262, 262, 262, 262, 262, 262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 262, 0, 0, - 0, 0, 0, 0, 260, 260, 0, 0, 0, 260, - 0, 0, 0, 0, 0, 0, 260, 0, 0, 0, - 0, 260, 0, 260, 260, 260, 0, 0, 0, 0, - 0, 260, 262, 0, 0, 0, 0, 0, 260, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 260, 260, - 0, 0, 260, 260, 260, 260, 260, 0, 0, 0, - 0, 0, 262, 262, 0, 270, 0, 0, 270, 0, - 270, 270, 270, 270, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 270, 270, 0, 270, + 0, 0, 260, 260, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 261, 261, 0, 0, 0, - 261, 0, 0, 246, 246, 0, 0, 261, 0, 0, - 0, 270, 261, 0, 261, 261, 261, 0, 0, 0, - 0, 0, 261, 0, 0, 0, 0, 271, 0, 261, - 271, 0, 271, 271, 271, 271, 0, 0, 0, 261, - 261, 270, 270, 261, 261, 261, 261, 261, 271, 271, - 0, 271, 0, 0, 56, 56, 246, 246, 246, 56, - 0, 0, 0, 0, 0, 0, 56, 0, 0, 0, - 0, 56, 0, 56, 56, 56, 0, 0, 0, 0, - 0, 56, 0, 271, 0, 262, 262, 0, 56, 0, - 262, 0, 0, 0, 0, 0, 0, 262, 56, 0, + 0, 0, 0, 0, 0, 0, 261, 261, 0, 0, + 0, 261, 262, 0, 0, 0, 0, 0, 261, 0, + 0, 0, 0, 261, 0, 261, 261, 261, 0, 0, + 0, 0, 0, 261, 0, 0, 0, 0, 0, 0, + 261, 0, 262, 262, 0, 0, 0, 0, 0, 0, + 261, 261, 0, 0, 261, 261, 261, 261, 261, 0, + 0, 259, 259, 0, 0, 0, 259, 0, 0, 0, + 0, 0, 0, 259, 0, 0, 0, 259, 259, 0, + 259, 259, 259, 0, 0, 0, 0, 0, 259, 0, + 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 259, 0, 259, 259, 0, + 259, 259, 259, 259, 0, 260, 260, 0, 0, 0, + 260, 0, 0, 0, 0, 0, 0, 260, 0, 0, + 0, 260, 260, 0, 260, 260, 260, 0, 0, 0, + 0, 0, 260, 0, 0, 0, 263, 263, 0, 260, + 263, 263, 263, 263, 263, 263, 263, 0, 0, 260, + 0, 260, 260, 0, 260, 260, 260, 260, 263, 0, + 0, 0, 0, 0, 0, 262, 262, 0, 0, 0, + 262, 0, 0, 0, 0, 0, 0, 262, 0, 0, 0, 0, 262, 0, 262, 262, 262, 0, 0, 0, - 0, 0, 262, 271, 271, 0, 0, 272, 0, 262, - 272, 0, 272, 272, 272, 272, 0, 0, 0, 262, - 262, 0, 0, 262, 262, 262, 262, 262, 272, 272, - 0, 272, 0, 0, 0, 0, 0, 0, 0, 246, - 246, 246, 246, 246, 0, 246, 246, 246, 246, 246, - 246, 246, 246, 246, 246, 246, 0, 0, 0, 0, - 0, 0, 0, 272, 270, 270, 0, 0, 0, 270, - 0, 0, 0, 0, 0, 0, 270, 0, 0, 0, - 270, 270, 0, 270, 270, 270, 0, 0, 0, 0, - 0, 270, 246, 272, 272, 0, 0, 0, 270, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 270, 270, - 270, 270, 270, 270, 270, 270, 270, 244, 244, 0, - 0, 244, 244, 244, 244, 244, 244, 244, 0, 0, - 0, 0, 0, 0, 0, 0, 271, 271, 0, 244, - 244, 271, 244, 0, 0, 141, 0, 0, 271, 0, + 0, 0, 262, 263, 0, 0, 0, 271, 0, 262, + 271, 0, 271, 271, 271, 271, 0, 0, 0, 262, + 262, 0, 0, 262, 262, 262, 262, 262, 271, 271, + 0, 271, 0, 263, 263, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 272, 0, 271, 272, 0, 272, 272, 272, 272, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 272, 272, 0, 272, 0, 0, 0, 0, + 0, 0, 0, 271, 271, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 273, 272, 0, 273, + 0, 273, 273, 273, 273, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 273, 273, 0, + 273, 0, 0, 0, 0, 0, 0, 272, 272, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 263, 263, 0, 0, + 0, 263, 273, 0, 0, 0, 0, 0, 263, 156, + 0, 0, 0, 263, 0, 263, 263, 263, 0, 0, + 0, 0, 0, 263, 0, 0, 0, 0, 156, 0, + 263, 0, 273, 273, 0, 0, 0, 0, 0, 0, + 263, 263, 0, 0, 263, 263, 263, 263, 263, 0, + 0, 0, 0, 0, 0, 0, 271, 271, 0, 0, + 0, 271, 0, 173, 0, 0, 0, 0, 271, 0, 0, 0, 271, 271, 0, 271, 271, 271, 0, 0, - 0, 0, 0, 271, 139, 0, 0, 0, 0, 0, - 271, 0, 0, 0, 244, 0, 0, 0, 0, 0, + 0, 0, 171, 271, 0, 0, 0, 0, 0, 0, + 271, 0, 156, 0, 156, 0, 0, 0, 0, 0, 271, 271, 271, 271, 271, 271, 271, 271, 271, 0, - 0, 0, 0, 0, 0, 0, 0, 141, 0, 0, - 0, 0, 0, 0, 244, 244, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 139, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 272, 272, 79, 0, - 140, 272, 0, 0, 0, 0, 0, 0, 272, 0, - 0, 0, 272, 272, 0, 272, 272, 272, 0, 141, - 0, 0, 0, 272, 0, 0, 0, 0, 0, 0, - 272, 0, 0, 0, 0, 0, 0, 0, 139, 0, - 272, 272, 272, 272, 272, 272, 272, 272, 272, 0, - 79, 0, 231, 0, 0, 0, 0, 0, 0, 0, + 272, 272, 0, 0, 0, 272, 0, 0, 0, 0, + 0, 0, 272, 0, 0, 0, 272, 272, 0, 272, + 272, 272, 0, 0, 0, 0, 0, 272, 0, 0, + 0, 0, 0, 0, 272, 173, 105, 0, 172, 0, + 0, 0, 0, 0, 272, 272, 272, 272, 272, 272, + 272, 272, 272, 0, 171, 273, 273, 0, 0, 0, + 273, 0, 0, 0, 0, 0, 0, 273, 0, 0, + 0, 273, 273, 0, 273, 273, 273, 0, 0, 0, + 0, 0, 273, 0, 0, 0, 245, 245, 0, 273, + 245, 245, 245, 245, 245, 245, 245, 0, 0, 273, + 273, 273, 273, 273, 273, 273, 273, 273, 245, 245, + 0, 245, 0, 0, 0, 0, 0, 156, 105, 0, + 263, 156, 0, 0, 0, 0, 188, 0, 0, 0, + 156, 156, 0, 156, 0, 0, 0, 0, 0, 0, + 0, 0, 156, 245, 173, 0, 156, 0, 0, 0, + 0, 156, 156, 156, 156, 156, 156, 156, 156, 156, + 156, 0, 0, 171, 0, 0, 0, 156, 156, 0, + 0, 48, 0, 245, 245, 49, 0, 0, 0, 0, + 0, 0, 0, 0, 155, 156, 0, 50, 0, 0, + 0, 0, 0, 0, 0, 0, 157, 0, 173, 0, + 158, 0, 0, 0, 0, 159, 160, 161, 162, 163, + 164, 165, 166, 167, 168, 0, 0, 171, 0, 0, + 0, 169, 170, 0, 0, 0, 0, 105, 0, 287, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 141, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 139, 0, 0, 0, 0, - 0, 0, 79, 0, 254, 0, 0, 244, 244, 0, - 0, 0, 244, 0, 0, 0, 0, 0, 0, 244, - 141, 0, 0, 244, 244, 0, 244, 244, 244, 0, - 0, 0, 0, 37, 244, 0, 0, 38, 0, 139, - 0, 244, 0, 0, 0, 0, 123, 124, 0, 39, - 0, 244, 244, 244, 244, 244, 244, 244, 125, 79, - 0, 306, 126, 0, 0, 0, 0, 127, 128, 129, - 130, 131, 132, 133, 134, 135, 136, 0, 141, 0, - 0, 0, 0, 137, 138, 37, 0, 0, 0, 38, - 0, 0, 0, 0, 0, 0, 0, 139, 123, 124, - 0, 39, 0, 79, 0, 307, 0, 0, 0, 0, - 125, 0, 0, 0, 230, 0, 0, 0, 0, 127, - 128, 129, 130, 131, 132, 133, 134, 135, 136, 0, - 0, 0, 0, 0, 0, 137, 138, 37, 0, 0, - 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, - 123, 124, 0, 39, 0, 0, 0, 0, 0, 0, - 0, 79, 125, 358, 0, 0, 126, 0, 0, 0, - 0, 127, 128, 129, 130, 131, 132, 133, 134, 135, - 136, 0, 0, 0, 0, 0, 0, 137, 138, 0, - 0, 0, 0, 0, 37, 0, 0, 0, 38, 0, - 0, 0, 0, 0, 0, 0, 0, 123, 124, 0, - 39, 0, 0, 0, 0, 0, 0, 0, 0, 125, - 0, 0, 0, 126, 0, 0, 0, 0, 127, 128, - 129, 130, 131, 132, 133, 134, 135, 136, 37, 0, - 0, 0, 38, 0, 137, 138, 0, 0, 0, 0, - 0, 123, 124, 0, 39, 0, 0, 0, 0, 0, - 0, 0, 0, 125, 0, 0, 0, 126, 0, 0, - 0, 0, 127, 128, 129, 130, 131, 132, 133, 134, - 135, 136, 0, 0, 0, 0, 0, 0, 137, 138, - 0, 0, 0, 0, 0, 0, 37, 0, 0, 0, - 38, 0, 0, 0, 0, 0, 0, 0, 0, 123, - 124, 0, 39, 0, 0, 0, 0, 0, 0, 0, - 0, 125, 0, 0, 0, 126, 0, 0, 0, 0, - 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, - 0, 0, 0, 0, 0, 0, 137, 138, + 0, 0, 0, 0, 0, 0, 173, 0, 0, 0, + 0, 0, 0, 48, 0, 0, 0, 49, 0, 0, + 0, 0, 0, 0, 0, 171, 155, 156, 0, 50, + 0, 0, 0, 0, 0, 0, 0, 0, 157, 0, + 0, 105, 262, 339, 0, 0, 0, 159, 160, 161, + 162, 163, 164, 165, 166, 167, 168, 0, 173, 0, + 0, 0, 0, 169, 170, 0, 245, 245, 0, 0, + 0, 245, 0, 0, 0, 0, 0, 171, 245, 0, + 0, 0, 245, 245, 0, 245, 245, 245, 0, 105, + 0, 340, 0, 245, 0, 0, 0, 0, 0, 0, + 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 245, 245, 245, 245, 245, 245, 245, 0, 0, 0, + 0, 0, 48, 54, 0, 0, 49, 0, 0, 0, + 0, 0, 0, 0, 0, 155, 156, 0, 50, 0, + 0, 105, 0, 392, 0, 0, 0, 157, 0, 0, + 0, 158, 0, 0, 0, 0, 159, 160, 161, 162, + 163, 164, 165, 166, 167, 168, 0, 0, 0, 0, + 0, 0, 169, 170, 0, 0, 48, 0, 0, 0, + 49, 0, 0, 0, 0, 0, 0, 0, 139, 155, + 156, 0, 50, 0, 0, 0, 0, 0, 0, 0, + 0, 157, 0, 0, 0, 158, 0, 0, 0, 0, + 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, + 0, 0, 0, 0, 48, 0, 169, 170, 49, 0, + 0, 0, 0, 0, 0, 0, 0, 155, 156, 0, + 50, 0, 0, 0, 0, 0, 0, 0, 0, 157, + 0, 0, 0, 158, 0, 0, 0, 0, 159, 160, + 161, 162, 163, 164, 165, 166, 167, 168, 0, 0, + 0, 0, 0, 0, 169, 170, 48, 0, 0, 0, + 49, 0, 0, 0, 0, 0, 0, 0, 0, 155, + 156, 0, 50, 0, 0, 0, 0, 0, 0, 0, + 0, 157, 0, 0, 0, 158, 0, 0, 0, 0, + 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, + 1, 48, 0, 0, 0, 49, 169, 170, 0, 0, + 0, 0, 3, 0, 0, 0, 0, 50, 0, 4, + 5, 6, 0, 0, 0, 0, 0, 8, 0, 0, + 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 84, }; - protected short yyCheck[] = new short[3579]; + protected short yyCheck[] = new short[3796]; } class yyCheck0 { - protected static final short yyCheck0 [] = { 79, - 41, 82, 46, 63, 46, 60, 91, 62, 40, 60, - 88, 22, 22, 59, 46, 59, 61, 79, 123, 100, - 44, 62, 63, 41, 74, 106, 41, 43, 305, 109, - 20, 21, 149, 123, 123, 59, 60, 61, 49, 49, - 91, 109, 44, 236, 63, 41, 10, 109, 22, 301, - 364, 62, 79, 63, 137, 138, 22, 83, 335, 301, - 59, 258, 103, 44, 40, 262, 107, 91, 60, 149, - 96, 79, 44, 83, 41, 49, 24, 274, 26, 69, - 83, 62, 109, 49, 60, 44, 96, 149, 62, 105, - 62, 368, 301, 96, 291, 91, 107, 268, 88, 63, - 40, 109, 44, 62, 301, 44, 46, 190, 191, 192, - 188, 425, 426, 44, 44, 232, 430, 44, 92, 44, - 62, 123, 149, 62, 72, 43, 79, 45, 59, 258, - 44, 141, 62, 262, 44, 62, 147, 62, 141, 44, - 44, 149, 183, 224, 79, 274, 227, 41, 62, 59, - 44, 61, 232, 233, 44, 123, 109, 62, 62, 60, - 44, 301, 291, 268, 258, 233, 182, 360, 262, 59, - 232, 233, 301, 183, 109, 59, 179, 282, 268, 189, - 274, 302, 44, 40, 305, 235, 189, 237, 238, 308, - 309, 308, 282, 282, 268, 59, 149, 59, 188, 277, - 283, 284, 285, 37, 91, 232, 233, 301, 42, 41, - 289, 285, 44, 47, 149, 61, 301, 41, 273, 91, - 44, 123, 425, 426, 232, 233, 258, 430, 308, 41, - 301, 41, 44, 274, 44, 276, 293, 294, 288, 41, - 258, 301, 44, 258, 262, 301, 308, 262, 303, 304, - 301, 332, 333, 336, 40, 41, 274, 93, 44, 274, - 46, 271, 308, 309, 308, 309, 308, 309, 271, 314, - 315, 316, 317, 59, 60, 61, 321, 301, 95, 232, - 233, 308, 301, 301, 364, 365, 301, 277, 286, 287, - 95, 258, 302, 374, 375, 262, 93, 232, 233, 379, - 308, 41, 364, 365, 44, 91, 38, 274, 125, 308, - 309, 60, 40, 354, 355, 40, 40, 379, 44, 46, - 125, 401, 402, 59, 404, 329, 59, 44, 38, 409, - 94, 124, 307, 413, 301, 415, 416, 364, 365, 401, - 402, 306, 404, 40, 424, 425, 426, 409, 59, 301, - 430, 413, 379, 415, 416, 308, 364, 365, 301, 40, - 40, 60, 424, 425, 426, 46, 59, 41, 430, 41, - 40, 379, 59, 308, 401, 402, 59, 404, 41, 40, - 61, 59, 409, 59, 40, 267, 413, 41, 415, 416, - 41, 41, 41, 401, 402, 41, 404, 424, 425, 426, - 267, 409, 0, 430, 123, 413, 301, 415, 416, 301, - 91, 364, 365, 16, 123, 123, 424, 425, 426, 123, - 59, 123, 430, 123, 241, 242, 379, 123, 245, 364, - 365, 289, 290, 291, 292, 252, 241, 242, 59, 123, - 245, 258, 49, 62, 379, 26, 123, 69, 401, 402, - 123, 404, 269, 258, 189, 123, 409, 271, 33, 296, - 413, 299, 415, 416, 295, 40, 401, 402, 43, 404, - 45, 424, 425, 426, 409, 297, 75, 430, 413, 298, - 415, 416, 269, 12, 20, 21, 22, 269, 305, 424, - 425, 426, 105, 63, 33, 430, 108, 239, 315, -1, - -1, 40, -1, -1, 43, 257, 45, -1, -1, -1, - 315, 263, -1, 49, -1, 301, -1, 269, 335, -1, - 59, -1, 308, 309, 276, 277, 278, 63, 314, 315, - 316, 317, 284, 69, -1, 321, -1, -1, 74, -1, - -1, -1, -1, 79, 361, -1, 363, 83, 123, 366, - -1, 368, 88, -1, -1, -1, 361, -1, 363, -1, - 96, 366, 37, 38, 381, 382, 41, 42, 43, 44, - 45, -1, 47, 109, -1, -1, 381, 382, -1, -1, - -1, 24, 25, 26, 59, 60, 61, 62, 257, 406, - 407, 408, -1, -1, 263, -1, -1, -1, -1, -1, - 269, 406, 407, 408, -1, 141, -1, 276, 277, 278, - -1, 33, -1, 149, -1, 284, -1, -1, 40, 94, - 301, 43, -1, 45, -1, 68, -1, 308, 309, 72, - 73, -1, -1, 314, 315, 316, 317, 59, -1, -1, - 321, -1, -1, -1, -1, -1, -1, 183, 33, 124, - 125, -1, 188, 189, -1, 40, 41, -1, 43, -1, - 45, -1, -1, -1, -1, 33, -1, -1, -1, -1, - -1, 114, 40, 41, -1, 43, -1, 45, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 232, 233, -1, 235, - 275, 237, 238, 33, -1, -1, -1, -1, -1, -1, - 40, -1, 287, 43, -1, 45, -1, -1, 293, 294, - 295, 296, 297, 298, 299, 300, 301, -1, -1, 59, - 33, -1, -1, 308, 309, 271, 275, 40, 41, -1, - 43, 277, 45, -1, -1, -1, -1, -1, 287, -1, - -1, -1, 288, -1, 293, 294, 295, 296, 297, 298, - 299, 300, 301, -1, -1, -1, 302, 33, -1, 308, - 309, -1, 308, -1, 40, 41, -1, 43, -1, 45, - -1, -1, 257, 258, -1, -1, -1, 262, -1, -1, - -1, -1, -1, -1, 269, -1, -1, -1, 273, 274, - -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, - 33, -1, -1, -1, -1, -1, 291, 40, -1, -1, - 43, -1, 45, -1, -1, -1, 301, 302, 303, 304, - 305, 306, 307, 308, 309, -1, 59, 33, -1, 314, - 315, 316, 317, -1, 40, 41, 321, 43, -1, 45, - -1, -1, -1, 275, 33, -1, -1, -1, -1, -1, - -1, 40, 41, -1, 43, 287, 45, -1, -1, -1, - -1, 293, 294, 295, 296, 297, 298, 299, 300, 301, - -1, 33, -1, -1, -1, -1, 308, 309, 40, 41, - 275, 43, -1, 45, -1, -1, -1, -1, -1, -1, - -1, -1, 287, -1, -1, -1, -1, 275, 293, 294, - 295, 296, 297, 298, 299, 300, 301, -1, -1, 287, - -1, -1, -1, 308, 309, 293, 294, 295, 296, 297, - 298, 299, 300, 301, -1, -1, 33, -1, -1, -1, - 308, 309, -1, 40, 41, 275, 43, -1, 45, -1, - -1, -1, -1, -1, -1, -1, -1, 287, -1, -1, - -1, -1, -1, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 275, 33, -1, -1, -1, -1, 308, 309, - 40, -1, -1, 43, 287, 45, -1, -1, -1, -1, - 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, + protected static final short yyCheck0 [] = { 105, + 52, 41, 40, 46, 63, 25, 26, 91, 46, 27, + 46, 100, 32, 60, 181, 33, 59, 105, 51, 123, + 134, 73, 74, 61, 57, 123, 63, 114, 134, 54, + 123, 60, 44, 62, 269, 41, 27, 44, 59, 91, + 92, 123, 60, 33, 91, 44, 134, 59, 60, 61, + 59, 123, 27, 91, 41, 12, 74, 44, 41, 399, + 80, 308, 309, 41, 35, 29, 37, 59, 86, 60, + 44, 105, 36, 93, 92, 181, 338, 129, 59, 91, + 132, 40, 73, 44, 302, 60, 109, 305, 62, 105, + 142, 109, 59, 181, 114, 40, 86, 264, 73, 122, + 134, 62, 61, 59, 122, 130, 40, 369, 91, 59, + 41, 108, 46, 44, 301, 60, 123, 74, 134, 40, + 41, 461, 462, 44, 123, 46, 466, 118, 99, 126, + 59, 123, 96, 220, 131, 92, 301, 59, 59, 60, + 61, 403, 123, 105, 59, 59, 301, 181, 59, 59, + 173, 265, 268, 44, 61, 173, 123, 132, 264, 265, + 395, 105, 27, 215, 268, 181, 32, 123, 33, 285, + 91, 62, 134, 123, 341, 268, 264, 265, 282, 268, + 60, 270, 271, 258, 282, 60, 268, 262, 211, 214, + 134, 301, 109, 44, 123, 60, 268, 215, 221, 274, + 220, 123, 44, 221, 179, 122, 44, 44, 123, 123, + 282, 62, 123, 123, 80, 44, 105, 301, 258, 181, + 62, 86, 262, 310, 62, 62, 301, 93, 44, 44, + 264, 265, 321, 62, 274, 341, 268, 181, 461, 462, + 319, 320, 301, 466, 273, 134, 62, 62, 264, 265, + 60, 44, 258, 341, 301, 307, 262, 309, 291, 256, + 123, 301, 259, 301, 301, 308, 309, 44, 274, 62, + 308, 309, 308, 309, 303, 304, 314, 315, 316, 317, + 258, 304, 44, 321, 262, 62, 304, 308, 309, 301, + 310, 44, 181, 399, 400, 301, 274, 59, 44, 308, + 309, 44, 264, 265, 121, 37, 59, 341, 61, 415, + 42, 399, 400, 59, 44, 47, 59, 335, 59, 41, + 264, 265, 44, 301, 43, 341, 45, 415, 301, 59, + 41, 437, 438, 44, 440, 41, 388, 389, 44, 445, + 157, 41, 40, 449, 44, 451, 452, 289, 41, 437, + 438, 44, 440, 61, 460, 461, 462, 445, 326, 327, + 466, 449, 91, 451, 452, 399, 400, 91, 301, 366, + 367, 123, 460, 461, 462, 264, 265, 59, 466, 341, + 301, 415, 301, 399, 400, 301, 93, 308, 309, 60, + 93, 38, 60, 314, 315, 316, 317, 341, 40, 415, + 321, 40, 40, 437, 438, 59, 440, 314, 315, 316, + 317, 445, 409, 410, 321, 449, 44, 451, 452, 46, + 329, 437, 438, 59, 440, 44, 460, 461, 462, 445, + 38, 94, 466, 449, 124, 451, 452, 399, 400, 322, + 323, 324, 325, 307, 460, 461, 462, 306, 40, 59, + 466, 301, 341, 415, 125, 399, 400, 274, 275, 40, + 301, 278, 29, 30, 60, 59, 41, 41, 40, 36, + 59, 415, 59, 59, 291, 437, 438, 59, 440, 41, + 59, 40, 40, 445, 267, 41, 41, 449, 41, 451, + 452, 41, 41, 437, 438, 267, 440, 0, 460, 461, + 462, 445, 301, 86, 466, 449, 20, 451, 452, 21, + 399, 400, 79, 59, 59, 36, 460, 461, 462, 60, + 60, 73, 466, 304, 33, 342, 415, 37, 328, 96, + 97, 40, 349, 221, 43, 329, 45, 332, 330, 302, + 169, 170, 331, 302, 101, 130, 31, 14, 437, 438, + 59, 440, 74, 133, 33, 272, 445, -1, -1, -1, + 449, 40, 451, 452, 43, -1, 45, 25, 26, 27, + -1, 460, 461, 462, 32, 33, -1, 466, 145, 396, + 59, 398, -1, -1, 401, -1, 257, 258, 258, -1, + -1, 262, 262, 222, 223, 224, -1, -1, 269, -1, + 417, 418, 60, 274, 274, 276, 277, 278, -1, -1, + -1, -1, -1, 284, -1, -1, 74, -1, -1, -1, + 291, 291, 80, -1, -1, 442, 443, 444, 86, -1, + 301, 301, -1, -1, 92, 93, -1, 258, -1, -1, + -1, 262, 100, -1, -1, -1, -1, 105, -1, -1, + -1, 109, -1, 274, -1, -1, 114, -1, -1, -1, + -1, 37, 38, -1, 122, 41, 42, 43, 44, 45, + 291, 47, -1, -1, -1, -1, 134, -1, -1, -1, + 301, -1, -1, 59, 60, 61, 62, 316, 317, 318, + -1, -1, 33, -1, -1, -1, -1, -1, -1, 40, + 41, -1, 43, -1, 45, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 173, 257, 258, 94, 33, + -1, 262, -1, 181, -1, -1, 40, -1, 269, 43, + -1, 45, -1, 274, -1, 276, 277, 278, -1, -1, + -1, 370, -1, 284, -1, -1, 33, -1, 124, 125, + 291, -1, -1, 40, 41, 257, 43, 215, 45, -1, + 301, 263, 220, 221, -1, -1, 275, 269, -1, -1, + -1, -1, -1, -1, 276, 277, 278, -1, 287, 281, + -1, -1, 284, -1, 293, 294, 295, 296, 297, 298, + 299, 300, 301, -1, -1, -1, 275, -1, -1, 308, + 309, -1, -1, -1, -1, -1, 264, 265, 287, 123, + 268, -1, 270, 271, 293, 294, 295, 296, 297, 298, + 299, 300, 301, -1, 33, -1, -1, -1, -1, 308, + 309, 40, -1, -1, 43, -1, 45, -1, -1, -1, + 60, 33, -1, -1, -1, -1, 304, -1, 40, 41, + 59, 43, 310, 45, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 321, -1, -1, -1, -1, 33, -1, + -1, -1, -1, -1, -1, 40, 41, 335, 43, -1, + 45, 257, 258, 341, -1, -1, 262, -1, -1, -1, + -1, -1, -1, 269, -1, -1, -1, 273, 274, -1, + 276, 277, 278, -1, -1, 125, -1, -1, 284, 33, + -1, -1, -1, -1, -1, 291, 40, -1, -1, 43, + -1, 45, -1, -1, -1, 301, 302, 303, 304, 305, + 306, 307, 308, 309, 275, 59, -1, -1, 314, 315, + 316, 317, -1, -1, -1, 321, 287, -1, -1, -1, + -1, -1, 293, 294, 295, 296, 297, 298, 299, 300, + 301, 275, 33, -1, -1, -1, -1, 308, 309, 40, + 41, -1, 43, 287, 45, -1, -1, -1, -1, 293, + 294, 295, 296, 297, 298, 299, 300, 301, 275, 33, + -1, -1, -1, -1, 308, 309, 40, 41, -1, 43, }; } class yyCheck1 { - protected static final short yyCheck1 [] = { 33, - -1, -1, -1, -1, 308, 309, 40, -1, 275, 43, - -1, 45, -1, -1, -1, -1, -1, -1, -1, -1, - 287, -1, -1, -1, -1, -1, 293, 294, 295, 296, - 297, 298, 299, 300, 301, -1, -1, -1, -1, -1, - -1, 308, 309, -1, -1, -1, -1, -1, -1, -1, - -1, 275, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 287, -1, -1, -1, -1, -1, 293, - 294, 295, 296, 297, 298, 299, 300, 301, 275, -1, - -1, -1, -1, -1, 308, 309, -1, 60, -1, -1, - 287, -1, -1, -1, -1, 275, 293, 294, 295, 296, - 297, 298, 299, 300, 301, -1, -1, 287, -1, -1, - -1, 308, 309, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 275, -1, -1, -1, -1, -1, 308, 309, - -1, -1, -1, -1, 287, -1, -1, -1, -1, -1, - 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, - -1, -1, 125, -1, -1, 308, 309, -1, 37, 38, - -1, 40, 41, 42, 43, 44, 45, 46, 47, -1, - -1, -1, -1, -1, -1, -1, -1, 275, -1, -1, - 59, -1, -1, 62, -1, -1, -1, -1, -1, 287, - -1, -1, -1, -1, -1, 293, 294, 295, 296, 297, - 298, 299, 300, 301, -1, -1, -1, -1, -1, -1, - 308, 309, 91, -1, 275, 94, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 287, -1, -1, -1, - 40, -1, 293, 294, 295, 296, 297, 298, 299, 300, - 301, -1, -1, -1, 123, 124, 125, 308, 309, 59, + protected static final short yyCheck1 [] = { 287, + 45, -1, -1, -1, -1, 293, 294, 295, 296, 297, + 298, 299, 300, 301, -1, 33, -1, -1, -1, -1, + 308, 309, 40, 41, -1, 43, -1, 45, -1, -1, + -1, -1, 33, -1, -1, -1, 257, 258, -1, 40, + 41, 262, 43, -1, 45, -1, -1, -1, 269, -1, + -1, -1, -1, 274, -1, 276, 277, 278, -1, 33, + -1, -1, -1, 284, -1, 275, 40, -1, -1, 43, + 291, 45, -1, -1, -1, -1, -1, 287, -1, -1, + 301, -1, 275, 293, 294, 295, 296, 297, 298, 299, + 300, 301, -1, -1, 287, -1, -1, -1, 308, 309, + 293, 294, 295, 296, 297, 298, 299, 300, 301, 275, + 33, -1, -1, -1, -1, 308, 309, 40, -1, -1, + 43, 287, 45, -1, -1, -1, -1, 293, 294, 295, + 296, 297, 298, 299, 300, 301, -1, -1, -1, 257, + -1, -1, 308, 309, -1, 263, -1, -1, -1, -1, + 275, 269, -1, -1, -1, -1, -1, -1, 276, 277, + 278, -1, 287, 281, -1, -1, 284, -1, 293, 294, + 295, 296, 297, 298, 299, 300, 301, -1, 40, -1, + -1, -1, -1, 308, 309, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 59, -1, -1, + -1, -1, -1, 275, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 287, -1, -1, -1, -1, + -1, 293, 294, 295, 296, 297, 298, 299, 300, 301, + 275, -1, -1, -1, -1, -1, 308, 309, -1, -1, + -1, -1, 287, -1, -1, -1, -1, -1, 293, 294, + 295, 296, 297, 298, 299, 300, 301, 275, -1, -1, + -1, 123, -1, 308, 309, -1, -1, -1, -1, 287, + -1, -1, -1, -1, 275, 293, 294, 295, 296, 297, + 298, 299, 300, 301, 40, -1, 287, -1, -1, -1, + 308, 309, 293, 294, 295, 296, 297, 298, 299, 300, + 301, 275, -1, 59, -1, -1, -1, 308, 309, -1, -1, -1, -1, 287, -1, -1, -1, -1, -1, 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, -1, - -1, -1, 37, 38, 308, 309, 41, 42, 43, 44, - 45, -1, 47, -1, 257, 258, -1, -1, -1, 262, - -1, -1, -1, -1, 59, 60, 269, 62, -1, -1, - -1, 274, -1, 276, 277, 278, 364, 365, -1, -1, - -1, 284, -1, 123, -1, 125, -1, -1, 291, -1, - -1, 379, -1, -1, -1, -1, -1, 37, 301, 94, - -1, 41, 42, 43, 44, 45, 46, 47, -1, -1, - -1, -1, -1, 401, 402, -1, 404, -1, -1, 59, - 60, 409, 62, -1, -1, 413, -1, 415, 416, 124, - 125, -1, -1, -1, -1, -1, 424, 425, 426, -1, - -1, -1, 430, -1, -1, -1, -1, -1, 257, 258, - -1, -1, -1, 262, 94, -1, -1, -1, -1, -1, - 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, - -1, -1, -1, 282, -1, 284, -1, -1, -1, 60, - -1, -1, 291, -1, 124, 125, -1, -1, -1, -1, - -1, -1, 301, 302, 303, 304, 305, 306, 307, 308, - 309, -1, -1, 37, 38, -1, -1, 41, 42, 43, - 44, 45, 46, 47, -1, -1, -1, -1, 258, -1, - -1, -1, 262, -1, -1, 59, 60, 267, 62, -1, - -1, 271, 272, -1, 274, -1, -1, -1, -1, -1, - -1, -1, -1, 283, 125, -1, -1, 287, -1, -1, - -1, -1, 292, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 257, 258, -1, -1, -1, 262, 308, 309, - -1, -1, -1, -1, 269, -1, -1, -1, 273, 274, - -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, - 124, 125, -1, -1, -1, -1, 291, 40, -1, -1, - -1, -1, -1, -1, -1, -1, 301, 302, 303, 304, - 305, 306, 307, 308, 309, -1, 59, 257, 258, -1, - -1, -1, 262, -1, -1, -1, -1, -1, -1, 269, - -1, -1, -1, 273, 274, -1, 276, 277, 278, -1, - -1, -1, -1, -1, 284, -1, -1, -1, 37, 38, - -1, 291, 41, 42, 43, 44, 45, 46, 47, -1, - -1, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 59, 60, -1, 62, -1, -1, 257, 258, -1, -1, - 123, 262, -1, -1, -1, -1, -1, -1, 269, -1, - -1, -1, -1, 274, -1, 276, 277, 278, -1, -1, - -1, -1, -1, 284, -1, 94, -1, 37, 38, -1, - 291, 41, 42, 43, 44, 45, 46, 47, -1, -1, - 301, -1, -1, 257, 258, -1, -1, -1, 262, 59, - 60, -1, 62, -1, -1, 269, 125, -1, -1, 273, - 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, - 284, -1, -1, -1, -1, -1, -1, 291, -1, -1, - -1, -1, -1, -1, 94, -1, -1, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 37, 38, -1, -1, + -1, -1, -1, -1, 308, 309, 37, 38, -1, 40, 41, 42, 43, 44, 45, 46, 47, -1, -1, -1, - -1, -1, -1, -1, 124, 125, -1, -1, 59, 60, - -1, 62, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 37, 38, -1, -1, 41, 42, 43, - 44, 45, -1, 47, -1, -1, -1, -1, 271, 272, - -1, -1, -1, 94, -1, 59, 60, -1, 62, -1, - 283, -1, -1, -1, 287, -1, -1, -1, -1, 292, + -1, -1, -1, -1, -1, -1, -1, -1, 59, -1, + -1, 62, -1, -1, 287, -1, -1, 123, -1, -1, 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, - -1, -1, -1, 124, 125, 308, 309, -1, 257, 258, - 94, -1, -1, 262, -1, -1, -1, -1, -1, -1, - 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, - -1, -1, -1, -1, -1, 284, -1, -1, -1, 37, - 124, 125, 291, 41, 42, 43, 44, 45, 46, 47, - -1, -1, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 59, 60, -1, 62, -1, -1, 257, 258, -1, - -1, -1, 262, -1, -1, -1, -1, -1, -1, 269, - -1, -1, -1, 273, 274, -1, 276, 277, 278, -1, - -1, -1, -1, -1, 284, -1, 94, -1, -1, -1, - -1, 291, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 301, 302, 303, 304, 305, 306, -1, 308, 309, - -1, -1, -1, -1, 37, 38, 124, 125, 41, 42, - 43, 44, 45, 46, 47, -1, 257, 258, -1, -1, - -1, 262, -1, -1, -1, -1, 59, 60, 269, 62, + -1, -1, -1, -1, -1, 308, 309, -1, -1, -1, + 91, 37, 38, 94, -1, 41, 42, 43, 44, 45, + -1, 47, -1, -1, -1, -1, -1, -1, -1, 271, + 272, -1, -1, 59, 60, -1, 62, -1, -1, -1, + -1, 283, 123, 124, 125, 287, -1, -1, -1, -1, + 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, + -1, -1, -1, -1, -1, 37, 308, 309, 94, 41, + 42, 43, 44, 45, 46, 47, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 59, 60, -1, + 62, -1, -1, -1, -1, -1, -1, -1, 124, 125, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 37, + 38, -1, 94, 41, 42, 43, 44, 45, 46, 47, + -1, -1, -1, -1, -1, 271, 272, -1, -1, -1, + -1, 59, 60, -1, 62, -1, -1, 283, -1, -1, + -1, 287, 124, 125, -1, -1, 292, 293, 294, 295, + 296, 297, 298, 299, 300, 301, -1, -1, -1, -1, + -1, -1, 308, 309, -1, -1, 257, 258, -1, -1, + -1, 262, -1, -1, -1, -1, -1, -1, 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, -1, -1, - -1, -1, -1, 284, -1, -1, -1, -1, -1, -1, - 291, -1, -1, 257, 258, -1, -1, -1, 262, -1, - 301, 302, 303, 304, 305, 269, 307, 308, 309, 273, - 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, - 284, -1, -1, -1, -1, -1, -1, 291, -1, -1, + -1, 282, -1, 284, -1, -1, 124, 125, -1, -1, + 291, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 301, 302, 303, 304, 305, 306, 307, 308, 309, -1, + -1, 257, 258, -1, -1, -1, 262, -1, -1, -1, + -1, -1, -1, 269, -1, -1, -1, 273, 274, -1, + 276, 277, 278, -1, 169, 170, -1, -1, 284, -1, + -1, -1, -1, -1, -1, 291, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 301, 302, 303, 304, 305, + 306, 307, 308, 309, -1, 257, 258, -1, -1, -1, + 262, -1, -1, -1, -1, -1, -1, 269, -1, 60, + -1, 273, 274, -1, 276, 277, 278, 222, 223, 224, + -1, -1, 284, -1, -1, -1, -1, -1, -1, 291, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 301, + 302, 303, 304, 305, 306, 307, 308, 309, -1, 257, + 258, -1, -1, -1, 262, -1, -1, -1, -1, -1, + -1, 269, -1, -1, -1, 273, 274, -1, 276, 277, + 278, -1, -1, -1, 125, -1, 284, -1, -1, -1, + 37, 38, -1, 291, 41, 42, 43, 44, 45, 46, + 47, -1, -1, 301, 302, 303, 304, 305, 306, 307, + 308, 309, 59, 60, -1, 62, -1, -1, -1, -1, + -1, 316, 317, 318, 319, 320, -1, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 331, 332, -1, -1, + -1, -1, -1, -1, 37, 38, -1, 94, 41, 42, + 43, 44, 45, 46, 47, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 59, 60, -1, 62, + -1, -1, -1, -1, -1, 370, -1, -1, 125, -1, + -1, -1, 37, 38, -1, -1, 41, 42, 43, 44, + 45, 46, 47, -1, -1, -1, -1, -1, -1, -1, + -1, 94, -1, -1, 59, 60, -1, 62, -1, -1, + -1, -1, -1, -1, -1, -1, 257, 258, -1, 37, + 38, 262, -1, 41, 42, 43, 44, 45, 269, 47, + -1, 124, 125, 274, -1, 276, 277, 278, -1, 94, + -1, 59, 60, 284, 62, -1, -1, -1, -1, -1, + 291, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 301, -1, -1, -1, -1, -1, -1, -1, -1, 124, + 125, -1, -1, -1, -1, -1, 94, -1, -1, 37, + -1, -1, -1, 41, 42, 43, 44, 45, 46, 47, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 59, 60, -1, 62, -1, 124, 125, -1, -1, + 257, 258, -1, -1, -1, 262, -1, -1, -1, -1, + -1, -1, 269, -1, -1, -1, 273, 274, -1, 276, + 277, 278, -1, -1, -1, -1, 94, 284, -1, -1, }; } class yyCheck2 { protected static final short yyCheck2 [] = { -1, - 124, 125, -1, 60, -1, -1, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 37, 38, -1, -1, 41, - 42, 43, 44, 45, 46, 47, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 59, 60, -1, - 62, -1, -1, -1, -1, -1, -1, -1, 257, 258, + -1, -1, -1, 291, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 301, 302, 303, 304, 305, 306, 307, + 308, 309, -1, 257, 258, 124, 125, -1, 262, -1, + -1, -1, -1, -1, -1, 269, -1, -1, -1, 273, + 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, + 284, -1, -1, -1, -1, -1, -1, 291, -1, -1, + -1, 257, 258, -1, -1, 60, 262, 301, 302, 303, + 304, 305, 306, 269, 308, 309, -1, 273, 274, -1, + 276, 277, 278, -1, -1, -1, -1, -1, 284, -1, + -1, -1, -1, -1, -1, 291, -1, -1, 257, 258, + -1, -1, -1, 262, -1, 301, 302, 303, 304, 305, + 269, 307, 308, 309, 273, 274, -1, 276, 277, 278, + -1, -1, -1, -1, -1, 284, -1, -1, -1, 37, + 38, -1, 291, 41, 42, 43, 44, 45, 46, 47, + -1, -1, 301, 302, 303, 304, 305, 306, 307, 308, + 309, 59, 60, -1, 62, -1, -1, -1, 257, 258, -1, -1, -1, 262, -1, -1, -1, -1, -1, -1, 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, - -1, -1, 94, -1, -1, 284, -1, -1, -1, -1, - -1, -1, 291, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 284, -1, -1, -1, 37, + 38, -1, 291, 41, 42, 43, 44, 45, 46, 47, -1, -1, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 37, 38, 125, -1, 41, 42, 43, 44, 45, - 46, 47, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 59, 60, -1, 62, -1, -1, -1, - -1, -1, -1, 257, 258, -1, -1, -1, 262, -1, + 309, 59, 60, -1, 62, -1, 124, 125, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 37, 38, -1, 94, 41, 42, 43, + 44, 45, 46, 47, -1, -1, -1, -1, -1, -1, + -1, -1, 257, 258, -1, 59, 60, 262, 62, -1, + -1, -1, 399, 400, 269, -1, -1, 125, -1, 274, + -1, 276, 277, 278, -1, -1, -1, -1, 415, 284, + -1, -1, -1, -1, -1, -1, 291, -1, 37, 38, + 94, -1, 41, 42, -1, 44, 301, 46, 47, -1, + 437, 438, -1, 440, -1, -1, -1, -1, 445, -1, + 59, 60, 449, 62, 451, 452, -1, -1, -1, -1, + 124, 125, -1, 460, 461, 462, -1, -1, -1, 466, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 257, + 258, -1, -1, -1, 262, 94, -1, -1, -1, -1, + -1, 269, -1, -1, -1, 273, 274, -1, 276, 277, + 278, -1, -1, -1, -1, -1, 284, -1, -1, -1, + -1, -1, -1, 291, -1, 124, 125, -1, -1, -1, + -1, -1, -1, 301, 302, 303, 304, 305, 306, 307, + 308, 309, -1, -1, -1, -1, -1, -1, -1, 257, + 258, -1, -1, -1, 262, -1, -1, -1, -1, -1, + -1, 269, -1, -1, -1, 273, 274, -1, 276, 277, + 278, -1, -1, -1, -1, -1, 284, -1, -1, -1, + -1, -1, -1, 291, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 301, 302, 303, 304, 305, 306, 307, + 308, 309, -1, 257, 258, -1, -1, -1, 262, -1, -1, -1, -1, -1, -1, 269, -1, -1, -1, 273, - 274, -1, 276, 277, 278, -1, -1, -1, 94, -1, - 284, -1, -1, -1, -1, -1, -1, 291, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 37, 38, 124, 125, - 41, 42, -1, 44, -1, 46, 47, -1, -1, -1, - 257, 258, -1, -1, -1, 262, -1, -1, 59, 60, - -1, 62, 269, -1, -1, -1, -1, 274, -1, 276, - 277, 278, -1, -1, -1, -1, -1, 284, -1, -1, - -1, -1, -1, -1, 291, 257, 258, -1, -1, -1, - 262, -1, 40, 94, 301, -1, -1, 269, -1, -1, - -1, 273, 274, -1, 276, 277, 278, -1, -1, -1, - -1, 59, 284, -1, -1, -1, -1, -1, -1, 291, - -1, -1, -1, 124, 125, -1, -1, -1, -1, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 37, 38, - -1, -1, 41, 42, 43, 44, 45, 46, 47, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 59, 60, -1, 62, -1, -1, -1, -1, -1, -1, - -1, 257, 258, -1, -1, 123, 262, -1, -1, -1, - -1, -1, -1, 269, -1, -1, -1, 273, 274, -1, - 276, 277, 278, -1, -1, 94, -1, -1, 284, -1, - -1, -1, -1, -1, -1, 291, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 301, 302, 303, 304, 305, - 306, -1, 308, 309, -1, 124, 125, 37, 38, -1, - -1, 41, 42, 43, 44, 45, 46, 47, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 59, - 60, -1, 62, -1, -1, -1, 257, 258, -1, -1, - -1, 262, -1, -1, -1, -1, -1, -1, 269, -1, - -1, -1, 273, 274, -1, 276, 277, 278, -1, -1, - -1, -1, -1, 284, 94, -1, -1, -1, -1, -1, - 291, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 301, 302, 303, 304, 305, 306, 307, 308, 309, -1, - -1, -1, 37, 38, 124, 125, 41, 42, 43, 44, - 45, 46, 47, 271, 272, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 59, 283, -1, -1, -1, 287, - -1, -1, -1, -1, 292, 293, 294, 295, 296, 297, - 298, 299, 300, 301, -1, -1, -1, -1, 257, 258, - 308, 309, -1, 262, -1, -1, -1, -1, -1, 94, + 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, + 284, -1, -1, -1, 37, 38, -1, 291, 41, 42, + 43, 44, 45, 46, 47, -1, -1, 301, 302, 303, + 304, 305, 306, -1, 308, 309, 59, -1, 257, 258, + -1, -1, -1, 262, -1, -1, -1, -1, -1, -1, 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, - -1, -1, -1, -1, -1, 284, -1, -1, -1, -1, - -1, -1, 291, -1, -1, -1, -1, -1, -1, 124, - 125, -1, 301, -1, 303, 304, -1, 306, 307, 308, - 309, -1, -1, 37, 38, -1, -1, 41, 42, 43, - 44, 45, 46, 47, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 59, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 257, 258, -1, - -1, -1, 262, -1, -1, -1, -1, -1, -1, 269, - -1, -1, -1, 273, 274, -1, 276, 277, 278, -1, - 94, -1, -1, -1, 284, -1, -1, -1, -1, -1, - -1, 291, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 301, -1, 303, 304, 60, 306, 307, 308, 309, - 124, 125, -1, 37, 38, -1, -1, 41, 42, 43, - 44, 45, 46, 47, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 59, -1, -1, -1, -1, - -1, -1, 257, 258, -1, -1, -1, 262, -1, -1, - -1, -1, -1, -1, 269, -1, -1, -1, -1, 274, - -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, - 94, -1, -1, -1, -1, -1, 291, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 301, 302, -1, -1, - 305, 306, 307, 308, 309, -1, -1, -1, -1, -1, - 124, 125, -1, 38, -1, -1, 41, -1, 43, 44, - 45, 46, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 59, 60, -1, 62, -1, -1, + -1, -1, -1, -1, -1, 284, -1, -1, -1, 37, + 38, 94, 291, 41, 42, 43, 44, 45, 46, 47, + -1, -1, 301, 302, 303, 304, 305, 306, 307, 308, + 309, 59, 60, -1, 62, -1, -1, -1, -1, -1, + -1, 124, 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 37, 38, -1, 94, 41, 42, 43, + 44, 45, 46, 47, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 59, 60, -1, 62, -1, + -1, -1, -1, -1, -1, -1, 124, 125, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 94, -1, -1, 37, 38, -1, -1, 41, 42, 43, + 44, 45, 46, 47, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 59, -1, -1, -1, -1, + 124, 125, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 257, 258, -1, -1, -1, 262, + 94, -1, -1, -1, -1, -1, 269, -1, -1, -1, + -1, 274, -1, 276, 277, 278, -1, -1, -1, -1, + -1, 284, -1, -1, -1, -1, -1, -1, 291, -1, + 124, 125, -1, -1, -1, -1, -1, -1, 301, 302, + -1, -1, 305, 306, 307, 308, 309, -1, -1, 257, + 258, -1, -1, -1, 262, -1, -1, -1, -1, -1, + -1, 269, -1, -1, -1, 273, 274, -1, 276, 277, + 278, -1, -1, -1, -1, -1, 284, -1, -1, -1, + -1, -1, -1, 291, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 301, -1, 303, 304, -1, 306, 307, + 308, 309, -1, 257, 258, -1, -1, -1, 262, -1, + -1, -1, -1, -1, -1, 269, -1, -1, -1, 273, + 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, + 284, -1, -1, -1, 37, 38, -1, 291, 41, 42, + 43, 44, 45, 46, 47, -1, -1, 301, -1, 303, + 304, -1, 306, 307, 308, 309, 59, -1, -1, -1, -1, -1, -1, 257, 258, -1, -1, -1, 262, -1, - -1, 137, 138, -1, -1, 269, -1, -1, -1, 94, + -1, -1, -1, -1, -1, 269, -1, -1, -1, -1, 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, - 284, -1, -1, -1, -1, 38, -1, 291, 41, -1, - 43, 44, 45, 46, -1, -1, -1, 301, 302, 124, - 125, 305, 306, 307, 308, 309, 59, 60, -1, 62, - -1, -1, 257, 258, 190, 191, 192, 262, -1, -1, - -1, -1, -1, -1, 269, -1, -1, -1, -1, 274, - -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, - -1, 94, -1, 257, 258, -1, 291, -1, 262, -1, - -1, -1, -1, -1, -1, 269, 301, -1, -1, -1, - 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, - 284, 124, 125, -1, -1, 38, -1, 291, 41, -1, + 284, 94, -1, -1, -1, 38, -1, 291, 41, -1, 43, 44, 45, 46, -1, -1, -1, 301, 302, -1, -1, 305, 306, 307, 308, 309, 59, 60, -1, 62, - -1, -1, -1, -1, -1, -1, -1, 283, 284, 285, - 286, 287, -1, 289, 290, 291, 292, 293, 294, 295, - 296, 297, 298, 299, -1, -1, -1, -1, -1, -1, - -1, 94, 257, 258, -1, -1, -1, 262, -1, -1, - -1, -1, -1, -1, 269, -1, -1, -1, 273, 274, - -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, - 336, 124, 125, -1, -1, -1, 291, -1, -1, -1, + -1, 124, 125, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 38, + -1, 94, 41, -1, 43, 44, 45, 46, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 59, 60, -1, 62, -1, -1, -1, -1, -1, -1, }; } class yyCheck3 { protected static final short yyCheck3 [] = { -1, - -1, -1, -1, -1, -1, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 37, 38, -1, -1, 41, 42, - 43, 44, 45, 46, 47, -1, -1, -1, -1, -1, - -1, -1, -1, 257, 258, -1, 59, 60, 262, 62, - -1, -1, 40, -1, -1, 269, -1, -1, -1, 273, - 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, - 284, 59, -1, -1, -1, -1, -1, 291, -1, -1, - -1, 94, -1, -1, -1, -1, -1, 301, 302, 303, - 304, 305, 306, 307, 308, 309, -1, -1, -1, -1, - -1, -1, -1, -1, 40, -1, -1, -1, -1, -1, - -1, 124, 125, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 59, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 257, 258, 123, -1, 125, 262, -1, - -1, -1, -1, -1, -1, 269, -1, -1, -1, 273, - 274, -1, 276, 277, 278, -1, 40, -1, -1, -1, - 284, -1, -1, -1, -1, -1, -1, 291, -1, -1, - -1, -1, -1, -1, -1, 59, -1, 301, 302, 303, - 304, 305, 306, 307, 308, 309, -1, 123, -1, 125, + 124, 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 38, 94, -1, 41, -1, 43, 44, + 45, 46, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 59, 60, -1, 62, -1, -1, + -1, -1, -1, -1, 124, 125, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 257, 258, -1, -1, -1, 262, 94, + -1, -1, -1, -1, -1, 269, 40, -1, -1, -1, + 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, + 284, -1, -1, -1, -1, 59, -1, 291, -1, 124, + 125, -1, -1, -1, -1, -1, -1, 301, 302, -1, + -1, 305, 306, 307, 308, 309, -1, -1, -1, -1, + -1, -1, -1, 257, 258, -1, -1, -1, 262, -1, + 40, -1, -1, -1, -1, 269, -1, -1, -1, 273, + 274, -1, 276, 277, 278, -1, -1, -1, -1, 59, + 284, -1, -1, -1, -1, -1, -1, 291, -1, 123, + -1, 125, -1, -1, -1, -1, -1, 301, 302, 303, + 304, 305, 306, 307, 308, 309, -1, 257, 258, -1, + -1, -1, 262, -1, -1, -1, -1, -1, -1, 269, + -1, -1, -1, 273, 274, -1, 276, 277, 278, -1, + -1, -1, -1, -1, 284, -1, -1, -1, -1, -1, + -1, 291, 40, 123, -1, 125, -1, -1, -1, -1, + -1, 301, 302, 303, 304, 305, 306, 307, 308, 309, + -1, 59, 257, 258, -1, -1, -1, 262, -1, -1, + -1, -1, -1, -1, 269, -1, -1, -1, 273, 274, + -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, + -1, -1, -1, 37, 38, -1, 291, 41, 42, 43, + 44, 45, 46, 47, -1, -1, 301, 302, 303, 304, + 305, 306, 307, 308, 309, 59, 60, -1, 62, -1, + -1, -1, -1, -1, 258, 123, -1, 125, 262, -1, + -1, -1, -1, 267, -1, -1, -1, 271, 272, -1, + 274, -1, -1, -1, -1, -1, -1, -1, -1, 283, + 94, 40, -1, 287, -1, -1, -1, -1, 292, 293, + 294, 295, 296, 297, 298, 299, 300, 301, -1, -1, + 59, -1, -1, -1, 308, 309, -1, -1, 258, -1, + 124, 125, 262, -1, -1, -1, -1, -1, -1, -1, + -1, 271, 272, -1, 274, -1, -1, -1, -1, -1, + -1, -1, -1, 283, -1, 40, -1, 287, -1, -1, + -1, -1, 292, 293, 294, 295, 296, 297, 298, 299, + 300, 301, -1, -1, 59, -1, -1, -1, 308, 309, + -1, -1, -1, -1, 123, -1, 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 59, -1, -1, -1, -1, -1, -1, 123, - -1, 125, -1, -1, 257, 258, -1, -1, -1, 262, - -1, -1, -1, -1, -1, -1, 269, 40, -1, -1, - 273, 274, -1, 276, 277, 278, -1, -1, -1, -1, - 258, 284, -1, -1, 262, -1, 59, -1, 291, -1, - -1, -1, -1, 271, 272, -1, 274, -1, 301, 302, - 303, 304, 305, 306, 307, 283, 123, -1, 125, 287, - -1, -1, -1, -1, 292, 293, 294, 295, 296, 297, + 258, -1, -1, -1, 262, -1, -1, -1, -1, -1, + -1, -1, 59, 271, 272, -1, 274, -1, -1, -1, + -1, -1, -1, -1, -1, 283, -1, -1, 123, 287, + 125, -1, -1, -1, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, 40, -1, -1, -1, -1, - 308, 309, 258, -1, -1, -1, 262, -1, -1, -1, - -1, -1, -1, -1, 59, 271, 272, -1, 274, -1, - 123, -1, 125, -1, -1, -1, -1, 283, -1, -1, - -1, 287, -1, -1, -1, -1, 292, 293, 294, 295, - 296, 297, 298, 299, 300, 301, -1, -1, -1, -1, - -1, -1, 308, 309, 258, -1, -1, -1, 262, -1, - -1, -1, -1, -1, -1, -1, -1, 271, 272, -1, - 274, -1, -1, -1, -1, -1, -1, -1, 123, 283, - 125, -1, -1, 287, -1, -1, -1, -1, 292, 293, - 294, 295, 296, 297, 298, 299, 300, 301, -1, -1, - -1, -1, -1, -1, 308, 309, -1, -1, -1, -1, - -1, 258, -1, -1, -1, 262, -1, -1, -1, -1, - -1, -1, -1, -1, 271, 272, -1, 274, -1, -1, - -1, -1, -1, -1, -1, -1, 283, -1, -1, -1, - 287, -1, -1, -1, -1, 292, 293, 294, 295, 296, - 297, 298, 299, 300, 301, 258, -1, -1, -1, 262, - -1, 308, 309, -1, -1, -1, -1, -1, 271, 272, - -1, 274, -1, -1, -1, -1, -1, -1, -1, -1, - 283, -1, -1, -1, 287, -1, -1, -1, -1, 292, - 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, - -1, -1, -1, -1, -1, 308, 309, -1, -1, -1, - -1, -1, -1, 258, -1, -1, -1, 262, -1, -1, - -1, -1, -1, -1, -1, -1, 271, 272, -1, 274, + 308, 309, -1, 257, 258, -1, -1, -1, 262, -1, + -1, -1, -1, -1, 59, 269, -1, -1, -1, 273, + 274, -1, 276, 277, 278, -1, 123, -1, 125, -1, + 284, -1, -1, -1, -1, -1, -1, 291, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 301, 302, 303, + 304, 305, 306, 307, -1, -1, -1, -1, -1, 258, + 60, -1, -1, 262, -1, -1, -1, -1, -1, -1, + -1, -1, 271, 272, -1, 274, -1, -1, 123, -1, + 125, -1, -1, -1, 283, -1, -1, -1, 287, -1, + -1, -1, -1, 292, 293, 294, 295, 296, 297, 298, + 299, 300, 301, -1, -1, -1, -1, -1, -1, 308, + 309, -1, -1, 258, -1, -1, -1, 262, -1, -1, + -1, -1, -1, -1, -1, 125, 271, 272, -1, 274, -1, -1, -1, -1, -1, -1, -1, -1, 283, -1, -1, -1, 287, -1, -1, -1, -1, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, -1, -1, - -1, -1, -1, 308, 309, + -1, 258, -1, 308, 309, 262, -1, -1, -1, -1, + -1, -1, -1, -1, 271, 272, -1, 274, -1, -1, + -1, -1, -1, -1, -1, -1, 283, -1, -1, -1, + 287, -1, -1, -1, -1, 292, 293, 294, 295, 296, + 297, 298, 299, 300, 301, -1, -1, -1, -1, -1, + -1, 308, 309, 258, -1, -1, -1, 262, -1, -1, + -1, -1, -1, -1, -1, -1, 271, 272, -1, 274, + -1, -1, -1, -1, -1, -1, -1, -1, 283, -1, + -1, -1, 287, -1, -1, -1, -1, 292, 293, 294, + 295, 296, 297, 298, 299, 300, 301, 257, 258, -1, + -1, -1, 262, 308, 309, -1, -1, -1, -1, 269, + -1, -1, -1, -1, 274, -1, 276, 277, 278, -1, + -1, -1, -1, -1, 284, -1, -1, -1, -1, -1, + -1, 291, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 301, }; } class yyCheckInit { - static short[] yyCheck = new short[3579]; + static short[] yyCheck = new short[3796]; protected static void yyCheckInit () { int numyycheck; int yyCheckerun = 0; for (numyycheck = 0; numyycheck <= 1000; numyycheck++) { - if (yyCheckerun < 3579) { + if (yyCheckerun < 3796) { yyCheck[yyCheckerun] = yyCheck0.yyCheck0[numyycheck]; yyCheckerun++; } } for (numyycheck = 0; numyycheck <= 1000; numyycheck++) { - if (yyCheckerun < 3579) { + if (yyCheckerun < 3796) { yyCheck[yyCheckerun] = yyCheck1.yyCheck1[numyycheck]; yyCheckerun++; } } for (numyycheck = 0; numyycheck <= 1000; numyycheck++) { - if (yyCheckerun < 3579) { + if (yyCheckerun < 3796) { yyCheck[yyCheckerun] = yyCheck2.yyCheck2[numyycheck]; yyCheckerun++; } } for (numyycheck = 0; numyycheck <= 1000; numyycheck++) { - if (yyCheckerun < 3579) { + if (yyCheckerun < 3796) { yyCheck[yyCheckerun] = yyCheck3.yyCheck3[numyycheck]; yyCheckerun++; } diff --git a/src/mycompiler/myparser/JavaParser.jay b/src/mycompiler/myparser/JavaParser.jay index 8b53e82f8..27d756b10 100755 --- a/src/mycompiler/myparser/JavaParser.jay +++ b/src/mycompiler/myparser/JavaParser.jay @@ -394,12 +394,12 @@ typedeclaration :classdeclaration { $$=$1; } -/* | interfacedeclaration + | interfacedeclaration { // SCJU: Interface $$=$1; } -*/ + qualifiedname : name '.' IDENTIFIER { diff --git a/test/mycompiler/test/lambda/testResults/LambdaTest.log b/test/mycompiler/test/lambda/testResults/LambdaTest.log index 4aa85c5a9..216cffbeb 100644 --- a/test/mycompiler/test/lambda/testResults/LambdaTest.log +++ b/test/mycompiler/test/lambda/testResults/LambdaTest.log @@ -1,85 +1,123 @@ -Class DEBUG [Typeinference] Erstellte Assumptions: this: ConstructorTest1Method Assumptions: -[MethodAssumption: ConstructorTest1 null { [no type [var], (var = int 1)]] +Class DEBUG [Typeinference] Erstellte Assumptions: this: MatrixMethod Assumptions: +[MethodAssumption: Matrix null { []] FieldVar Assumptions: -[] +[typinferenz.assumptions.FieldAssumption@fefb1c0] LocalVar Assumptions: [] Parameter Assumptions: [] -Block DEBUG [Typeinference] Prozessing statement: no type [var] -Block DEBUG [Typeinference] Prozessing statement: (var = int 1) -Block DEBUG [Typeinference] Prozessing statement: void(var: TPH D = int 1) -Block DEBUG [Typeinference] Prozessing statement: TPH D [var] -Class DEBUG [Typeinference] Erstellte Constraints: int < TPH D -TPH D < TPH E +Block DEBUG [Typeinference] Prozessing statement: null Return null (( [ f, ]) -> null { [null Return null (f.apply( [ null (this(null)), m, ]))]) +Block DEBUG [Typeinference] Prozessing statement: null Return null (f.apply( [ null (this(null)), m, ])) +Block DEBUG [Typeinference] Prozessing statement: TPH CJ Return TPH CF (f: TPH CD.apply( [ Matrix (this(null)), m: TPH CB, ])) +Block DEBUG [Typeinference] Prozessing statement: TPH CK Return TPH CE (( [ TPH CD f, ]) -> TPH CJ { [TPH CJ Return TPH CF (f: TPH CD.apply( [ Matrix (this(null)), m: TPH CB, ]))]) +Class DEBUG [Typeinference] Erstellte Constraints: TPH BZ < TPH BZ +[(TPH CG <. TPH CF), (Matrix <. TPH CH), (TPH CB <. TPH CI), (TPH CD <. FunN), ] +TPH CF < TPH CJ +Fun1< TPH CJ, TPH CD > < TPH CE +TPH CE < TPH CK +Fun1< TPH CK, TPH CB > < TPH CC +TPH CC < TPH BZ -SourceFile DEBUG [Typeinference] Karthesisches Produkt der Constraints: [[(int <. TPH D), (TPH D <. TPH E)]] -SourceFile DEBUG [Typeinference] Unifiziertes Ergebnis: [[(TPH E = int), (TPH D = int)]] +SourceFile DEBUG [Typeinference] Karthesisches Produkt der Constraints: [[(TPH BZ <. TPH BZ), (TPH CG <. TPH CF), (Matrix <. TPH CH), (TPH CB <. TPH CI), (TPH CD <. FunN), (TPH CF <. TPH CJ), (Fun1< TPH CJ, TPH CD > <. TPH CE), (TPH CE <. TPH CK), (Fun1< TPH CK, TPH CB > <. TPH CC), (TPH CC <. TPH BZ)]] +SourceFile DEBUG [Typeinference] Unifiziertes Ergebnis: [[(TPH CG <. TPH CF), (TPH CB <. TPH CI), (TPH CF <. TPH CJ), (TPH CK = Fun1< TPH CJ, FunN >), (TPH BZ = Fun1< Fun1< TPH CJ, FunN >, TPH CB >), (TPH CH = Matrix), (TPH CD = FunN), (TPH CE = Fun1< TPH CJ, FunN >), (TPH CC = Fun1< Fun1< TPH CJ, FunN >, TPH CB >)], [(TPH CG <. TPH CF), (TPH CB <. TPH CI), (TPH CF <. TPH CJ), (TPH CK = Fun1< TPH CJ, FunN >), (TPH BZ = Fun1< Fun1< TPH CJ, FunN >, TPH CB >), (TPH CH = Vector< Vector< GTV Integer > >), (TPH CD = FunN), (TPH CE = Fun1< TPH CJ, FunN >), (TPH CC = Fun1< Fun1< TPH CJ, FunN >, TPH CB >)], [(TPH CG <. TPH CF), (TPH CB <. TPH CI), (TPH CF <. TPH CJ), (TPH CK = Fun1< TPH CJ, FunN >), (TPH BZ = Fun1< Fun1< TPH CJ, FunN >, TPH CB >), (TPH CH = Vector< ? extends Vector< GTV Integer > >), (TPH CD = FunN), (TPH CE = Fun1< TPH CJ, FunN >), (TPH CC = Fun1< Fun1< TPH CJ, FunN >, TPH CB >)], [(TPH CG <. TPH CF), (TPH CB <. TPH CI), (TPH CF <. TPH CJ), (TPH CK = Fun1< TPH CJ, FunN >), (TPH BZ = Fun1< Fun1< TPH CJ, FunN >, TPH CB >), (TPH CH = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH CD = FunN), (TPH CE = Fun1< TPH CJ, FunN >), (TPH CC = Fun1< Fun1< TPH CJ, FunN >, TPH CB >)], [(TPH CG <. TPH CF), (TPH CB <. TPH CI), (TPH CF <. TPH CJ), (TPH CK = Fun1< TPH CJ, FunN >), (TPH BZ = Fun1< Fun1< TPH CJ, FunN >, TPH CB >), (TPH CH = Vector< ? extends Vector< ? super GTV Integer > >), (TPH CD = FunN), (TPH CE = Fun1< TPH CJ, FunN >), (TPH CC = Fun1< Fun1< TPH CJ, FunN >, TPH CB >)], [(TPH CG <. TPH CF), (TPH CB <. TPH CI), (TPH CF <. TPH CJ), (TPH CK = Fun1< TPH CJ, FunN >), (TPH BZ = Fun1< Fun1< TPH CJ, FunN >, TPH CB >), (TPH CH = Vector< ? super Vector< GTV Integer > >), (TPH CD = FunN), (TPH CE = Fun1< TPH CJ, FunN >), (TPH CC = Fun1< Fun1< TPH CJ, FunN >, TPH CB >)], [(TPH CG <. TPH CF), (TPH CB <. TPH CI), (TPH CF <. TPH CJ), (TPH CK = Fun1< TPH CJ, FunN >), (TPH BZ = Fun1< Fun1< TPH CJ, FunN >, TPH CB >), (TPH CH = Vector< ? super Matrix >), (TPH CD = FunN), (TPH CE = Fun1< TPH CJ, FunN >), (TPH CC = Fun1< Fun1< TPH CJ, FunN >, TPH CB >)]] SourceFile DEBUG [Typeinference] JavaFiles: -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH E = int), (TPH D = int)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH CG <. TPH CF), (TPH CB <. TPH CI), (TPH CF <. TPH CJ), (TPH CK = Fun1< TPH CJ, FunN >), (TPH BZ = Fun1< Fun1< TPH CJ, FunN >, TPH CB >), (TPH CH = Matrix), (TPH CD = FunN), (TPH CE = Fun1< TPH CJ, FunN >), (TPH CC = Fun1< Fun1< TPH CJ, FunN >, TPH CB >)] -SourceFile DEBUG [Typeinference] class ConstructorTest1 extends Object +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -ConstructorTest1 ConstructorTest1() -{ -int var; -var = 1; -} -} - -Class DEBUG [Typeinference] Erstellte Assumptions: this: ConstructorTest2Method Assumptions: -[MethodAssumption: void void { [(var = NEW ConstructorTest1)], MethodAssumption: ConstructorTest2 null { []] -FieldVar Assumptions: -[typinferenz.assumptions.FieldAssumption@27beded] -LocalVar Assumptions: -[] -Parameter Assumptions: -[] - -Block DEBUG [Typeinference] Prozessing statement: (var = NEW ConstructorTest1) -Block DEBUG [Typeinference] Prozessing statement: void(var: TPH B = NEW ConstructorTest1) -Class DEBUG [Typeinference] Erstellte Constraints: TPH B < TPH B -[(ConstructorTest1 <. ConstructorTest1), (ConstructorTest1 <. ConstructorTest1), ] -ConstructorTest1 < TPH B -TPH B < TPH G -void < void - -SourceFile DEBUG [Typeinference] Karthesisches Produkt der Constraints: [[(TPH B <. TPH B), (ConstructorTest1 <. ConstructorTest1), (ConstructorTest1 <. TPH B), (TPH B <. TPH G), (void <. void)], [(TPH B <. TPH B), (ConstructorTest1 <. ConstructorTest1), (ConstructorTest1 <. TPH B), (TPH B <. TPH G), (void <. void)]] -SourceFile DEBUG [Typeinference] Unifiziertes Ergebnis: [[(TPH G = ConstructorTest1), (TPH B = ConstructorTest1)]] -SourceFile DEBUG [Typeinference] -JavaFiles: - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH G = ConstructorTest1), (TPH B = ConstructorTest1)] - -SourceFile DEBUG [Typeinference] class ConstructorTest2 extends Object -{ -ConstructorTest1 var; -void method() -{ -var = new ConstructorTest1(); -} -ConstructorTest2 ConstructorTest2() +Fun1, CB> op = (CB m) -> { +return (FunN f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() { } } -SourceFile DEBUG [Typeinference] Unifiziertes Ergebnis: [[(TPH G = ConstructorTest1), (TPH B = ConstructorTest1)]] -SourceFile DEBUG [Typeinference] -JavaFiles: +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH CG <. TPH CF), (TPH CB <. TPH CI), (TPH CF <. TPH CJ), (TPH CK = Fun1< TPH CJ, FunN >), (TPH BZ = Fun1< Fun1< TPH CJ, FunN >, TPH CB >), (TPH CH = Vector< Vector< GTV Integer > >), (TPH CD = FunN), (TPH CE = Fun1< TPH CJ, FunN >), (TPH CC = Fun1< Fun1< TPH CJ, FunN >, TPH CB >)] -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH G = ConstructorTest1), (TPH B = ConstructorTest1)] - -SourceFile DEBUG [Typeinference] class ConstructorTest2 extends Object +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -ConstructorTest1 var; -void method() -{ -var = new ConstructorTest1(); -} -ConstructorTest2 ConstructorTest2() +Fun1, CB> op = (CB m) -> { +return (FunN f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH CG <. TPH CF), (TPH CB <. TPH CI), (TPH CF <. TPH CJ), (TPH CK = Fun1< TPH CJ, FunN >), (TPH BZ = Fun1< Fun1< TPH CJ, FunN >, TPH CB >), (TPH CH = Vector< ? extends Vector< GTV Integer > >), (TPH CD = FunN), (TPH CE = Fun1< TPH CJ, FunN >), (TPH CC = Fun1< Fun1< TPH CJ, FunN >, TPH CB >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1, CB> op = (CB m) -> { +return (FunN f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH CG <. TPH CF), (TPH CB <. TPH CI), (TPH CF <. TPH CJ), (TPH CK = Fun1< TPH CJ, FunN >), (TPH BZ = Fun1< Fun1< TPH CJ, FunN >, TPH CB >), (TPH CH = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH CD = FunN), (TPH CE = Fun1< TPH CJ, FunN >), (TPH CC = Fun1< Fun1< TPH CJ, FunN >, TPH CB >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1, CB> op = (CB m) -> { +return (FunN f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH CG <. TPH CF), (TPH CB <. TPH CI), (TPH CF <. TPH CJ), (TPH CK = Fun1< TPH CJ, FunN >), (TPH BZ = Fun1< Fun1< TPH CJ, FunN >, TPH CB >), (TPH CH = Vector< ? extends Vector< ? super GTV Integer > >), (TPH CD = FunN), (TPH CE = Fun1< TPH CJ, FunN >), (TPH CC = Fun1< Fun1< TPH CJ, FunN >, TPH CB >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1, CB> op = (CB m) -> { +return (FunN f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH CG <. TPH CF), (TPH CB <. TPH CI), (TPH CF <. TPH CJ), (TPH CK = Fun1< TPH CJ, FunN >), (TPH BZ = Fun1< Fun1< TPH CJ, FunN >, TPH CB >), (TPH CH = Vector< ? super Vector< GTV Integer > >), (TPH CD = FunN), (TPH CE = Fun1< TPH CJ, FunN >), (TPH CC = Fun1< Fun1< TPH CJ, FunN >, TPH CB >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1, CB> op = (CB m) -> { +return (FunN f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH CG <. TPH CF), (TPH CB <. TPH CI), (TPH CF <. TPH CJ), (TPH CK = Fun1< TPH CJ, FunN >), (TPH BZ = Fun1< Fun1< TPH CJ, FunN >, TPH CB >), (TPH CH = Vector< ? super Matrix >), (TPH CD = FunN), (TPH CE = Fun1< TPH CJ, FunN >), (TPH CC = Fun1< Fun1< TPH CJ, FunN >, TPH CB >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1, CB> op = (CB m) -> { +return (FunN f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() { } } diff --git a/tools/y.output b/tools/y.output index 048aeef5d..44c17bac2 100644 --- a/tools/y.output +++ b/tools/y.output @@ -16,380 +16,381 @@ 9 | simplename 10 typedeclaration : classdeclaration + 11 | interfacedeclaration - 11 qualifiedname : name '.' IDENTIFIER + 12 qualifiedname : name '.' IDENTIFIER - 12 importqualifiedname : name '.' IDENTIFIER - 13 | name '.' '*' + 13 importqualifiedname : name '.' IDENTIFIER + 14 | name '.' '*' - 14 simplename : IDENTIFIER + 15 simplename : IDENTIFIER - 15 classdeclaration : CLASS classidentifier classbody - 16 | modifiers CLASS classidentifier classbody - 17 | CLASS classidentifier super classbody - 18 | modifiers CLASS classidentifier super classbody - 19 | CLASS classidentifier interfaces classbody - 20 | modifiers CLASS classidentifier interfaces classbody - 21 | CLASS classidentifier super interfaces classbody - 22 | modifiers CLASS classidentifier super interfaces classbody + 16 classdeclaration : CLASS classidentifier classbody + 17 | modifiers CLASS classidentifier classbody + 18 | CLASS classidentifier super classbody + 19 | modifiers CLASS classidentifier super classbody + 20 | CLASS classidentifier interfaces classbody + 21 | modifiers CLASS classidentifier interfaces classbody + 22 | CLASS classidentifier super interfaces classbody + 23 | modifiers CLASS classidentifier super interfaces classbody - 23 interfaceidentifier : IDENTIFIER - 24 | IDENTIFIER '<' boundedClassParameters '>' + 24 interfaceidentifier : IDENTIFIER + 25 | IDENTIFIER '<' boundedClassParameters '>' - 25 classidentifier : IDENTIFIER - 26 | IDENTIFIER '<' boundedClassParameters '>' + 26 classidentifier : IDENTIFIER + 27 | IDENTIFIER '<' boundedClassParameters '>' - 27 interfacedeclaration : INTERFACE interfaceidentifier interfacebody - 28 | modifiers INTERFACE interfaceidentifier interfacebody - 29 | INTERFACE interfaceidentifier extendsinterfaces interfacebody - 30 | modifiers INTERFACE interfaceidentifier extendsinterfaces interfacebody + 28 interfacedeclaration : INTERFACE interfaceidentifier interfacebody + 29 | modifiers INTERFACE interfaceidentifier interfacebody + 30 | INTERFACE interfaceidentifier extendsinterfaces interfacebody + 31 | modifiers INTERFACE interfaceidentifier extendsinterfaces interfacebody - 31 paralist : IDENTIFIER - 32 | IDENTIFIER '<' paralist '>' - 33 | wildcardparameter - 34 | paralist ',' IDENTIFIER - 35 | paralist ',' IDENTIFIER '<' paralist '>' - 36 | paralist ',' wildcardparameter + 32 paralist : IDENTIFIER + 33 | IDENTIFIER '<' paralist '>' + 34 | wildcardparameter + 35 | paralist ',' IDENTIFIER + 36 | paralist ',' IDENTIFIER '<' paralist '>' + 37 | paralist ',' wildcardparameter - 37 wildcardparameter : '?' - 38 | '?' EXTENDS referencetype - 39 | '?' SUPER referencetype + 38 wildcardparameter : '?' + 39 | '?' EXTENDS referencetype + 40 | '?' SUPER referencetype - 40 classbody : '{' '}' - 41 | '{' classbodydeclarations '}' + 41 classbody : '{' '}' + 42 | '{' classbodydeclarations '}' - 42 modifiers : modifier - 43 | modifiers modifier + 43 modifiers : modifier + 44 | modifiers modifier - 44 super : EXTENDS classtype + 45 super : EXTENDS classtype - 45 interfaces : IMPLEMENTS interfacetype - 46 | interfaces ',' interfacetype + 46 interfaces : IMPLEMENTS interfacetype + 47 | interfaces ',' interfacetype - 47 interfacebody : '{' '}' - 48 | '{' interfacememberdeclarations '}' + 48 interfacebody : '{' '}' + 49 | '{' interfacememberdeclarations '}' - 49 extendsinterfaces : EXTENDS interfacetype - 50 | extendsinterfaces ',' interfacetype + 50 extendsinterfaces : EXTENDS interfacetype + 51 | extendsinterfaces ',' interfacetype - 51 classbodydeclarations : classbodydeclaration - 52 | classbodydeclarations classbodydeclaration + 52 classbodydeclarations : classbodydeclaration + 53 | classbodydeclarations classbodydeclaration - 53 modifier : PUBLIC - 54 | PROTECTED - 55 | PRIVATE - 56 | STATIC - 57 | ABSTRACT - 58 | FINAL + 54 modifier : PUBLIC + 55 | PROTECTED + 56 | PRIVATE + 57 | STATIC + 58 | ABSTRACT + 59 | FINAL - 59 classtype : classorinterfacetype + 60 classtype : classorinterfacetype - 60 interfacememberdeclarations : interfacememberdeclaration - 61 | interfacememberdeclarations interfacememberdeclaration + 61 interfacememberdeclarations : interfacememberdeclaration + 62 | interfacememberdeclarations interfacememberdeclaration - 62 interfacetype : classorinterfacetype + 63 interfacetype : classorinterfacetype - 63 classbodydeclaration : classmemberdeclaration - 64 | staticinitializer - 65 | constructordeclaration + 64 classbodydeclaration : classmemberdeclaration + 65 | staticinitializer + 66 | constructordeclaration - 66 classorinterfacetype : simplename parameter + 67 classorinterfacetype : simplename parameter - 67 parameter : - 68 | '<' paralist '>' + 68 parameter : + 69 | '<' paralist '>' - 69 interfacememberdeclaration : constantdeclaration - 70 | abstractmethoddeclaration + 70 interfacememberdeclaration : constantdeclaration + 71 | abstractmethoddeclaration - 71 classmemberdeclaration : fielddeclaration - 72 | methoddeclaration + 72 classmemberdeclaration : fielddeclaration + 73 | methoddeclaration - 73 staticinitializer : STATIC block + 74 staticinitializer : STATIC block - 74 constructordeclaration : constructordeclarator constructorbody - 75 | modifiers constructordeclarator constructorbody + 75 constructordeclaration : constructordeclarator constructorbody + 76 | modifiers constructordeclarator constructorbody - 76 constantdeclaration : modifiers type IDENTIFIER '=' expression ';' + 77 constantdeclaration : modifiers type IDENTIFIER '=' expression ';' - 77 abstractmethoddeclaration : methodheader ';' + 78 abstractmethoddeclaration : methodheader ';' - 78 fielddeclarator : variabledeclarator '=' expression + 79 fielddeclarator : variabledeclarator '=' expression - 79 fielddeclaration : fielddeclarator ';' - 80 | type fielddeclarator - 81 | variabledeclarators ';' - 82 | type variabledeclarators ';' - 83 | modifiers type variabledeclarators ';' + 80 fielddeclaration : fielddeclarator ';' + 81 | type fielddeclarator + 82 | variabledeclarators ';' + 83 | type variabledeclarators ';' + 84 | modifiers type variabledeclarators ';' - 84 methoddeclaration : methodheader methodbody + 85 methoddeclaration : methodheader methodbody - 85 block : '{' '}' - 86 | '{' blockstatements '}' + 86 block : '{' '}' + 87 | '{' blockstatements '}' - 87 constructordeclarator : simplename '(' ')' - 88 | simplename '(' formalparameterlist ')' + 88 constructordeclarator : simplename '(' ')' + 89 | simplename '(' formalparameterlist ')' - 89 constructorbody : '{' '}' - 90 | '{' explicitconstructorinvocation '}' - 91 | '{' blockstatements '}' - 92 | '{' explicitconstructorinvocation blockstatements '}' + 90 constructorbody : '{' '}' + 91 | '{' explicitconstructorinvocation '}' + 92 | '{' blockstatements '}' + 93 | '{' explicitconstructorinvocation blockstatements '}' - 93 throws : THROWS classtypelist + 94 throws : THROWS classtypelist - 94 boundedClassParameter : boundedMethodParameter + 95 boundedClassParameter : boundedMethodParameter - 95 boundedClassParameters : boundedClassParameter - 96 | boundedClassParameters ',' boundedClassParameter + 96 boundedClassParameters : boundedClassParameter + 97 | boundedClassParameters ',' boundedClassParameter - 97 boundedMethodParameter : IDENTIFIER - 98 | IDENTIFIER EXTENDS boundedclassidentifierlist + 98 boundedMethodParameter : IDENTIFIER + 99 | IDENTIFIER EXTENDS boundedclassidentifierlist - 99 boundedclassidentifierlist : referencetype - 100 | boundedclassidentifierlist '&' referencetype + 100 boundedclassidentifierlist : referencetype + 101 | boundedclassidentifierlist '&' referencetype - 101 boundedMethodParameters : boundedMethodParameter - 102 | boundedMethodParameters ',' boundedMethodParameter + 102 boundedMethodParameters : boundedMethodParameter + 103 | boundedMethodParameters ',' boundedMethodParameter - 103 methodheader : '<' boundedMethodParameters '>' type methoddeclarator - 104 | type methoddeclarator - 105 | modifiers type methoddeclarator - 106 | modifiers '<' boundedMethodParameters '>' type methoddeclarator - 107 | type methoddeclarator throws - 108 | '<' boundedMethodParameters '>' type methoddeclarator throws - 109 | modifiers type methoddeclarator throws - 110 | modifiers '<' boundedMethodParameters '>' type methoddeclarator throws - 111 | VOID methoddeclarator - 112 | modifiers VOID methoddeclarator - 113 | VOID methoddeclarator throws - 114 | modifiers VOID methoddeclarator throws - 115 | '<' boundedMethodParameters '>' VOID methoddeclarator - 116 | modifiers '<' boundedMethodParameters '>' VOID methoddeclarator - 117 | '<' boundedMethodParameters '>' VOID methoddeclarator throws - 118 | modifiers '<' boundedMethodParameters '>' VOID methoddeclarator throws - 119 | methoddeclarator - 120 | '<' boundedMethodParameters '>' methoddeclarator - 121 | modifiers methoddeclarator - 122 | methoddeclarator throws - 123 | modifiers methoddeclarator throws + 104 methodheader : '<' boundedMethodParameters '>' type methoddeclarator + 105 | type methoddeclarator + 106 | modifiers type methoddeclarator + 107 | modifiers '<' boundedMethodParameters '>' type methoddeclarator + 108 | type methoddeclarator throws + 109 | '<' boundedMethodParameters '>' type methoddeclarator throws + 110 | modifiers type methoddeclarator throws + 111 | modifiers '<' boundedMethodParameters '>' type methoddeclarator throws + 112 | VOID methoddeclarator + 113 | modifiers VOID methoddeclarator + 114 | VOID methoddeclarator throws + 115 | modifiers VOID methoddeclarator throws + 116 | '<' boundedMethodParameters '>' VOID methoddeclarator + 117 | modifiers '<' boundedMethodParameters '>' VOID methoddeclarator + 118 | '<' boundedMethodParameters '>' VOID methoddeclarator throws + 119 | modifiers '<' boundedMethodParameters '>' VOID methoddeclarator throws + 120 | methoddeclarator + 121 | '<' boundedMethodParameters '>' methoddeclarator + 122 | modifiers methoddeclarator + 123 | methoddeclarator throws + 124 | modifiers methoddeclarator throws - 124 type : primitivetype - 125 | primitivetype '[' ']' - 126 | referencetype - 127 | referencetype '[' ']' + 125 type : primitivetype + 126 | primitivetype '[' ']' + 127 | referencetype + 128 | referencetype '[' ']' - 128 variabledeclarators : variabledeclarator - 129 | variabledeclarators ',' variabledeclarator + 129 variabledeclarators : variabledeclarator + 130 | variabledeclarators ',' variabledeclarator - 130 methodbody : block + 131 methodbody : block - 131 blockstatements : blockstatement - 132 | blockstatements blockstatement + 132 blockstatements : blockstatement + 133 | blockstatements blockstatement - 133 formalparameterlist : formalparameter - 134 | formalparameterlist ',' formalparameter + 134 formalparameterlist : formalparameter + 135 | formalparameterlist ',' formalparameter - 135 explicitconstructorinvocation : THIS '(' ')' ';' - 136 | THIS '(' argumentlist ')' ';' + 136 explicitconstructorinvocation : THIS '(' ')' ';' + 137 | THIS '(' argumentlist ')' ';' - 137 classtypelist : classtype - 138 | classtypelist ',' classtype + 138 classtypelist : classtype + 139 | classtypelist ',' classtype - 139 methoddeclarator : IDENTIFIER '(' ')' - 140 | IDENTIFIER '(' formalparameterlist ')' + 140 methoddeclarator : IDENTIFIER '(' ')' + 141 | IDENTIFIER '(' formalparameterlist ')' - 141 primitivetype : BOOLEAN - 142 | numerictype + 142 primitivetype : BOOLEAN + 143 | numerictype - 143 referencetype : classorinterfacetype + 144 referencetype : classorinterfacetype - 144 variabledeclarator : variabledeclaratorid + 145 variabledeclarator : variabledeclaratorid - 145 blockstatement : localvariabledeclarationstatement - 146 | statement + 146 blockstatement : localvariabledeclarationstatement + 147 | statement - 147 formalparameter : type variabledeclaratorid - 148 | variabledeclaratorid + 148 formalparameter : type variabledeclaratorid + 149 | variabledeclaratorid - 149 argumentlist : expression - 150 | argumentlist ',' expression + 150 argumentlist : expression + 151 | argumentlist ',' expression - 151 numerictype : integraltype + 152 numerictype : integraltype - 152 variabledeclaratorid : IDENTIFIER + 153 variabledeclaratorid : IDENTIFIER - 153 variableinitializer : expression + 154 variableinitializer : expression - 154 localvariabledeclarationstatement : localvariabledeclaration ';' + 155 localvariabledeclarationstatement : localvariabledeclaration ';' - 155 statement : statementwithouttrailingsubstatement - 156 | ifthenstatement - 157 | ifthenelsestatement - 158 | whilestatement - 159 | forstatement + 156 statement : statementwithouttrailingsubstatement + 157 | ifthenstatement + 158 | ifthenelsestatement + 159 | whilestatement + 160 | forstatement - 160 expression : assignmentexpression - 161 | classinstancecreationexpression + 161 expression : assignmentexpression + 162 | classinstancecreationexpression - 162 integraltype : INT - 163 | CHAR + 163 integraltype : INT + 164 | CHAR - 164 localvariabledeclaration : type variabledeclarators - 165 | variabledeclarators + 165 localvariabledeclaration : type variabledeclarators + 166 | variabledeclarators - 166 statementwithouttrailingsubstatement : block - 167 | emptystatement - 168 | expressionstatement - 169 | returnstatement + 167 statementwithouttrailingsubstatement : block + 168 | emptystatement + 169 | expressionstatement + 170 | returnstatement - 170 ifthenstatement : IF '(' expression ')' statement + 171 ifthenstatement : IF '(' expression ')' statement - 171 ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE statement + 172 ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE statement - 172 whilestatement : WHILE '(' expression ')' statement + 173 whilestatement : WHILE '(' expression ')' statement - 173 forstatement : FOR '(' expression ';' expression ';' expression ')' statement - 174 | FOR '(' expression ';' expression ';' ')' statement - 175 | FOR '(' expression ';' ';' expression ')' statement - 176 | FOR '(' ';' expression ';' expression ')' statement - 177 | FOR '(' expression ';' ';' ')' statement - 178 | FOR '(' ';' expression ';' ')' statement - 179 | FOR '(' ';' ';' expression ')' statement - 180 | FOR '(' ';' ';' ')' statement + 174 forstatement : FOR '(' expression ';' expression ';' expression ')' statement + 175 | FOR '(' expression ';' expression ';' ')' statement + 176 | FOR '(' expression ';' ';' expression ')' statement + 177 | FOR '(' ';' expression ';' expression ')' statement + 178 | FOR '(' expression ';' ';' ')' statement + 179 | FOR '(' ';' expression ';' ')' statement + 180 | FOR '(' ';' ';' expression ')' statement + 181 | FOR '(' ';' ';' ')' statement - 181 assignmentexpression : conditionalexpression - 182 | assignment + 182 assignmentexpression : conditionalexpression + 183 | assignment - 183 emptystatement : ';' + 184 emptystatement : ';' - 184 expressionstatement : statementexpression ';' + 185 expressionstatement : statementexpression ';' - 185 returnstatement : RETURN ';' - 186 | RETURN expression ';' + 186 returnstatement : RETURN ';' + 187 | RETURN expression ';' - 187 statementnoshortif : statementwithouttrailingsubstatement - 188 | ifthenelsestatementnoshortif - 189 | whilestatementnoshortif + 188 statementnoshortif : statementwithouttrailingsubstatement + 189 | ifthenelsestatementnoshortif + 190 | whilestatementnoshortif - 190 conditionalexpression : conditionalorexpression + 191 conditionalexpression : conditionalorexpression - 191 assignment : lefthandside assignmentoperator assignmentexpression - 192 | lefthandside assignmentoperator classinstancecreationexpression + 192 assignment : lefthandside assignmentoperator assignmentexpression + 193 | lefthandside assignmentoperator classinstancecreationexpression - 193 statementexpression : assignment - 194 | preincrementexpression - 195 | predecrementexpression - 196 | postincrementexpression - 197 | postdecrementexpression - 198 | methodinvocation + 194 statementexpression : assignment + 195 | preincrementexpression + 196 | predecrementexpression + 197 | postincrementexpression + 198 | postdecrementexpression + 199 | methodinvocation - 199 ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif ELSE statementnoshortif + 200 ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif ELSE statementnoshortif - 200 whilestatementnoshortif : WHILE '(' expression ')' statementnoshortif + 201 whilestatementnoshortif : WHILE '(' expression ')' statementnoshortif - 201 conditionalorexpression : conditionalandexpression - 202 | conditionalorexpression LOGICALOR conditionalandexpression + 202 conditionalorexpression : conditionalandexpression + 203 | conditionalorexpression LOGICALOR conditionalandexpression - 203 lambdaassignmentoperator : LAMBDAASSIGNMENT + 204 lambdaassignmentoperator : LAMBDAASSIGNMENT - 204 lambdabody : block - 205 | expression + 205 lambdabody : block + 206 | expression - 206 lambdaexpressionparameter : '(' ')' - 207 | '(' formalparameterlist ')' + 207 lambdaexpressionparameter : '(' ')' + 208 | '(' formalparameterlist ')' - 208 lambdaexpression : lambdaexpressionparameter lambdaassignmentoperator lambdabody + 209 lambdaexpression : lambdaexpressionparameter lambdaassignmentoperator lambdabody - 209 lefthandside : name + 210 lefthandside : name - 210 assignmentoperator : '=' - 211 | TIMESEQUAL - 212 | DIVIDEEQUAL - 213 | MODULOEQUAL - 214 | PLUSEQUAL - 215 | MINUSEQUAL + 211 assignmentoperator : '=' + 212 | TIMESEQUAL + 213 | DIVIDEEQUAL + 214 | MODULOEQUAL + 215 | PLUSEQUAL + 216 | MINUSEQUAL - 216 preincrementexpression : INCREMENT unaryexpression + 217 preincrementexpression : INCREMENT unaryexpression - 217 predecrementexpression : DECREMENT unaryexpression + 218 predecrementexpression : DECREMENT unaryexpression - 218 postincrementexpression : postfixexpression INCREMENT + 219 postincrementexpression : postfixexpression INCREMENT - 219 postdecrementexpression : postfixexpression DECREMENT + 220 postdecrementexpression : postfixexpression DECREMENT - 220 methodinvocation : name '(' ')' - 221 | name '(' argumentlist ')' - 222 | primary '.' IDENTIFIER '(' ')' - 223 | primary '.' IDENTIFIER '(' argumentlist ')' + 221 methodinvocation : name '(' ')' + 222 | name '(' argumentlist ')' + 223 | primary '.' IDENTIFIER '(' ')' + 224 | primary '.' IDENTIFIER '(' argumentlist ')' - 224 classinstancecreationexpression : NEW classtype '(' ')' - 225 | NEW classtype '(' argumentlist ')' + 225 classinstancecreationexpression : NEW classtype '(' ')' + 226 | NEW classtype '(' argumentlist ')' - 226 conditionalandexpression : inclusiveorexpression - 227 | conditionalandexpression LOGICALAND inclusiveorexpression + 227 conditionalandexpression : inclusiveorexpression + 228 | conditionalandexpression LOGICALAND inclusiveorexpression - 228 unaryexpression : preincrementexpression - 229 | predecrementexpression - 230 | '+' unaryexpression - 231 | '-' unaryexpression - 232 | unaryexpressionnotplusminus + 229 unaryexpression : preincrementexpression + 230 | predecrementexpression + 231 | '+' unaryexpression + 232 | '-' unaryexpression + 233 | unaryexpressionnotplusminus - 233 postfixexpression : primary - 234 | name - 235 | postincrementexpression - 236 | postdecrementexpression + 234 postfixexpression : primary + 235 | name + 236 | postincrementexpression + 237 | postdecrementexpression - 237 primary : primarynonewarray + 238 primary : primarynonewarray - 238 inclusiveorexpression : exclusiveorexpression - 239 | inclusiveorexpression '|' exclusiveorexpression + 239 inclusiveorexpression : exclusiveorexpression + 240 | inclusiveorexpression '|' exclusiveorexpression - 240 primarynonewarray : literal - 241 | THIS - 242 | methodinvocation - 243 | lambdaexpression + 241 primarynonewarray : literal + 242 | THIS + 243 | methodinvocation + 244 | lambdaexpression - 244 unaryexpressionnotplusminus : postfixexpression - 245 | '!' unaryexpression - 246 | castexpression + 245 unaryexpressionnotplusminus : postfixexpression + 246 | '!' unaryexpression + 247 | castexpression - 247 exclusiveorexpression : andexpression - 248 | exclusiveorexpression '^' andexpression + 248 exclusiveorexpression : andexpression + 249 | exclusiveorexpression '^' andexpression - 249 literal : INTLITERAL - 250 | BOOLLITERAL - 251 | CHARLITERAL - 252 | STRINGLITERAL - 253 | LONGLITERAL - 254 | FLOATLITERAL - 255 | DOUBLELITERAL - 256 | JNULL + 250 literal : INTLITERAL + 251 | BOOLLITERAL + 252 | CHARLITERAL + 253 | STRINGLITERAL + 254 | LONGLITERAL + 255 | FLOATLITERAL + 256 | DOUBLELITERAL + 257 | JNULL - 257 castexpression : '(' primitivetype ')' unaryexpression + 258 castexpression : '(' primitivetype ')' unaryexpression - 258 andexpression : equalityexpression - 259 | andexpression '&' equalityexpression + 259 andexpression : equalityexpression + 260 | andexpression '&' equalityexpression - 260 equalityexpression : relationalexpression - 261 | equalityexpression EQUAL relationalexpression - 262 | equalityexpression NOTEQUAL relationalexpression + 261 equalityexpression : relationalexpression + 262 | equalityexpression EQUAL relationalexpression + 263 | equalityexpression NOTEQUAL relationalexpression - 263 relationalexpression : shiftexpression - 264 | relationalexpression '<' shiftexpression - 265 | relationalexpression '>' shiftexpression - 266 | relationalexpression LESSEQUAL shiftexpression - 267 | relationalexpression GREATEREQUAL shiftexpression - 268 | relationalexpression INSTANCEOF referencetype + 264 relationalexpression : shiftexpression + 265 | relationalexpression '<' shiftexpression + 266 | relationalexpression '>' shiftexpression + 267 | relationalexpression LESSEQUAL shiftexpression + 268 | relationalexpression GREATEREQUAL shiftexpression + 269 | relationalexpression INSTANCEOF referencetype - 269 shiftexpression : additiveexpression + 270 shiftexpression : additiveexpression - 270 additiveexpression : multiplicativeexpression - 271 | additiveexpression '+' multiplicativeexpression - 272 | additiveexpression '-' multiplicativeexpression + 271 additiveexpression : multiplicativeexpression + 272 | additiveexpression '+' multiplicativeexpression + 273 | additiveexpression '-' multiplicativeexpression - 273 multiplicativeexpression : unaryexpression - 274 | multiplicativeexpression '*' unaryexpression - 275 | multiplicativeexpression '/' unaryexpression - 276 | multiplicativeexpression '%' unaryexpression + 274 multiplicativeexpression : unaryexpression + 275 | multiplicativeexpression '*' unaryexpression + 276 | multiplicativeexpression '/' unaryexpression + 277 | multiplicativeexpression '%' unaryexpression state 0 $accept : . compilationunit $end (0) @@ -400,103 +401,124 @@ state 0 PRIVATE shift 4 PROTECTED shift 5 PUBLIC shift 6 - STATIC shift 7 + INTERFACE shift 7 + STATIC shift 8 . error - compilationunit goto 8 - classdeclaration goto 9 - modifiers goto 10 - modifier goto 11 - typedeclarations goto 12 - typedeclaration goto 13 + compilationunit goto 9 + classdeclaration goto 10 + interfacedeclaration goto 11 + modifiers goto 12 + modifier goto 13 + typedeclarations goto 14 + typedeclaration goto 15 state 1 - modifier : ABSTRACT . (57) - - . reduce 57 - - -state 2 - classdeclaration : CLASS . classidentifier classbody (15) - classdeclaration : CLASS . classidentifier super classbody (17) - classdeclaration : CLASS . classidentifier interfaces classbody (19) - classdeclaration : CLASS . classidentifier super interfaces classbody (21) - - IDENTIFIER shift 14 - . error - - classidentifier goto 15 - - -state 3 - modifier : FINAL . (58) + modifier : ABSTRACT . (58) . reduce 58 +state 2 + classdeclaration : CLASS . classidentifier classbody (16) + classdeclaration : CLASS . classidentifier super classbody (18) + classdeclaration : CLASS . classidentifier interfaces classbody (20) + classdeclaration : CLASS . classidentifier super interfaces classbody (22) + + IDENTIFIER shift 16 + . error + + classidentifier goto 17 + + +state 3 + modifier : FINAL . (59) + + . reduce 59 + + state 4 - modifier : PRIVATE . (55) - - . reduce 55 - - -state 5 - modifier : PROTECTED . (54) - - . reduce 54 - - -state 6 - modifier : PUBLIC . (53) - - . reduce 53 - - -state 7 - modifier : STATIC . (56) + modifier : PRIVATE . (56) . reduce 56 +state 5 + modifier : PROTECTED . (55) + + . reduce 55 + + +state 6 + modifier : PUBLIC . (54) + + . reduce 54 + + +state 7 + interfacedeclaration : INTERFACE . interfaceidentifier interfacebody (28) + interfacedeclaration : INTERFACE . interfaceidentifier extendsinterfaces interfacebody (30) + + IDENTIFIER shift 18 + . error + + interfaceidentifier goto 19 + + state 8 + modifier : STATIC . (57) + + . reduce 57 + + +state 9 $accept : compilationunit . $end (0) $end accept -state 9 +state 10 typedeclaration : classdeclaration . (10) . reduce 10 -state 10 - classdeclaration : modifiers . CLASS classidentifier classbody (16) - classdeclaration : modifiers . CLASS classidentifier super classbody (18) - classdeclaration : modifiers . CLASS classidentifier interfaces classbody (20) - classdeclaration : modifiers . CLASS classidentifier super interfaces classbody (22) - modifiers : modifiers . modifier (43) +state 11 + typedeclaration : interfacedeclaration . (11) + + . reduce 11 + + +state 12 + classdeclaration : modifiers . CLASS classidentifier classbody (17) + classdeclaration : modifiers . CLASS classidentifier super classbody (19) + classdeclaration : modifiers . CLASS classidentifier interfaces classbody (21) + classdeclaration : modifiers . CLASS classidentifier super interfaces classbody (23) + interfacedeclaration : modifiers . INTERFACE interfaceidentifier interfacebody (29) + interfacedeclaration : modifiers . INTERFACE interfaceidentifier extendsinterfaces interfacebody (31) + modifiers : modifiers . modifier (44) ABSTRACT shift 1 - CLASS shift 16 + CLASS shift 20 FINAL shift 3 PRIVATE shift 4 PROTECTED shift 5 PUBLIC shift 6 - STATIC shift 7 + INTERFACE shift 21 + STATIC shift 8 . error - modifier goto 17 + modifier goto 22 -state 11 - modifiers : modifier . (42) +state 13 + modifiers : modifier . (43) - . reduce 42 + . reduce 43 -state 12 +state 14 compilationunit : typedeclarations . (1) typedeclarations : typedeclarations . typedeclaration (7) @@ -506,1610 +528,1945 @@ state 12 PRIVATE shift 4 PROTECTED shift 5 PUBLIC shift 6 - STATIC shift 7 + INTERFACE shift 7 + STATIC shift 8 $end reduce 1 - classdeclaration goto 9 - modifiers goto 10 - modifier goto 11 - typedeclaration goto 18 + classdeclaration goto 10 + interfacedeclaration goto 11 + modifiers goto 12 + modifier goto 13 + typedeclaration goto 23 -state 13 +state 15 typedeclarations : typedeclaration . (6) . reduce 6 -state 14 - classidentifier : IDENTIFIER . (25) - classidentifier : IDENTIFIER . '<' boundedClassParameters '>' (26) - - '<' shift 19 - EXTENDS reduce 25 - IMPLEMENTS reduce 25 - '{' reduce 25 - - -state 15 - classdeclaration : CLASS classidentifier . classbody (15) - classdeclaration : CLASS classidentifier . super classbody (17) - classdeclaration : CLASS classidentifier . interfaces classbody (19) - classdeclaration : CLASS classidentifier . super interfaces classbody (21) - - EXTENDS shift 20 - IMPLEMENTS shift 21 - '{' shift 22 - . error - - classbody goto 23 - super goto 24 - interfaces goto 25 - - state 16 - classdeclaration : modifiers CLASS . classidentifier classbody (16) - classdeclaration : modifiers CLASS . classidentifier super classbody (18) - classdeclaration : modifiers CLASS . classidentifier interfaces classbody (20) - classdeclaration : modifiers CLASS . classidentifier super interfaces classbody (22) + classidentifier : IDENTIFIER . (26) + classidentifier : IDENTIFIER . '<' boundedClassParameters '>' (27) - IDENTIFIER shift 14 - . error - - classidentifier goto 26 + '<' shift 24 + EXTENDS reduce 26 + IMPLEMENTS reduce 26 + '{' reduce 26 state 17 - modifiers : modifiers modifier . (43) + classdeclaration : CLASS classidentifier . classbody (16) + classdeclaration : CLASS classidentifier . super classbody (18) + classdeclaration : CLASS classidentifier . interfaces classbody (20) + classdeclaration : CLASS classidentifier . super interfaces classbody (22) - . reduce 43 + EXTENDS shift 25 + IMPLEMENTS shift 26 + '{' shift 27 + . error + + classbody goto 28 + super goto 29 + interfaces goto 30 state 18 + interfaceidentifier : IDENTIFIER . (24) + interfaceidentifier : IDENTIFIER . '<' boundedClassParameters '>' (25) + + '<' shift 31 + EXTENDS reduce 24 + '{' reduce 24 + + +state 19 + interfacedeclaration : INTERFACE interfaceidentifier . interfacebody (28) + interfacedeclaration : INTERFACE interfaceidentifier . extendsinterfaces interfacebody (30) + + EXTENDS shift 32 + '{' shift 33 + . error + + interfacebody goto 34 + extendsinterfaces goto 35 + + +state 20 + classdeclaration : modifiers CLASS . classidentifier classbody (17) + classdeclaration : modifiers CLASS . classidentifier super classbody (19) + classdeclaration : modifiers CLASS . classidentifier interfaces classbody (21) + classdeclaration : modifiers CLASS . classidentifier super interfaces classbody (23) + + IDENTIFIER shift 16 + . error + + classidentifier goto 36 + + +state 21 + interfacedeclaration : modifiers INTERFACE . interfaceidentifier interfacebody (29) + interfacedeclaration : modifiers INTERFACE . interfaceidentifier extendsinterfaces interfacebody (31) + + IDENTIFIER shift 18 + . error + + interfaceidentifier goto 37 + + +state 22 + modifiers : modifiers modifier . (44) + + . reduce 44 + + +state 23 typedeclarations : typedeclarations typedeclaration . (7) . reduce 7 -state 19 - classidentifier : IDENTIFIER '<' . boundedClassParameters '>' (26) - - IDENTIFIER shift 27 - . error - - boundedMethodParameter goto 28 - boundedClassParameter goto 29 - boundedClassParameters goto 30 - - -state 20 - super : EXTENDS . classtype (44) - - IDENTIFIER shift 31 - . error - - simplename goto 32 - classtype goto 33 - classorinterfacetype goto 34 - - -state 21 - interfaces : IMPLEMENTS . interfacetype (45) - - IDENTIFIER shift 31 - . error - - simplename goto 32 - classorinterfacetype goto 35 - interfacetype goto 36 - - -state 22 - classbody : '{' . '}' (40) - classbody : '{' . classbodydeclarations '}' (41) - - ABSTRACT shift 1 - BOOLEAN shift 37 - CHAR shift 38 - FINAL shift 3 - INT shift 39 - PRIVATE shift 4 - PROTECTED shift 5 - PUBLIC shift 6 - STATIC shift 40 - VOID shift 41 - IDENTIFIER shift 42 - '<' shift 43 - '}' shift 44 - . error - - fielddeclaration goto 45 - methodheader goto 46 - methoddeclaration goto 47 - methoddeclarator goto 48 - classbodydeclarations goto 49 - classbodydeclaration goto 50 - classmemberdeclaration goto 51 - variabledeclarators goto 52 - fielddeclarator goto 53 - variabledeclarator goto 54 - variabledeclaratorid goto 55 - simplename goto 56 - classorinterfacetype goto 57 - integraltype goto 58 - numerictype goto 59 - primitivetype goto 60 - referencetype goto 61 - type goto 62 - modifiers goto 63 - modifier goto 11 - constructordeclaration goto 64 - constructordeclarator goto 65 - staticinitializer goto 66 - - -state 23 - classdeclaration : CLASS classidentifier classbody . (15) - - . reduce 15 - - state 24 - classdeclaration : CLASS classidentifier super . classbody (17) - classdeclaration : CLASS classidentifier super . interfaces classbody (21) + classidentifier : IDENTIFIER '<' . boundedClassParameters '>' (27) - IMPLEMENTS shift 21 - '{' shift 22 + IDENTIFIER shift 38 . error - classbody goto 67 - interfaces goto 68 + boundedMethodParameter goto 39 + boundedClassParameter goto 40 + boundedClassParameters goto 41 state 25 - classdeclaration : CLASS classidentifier interfaces . classbody (19) - interfaces : interfaces . ',' interfacetype (46) + super : EXTENDS . classtype (45) - ',' shift 69 - '{' shift 22 + IDENTIFIER shift 42 . error - classbody goto 70 + simplename goto 43 + classtype goto 44 + classorinterfacetype goto 45 state 26 - classdeclaration : modifiers CLASS classidentifier . classbody (16) - classdeclaration : modifiers CLASS classidentifier . super classbody (18) - classdeclaration : modifiers CLASS classidentifier . interfaces classbody (20) - classdeclaration : modifiers CLASS classidentifier . super interfaces classbody (22) + interfaces : IMPLEMENTS . interfacetype (46) - EXTENDS shift 20 - IMPLEMENTS shift 21 - '{' shift 22 + IDENTIFIER shift 42 . error - classbody goto 71 - super goto 72 - interfaces goto 73 + simplename goto 43 + classorinterfacetype goto 46 + interfacetype goto 47 state 27 - boundedMethodParameter : IDENTIFIER . (97) - boundedMethodParameter : IDENTIFIER . EXTENDS boundedclassidentifierlist (98) + classbody : '{' . '}' (41) + classbody : '{' . classbodydeclarations '}' (42) - EXTENDS shift 74 - ',' reduce 97 - '>' reduce 97 + ABSTRACT shift 1 + BOOLEAN shift 48 + CHAR shift 49 + FINAL shift 3 + INT shift 50 + PRIVATE shift 4 + PROTECTED shift 5 + PUBLIC shift 6 + STATIC shift 51 + VOID shift 52 + IDENTIFIER shift 53 + '<' shift 54 + '}' shift 55 + . error + + fielddeclaration goto 56 + methodheader goto 57 + methoddeclaration goto 58 + methoddeclarator goto 59 + classbodydeclarations goto 60 + classbodydeclaration goto 61 + classmemberdeclaration goto 62 + variabledeclarators goto 63 + fielddeclarator goto 64 + variabledeclarator goto 65 + variabledeclaratorid goto 66 + simplename goto 67 + classorinterfacetype goto 68 + integraltype goto 69 + numerictype goto 70 + primitivetype goto 71 + referencetype goto 72 + type goto 73 + modifiers goto 74 + modifier goto 13 + constructordeclaration goto 75 + constructordeclarator goto 76 + staticinitializer goto 77 state 28 - boundedClassParameter : boundedMethodParameter . (94) - - . reduce 94 - - -state 29 - boundedClassParameters : boundedClassParameter . (95) - - . reduce 95 - - -state 30 - classidentifier : IDENTIFIER '<' boundedClassParameters . '>' (26) - boundedClassParameters : boundedClassParameters . ',' boundedClassParameter (96) - - ',' shift 75 - '>' shift 76 - . error - - -state 31 - simplename : IDENTIFIER . (14) - - . reduce 14 - - -32: shift/reduce conflict (shift 77, reduce 67) on '<' -state 32 - classorinterfacetype : simplename . parameter (66) - parameter : . (67) - - '<' shift 77 - ABSTRACT reduce 67 - BOOLEAN reduce 67 - CHAR reduce 67 - FINAL reduce 67 - INSTANCEOF reduce 67 - INT reduce 67 - PRIVATE reduce 67 - PROTECTED reduce 67 - PUBLIC reduce 67 - IMPLEMENTS reduce 67 - STATIC reduce 67 - VOID reduce 67 - IDENTIFIER reduce 67 - EQUAL reduce 67 - LESSEQUAL reduce 67 - GREATEREQUAL reduce 67 - NOTEQUAL reduce 67 - LOGICALOR reduce 67 - LOGICALAND reduce 67 - INCREMENT reduce 67 - DECREMENT reduce 67 - ',' reduce 67 - ';' reduce 67 - '.' reduce 67 - '*' reduce 67 - '>' reduce 67 - '{' reduce 67 - '}' reduce 67 - '(' reduce 67 - ')' reduce 67 - '&' reduce 67 - '[' reduce 67 - '+' reduce 67 - '-' reduce 67 - '|' reduce 67 - '^' reduce 67 - '/' reduce 67 - '%' reduce 67 - - parameter goto 78 - - -state 33 - super : EXTENDS classtype . (44) - - . reduce 44 - - -state 34 - classtype : classorinterfacetype . (59) - - . reduce 59 - - -state 35 - interfacetype : classorinterfacetype . (62) - - . reduce 62 - - -state 36 - interfaces : IMPLEMENTS interfacetype . (45) - - . reduce 45 - - -state 37 - primitivetype : BOOLEAN . (141) - - . reduce 141 - - -state 38 - integraltype : CHAR . (163) - - . reduce 163 - - -state 39 - integraltype : INT . (162) - - . reduce 162 - - -state 40 - modifier : STATIC . (56) - staticinitializer : STATIC . block (73) - - '{' shift 79 - ABSTRACT reduce 56 - BOOLEAN reduce 56 - CHAR reduce 56 - FINAL reduce 56 - INT reduce 56 - PRIVATE reduce 56 - PROTECTED reduce 56 - PUBLIC reduce 56 - STATIC reduce 56 - VOID reduce 56 - IDENTIFIER reduce 56 - '<' reduce 56 - - block goto 80 - - -state 41 - methodheader : VOID . methoddeclarator (111) - methodheader : VOID . methoddeclarator throws (113) - - IDENTIFIER shift 81 - . error - - methoddeclarator goto 82 - - -42: shift/reduce conflict (shift 83, reduce 14) on '(' -state 42 - simplename : IDENTIFIER . (14) - methoddeclarator : IDENTIFIER . '(' ')' (139) - methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (140) - variabledeclaratorid : IDENTIFIER . (152) - - '(' shift 83 - IDENTIFIER reduce 14 - ',' reduce 152 - ';' reduce 152 - '<' reduce 14 - '=' reduce 152 - '[' reduce 14 - - -state 43 - methodheader : '<' . boundedMethodParameters '>' type methoddeclarator (103) - methodheader : '<' . boundedMethodParameters '>' type methoddeclarator throws (108) - methodheader : '<' . boundedMethodParameters '>' VOID methoddeclarator (115) - methodheader : '<' . boundedMethodParameters '>' VOID methoddeclarator throws (117) - methodheader : '<' . boundedMethodParameters '>' methoddeclarator (120) - - IDENTIFIER shift 27 - . error - - boundedMethodParameter goto 84 - boundedMethodParameters goto 85 - - -state 44 - classbody : '{' '}' . (40) - - . reduce 40 - - -state 45 - classmemberdeclaration : fielddeclaration . (71) - - . reduce 71 - - -state 46 - methoddeclaration : methodheader . methodbody (84) - - '{' shift 79 - . error - - block goto 86 - methodbody goto 87 - - -state 47 - classmemberdeclaration : methoddeclaration . (72) - - . reduce 72 - - -state 48 - methodheader : methoddeclarator . (119) - methodheader : methoddeclarator . throws (122) - - THROWS shift 88 - '{' reduce 119 - - throws goto 89 - - -state 49 - classbody : '{' classbodydeclarations . '}' (41) - classbodydeclarations : classbodydeclarations . classbodydeclaration (52) - - ABSTRACT shift 1 - BOOLEAN shift 37 - CHAR shift 38 - FINAL shift 3 - INT shift 39 - PRIVATE shift 4 - PROTECTED shift 5 - PUBLIC shift 6 - STATIC shift 40 - VOID shift 41 - IDENTIFIER shift 42 - '<' shift 43 - '}' shift 90 - . error - - fielddeclaration goto 45 - methodheader goto 46 - methoddeclaration goto 47 - methoddeclarator goto 48 - classbodydeclaration goto 91 - classmemberdeclaration goto 51 - variabledeclarators goto 52 - fielddeclarator goto 53 - variabledeclarator goto 54 - variabledeclaratorid goto 55 - simplename goto 56 - classorinterfacetype goto 57 - integraltype goto 58 - numerictype goto 59 - primitivetype goto 60 - referencetype goto 61 - type goto 62 - modifiers goto 63 - modifier goto 11 - constructordeclaration goto 64 - constructordeclarator goto 65 - staticinitializer goto 66 - - -state 50 - classbodydeclarations : classbodydeclaration . (51) - - . reduce 51 - - -state 51 - classbodydeclaration : classmemberdeclaration . (63) - - . reduce 63 - - -state 52 - fielddeclaration : variabledeclarators . ';' (81) - variabledeclarators : variabledeclarators . ',' variabledeclarator (129) - - ',' shift 92 - ';' shift 93 - . error - - -state 53 - fielddeclaration : fielddeclarator . ';' (79) - - ';' shift 94 - . error - - -state 54 - fielddeclarator : variabledeclarator . '=' expression (78) - variabledeclarators : variabledeclarator . (128) - - '=' shift 95 - ',' reduce 128 - ';' reduce 128 - - -state 55 - variabledeclarator : variabledeclaratorid . (144) - - . reduce 144 - - -state 56 - classorinterfacetype : simplename . parameter (66) - constructordeclarator : simplename . '(' ')' (87) - constructordeclarator : simplename . '(' formalparameterlist ')' (88) - parameter : . (67) - - '<' shift 77 - '(' shift 96 - IDENTIFIER reduce 67 - '[' reduce 67 - - parameter goto 78 - - -state 57 - referencetype : classorinterfacetype . (143) - - . reduce 143 - - -state 58 - numerictype : integraltype . (151) - - . reduce 151 - - -state 59 - primitivetype : numerictype . (142) - - . reduce 142 - - -state 60 - type : primitivetype . (124) - type : primitivetype . '[' ']' (125) - - '[' shift 97 - IDENTIFIER reduce 124 - - -state 61 - type : referencetype . (126) - type : referencetype . '[' ']' (127) - - '[' shift 98 - IDENTIFIER reduce 126 - - -state 62 - fielddeclaration : type . fielddeclarator (80) - fielddeclaration : type . variabledeclarators ';' (82) - methodheader : type . methoddeclarator (104) - methodheader : type . methoddeclarator throws (107) - - IDENTIFIER shift 99 - . error - - methoddeclarator goto 100 - variabledeclarators goto 101 - fielddeclarator goto 102 - variabledeclarator goto 54 - variabledeclaratorid goto 55 - - -state 63 - modifiers : modifiers . modifier (43) - constructordeclaration : modifiers . constructordeclarator constructorbody (75) - fielddeclaration : modifiers . type variabledeclarators ';' (83) - methodheader : modifiers . type methoddeclarator (105) - methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator (106) - methodheader : modifiers . type methoddeclarator throws (109) - methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator throws (110) - methodheader : modifiers . VOID methoddeclarator (112) - methodheader : modifiers . VOID methoddeclarator throws (114) - methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator (116) - methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator throws (118) - methodheader : modifiers . methoddeclarator (121) - methodheader : modifiers . methoddeclarator throws (123) - - ABSTRACT shift 1 - BOOLEAN shift 37 - CHAR shift 38 - FINAL shift 3 - INT shift 39 - PRIVATE shift 4 - PROTECTED shift 5 - PUBLIC shift 6 - STATIC shift 7 - VOID shift 103 - IDENTIFIER shift 104 - '<' shift 105 - . error - - methoddeclarator goto 106 - simplename goto 56 - classorinterfacetype goto 57 - integraltype goto 58 - numerictype goto 59 - primitivetype goto 60 - referencetype goto 61 - type goto 107 - modifier goto 17 - constructordeclarator goto 108 - - -state 64 - classbodydeclaration : constructordeclaration . (65) - - . reduce 65 - - -state 65 - constructordeclaration : constructordeclarator . constructorbody (74) - - '{' shift 109 - . error - - constructorbody goto 110 - - -state 66 - classbodydeclaration : staticinitializer . (64) - - . reduce 64 - - -state 67 - classdeclaration : CLASS classidentifier super classbody . (17) - - . reduce 17 - - -state 68 - classdeclaration : CLASS classidentifier super interfaces . classbody (21) - interfaces : interfaces . ',' interfacetype (46) - - ',' shift 69 - '{' shift 22 - . error - - classbody goto 111 - - -state 69 - interfaces : interfaces ',' . interfacetype (46) - - IDENTIFIER shift 31 - . error - - simplename goto 32 - classorinterfacetype goto 35 - interfacetype goto 112 - - -state 70 - classdeclaration : CLASS classidentifier interfaces classbody . (19) - - . reduce 19 - - -state 71 - classdeclaration : modifiers CLASS classidentifier classbody . (16) + classdeclaration : CLASS classidentifier classbody . (16) . reduce 16 -state 72 - classdeclaration : modifiers CLASS classidentifier super . classbody (18) - classdeclaration : modifiers CLASS classidentifier super . interfaces classbody (22) +state 29 + classdeclaration : CLASS classidentifier super . classbody (18) + classdeclaration : CLASS classidentifier super . interfaces classbody (22) - IMPLEMENTS shift 21 - '{' shift 22 + IMPLEMENTS shift 26 + '{' shift 27 . error - classbody goto 113 - interfaces goto 114 + classbody goto 78 + interfaces goto 79 -state 73 - classdeclaration : modifiers CLASS classidentifier interfaces . classbody (20) - interfaces : interfaces . ',' interfacetype (46) +state 30 + classdeclaration : CLASS classidentifier interfaces . classbody (20) + interfaces : interfaces . ',' interfacetype (47) - ',' shift 69 - '{' shift 22 + ',' shift 80 + '{' shift 27 . error - classbody goto 115 + classbody goto 81 -state 74 - boundedMethodParameter : IDENTIFIER EXTENDS . boundedclassidentifierlist (98) +state 31 + interfaceidentifier : IDENTIFIER '<' . boundedClassParameters '>' (25) - IDENTIFIER shift 31 + IDENTIFIER shift 38 . error - simplename goto 32 - classorinterfacetype goto 57 - referencetype goto 116 - boundedclassidentifierlist goto 117 + boundedMethodParameter goto 39 + boundedClassParameter goto 40 + boundedClassParameters goto 82 -state 75 - boundedClassParameters : boundedClassParameters ',' . boundedClassParameter (96) +state 32 + extendsinterfaces : EXTENDS . interfacetype (50) - IDENTIFIER shift 27 + IDENTIFIER shift 42 . error - boundedMethodParameter goto 28 - boundedClassParameter goto 118 + simplename goto 43 + classorinterfacetype goto 46 + interfacetype goto 83 -state 76 - classidentifier : IDENTIFIER '<' boundedClassParameters '>' . (26) +state 33 + interfacebody : '{' . '}' (48) + interfacebody : '{' . interfacememberdeclarations '}' (49) - . reduce 26 - - -state 77 - parameter : '<' . paralist '>' (68) - - IDENTIFIER shift 119 - '?' shift 120 + ABSTRACT shift 1 + BOOLEAN shift 48 + CHAR shift 49 + FINAL shift 3 + INT shift 50 + PRIVATE shift 4 + PROTECTED shift 5 + PUBLIC shift 6 + STATIC shift 8 + VOID shift 52 + IDENTIFIER shift 84 + '<' shift 54 + '}' shift 85 . error - paralist goto 121 - wildcardparameter goto 122 + interfacememberdeclarations goto 86 + interfacememberdeclaration goto 87 + abstractmethoddeclaration goto 88 + constantdeclaration goto 89 + methodheader goto 90 + methoddeclarator goto 59 + simplename goto 43 + classorinterfacetype goto 68 + integraltype goto 69 + numerictype goto 70 + primitivetype goto 71 + referencetype goto 72 + type goto 91 + modifiers goto 92 + modifier goto 13 -state 78 - classorinterfacetype : simplename parameter . (66) +state 34 + interfacedeclaration : INTERFACE interfaceidentifier interfacebody . (28) - . reduce 66 + . reduce 28 -state 79 - block : '{' . '}' (85) - block : '{' . blockstatements '}' (86) +state 35 + interfacedeclaration : INTERFACE interfaceidentifier extendsinterfaces . interfacebody (30) + extendsinterfaces : extendsinterfaces . ',' interfacetype (51) - BOOLEAN shift 37 - CHAR shift 38 - FOR shift 123 - IF shift 124 - INT shift 39 - RETURN shift 125 - THIS shift 126 - WHILE shift 127 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 136 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 - '{' shift 79 - '}' shift 140 - '(' shift 141 + ',' shift 93 + '{' shift 33 . error - variabledeclarators goto 142 - variabledeclarator goto 143 - variabledeclaratorid goto 55 - simplename goto 144 - qualifiedname goto 145 - name goto 146 - classorinterfacetype goto 57 - integraltype goto 58 - numerictype goto 59 - primitivetype goto 60 - referencetype goto 61 - type goto 147 - block goto 148 - blockstatements goto 149 - localvariabledeclarationstatement goto 150 - localvariabledeclaration goto 151 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 164 - blockstatement goto 165 - statement goto 166 - whilestatement goto 167 - forstatement goto 168 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 + interfacebody goto 94 -state 80 - staticinitializer : STATIC block . (73) +state 36 + classdeclaration : modifiers CLASS classidentifier . classbody (17) + classdeclaration : modifiers CLASS classidentifier . super classbody (19) + classdeclaration : modifiers CLASS classidentifier . interfaces classbody (21) + classdeclaration : modifiers CLASS classidentifier . super interfaces classbody (23) - . reduce 73 - - -state 81 - methoddeclarator : IDENTIFIER . '(' ')' (139) - methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (140) - - '(' shift 83 + EXTENDS shift 25 + IMPLEMENTS shift 26 + '{' shift 27 . error - -state 82 - methodheader : VOID methoddeclarator . (111) - methodheader : VOID methoddeclarator . throws (113) - - THROWS shift 88 - '{' reduce 111 - - throws goto 176 + classbody goto 95 + super goto 96 + interfaces goto 97 -state 83 - methoddeclarator : IDENTIFIER '(' . ')' (139) - methoddeclarator : IDENTIFIER '(' . formalparameterlist ')' (140) +state 37 + interfacedeclaration : modifiers INTERFACE interfaceidentifier . interfacebody (29) + interfacedeclaration : modifiers INTERFACE interfaceidentifier . extendsinterfaces interfacebody (31) - BOOLEAN shift 37 - CHAR shift 38 - INT shift 39 - IDENTIFIER shift 136 - ')' shift 177 + EXTENDS shift 32 + '{' shift 33 . error - variabledeclaratorid goto 178 - simplename goto 32 - classorinterfacetype goto 57 - integraltype goto 58 - numerictype goto 59 - primitivetype goto 60 - referencetype goto 61 - type goto 179 - formalparameter goto 180 - formalparameterlist goto 181 + interfacebody goto 98 + extendsinterfaces goto 99 -state 84 - boundedMethodParameters : boundedMethodParameter . (101) +state 38 + boundedMethodParameter : IDENTIFIER . (98) + boundedMethodParameter : IDENTIFIER . EXTENDS boundedclassidentifierlist (99) - . reduce 101 - - -state 85 - boundedMethodParameters : boundedMethodParameters . ',' boundedMethodParameter (102) - methodheader : '<' boundedMethodParameters . '>' type methoddeclarator (103) - methodheader : '<' boundedMethodParameters . '>' type methoddeclarator throws (108) - methodheader : '<' boundedMethodParameters . '>' VOID methoddeclarator (115) - methodheader : '<' boundedMethodParameters . '>' VOID methoddeclarator throws (117) - methodheader : '<' boundedMethodParameters . '>' methoddeclarator (120) - - ',' shift 182 - '>' shift 183 - . error - - -state 86 - methodbody : block . (130) - - . reduce 130 - - -state 87 - methoddeclaration : methodheader methodbody . (84) - - . reduce 84 - - -state 88 - throws : THROWS . classtypelist (93) - - IDENTIFIER shift 31 - . error - - simplename goto 32 - classtype goto 184 - classorinterfacetype goto 34 - classtypelist goto 185 - - -state 89 - methodheader : methoddeclarator throws . (122) - - . reduce 122 - - -state 90 - classbody : '{' classbodydeclarations '}' . (41) - - . reduce 41 - - -state 91 - classbodydeclarations : classbodydeclarations classbodydeclaration . (52) - - . reduce 52 - - -state 92 - variabledeclarators : variabledeclarators ',' . variabledeclarator (129) - - IDENTIFIER shift 186 - . error - - variabledeclarator goto 187 - variabledeclaratorid goto 55 - - -state 93 - fielddeclaration : variabledeclarators ';' . (81) - - . reduce 81 - - -state 94 - fielddeclaration : fielddeclarator ';' . (79) - - . reduce 79 - - -state 95 - fielddeclarator : variabledeclarator '=' . expression (78) - - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 208 - lambdaexpression goto 157 - expression goto 209 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 214 - assignment goto 215 - lefthandside goto 174 - methodinvocation goto 216 - castexpression goto 217 - - -state 96 - constructordeclarator : simplename '(' . ')' (87) - constructordeclarator : simplename '(' . formalparameterlist ')' (88) - - BOOLEAN shift 37 - CHAR shift 38 - INT shift 39 - IDENTIFIER shift 136 - ')' shift 218 - . error - - variabledeclaratorid goto 178 - simplename goto 32 - classorinterfacetype goto 57 - integraltype goto 58 - numerictype goto 59 - primitivetype goto 60 - referencetype goto 61 - type goto 179 - formalparameter goto 180 - formalparameterlist goto 219 - - -state 97 - type : primitivetype '[' . ']' (125) - - ']' shift 220 - . error - - -state 98 - type : referencetype '[' . ']' (127) - - ']' shift 221 - . error - - -state 99 - methoddeclarator : IDENTIFIER . '(' ')' (139) - methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (140) - variabledeclaratorid : IDENTIFIER . (152) - - '(' shift 83 - ',' reduce 152 - ';' reduce 152 - '=' reduce 152 - - -state 100 - methodheader : type methoddeclarator . (104) - methodheader : type methoddeclarator . throws (107) - - THROWS shift 88 - '{' reduce 104 - - throws goto 222 - - -state 101 - fielddeclaration : type variabledeclarators . ';' (82) - variabledeclarators : variabledeclarators . ',' variabledeclarator (129) - - ',' shift 92 - ';' shift 223 - . error - - -state 102 - fielddeclaration : type fielddeclarator . (80) - - . reduce 80 - - -state 103 - methodheader : modifiers VOID . methoddeclarator (112) - methodheader : modifiers VOID . methoddeclarator throws (114) - - IDENTIFIER shift 81 - . error - - methoddeclarator goto 224 - - -104: shift/reduce conflict (shift 83, reduce 14) on '(' -state 104 - simplename : IDENTIFIER . (14) - methoddeclarator : IDENTIFIER . '(' ')' (139) - methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (140) - - '(' shift 83 - IDENTIFIER reduce 14 - '<' reduce 14 - '[' reduce 14 - - -state 105 - methodheader : modifiers '<' . boundedMethodParameters '>' type methoddeclarator (106) - methodheader : modifiers '<' . boundedMethodParameters '>' type methoddeclarator throws (110) - methodheader : modifiers '<' . boundedMethodParameters '>' VOID methoddeclarator (116) - methodheader : modifiers '<' . boundedMethodParameters '>' VOID methoddeclarator throws (118) - - IDENTIFIER shift 27 - . error - - boundedMethodParameter goto 84 - boundedMethodParameters goto 225 - - -state 106 - methodheader : modifiers methoddeclarator . (121) - methodheader : modifiers methoddeclarator . throws (123) - - THROWS shift 88 - '{' reduce 121 - - throws goto 226 - - -state 107 - fielddeclaration : modifiers type . variabledeclarators ';' (83) - methodheader : modifiers type . methoddeclarator (105) - methodheader : modifiers type . methoddeclarator throws (109) - - IDENTIFIER shift 99 - . error - - methoddeclarator goto 227 - variabledeclarators goto 228 - variabledeclarator goto 143 - variabledeclaratorid goto 55 - - -state 108 - constructordeclaration : modifiers constructordeclarator . constructorbody (75) - - '{' shift 109 - . error - - constructorbody goto 229 - - -state 109 - constructorbody : '{' . '}' (89) - constructorbody : '{' . explicitconstructorinvocation '}' (90) - constructorbody : '{' . blockstatements '}' (91) - constructorbody : '{' . explicitconstructorinvocation blockstatements '}' (92) - - BOOLEAN shift 37 - CHAR shift 38 - FOR shift 123 - IF shift 124 - INT shift 39 - RETURN shift 125 - THIS shift 230 - WHILE shift 127 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 136 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 - '{' shift 79 - '}' shift 231 - '(' shift 141 - . error - - variabledeclarators goto 142 - variabledeclarator goto 143 - variabledeclaratorid goto 55 - simplename goto 144 - qualifiedname goto 145 - name goto 146 - classorinterfacetype goto 57 - integraltype goto 58 - numerictype goto 59 - primitivetype goto 60 - referencetype goto 61 - type goto 147 - block goto 148 - blockstatements goto 232 - localvariabledeclarationstatement goto 150 - localvariabledeclaration goto 151 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 164 - blockstatement goto 165 - statement goto 166 - whilestatement goto 167 - forstatement goto 168 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 - explicitconstructorinvocation goto 233 - - -state 110 - constructordeclaration : constructordeclarator constructorbody . (74) - - . reduce 74 - - -state 111 - classdeclaration : CLASS classidentifier super interfaces classbody . (21) - - . reduce 21 - - -state 112 - interfaces : interfaces ',' interfacetype . (46) - - . reduce 46 - - -state 113 - classdeclaration : modifiers CLASS classidentifier super classbody . (18) - - . reduce 18 - - -state 114 - classdeclaration : modifiers CLASS classidentifier super interfaces . classbody (22) - interfaces : interfaces . ',' interfacetype (46) - - ',' shift 69 - '{' shift 22 - . error - - classbody goto 234 - - -state 115 - classdeclaration : modifiers CLASS classidentifier interfaces classbody . (20) - - . reduce 20 - - -state 116 - boundedclassidentifierlist : referencetype . (99) - - . reduce 99 - - -state 117 - boundedMethodParameter : IDENTIFIER EXTENDS boundedclassidentifierlist . (98) - boundedclassidentifierlist : boundedclassidentifierlist . '&' referencetype (100) - - '&' shift 235 + EXTENDS shift 100 ',' reduce 98 '>' reduce 98 -state 118 - boundedClassParameters : boundedClassParameters ',' boundedClassParameter . (96) +state 39 + boundedClassParameter : boundedMethodParameter . (95) + + . reduce 95 + + +state 40 + boundedClassParameters : boundedClassParameter . (96) . reduce 96 -state 119 - paralist : IDENTIFIER . (31) - paralist : IDENTIFIER . '<' paralist '>' (32) +state 41 + classidentifier : IDENTIFIER '<' boundedClassParameters . '>' (27) + boundedClassParameters : boundedClassParameters . ',' boundedClassParameter (97) - '<' shift 236 - ',' reduce 31 - '>' reduce 31 - - -state 120 - wildcardparameter : '?' . (37) - wildcardparameter : '?' . EXTENDS referencetype (38) - wildcardparameter : '?' . SUPER referencetype (39) - - EXTENDS shift 237 - SUPER shift 238 - ',' reduce 37 - '>' reduce 37 - - -state 121 - paralist : paralist . ',' IDENTIFIER (34) - paralist : paralist . ',' IDENTIFIER '<' paralist '>' (35) - paralist : paralist . ',' wildcardparameter (36) - parameter : '<' paralist . '>' (68) - - ',' shift 239 - '>' shift 240 + ',' shift 101 + '>' shift 102 . error -state 122 - paralist : wildcardparameter . (33) +state 42 + simplename : IDENTIFIER . (15) - . reduce 33 + . reduce 15 -state 123 - forstatement : FOR . '(' expression ';' expression ';' expression ')' statement (173) - forstatement : FOR . '(' expression ';' expression ';' ')' statement (174) - forstatement : FOR . '(' expression ';' ';' expression ')' statement (175) - forstatement : FOR . '(' ';' expression ';' expression ')' statement (176) - forstatement : FOR . '(' expression ';' ';' ')' statement (177) - forstatement : FOR . '(' ';' expression ';' ')' statement (178) - forstatement : FOR . '(' ';' ';' expression ')' statement (179) - forstatement : FOR . '(' ';' ';' ')' statement (180) +43: shift/reduce conflict (shift 103, reduce 68) on '<' +state 43 + classorinterfacetype : simplename . parameter (67) + parameter : . (68) - '(' shift 241 + '<' shift 103 + ABSTRACT reduce 68 + BOOLEAN reduce 68 + CHAR reduce 68 + FINAL reduce 68 + INSTANCEOF reduce 68 + INT reduce 68 + PRIVATE reduce 68 + PROTECTED reduce 68 + PUBLIC reduce 68 + IMPLEMENTS reduce 68 + STATIC reduce 68 + VOID reduce 68 + IDENTIFIER reduce 68 + EQUAL reduce 68 + LESSEQUAL reduce 68 + GREATEREQUAL reduce 68 + NOTEQUAL reduce 68 + LOGICALOR reduce 68 + LOGICALAND reduce 68 + INCREMENT reduce 68 + DECREMENT reduce 68 + ',' reduce 68 + ';' reduce 68 + '.' reduce 68 + '*' reduce 68 + '>' reduce 68 + '{' reduce 68 + '}' reduce 68 + '(' reduce 68 + ')' reduce 68 + '&' reduce 68 + '[' reduce 68 + '+' reduce 68 + '-' reduce 68 + '|' reduce 68 + '^' reduce 68 + '/' reduce 68 + '%' reduce 68 + + parameter goto 104 + + +state 44 + super : EXTENDS classtype . (45) + + . reduce 45 + + +state 45 + classtype : classorinterfacetype . (60) + + . reduce 60 + + +state 46 + interfacetype : classorinterfacetype . (63) + + . reduce 63 + + +state 47 + interfaces : IMPLEMENTS interfacetype . (46) + + . reduce 46 + + +state 48 + primitivetype : BOOLEAN . (142) + + . reduce 142 + + +state 49 + integraltype : CHAR . (164) + + . reduce 164 + + +state 50 + integraltype : INT . (163) + + . reduce 163 + + +state 51 + modifier : STATIC . (57) + staticinitializer : STATIC . block (74) + + '{' shift 105 + ABSTRACT reduce 57 + BOOLEAN reduce 57 + CHAR reduce 57 + FINAL reduce 57 + INT reduce 57 + PRIVATE reduce 57 + PROTECTED reduce 57 + PUBLIC reduce 57 + STATIC reduce 57 + VOID reduce 57 + IDENTIFIER reduce 57 + '<' reduce 57 + + block goto 106 + + +state 52 + methodheader : VOID . methoddeclarator (112) + methodheader : VOID . methoddeclarator throws (114) + + IDENTIFIER shift 107 + . error + + methoddeclarator goto 108 + + +53: shift/reduce conflict (shift 109, reduce 15) on '(' +state 53 + simplename : IDENTIFIER . (15) + methoddeclarator : IDENTIFIER . '(' ')' (140) + methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (141) + variabledeclaratorid : IDENTIFIER . (153) + + '(' shift 109 + IDENTIFIER reduce 15 + ',' reduce 153 + ';' reduce 153 + '<' reduce 15 + '=' reduce 153 + '[' reduce 15 + + +state 54 + methodheader : '<' . boundedMethodParameters '>' type methoddeclarator (104) + methodheader : '<' . boundedMethodParameters '>' type methoddeclarator throws (109) + methodheader : '<' . boundedMethodParameters '>' VOID methoddeclarator (116) + methodheader : '<' . boundedMethodParameters '>' VOID methoddeclarator throws (118) + methodheader : '<' . boundedMethodParameters '>' methoddeclarator (121) + + IDENTIFIER shift 38 + . error + + boundedMethodParameter goto 110 + boundedMethodParameters goto 111 + + +state 55 + classbody : '{' '}' . (41) + + . reduce 41 + + +state 56 + classmemberdeclaration : fielddeclaration . (72) + + . reduce 72 + + +state 57 + methoddeclaration : methodheader . methodbody (85) + + '{' shift 105 + . error + + block goto 112 + methodbody goto 113 + + +state 58 + classmemberdeclaration : methoddeclaration . (73) + + . reduce 73 + + +state 59 + methodheader : methoddeclarator . (120) + methodheader : methoddeclarator . throws (123) + + THROWS shift 114 + ';' reduce 120 + '{' reduce 120 + + throws goto 115 + + +state 60 + classbody : '{' classbodydeclarations . '}' (42) + classbodydeclarations : classbodydeclarations . classbodydeclaration (53) + + ABSTRACT shift 1 + BOOLEAN shift 48 + CHAR shift 49 + FINAL shift 3 + INT shift 50 + PRIVATE shift 4 + PROTECTED shift 5 + PUBLIC shift 6 + STATIC shift 51 + VOID shift 52 + IDENTIFIER shift 53 + '<' shift 54 + '}' shift 116 + . error + + fielddeclaration goto 56 + methodheader goto 57 + methoddeclaration goto 58 + methoddeclarator goto 59 + classbodydeclaration goto 117 + classmemberdeclaration goto 62 + variabledeclarators goto 63 + fielddeclarator goto 64 + variabledeclarator goto 65 + variabledeclaratorid goto 66 + simplename goto 67 + classorinterfacetype goto 68 + integraltype goto 69 + numerictype goto 70 + primitivetype goto 71 + referencetype goto 72 + type goto 73 + modifiers goto 74 + modifier goto 13 + constructordeclaration goto 75 + constructordeclarator goto 76 + staticinitializer goto 77 + + +state 61 + classbodydeclarations : classbodydeclaration . (52) + + . reduce 52 + + +state 62 + classbodydeclaration : classmemberdeclaration . (64) + + . reduce 64 + + +state 63 + fielddeclaration : variabledeclarators . ';' (82) + variabledeclarators : variabledeclarators . ',' variabledeclarator (130) + + ',' shift 118 + ';' shift 119 . error -state 124 - ifthenstatement : IF . '(' expression ')' statement (170) - ifthenelsestatement : IF . '(' expression ')' statementnoshortif ELSE statement (171) +state 64 + fielddeclaration : fielddeclarator . ';' (80) - '(' shift 242 + ';' shift 120 . error -state 125 - returnstatement : RETURN . ';' (185) - returnstatement : RETURN . expression ';' (186) +state 65 + fielddeclarator : variabledeclarator . '=' expression (79) + variabledeclarators : variabledeclarator . (129) - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 243 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 + '=' shift 121 + ',' reduce 129 + ';' reduce 129 + + +state 66 + variabledeclarator : variabledeclaratorid . (145) + + . reduce 145 + + +state 67 + classorinterfacetype : simplename . parameter (67) + constructordeclarator : simplename . '(' ')' (88) + constructordeclarator : simplename . '(' formalparameterlist ')' (89) + parameter : . (68) + + '<' shift 103 + '(' shift 122 + IDENTIFIER reduce 68 + '[' reduce 68 + + parameter goto 104 + + +state 68 + referencetype : classorinterfacetype . (144) + + . reduce 144 + + +state 69 + numerictype : integraltype . (152) + + . reduce 152 + + +state 70 + primitivetype : numerictype . (143) + + . reduce 143 + + +state 71 + type : primitivetype . (125) + type : primitivetype . '[' ']' (126) + + '[' shift 123 + IDENTIFIER reduce 125 + + +state 72 + type : referencetype . (127) + type : referencetype . '[' ']' (128) + + '[' shift 124 + IDENTIFIER reduce 127 + + +state 73 + fielddeclaration : type . fielddeclarator (81) + fielddeclaration : type . variabledeclarators ';' (83) + methodheader : type . methoddeclarator (105) + methodheader : type . methoddeclarator throws (108) + + IDENTIFIER shift 125 . error - simplename goto 193 - qualifiedname goto 145 - name goto 146 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 208 - lambdaexpression goto 157 - expression goto 244 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 214 - assignment goto 215 - lefthandside goto 174 - methodinvocation goto 216 - castexpression goto 217 + methoddeclarator goto 126 + variabledeclarators goto 127 + fielddeclarator goto 128 + variabledeclarator goto 65 + variabledeclaratorid goto 66 -state 126 - primarynonewarray : THIS . (241) +state 74 + modifiers : modifiers . modifier (44) + constructordeclaration : modifiers . constructordeclarator constructorbody (76) + fielddeclaration : modifiers . type variabledeclarators ';' (84) + methodheader : modifiers . type methoddeclarator (106) + methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator (107) + methodheader : modifiers . type methoddeclarator throws (110) + methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator throws (111) + methodheader : modifiers . VOID methoddeclarator (113) + methodheader : modifiers . VOID methoddeclarator throws (115) + methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator (117) + methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator throws (119) + methodheader : modifiers . methoddeclarator (122) + methodheader : modifiers . methoddeclarator throws (124) - . reduce 241 + ABSTRACT shift 1 + BOOLEAN shift 48 + CHAR shift 49 + FINAL shift 3 + INT shift 50 + PRIVATE shift 4 + PROTECTED shift 5 + PUBLIC shift 6 + STATIC shift 8 + VOID shift 129 + IDENTIFIER shift 84 + '<' shift 130 + . error + + methoddeclarator goto 131 + simplename goto 67 + classorinterfacetype goto 68 + integraltype goto 69 + numerictype goto 70 + primitivetype goto 71 + referencetype goto 72 + type goto 132 + modifier goto 22 + constructordeclarator goto 133 -state 127 - whilestatement : WHILE . '(' expression ')' statement (172) +state 75 + classbodydeclaration : constructordeclaration . (66) - '(' shift 245 + . reduce 66 + + +state 76 + constructordeclaration : constructordeclarator . constructorbody (75) + + '{' shift 134 + . error + + constructorbody goto 135 + + +state 77 + classbodydeclaration : staticinitializer . (65) + + . reduce 65 + + +state 78 + classdeclaration : CLASS classidentifier super classbody . (18) + + . reduce 18 + + +state 79 + classdeclaration : CLASS classidentifier super interfaces . classbody (22) + interfaces : interfaces . ',' interfacetype (47) + + ',' shift 80 + '{' shift 27 + . error + + classbody goto 136 + + +state 80 + interfaces : interfaces ',' . interfacetype (47) + + IDENTIFIER shift 42 + . error + + simplename goto 43 + classorinterfacetype goto 46 + interfacetype goto 137 + + +state 81 + classdeclaration : CLASS classidentifier interfaces classbody . (20) + + . reduce 20 + + +state 82 + interfaceidentifier : IDENTIFIER '<' boundedClassParameters . '>' (25) + boundedClassParameters : boundedClassParameters . ',' boundedClassParameter (97) + + ',' shift 101 + '>' shift 138 . error -state 128 - literal : INTLITERAL . (249) +state 83 + extendsinterfaces : EXTENDS interfacetype . (50) - . reduce 249 + . reduce 50 -state 129 - literal : LONGLITERAL . (253) +84: shift/reduce conflict (shift 109, reduce 15) on '(' +state 84 + simplename : IDENTIFIER . (15) + methoddeclarator : IDENTIFIER . '(' ')' (140) + methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (141) - . reduce 253 + '(' shift 109 + IDENTIFIER reduce 15 + '<' reduce 15 + '[' reduce 15 -state 130 - literal : DOUBLELITERAL . (255) +state 85 + interfacebody : '{' '}' . (48) - . reduce 255 + . reduce 48 -state 131 - literal : FLOATLITERAL . (254) +state 86 + interfacebody : '{' interfacememberdeclarations . '}' (49) + interfacememberdeclarations : interfacememberdeclarations . interfacememberdeclaration (62) - . reduce 254 - - -state 132 - literal : BOOLLITERAL . (250) - - . reduce 250 - - -state 133 - literal : JNULL . (256) - - . reduce 256 - - -state 134 - literal : CHARLITERAL . (251) - - . reduce 251 - - -state 135 - literal : STRINGLITERAL . (252) - - . reduce 252 - - -state 136 - simplename : IDENTIFIER . (14) - variabledeclaratorid : IDENTIFIER . (152) - - IDENTIFIER reduce 14 - INCREMENT reduce 14 - DECREMENT reduce 14 - PLUSEQUAL reduce 14 - MINUSEQUAL reduce 14 - TIMESEQUAL reduce 14 - DIVIDEEQUAL reduce 14 - MODULOEQUAL reduce 14 - ',' reduce 152 - ';' reduce 152 - '.' reduce 14 - '<' reduce 14 - '=' reduce 14 - '(' reduce 14 - ')' reduce 152 - '[' reduce 14 - - -state 137 - preincrementexpression : INCREMENT . unaryexpression (216) - - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 + ABSTRACT shift 1 + BOOLEAN shift 48 + CHAR shift 49 + FINAL shift 3 + INT shift 50 + PRIVATE shift 4 + PROTECTED shift 5 + PUBLIC shift 6 + STATIC shift 8 + VOID shift 52 + IDENTIFIER shift 84 + '<' shift 54 + '}' shift 139 . error - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 247 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 + interfacememberdeclaration goto 140 + abstractmethoddeclaration goto 88 + constantdeclaration goto 89 + methodheader goto 90 + methoddeclarator goto 59 + simplename goto 43 + classorinterfacetype goto 68 + integraltype goto 69 + numerictype goto 70 + primitivetype goto 71 + referencetype goto 72 + type goto 91 + modifiers goto 92 + modifier goto 13 -state 138 - predecrementexpression : DECREMENT . unaryexpression (217) +state 87 + interfacememberdeclarations : interfacememberdeclaration . (61) - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 + . reduce 61 + + +state 88 + interfacememberdeclaration : abstractmethoddeclaration . (71) + + . reduce 71 + + +state 89 + interfacememberdeclaration : constantdeclaration . (70) + + . reduce 70 + + +state 90 + abstractmethoddeclaration : methodheader . ';' (78) + + ';' shift 141 . error - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 248 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 + +state 91 + methodheader : type . methoddeclarator (105) + methodheader : type . methoddeclarator throws (108) + + IDENTIFIER shift 107 + . error + + methoddeclarator goto 126 -state 139 - emptystatement : ';' . (183) +state 92 + modifiers : modifiers . modifier (44) + constantdeclaration : modifiers . type IDENTIFIER '=' expression ';' (77) + methodheader : modifiers . type methoddeclarator (106) + methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator (107) + methodheader : modifiers . type methoddeclarator throws (110) + methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator throws (111) + methodheader : modifiers . VOID methoddeclarator (113) + methodheader : modifiers . VOID methoddeclarator throws (115) + methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator (117) + methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator throws (119) + methodheader : modifiers . methoddeclarator (122) + methodheader : modifiers . methoddeclarator throws (124) - . reduce 183 + ABSTRACT shift 1 + BOOLEAN shift 48 + CHAR shift 49 + FINAL shift 3 + INT shift 50 + PRIVATE shift 4 + PROTECTED shift 5 + PUBLIC shift 6 + STATIC shift 8 + VOID shift 129 + IDENTIFIER shift 84 + '<' shift 130 + . error + + methoddeclarator goto 131 + simplename goto 43 + classorinterfacetype goto 68 + integraltype goto 69 + numerictype goto 70 + primitivetype goto 71 + referencetype goto 72 + type goto 142 + modifier goto 22 -state 140 - block : '{' '}' . (85) +state 93 + extendsinterfaces : extendsinterfaces ',' . interfacetype (51) + + IDENTIFIER shift 42 + . error + + simplename goto 43 + classorinterfacetype goto 46 + interfacetype goto 143 + + +state 94 + interfacedeclaration : INTERFACE interfaceidentifier extendsinterfaces interfacebody . (30) + + . reduce 30 + + +state 95 + classdeclaration : modifiers CLASS classidentifier classbody . (17) + + . reduce 17 + + +state 96 + classdeclaration : modifiers CLASS classidentifier super . classbody (19) + classdeclaration : modifiers CLASS classidentifier super . interfaces classbody (23) + + IMPLEMENTS shift 26 + '{' shift 27 + . error + + classbody goto 144 + interfaces goto 145 + + +state 97 + classdeclaration : modifiers CLASS classidentifier interfaces . classbody (21) + interfaces : interfaces . ',' interfacetype (47) + + ',' shift 80 + '{' shift 27 + . error + + classbody goto 146 + + +state 98 + interfacedeclaration : modifiers INTERFACE interfaceidentifier interfacebody . (29) + + . reduce 29 + + +state 99 + interfacedeclaration : modifiers INTERFACE interfaceidentifier extendsinterfaces . interfacebody (31) + extendsinterfaces : extendsinterfaces . ',' interfacetype (51) + + ',' shift 93 + '{' shift 33 + . error + + interfacebody goto 147 + + +state 100 + boundedMethodParameter : IDENTIFIER EXTENDS . boundedclassidentifierlist (99) + + IDENTIFIER shift 42 + . error + + simplename goto 43 + classorinterfacetype goto 68 + referencetype goto 148 + boundedclassidentifierlist goto 149 + + +state 101 + boundedClassParameters : boundedClassParameters ',' . boundedClassParameter (97) + + IDENTIFIER shift 38 + . error + + boundedMethodParameter goto 39 + boundedClassParameter goto 150 + + +state 102 + classidentifier : IDENTIFIER '<' boundedClassParameters '>' . (27) + + . reduce 27 + + +state 103 + parameter : '<' . paralist '>' (69) + + IDENTIFIER shift 151 + '?' shift 152 + . error + + paralist goto 153 + wildcardparameter goto 154 + + +state 104 + classorinterfacetype : simplename parameter . (67) + + . reduce 67 + + +state 105 + block : '{' . '}' (86) + block : '{' . blockstatements '}' (87) + + BOOLEAN shift 48 + CHAR shift 49 + FOR shift 155 + IF shift 156 + INT shift 50 + RETURN shift 157 + THIS shift 158 + WHILE shift 159 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 168 + INCREMENT shift 169 + DECREMENT shift 170 + ';' shift 171 + '{' shift 105 + '}' shift 172 + '(' shift 173 + . error + + variabledeclarators goto 174 + variabledeclarator goto 175 + variabledeclaratorid goto 66 + simplename goto 176 + qualifiedname goto 177 + name goto 178 + classorinterfacetype goto 68 + integraltype goto 69 + numerictype goto 70 + primitivetype goto 71 + referencetype goto 72 + type goto 179 + block goto 180 + blockstatements goto 181 + localvariabledeclarationstatement goto 182 + localvariabledeclaration goto 183 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 188 + lambdaexpression goto 189 + statementexpression goto 190 + preincrementexpression goto 191 + predecrementexpression goto 192 + postincrementexpression goto 193 + postdecrementexpression goto 194 + expressionstatement goto 195 + statementwithouttrailingsubstatement goto 196 + blockstatement goto 197 + statement goto 198 + whilestatement goto 199 + forstatement goto 200 + ifthenstatement goto 201 + ifthenelsestatement goto 202 + emptystatement goto 203 + returnstatement goto 204 + assignment goto 205 + lefthandside goto 206 + methodinvocation goto 207 + + +state 106 + staticinitializer : STATIC block . (74) + + . reduce 74 + + +state 107 + methoddeclarator : IDENTIFIER . '(' ')' (140) + methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (141) + + '(' shift 109 + . error + + +state 108 + methodheader : VOID methoddeclarator . (112) + methodheader : VOID methoddeclarator . throws (114) + + THROWS shift 114 + ';' reduce 112 + '{' reduce 112 + + throws goto 208 + + +state 109 + methoddeclarator : IDENTIFIER '(' . ')' (140) + methoddeclarator : IDENTIFIER '(' . formalparameterlist ')' (141) + + BOOLEAN shift 48 + CHAR shift 49 + INT shift 50 + IDENTIFIER shift 168 + ')' shift 209 + . error + + variabledeclaratorid goto 210 + simplename goto 43 + classorinterfacetype goto 68 + integraltype goto 69 + numerictype goto 70 + primitivetype goto 71 + referencetype goto 72 + type goto 211 + formalparameter goto 212 + formalparameterlist goto 213 + + +state 110 + boundedMethodParameters : boundedMethodParameter . (102) + + . reduce 102 + + +state 111 + boundedMethodParameters : boundedMethodParameters . ',' boundedMethodParameter (103) + methodheader : '<' boundedMethodParameters . '>' type methoddeclarator (104) + methodheader : '<' boundedMethodParameters . '>' type methoddeclarator throws (109) + methodheader : '<' boundedMethodParameters . '>' VOID methoddeclarator (116) + methodheader : '<' boundedMethodParameters . '>' VOID methoddeclarator throws (118) + methodheader : '<' boundedMethodParameters . '>' methoddeclarator (121) + + ',' shift 214 + '>' shift 215 + . error + + +state 112 + methodbody : block . (131) + + . reduce 131 + + +state 113 + methoddeclaration : methodheader methodbody . (85) . reduce 85 -state 141 - lambdaexpressionparameter : '(' . ')' (206) - lambdaexpressionparameter : '(' . formalparameterlist ')' (207) +state 114 + throws : THROWS . classtypelist (94) - BOOLEAN shift 37 - CHAR shift 38 - INT shift 39 - IDENTIFIER shift 136 - ')' shift 249 + IDENTIFIER shift 42 . error - variabledeclaratorid goto 178 - simplename goto 32 - classorinterfacetype goto 57 - integraltype goto 58 - numerictype goto 59 - primitivetype goto 60 - referencetype goto 61 + simplename goto 43 + classtype goto 216 + classorinterfacetype goto 45 + classtypelist goto 217 + + +state 115 + methodheader : methoddeclarator throws . (123) + + . reduce 123 + + +state 116 + classbody : '{' classbodydeclarations '}' . (42) + + . reduce 42 + + +state 117 + classbodydeclarations : classbodydeclarations classbodydeclaration . (53) + + . reduce 53 + + +state 118 + variabledeclarators : variabledeclarators ',' . variabledeclarator (130) + + IDENTIFIER shift 218 + . error + + variabledeclarator goto 219 + variabledeclaratorid goto 66 + + +state 119 + fielddeclaration : variabledeclarators ';' . (82) + + . reduce 82 + + +state 120 + fielddeclaration : fielddeclarator ';' . (80) + + . reduce 80 + + +state 121 + fielddeclarator : variabledeclarator '=' . expression (79) + + NEW shift 220 + THIS shift 158 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 42 + INCREMENT shift 169 + DECREMENT shift 170 + '(' shift 221 + '+' shift 222 + '-' shift 223 + '!' shift 224 + . error + + simplename goto 225 + qualifiedname goto 177 + name goto 178 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 226 + unaryexpressionnotplusminus goto 227 + unaryexpression goto 228 + multiplicativeexpression goto 229 + additiveexpression goto 230 + shiftexpression goto 231 + relationalexpression goto 232 + equalityexpression goto 233 + andexpression goto 234 + exclusiveorexpression goto 235 + inclusiveorexpression goto 236 + conditionalandexpression goto 237 + conditionalorexpression goto 238 + conditionalexpression goto 239 + assignmentexpression goto 240 + lambdaexpression goto 189 + expression goto 241 + preincrementexpression goto 242 + predecrementexpression goto 243 + postincrementexpression goto 244 + postdecrementexpression goto 245 + classinstancecreationexpression goto 246 + assignment goto 247 + lefthandside goto 206 + methodinvocation goto 248 + castexpression goto 249 + + +state 122 + constructordeclarator : simplename '(' . ')' (88) + constructordeclarator : simplename '(' . formalparameterlist ')' (89) + + BOOLEAN shift 48 + CHAR shift 49 + INT shift 50 + IDENTIFIER shift 168 + ')' shift 250 + . error + + variabledeclaratorid goto 210 + simplename goto 43 + classorinterfacetype goto 68 + integraltype goto 69 + numerictype goto 70 + primitivetype goto 71 + referencetype goto 72 + type goto 211 + formalparameter goto 212 + formalparameterlist goto 251 + + +state 123 + type : primitivetype '[' . ']' (126) + + ']' shift 252 + . error + + +state 124 + type : referencetype '[' . ']' (128) + + ']' shift 253 + . error + + +state 125 + methoddeclarator : IDENTIFIER . '(' ')' (140) + methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (141) + variabledeclaratorid : IDENTIFIER . (153) + + '(' shift 109 + ',' reduce 153 + ';' reduce 153 + '=' reduce 153 + + +state 126 + methodheader : type methoddeclarator . (105) + methodheader : type methoddeclarator . throws (108) + + THROWS shift 114 + ';' reduce 105 + '{' reduce 105 + + throws goto 254 + + +state 127 + fielddeclaration : type variabledeclarators . ';' (83) + variabledeclarators : variabledeclarators . ',' variabledeclarator (130) + + ',' shift 118 + ';' shift 255 + . error + + +state 128 + fielddeclaration : type fielddeclarator . (81) + + . reduce 81 + + +state 129 + methodheader : modifiers VOID . methoddeclarator (113) + methodheader : modifiers VOID . methoddeclarator throws (115) + + IDENTIFIER shift 107 + . error + + methoddeclarator goto 256 + + +state 130 + methodheader : modifiers '<' . boundedMethodParameters '>' type methoddeclarator (107) + methodheader : modifiers '<' . boundedMethodParameters '>' type methoddeclarator throws (111) + methodheader : modifiers '<' . boundedMethodParameters '>' VOID methoddeclarator (117) + methodheader : modifiers '<' . boundedMethodParameters '>' VOID methoddeclarator throws (119) + + IDENTIFIER shift 38 + . error + + boundedMethodParameter goto 110 + boundedMethodParameters goto 257 + + +state 131 + methodheader : modifiers methoddeclarator . (122) + methodheader : modifiers methoddeclarator . throws (124) + + THROWS shift 114 + ';' reduce 122 + '{' reduce 122 + + throws goto 258 + + +state 132 + fielddeclaration : modifiers type . variabledeclarators ';' (84) + methodheader : modifiers type . methoddeclarator (106) + methodheader : modifiers type . methoddeclarator throws (110) + + IDENTIFIER shift 125 + . error + + methoddeclarator goto 259 + variabledeclarators goto 260 + variabledeclarator goto 175 + variabledeclaratorid goto 66 + + +state 133 + constructordeclaration : modifiers constructordeclarator . constructorbody (76) + + '{' shift 134 + . error + + constructorbody goto 261 + + +state 134 + constructorbody : '{' . '}' (90) + constructorbody : '{' . explicitconstructorinvocation '}' (91) + constructorbody : '{' . blockstatements '}' (92) + constructorbody : '{' . explicitconstructorinvocation blockstatements '}' (93) + + BOOLEAN shift 48 + CHAR shift 49 + FOR shift 155 + IF shift 156 + INT shift 50 + RETURN shift 157 + THIS shift 262 + WHILE shift 159 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 168 + INCREMENT shift 169 + DECREMENT shift 170 + ';' shift 171 + '{' shift 105 + '}' shift 263 + '(' shift 173 + . error + + variabledeclarators goto 174 + variabledeclarator goto 175 + variabledeclaratorid goto 66 + simplename goto 176 + qualifiedname goto 177 + name goto 178 + classorinterfacetype goto 68 + integraltype goto 69 + numerictype goto 70 + primitivetype goto 71 + referencetype goto 72 type goto 179 - formalparameter goto 180 - formalparameterlist goto 250 + block goto 180 + blockstatements goto 264 + localvariabledeclarationstatement goto 182 + localvariabledeclaration goto 183 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 188 + lambdaexpression goto 189 + statementexpression goto 190 + preincrementexpression goto 191 + predecrementexpression goto 192 + postincrementexpression goto 193 + postdecrementexpression goto 194 + expressionstatement goto 195 + statementwithouttrailingsubstatement goto 196 + blockstatement goto 197 + statement goto 198 + whilestatement goto 199 + forstatement goto 200 + ifthenstatement goto 201 + ifthenelsestatement goto 202 + emptystatement goto 203 + returnstatement goto 204 + assignment goto 205 + lefthandside goto 206 + methodinvocation goto 207 + explicitconstructorinvocation goto 265 + + +state 135 + constructordeclaration : constructordeclarator constructorbody . (75) + + . reduce 75 + + +state 136 + classdeclaration : CLASS classidentifier super interfaces classbody . (22) + + . reduce 22 + + +state 137 + interfaces : interfaces ',' interfacetype . (47) + + . reduce 47 + + +state 138 + interfaceidentifier : IDENTIFIER '<' boundedClassParameters '>' . (25) + + . reduce 25 + + +state 139 + interfacebody : '{' interfacememberdeclarations '}' . (49) + + . reduce 49 + + +state 140 + interfacememberdeclarations : interfacememberdeclarations interfacememberdeclaration . (62) + + . reduce 62 + + +state 141 + abstractmethoddeclaration : methodheader ';' . (78) + + . reduce 78 state 142 - variabledeclarators : variabledeclarators . ',' variabledeclarator (129) - localvariabledeclaration : variabledeclarators . (165) + constantdeclaration : modifiers type . IDENTIFIER '=' expression ';' (77) + methodheader : modifiers type . methoddeclarator (106) + methodheader : modifiers type . methoddeclarator throws (110) - ',' shift 92 - ';' reduce 165 + IDENTIFIER shift 266 + . error + + methoddeclarator goto 259 state 143 - variabledeclarators : variabledeclarator . (128) + extendsinterfaces : extendsinterfaces ',' interfacetype . (51) - . reduce 128 + . reduce 51 state 144 - name : simplename . (9) - classorinterfacetype : simplename . parameter (66) - parameter : . (67) + classdeclaration : modifiers CLASS classidentifier super classbody . (19) - '<' shift 77 - IDENTIFIER reduce 67 + . reduce 19 + + +state 145 + classdeclaration : modifiers CLASS classidentifier super interfaces . classbody (23) + interfaces : interfaces . ',' interfacetype (47) + + ',' shift 80 + '{' shift 27 + . error + + classbody goto 267 + + +state 146 + classdeclaration : modifiers CLASS classidentifier interfaces classbody . (21) + + . reduce 21 + + +state 147 + interfacedeclaration : modifiers INTERFACE interfaceidentifier extendsinterfaces interfacebody . (31) + + . reduce 31 + + +state 148 + boundedclassidentifierlist : referencetype . (100) + + . reduce 100 + + +state 149 + boundedMethodParameter : IDENTIFIER EXTENDS boundedclassidentifierlist . (99) + boundedclassidentifierlist : boundedclassidentifierlist . '&' referencetype (101) + + '&' shift 268 + ',' reduce 99 + '>' reduce 99 + + +state 150 + boundedClassParameters : boundedClassParameters ',' boundedClassParameter . (97) + + . reduce 97 + + +state 151 + paralist : IDENTIFIER . (32) + paralist : IDENTIFIER . '<' paralist '>' (33) + + '<' shift 269 + ',' reduce 32 + '>' reduce 32 + + +state 152 + wildcardparameter : '?' . (38) + wildcardparameter : '?' . EXTENDS referencetype (39) + wildcardparameter : '?' . SUPER referencetype (40) + + EXTENDS shift 270 + SUPER shift 271 + ',' reduce 38 + '>' reduce 38 + + +state 153 + paralist : paralist . ',' IDENTIFIER (35) + paralist : paralist . ',' IDENTIFIER '<' paralist '>' (36) + paralist : paralist . ',' wildcardparameter (37) + parameter : '<' paralist . '>' (69) + + ',' shift 272 + '>' shift 273 + . error + + +state 154 + paralist : wildcardparameter . (34) + + . reduce 34 + + +state 155 + forstatement : FOR . '(' expression ';' expression ';' expression ')' statement (174) + forstatement : FOR . '(' expression ';' expression ';' ')' statement (175) + forstatement : FOR . '(' expression ';' ';' expression ')' statement (176) + forstatement : FOR . '(' ';' expression ';' expression ')' statement (177) + forstatement : FOR . '(' expression ';' ';' ')' statement (178) + forstatement : FOR . '(' ';' expression ';' ')' statement (179) + forstatement : FOR . '(' ';' ';' expression ')' statement (180) + forstatement : FOR . '(' ';' ';' ')' statement (181) + + '(' shift 274 + . error + + +state 156 + ifthenstatement : IF . '(' expression ')' statement (171) + ifthenelsestatement : IF . '(' expression ')' statementnoshortif ELSE statement (172) + + '(' shift 275 + . error + + +state 157 + returnstatement : RETURN . ';' (186) + returnstatement : RETURN . expression ';' (187) + + NEW shift 220 + THIS shift 158 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 42 + INCREMENT shift 169 + DECREMENT shift 170 + ';' shift 276 + '(' shift 221 + '+' shift 222 + '-' shift 223 + '!' shift 224 + . error + + simplename goto 225 + qualifiedname goto 177 + name goto 178 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 226 + unaryexpressionnotplusminus goto 227 + unaryexpression goto 228 + multiplicativeexpression goto 229 + additiveexpression goto 230 + shiftexpression goto 231 + relationalexpression goto 232 + equalityexpression goto 233 + andexpression goto 234 + exclusiveorexpression goto 235 + inclusiveorexpression goto 236 + conditionalandexpression goto 237 + conditionalorexpression goto 238 + conditionalexpression goto 239 + assignmentexpression goto 240 + lambdaexpression goto 189 + expression goto 277 + preincrementexpression goto 242 + predecrementexpression goto 243 + postincrementexpression goto 244 + postdecrementexpression goto 245 + classinstancecreationexpression goto 246 + assignment goto 247 + lefthandside goto 206 + methodinvocation goto 248 + castexpression goto 249 + + +state 158 + primarynonewarray : THIS . (242) + + . reduce 242 + + +state 159 + whilestatement : WHILE . '(' expression ')' statement (173) + + '(' shift 278 + . error + + +state 160 + literal : INTLITERAL . (250) + + . reduce 250 + + +state 161 + literal : LONGLITERAL . (254) + + . reduce 254 + + +state 162 + literal : DOUBLELITERAL . (256) + + . reduce 256 + + +state 163 + literal : FLOATLITERAL . (255) + + . reduce 255 + + +state 164 + literal : BOOLLITERAL . (251) + + . reduce 251 + + +state 165 + literal : JNULL . (257) + + . reduce 257 + + +state 166 + literal : CHARLITERAL . (252) + + . reduce 252 + + +state 167 + literal : STRINGLITERAL . (253) + + . reduce 253 + + +state 168 + simplename : IDENTIFIER . (15) + variabledeclaratorid : IDENTIFIER . (153) + + IDENTIFIER reduce 15 + INCREMENT reduce 15 + DECREMENT reduce 15 + PLUSEQUAL reduce 15 + MINUSEQUAL reduce 15 + TIMESEQUAL reduce 15 + DIVIDEEQUAL reduce 15 + MODULOEQUAL reduce 15 + ',' reduce 153 + ';' reduce 153 + '.' reduce 15 + '<' reduce 15 + '=' reduce 15 + '(' reduce 15 + ')' reduce 153 + '[' reduce 15 + + +state 169 + preincrementexpression : INCREMENT . unaryexpression (217) + + THIS shift 158 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 42 + INCREMENT shift 169 + DECREMENT shift 170 + '(' shift 221 + '+' shift 222 + '-' shift 223 + '!' shift 224 + . error + + simplename goto 225 + qualifiedname goto 177 + name goto 279 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 226 + unaryexpressionnotplusminus goto 227 + unaryexpression goto 280 + lambdaexpression goto 189 + preincrementexpression goto 242 + predecrementexpression goto 243 + postincrementexpression goto 244 + postdecrementexpression goto 245 + methodinvocation goto 248 + castexpression goto 249 + + +state 170 + predecrementexpression : DECREMENT . unaryexpression (218) + + THIS shift 158 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 42 + INCREMENT shift 169 + DECREMENT shift 170 + '(' shift 221 + '+' shift 222 + '-' shift 223 + '!' shift 224 + . error + + simplename goto 225 + qualifiedname goto 177 + name goto 279 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 226 + unaryexpressionnotplusminus goto 227 + unaryexpression goto 281 + lambdaexpression goto 189 + preincrementexpression goto 242 + predecrementexpression goto 243 + postincrementexpression goto 244 + postdecrementexpression goto 245 + methodinvocation goto 248 + castexpression goto 249 + + +state 171 + emptystatement : ';' . (184) + + . reduce 184 + + +state 172 + block : '{' '}' . (86) + + . reduce 86 + + +state 173 + lambdaexpressionparameter : '(' . ')' (207) + lambdaexpressionparameter : '(' . formalparameterlist ')' (208) + + BOOLEAN shift 48 + CHAR shift 49 + INT shift 50 + IDENTIFIER shift 168 + ')' shift 282 + . error + + variabledeclaratorid goto 210 + simplename goto 43 + classorinterfacetype goto 68 + integraltype goto 69 + numerictype goto 70 + primitivetype goto 71 + referencetype goto 72 + type goto 211 + formalparameter goto 212 + formalparameterlist goto 283 + + +state 174 + variabledeclarators : variabledeclarators . ',' variabledeclarator (130) + localvariabledeclaration : variabledeclarators . (166) + + ',' shift 118 + ';' reduce 166 + + +state 175 + variabledeclarators : variabledeclarator . (129) + + . reduce 129 + + +state 176 + name : simplename . (9) + classorinterfacetype : simplename . parameter (67) + parameter : . (68) + + '<' shift 103 + IDENTIFIER reduce 68 INCREMENT reduce 9 DECREMENT reduce 9 PLUSEQUAL reduce 9 @@ -2120,27 +2477,197 @@ state 144 '.' reduce 9 '=' reduce 9 '(' reduce 9 - '[' reduce 67 + '[' reduce 68 - parameter goto 78 + parameter goto 104 -state 145 +state 177 name : qualifiedname . (8) . reduce 8 -146: shift/reduce conflict (shift 251, reduce 234) on '.' -state 146 - qualifiedname : name . '.' IDENTIFIER (11) - lefthandside : name . (209) - methodinvocation : name . '(' ')' (220) - methodinvocation : name . '(' argumentlist ')' (221) - postfixexpression : name . (234) +178: shift/reduce conflict (shift 284, reduce 235) on '.' +state 178 + qualifiedname : name . '.' IDENTIFIER (12) + lefthandside : name . (210) + methodinvocation : name . '(' ')' (221) + methodinvocation : name . '(' argumentlist ')' (222) + postfixexpression : name . (235) - '.' shift 251 - '(' shift 252 + '.' shift 284 + '(' shift 285 + ABSTRACT reduce 235 + BOOLEAN reduce 235 + CHAR reduce 235 + FINAL reduce 235 + INSTANCEOF reduce 235 + INT reduce 235 + PRIVATE reduce 235 + PROTECTED reduce 235 + PUBLIC reduce 235 + STATIC reduce 235 + VOID reduce 235 + IDENTIFIER reduce 235 + EQUAL reduce 235 + LESSEQUAL reduce 235 + GREATEREQUAL reduce 235 + NOTEQUAL reduce 235 + LOGICALOR reduce 235 + LOGICALAND reduce 235 + INCREMENT reduce 235 + DECREMENT reduce 235 + PLUSEQUAL reduce 210 + MINUSEQUAL reduce 210 + TIMESEQUAL reduce 210 + DIVIDEEQUAL reduce 210 + MODULOEQUAL reduce 210 + ',' reduce 235 + ';' reduce 235 + '*' reduce 235 + '<' reduce 235 + '>' reduce 235 + '}' reduce 235 + '=' reduce 210 + ')' reduce 235 + '&' reduce 235 + '+' reduce 235 + '-' reduce 235 + '|' reduce 235 + '^' reduce 235 + '/' reduce 235 + '%' reduce 235 + + +state 179 + localvariabledeclaration : type . variabledeclarators (165) + + IDENTIFIER shift 218 + . error + + variabledeclarators goto 286 + variabledeclarator goto 175 + variabledeclaratorid goto 66 + + +state 180 + statementwithouttrailingsubstatement : block . (167) + + . reduce 167 + + +state 181 + block : '{' blockstatements . '}' (87) + blockstatements : blockstatements . blockstatement (133) + + BOOLEAN shift 48 + CHAR shift 49 + FOR shift 155 + IF shift 156 + INT shift 50 + RETURN shift 157 + THIS shift 158 + WHILE shift 159 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 168 + INCREMENT shift 169 + DECREMENT shift 170 + ';' shift 171 + '{' shift 105 + '}' shift 287 + '(' shift 173 + . error + + variabledeclarators goto 174 + variabledeclarator goto 175 + variabledeclaratorid goto 66 + simplename goto 176 + qualifiedname goto 177 + name goto 178 + classorinterfacetype goto 68 + integraltype goto 69 + numerictype goto 70 + primitivetype goto 71 + referencetype goto 72 + type goto 179 + block goto 180 + localvariabledeclarationstatement goto 182 + localvariabledeclaration goto 183 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 188 + lambdaexpression goto 189 + statementexpression goto 190 + preincrementexpression goto 191 + predecrementexpression goto 192 + postincrementexpression goto 193 + postdecrementexpression goto 194 + expressionstatement goto 195 + statementwithouttrailingsubstatement goto 196 + blockstatement goto 288 + statement goto 198 + whilestatement goto 199 + forstatement goto 200 + ifthenstatement goto 201 + ifthenelsestatement goto 202 + emptystatement goto 203 + returnstatement goto 204 + assignment goto 205 + lefthandside goto 206 + methodinvocation goto 207 + + +state 182 + blockstatement : localvariabledeclarationstatement . (146) + + . reduce 146 + + +state 183 + localvariabledeclarationstatement : localvariabledeclaration . ';' (155) + + ';' shift 289 + . error + + +state 184 + lambdaexpression : lambdaexpressionparameter . lambdaassignmentoperator lambdabody (209) + + LAMBDAASSIGNMENT shift 290 + . error + + lambdaassignmentoperator goto 291 + + +state 185 + primarynonewarray : literal . (241) + + . reduce 241 + + +state 186 + primary : primarynonewarray . (238) + + . reduce 238 + + +187: shift/reduce conflict (shift 292, reduce 234) on '.' +state 187 + methodinvocation : primary . '.' IDENTIFIER '(' ')' (223) + methodinvocation : primary . '.' IDENTIFIER '(' argumentlist ')' (224) + postfixexpression : primary . (234) + + '.' shift 292 ABSTRACT reduce 234 BOOLEAN reduce 234 CHAR reduce 234 @@ -2161,18 +2688,12 @@ state 146 LOGICALAND reduce 234 INCREMENT reduce 234 DECREMENT reduce 234 - PLUSEQUAL reduce 209 - MINUSEQUAL reduce 209 - TIMESEQUAL reduce 209 - DIVIDEEQUAL reduce 209 - MODULOEQUAL reduce 209 ',' reduce 234 ';' reduce 234 '*' reduce 234 '<' reduce 234 '>' reduce 234 '}' reduce 234 - '=' reduce 209 ')' reduce 234 '&' reduce 234 '+' reduce 234 @@ -2183,3335 +2704,481 @@ state 146 '%' reduce 234 -state 147 - localvariabledeclaration : type . variabledeclarators (164) +state 188 + postincrementexpression : postfixexpression . INCREMENT (219) + postdecrementexpression : postfixexpression . DECREMENT (220) - IDENTIFIER shift 186 - . error - - variabledeclarators goto 253 - variabledeclarator goto 143 - variabledeclaratorid goto 55 - - -state 148 - statementwithouttrailingsubstatement : block . (166) - - . reduce 166 - - -state 149 - block : '{' blockstatements . '}' (86) - blockstatements : blockstatements . blockstatement (132) - - BOOLEAN shift 37 - CHAR shift 38 - FOR shift 123 - IF shift 124 - INT shift 39 - RETURN shift 125 - THIS shift 126 - WHILE shift 127 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 136 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 - '{' shift 79 - '}' shift 254 - '(' shift 141 - . error - - variabledeclarators goto 142 - variabledeclarator goto 143 - variabledeclaratorid goto 55 - simplename goto 144 - qualifiedname goto 145 - name goto 146 - classorinterfacetype goto 57 - integraltype goto 58 - numerictype goto 59 - primitivetype goto 60 - referencetype goto 61 - type goto 147 - block goto 148 - localvariabledeclarationstatement goto 150 - localvariabledeclaration goto 151 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 164 - blockstatement goto 255 - statement goto 166 - whilestatement goto 167 - forstatement goto 168 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 - - -state 150 - blockstatement : localvariabledeclarationstatement . (145) - - . reduce 145 - - -state 151 - localvariabledeclarationstatement : localvariabledeclaration . ';' (154) - - ';' shift 256 + INCREMENT shift 293 + DECREMENT shift 294 . error -state 152 - lambdaexpression : lambdaexpressionparameter . lambdaassignmentoperator lambdabody (208) +state 189 + primarynonewarray : lambdaexpression . (244) - LAMBDAASSIGNMENT shift 257 - . error - - lambdaassignmentoperator goto 258 + . reduce 244 -state 153 - primarynonewarray : literal . (240) +state 190 + expressionstatement : statementexpression . ';' (185) - . reduce 240 - - -state 154 - primary : primarynonewarray . (237) - - . reduce 237 - - -155: shift/reduce conflict (shift 259, reduce 233) on '.' -state 155 - methodinvocation : primary . '.' IDENTIFIER '(' ')' (222) - methodinvocation : primary . '.' IDENTIFIER '(' argumentlist ')' (223) - postfixexpression : primary . (233) - - '.' shift 259 - ABSTRACT reduce 233 - BOOLEAN reduce 233 - CHAR reduce 233 - FINAL reduce 233 - INSTANCEOF reduce 233 - INT reduce 233 - PRIVATE reduce 233 - PROTECTED reduce 233 - PUBLIC reduce 233 - STATIC reduce 233 - VOID reduce 233 - IDENTIFIER reduce 233 - EQUAL reduce 233 - LESSEQUAL reduce 233 - GREATEREQUAL reduce 233 - NOTEQUAL reduce 233 - LOGICALOR reduce 233 - LOGICALAND reduce 233 - INCREMENT reduce 233 - DECREMENT reduce 233 - ',' reduce 233 - ';' reduce 233 - '*' reduce 233 - '<' reduce 233 - '>' reduce 233 - '}' reduce 233 - ')' reduce 233 - '&' reduce 233 - '+' reduce 233 - '-' reduce 233 - '|' reduce 233 - '^' reduce 233 - '/' reduce 233 - '%' reduce 233 - - -state 156 - postincrementexpression : postfixexpression . INCREMENT (218) - postdecrementexpression : postfixexpression . DECREMENT (219) - - INCREMENT shift 260 - DECREMENT shift 261 + ';' shift 295 . error -state 157 - primarynonewarray : lambdaexpression . (243) - - . reduce 243 - - -state 158 - expressionstatement : statementexpression . ';' (184) - - ';' shift 262 - . error - - -state 159 - statementexpression : preincrementexpression . (194) - - . reduce 194 - - -state 160 - statementexpression : predecrementexpression . (195) +state 191 + statementexpression : preincrementexpression . (195) . reduce 195 -state 161 - statementexpression : postincrementexpression . (196) - postfixexpression : postincrementexpression . (235) +state 192 + statementexpression : predecrementexpression . (196) - INCREMENT reduce 235 - DECREMENT reduce 235 - ';' reduce 196 + . reduce 196 -state 162 - statementexpression : postdecrementexpression . (197) - postfixexpression : postdecrementexpression . (236) +state 193 + statementexpression : postincrementexpression . (197) + postfixexpression : postincrementexpression . (236) INCREMENT reduce 236 DECREMENT reduce 236 ';' reduce 197 -state 163 - statementwithouttrailingsubstatement : expressionstatement . (168) +state 194 + statementexpression : postdecrementexpression . (198) + postfixexpression : postdecrementexpression . (237) - . reduce 168 + INCREMENT reduce 237 + DECREMENT reduce 237 + ';' reduce 198 -state 164 - statement : statementwithouttrailingsubstatement . (155) - - . reduce 155 - - -state 165 - blockstatements : blockstatement . (131) - - . reduce 131 - - -state 166 - blockstatement : statement . (146) - - . reduce 146 - - -state 167 - statement : whilestatement . (158) - - . reduce 158 - - -state 168 - statement : forstatement . (159) - - . reduce 159 - - -state 169 - statement : ifthenstatement . (156) - - . reduce 156 - - -state 170 - statement : ifthenelsestatement . (157) - - . reduce 157 - - -state 171 - statementwithouttrailingsubstatement : emptystatement . (167) - - . reduce 167 - - -state 172 - statementwithouttrailingsubstatement : returnstatement . (169) +state 195 + statementwithouttrailingsubstatement : expressionstatement . (169) . reduce 169 -state 173 - statementexpression : assignment . (193) +state 196 + statement : statementwithouttrailingsubstatement . (156) - . reduce 193 + . reduce 156 -state 174 - assignment : lefthandside . assignmentoperator assignmentexpression (191) - assignment : lefthandside . assignmentoperator classinstancecreationexpression (192) +state 197 + blockstatements : blockstatement . (132) - PLUSEQUAL shift 263 - MINUSEQUAL shift 264 - TIMESEQUAL shift 265 - DIVIDEEQUAL shift 266 - MODULOEQUAL shift 267 - '=' shift 268 + . reduce 132 + + +state 198 + blockstatement : statement . (147) + + . reduce 147 + + +state 199 + statement : whilestatement . (159) + + . reduce 159 + + +state 200 + statement : forstatement . (160) + + . reduce 160 + + +state 201 + statement : ifthenstatement . (157) + + . reduce 157 + + +state 202 + statement : ifthenelsestatement . (158) + + . reduce 158 + + +state 203 + statementwithouttrailingsubstatement : emptystatement . (168) + + . reduce 168 + + +state 204 + statementwithouttrailingsubstatement : returnstatement . (170) + + . reduce 170 + + +state 205 + statementexpression : assignment . (194) + + . reduce 194 + + +state 206 + assignment : lefthandside . assignmentoperator assignmentexpression (192) + assignment : lefthandside . assignmentoperator classinstancecreationexpression (193) + + PLUSEQUAL shift 296 + MINUSEQUAL shift 297 + TIMESEQUAL shift 298 + DIVIDEEQUAL shift 299 + MODULOEQUAL shift 300 + '=' shift 301 . error - assignmentoperator goto 269 + assignmentoperator goto 302 -state 175 - statementexpression : methodinvocation . (198) - primarynonewarray : methodinvocation . (242) +state 207 + statementexpression : methodinvocation . (199) + primarynonewarray : methodinvocation . (243) - INCREMENT reduce 242 - DECREMENT reduce 242 - ';' reduce 198 - '.' reduce 242 + INCREMENT reduce 243 + DECREMENT reduce 243 + ';' reduce 199 + '.' reduce 243 -state 176 - methodheader : VOID methoddeclarator throws . (113) +state 208 + methodheader : VOID methoddeclarator throws . (114) - . reduce 113 + . reduce 114 -state 177 - methoddeclarator : IDENTIFIER '(' ')' . (139) +state 209 + methoddeclarator : IDENTIFIER '(' ')' . (140) - . reduce 139 + . reduce 140 -state 178 - formalparameter : variabledeclaratorid . (148) +state 210 + formalparameter : variabledeclaratorid . (149) - . reduce 148 + . reduce 149 -state 179 - formalparameter : type . variabledeclaratorid (147) +state 211 + formalparameter : type . variabledeclaratorid (148) - IDENTIFIER shift 186 + IDENTIFIER shift 218 . error - variabledeclaratorid goto 270 + variabledeclaratorid goto 303 -state 180 - formalparameterlist : formalparameter . (133) +state 212 + formalparameterlist : formalparameter . (134) - . reduce 133 + . reduce 134 -state 181 - formalparameterlist : formalparameterlist . ',' formalparameter (134) - methoddeclarator : IDENTIFIER '(' formalparameterlist . ')' (140) +state 213 + formalparameterlist : formalparameterlist . ',' formalparameter (135) + methoddeclarator : IDENTIFIER '(' formalparameterlist . ')' (141) - ',' shift 271 - ')' shift 272 + ',' shift 304 + ')' shift 305 . error -state 182 - boundedMethodParameters : boundedMethodParameters ',' . boundedMethodParameter (102) +state 214 + boundedMethodParameters : boundedMethodParameters ',' . boundedMethodParameter (103) - IDENTIFIER shift 27 + IDENTIFIER shift 38 . error - boundedMethodParameter goto 273 + boundedMethodParameter goto 306 -state 183 - methodheader : '<' boundedMethodParameters '>' . type methoddeclarator (103) - methodheader : '<' boundedMethodParameters '>' . type methoddeclarator throws (108) - methodheader : '<' boundedMethodParameters '>' . VOID methoddeclarator (115) - methodheader : '<' boundedMethodParameters '>' . VOID methoddeclarator throws (117) - methodheader : '<' boundedMethodParameters '>' . methoddeclarator (120) +state 215 + methodheader : '<' boundedMethodParameters '>' . type methoddeclarator (104) + methodheader : '<' boundedMethodParameters '>' . type methoddeclarator throws (109) + methodheader : '<' boundedMethodParameters '>' . VOID methoddeclarator (116) + methodheader : '<' boundedMethodParameters '>' . VOID methoddeclarator throws (118) + methodheader : '<' boundedMethodParameters '>' . methoddeclarator (121) - BOOLEAN shift 37 - CHAR shift 38 - INT shift 39 - VOID shift 274 - IDENTIFIER shift 104 + BOOLEAN shift 48 + CHAR shift 49 + INT shift 50 + VOID shift 307 + IDENTIFIER shift 84 . error - methoddeclarator goto 275 - simplename goto 32 - classorinterfacetype goto 57 - integraltype goto 58 - numerictype goto 59 - primitivetype goto 60 - referencetype goto 61 - type goto 276 + methoddeclarator goto 308 + simplename goto 43 + classorinterfacetype goto 68 + integraltype goto 69 + numerictype goto 70 + primitivetype goto 71 + referencetype goto 72 + type goto 309 -state 184 - classtypelist : classtype . (137) +state 216 + classtypelist : classtype . (138) - . reduce 137 + . reduce 138 -state 185 - throws : THROWS classtypelist . (93) - classtypelist : classtypelist . ',' classtype (138) +state 217 + throws : THROWS classtypelist . (94) + classtypelist : classtypelist . ',' classtype (139) - ',' shift 277 - '{' reduce 93 + ',' shift 310 + ';' reduce 94 + '{' reduce 94 -state 186 - variabledeclaratorid : IDENTIFIER . (152) +state 218 + variabledeclaratorid : IDENTIFIER . (153) - . reduce 152 + . reduce 153 -state 187 - variabledeclarators : variabledeclarators ',' variabledeclarator . (129) +state 219 + variabledeclarators : variabledeclarators ',' variabledeclarator . (130) - . reduce 129 + . reduce 130 -state 188 - classinstancecreationexpression : NEW . classtype '(' ')' (224) - classinstancecreationexpression : NEW . classtype '(' argumentlist ')' (225) +state 220 + classinstancecreationexpression : NEW . classtype '(' ')' (225) + classinstancecreationexpression : NEW . classtype '(' argumentlist ')' (226) - IDENTIFIER shift 31 + IDENTIFIER shift 42 . error - simplename goto 32 - classtype goto 278 - classorinterfacetype goto 34 + simplename goto 43 + classtype goto 311 + classorinterfacetype goto 45 -state 189 - lambdaexpressionparameter : '(' . ')' (206) - lambdaexpressionparameter : '(' . formalparameterlist ')' (207) - castexpression : '(' . primitivetype ')' unaryexpression (257) +state 221 + lambdaexpressionparameter : '(' . ')' (207) + lambdaexpressionparameter : '(' . formalparameterlist ')' (208) + castexpression : '(' . primitivetype ')' unaryexpression (258) - BOOLEAN shift 37 - CHAR shift 38 - INT shift 39 - IDENTIFIER shift 136 - ')' shift 249 + BOOLEAN shift 48 + CHAR shift 49 + INT shift 50 + IDENTIFIER shift 168 + ')' shift 282 . error - variabledeclaratorid goto 178 - simplename goto 32 - classorinterfacetype goto 57 - integraltype goto 58 - numerictype goto 59 - primitivetype goto 279 - referencetype goto 61 - type goto 179 - formalparameter goto 180 - formalparameterlist goto 250 + variabledeclaratorid goto 210 + simplename goto 43 + classorinterfacetype goto 68 + integraltype goto 69 + numerictype goto 70 + primitivetype goto 312 + referencetype goto 72 + type goto 211 + formalparameter goto 212 + formalparameterlist goto 283 -state 190 - unaryexpression : '+' . unaryexpression (230) +state 222 + unaryexpression : '+' . unaryexpression (231) - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 + THIS shift 158 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 42 + INCREMENT shift 169 + DECREMENT shift 170 + '(' shift 221 + '+' shift 222 + '-' shift 223 + '!' shift 224 . error - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 280 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 + simplename goto 225 + qualifiedname goto 177 + name goto 279 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 226 + unaryexpressionnotplusminus goto 227 + unaryexpression goto 313 + lambdaexpression goto 189 + preincrementexpression goto 242 + predecrementexpression goto 243 + postincrementexpression goto 244 + postdecrementexpression goto 245 + methodinvocation goto 248 + castexpression goto 249 -state 191 - unaryexpression : '-' . unaryexpression (231) +state 223 + unaryexpression : '-' . unaryexpression (232) - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 + THIS shift 158 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 42 + INCREMENT shift 169 + DECREMENT shift 170 + '(' shift 221 + '+' shift 222 + '-' shift 223 + '!' shift 224 . error - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 281 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 + simplename goto 225 + qualifiedname goto 177 + name goto 279 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 226 + unaryexpressionnotplusminus goto 227 + unaryexpression goto 314 + lambdaexpression goto 189 + preincrementexpression goto 242 + predecrementexpression goto 243 + postincrementexpression goto 244 + postdecrementexpression goto 245 + methodinvocation goto 248 + castexpression goto 249 -state 192 - unaryexpressionnotplusminus : '!' . unaryexpression (245) +state 224 + unaryexpressionnotplusminus : '!' . unaryexpression (246) - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 + THIS shift 158 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 42 + INCREMENT shift 169 + DECREMENT shift 170 + '(' shift 221 + '+' shift 222 + '-' shift 223 + '!' shift 224 . error - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 282 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 + simplename goto 225 + qualifiedname goto 177 + name goto 279 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 226 + unaryexpressionnotplusminus goto 227 + unaryexpression goto 315 + lambdaexpression goto 189 + preincrementexpression goto 242 + predecrementexpression goto 243 + postincrementexpression goto 244 + postdecrementexpression goto 245 + methodinvocation goto 248 + castexpression goto 249 -state 193 +state 225 name : simplename . (9) . reduce 9 -194: shift/reduce conflict (shift 260, reduce 244) on INCREMENT -194: shift/reduce conflict (shift 261, reduce 244) on DECREMENT -state 194 - postincrementexpression : postfixexpression . INCREMENT (218) - postdecrementexpression : postfixexpression . DECREMENT (219) - unaryexpressionnotplusminus : postfixexpression . (244) - - INCREMENT shift 260 - DECREMENT shift 261 - ABSTRACT reduce 244 - BOOLEAN reduce 244 - CHAR reduce 244 - FINAL reduce 244 - INSTANCEOF reduce 244 - INT reduce 244 - PRIVATE reduce 244 - PROTECTED reduce 244 - PUBLIC reduce 244 - STATIC reduce 244 - VOID reduce 244 - IDENTIFIER reduce 244 - EQUAL reduce 244 - LESSEQUAL reduce 244 - GREATEREQUAL reduce 244 - NOTEQUAL reduce 244 - LOGICALOR reduce 244 - LOGICALAND reduce 244 - ',' reduce 244 - ';' reduce 244 - '.' reduce 244 - '*' reduce 244 - '<' reduce 244 - '>' reduce 244 - '}' reduce 244 - ')' reduce 244 - '&' reduce 244 - '+' reduce 244 - '-' reduce 244 - '|' reduce 244 - '^' reduce 244 - '/' reduce 244 - '%' reduce 244 - - -state 195 - unaryexpression : unaryexpressionnotplusminus . (232) - - . reduce 232 - - -state 196 - multiplicativeexpression : unaryexpression . (273) - - . reduce 273 - - -197: shift/reduce conflict (shift 283, reduce 270) on '*' -197: shift/reduce conflict (shift 284, reduce 270) on '/' -197: shift/reduce conflict (shift 285, reduce 270) on '%' -state 197 - additiveexpression : multiplicativeexpression . (270) - multiplicativeexpression : multiplicativeexpression . '*' unaryexpression (274) - multiplicativeexpression : multiplicativeexpression . '/' unaryexpression (275) - multiplicativeexpression : multiplicativeexpression . '%' unaryexpression (276) - - '*' shift 283 - '/' shift 284 - '%' shift 285 - ABSTRACT reduce 270 - BOOLEAN reduce 270 - CHAR reduce 270 - FINAL reduce 270 - INSTANCEOF reduce 270 - INT reduce 270 - PRIVATE reduce 270 - PROTECTED reduce 270 - PUBLIC reduce 270 - STATIC reduce 270 - VOID reduce 270 - IDENTIFIER reduce 270 - EQUAL reduce 270 - LESSEQUAL reduce 270 - GREATEREQUAL reduce 270 - NOTEQUAL reduce 270 - LOGICALOR reduce 270 - LOGICALAND reduce 270 - INCREMENT reduce 270 - DECREMENT reduce 270 - ',' reduce 270 - ';' reduce 270 - '.' reduce 270 - '<' reduce 270 - '>' reduce 270 - '}' reduce 270 - ')' reduce 270 - '&' reduce 270 - '+' reduce 270 - '-' reduce 270 - '|' reduce 270 - '^' reduce 270 - - -198: shift/reduce conflict (shift 286, reduce 269) on '+' -198: shift/reduce conflict (shift 287, reduce 269) on '-' -state 198 - shiftexpression : additiveexpression . (269) - additiveexpression : additiveexpression . '+' multiplicativeexpression (271) - additiveexpression : additiveexpression . '-' multiplicativeexpression (272) - - '+' shift 286 - '-' shift 287 - ABSTRACT reduce 269 - BOOLEAN reduce 269 - CHAR reduce 269 - FINAL reduce 269 - INSTANCEOF reduce 269 - INT reduce 269 - PRIVATE reduce 269 - PROTECTED reduce 269 - PUBLIC reduce 269 - STATIC reduce 269 - VOID reduce 269 - IDENTIFIER reduce 269 - EQUAL reduce 269 - LESSEQUAL reduce 269 - GREATEREQUAL reduce 269 - NOTEQUAL reduce 269 - LOGICALOR reduce 269 - LOGICALAND reduce 269 - INCREMENT reduce 269 - DECREMENT reduce 269 - ',' reduce 269 - ';' reduce 269 - '.' reduce 269 - '*' reduce 269 - '<' reduce 269 - '>' reduce 269 - '}' reduce 269 - ')' reduce 269 - '&' reduce 269 - '|' reduce 269 - '^' reduce 269 - '/' reduce 269 - '%' reduce 269 - - -state 199 - relationalexpression : shiftexpression . (263) - - . reduce 263 - - -200: shift/reduce conflict (shift 288, reduce 260) on INSTANCEOF -200: shift/reduce conflict (shift 289, reduce 260) on LESSEQUAL -200: shift/reduce conflict (shift 290, reduce 260) on GREATEREQUAL -200: shift/reduce conflict (shift 291, reduce 260) on '<' -200: shift/reduce conflict (shift 292, reduce 260) on '>' -state 200 - equalityexpression : relationalexpression . (260) - relationalexpression : relationalexpression . '<' shiftexpression (264) - relationalexpression : relationalexpression . '>' shiftexpression (265) - relationalexpression : relationalexpression . LESSEQUAL shiftexpression (266) - relationalexpression : relationalexpression . GREATEREQUAL shiftexpression (267) - relationalexpression : relationalexpression . INSTANCEOF referencetype (268) - - INSTANCEOF shift 288 - LESSEQUAL shift 289 - GREATEREQUAL shift 290 - '<' shift 291 - '>' shift 292 - ABSTRACT reduce 260 - BOOLEAN reduce 260 - CHAR reduce 260 - FINAL reduce 260 - INT reduce 260 - PRIVATE reduce 260 - PROTECTED reduce 260 - PUBLIC reduce 260 - STATIC reduce 260 - VOID reduce 260 - IDENTIFIER reduce 260 - EQUAL reduce 260 - NOTEQUAL reduce 260 - LOGICALOR reduce 260 - LOGICALAND reduce 260 - INCREMENT reduce 260 - DECREMENT reduce 260 - ',' reduce 260 - ';' reduce 260 - '.' reduce 260 - '*' reduce 260 - '}' reduce 260 - ')' reduce 260 - '&' reduce 260 - '+' reduce 260 - '-' reduce 260 - '|' reduce 260 - '^' reduce 260 - '/' reduce 260 - '%' reduce 260 - - -201: shift/reduce conflict (shift 293, reduce 258) on EQUAL -201: shift/reduce conflict (shift 294, reduce 258) on NOTEQUAL -state 201 - andexpression : equalityexpression . (258) - equalityexpression : equalityexpression . EQUAL relationalexpression (261) - equalityexpression : equalityexpression . NOTEQUAL relationalexpression (262) - - EQUAL shift 293 - NOTEQUAL shift 294 - ABSTRACT reduce 258 - BOOLEAN reduce 258 - CHAR reduce 258 - FINAL reduce 258 - INSTANCEOF reduce 258 - INT reduce 258 - PRIVATE reduce 258 - PROTECTED reduce 258 - PUBLIC reduce 258 - STATIC reduce 258 - VOID reduce 258 - IDENTIFIER reduce 258 - LESSEQUAL reduce 258 - GREATEREQUAL reduce 258 - LOGICALOR reduce 258 - LOGICALAND reduce 258 - INCREMENT reduce 258 - DECREMENT reduce 258 - ',' reduce 258 - ';' reduce 258 - '.' reduce 258 - '*' reduce 258 - '<' reduce 258 - '>' reduce 258 - '}' reduce 258 - ')' reduce 258 - '&' reduce 258 - '+' reduce 258 - '-' reduce 258 - '|' reduce 258 - '^' reduce 258 - '/' reduce 258 - '%' reduce 258 - - -202: shift/reduce conflict (shift 295, reduce 247) on '&' -state 202 - exclusiveorexpression : andexpression . (247) - andexpression : andexpression . '&' equalityexpression (259) - - '&' shift 295 - ABSTRACT reduce 247 - BOOLEAN reduce 247 - CHAR reduce 247 - FINAL reduce 247 - INSTANCEOF reduce 247 - INT reduce 247 - PRIVATE reduce 247 - PROTECTED reduce 247 - PUBLIC reduce 247 - STATIC reduce 247 - VOID reduce 247 - IDENTIFIER reduce 247 - EQUAL reduce 247 - LESSEQUAL reduce 247 - GREATEREQUAL reduce 247 - NOTEQUAL reduce 247 - LOGICALOR reduce 247 - LOGICALAND reduce 247 - INCREMENT reduce 247 - DECREMENT reduce 247 - ',' reduce 247 - ';' reduce 247 - '.' reduce 247 - '*' reduce 247 - '<' reduce 247 - '>' reduce 247 - '}' reduce 247 - ')' reduce 247 - '+' reduce 247 - '-' reduce 247 - '|' reduce 247 - '^' reduce 247 - '/' reduce 247 - '%' reduce 247 - - -203: shift/reduce conflict (shift 296, reduce 238) on '^' -state 203 - inclusiveorexpression : exclusiveorexpression . (238) - exclusiveorexpression : exclusiveorexpression . '^' andexpression (248) - - '^' shift 296 - ABSTRACT reduce 238 - BOOLEAN reduce 238 - CHAR reduce 238 - FINAL reduce 238 - INSTANCEOF reduce 238 - INT reduce 238 - PRIVATE reduce 238 - PROTECTED reduce 238 - PUBLIC reduce 238 - STATIC reduce 238 - VOID reduce 238 - IDENTIFIER reduce 238 - EQUAL reduce 238 - LESSEQUAL reduce 238 - GREATEREQUAL reduce 238 - NOTEQUAL reduce 238 - LOGICALOR reduce 238 - LOGICALAND reduce 238 - INCREMENT reduce 238 - DECREMENT reduce 238 - ',' reduce 238 - ';' reduce 238 - '.' reduce 238 - '*' reduce 238 - '<' reduce 238 - '>' reduce 238 - '}' reduce 238 - ')' reduce 238 - '&' reduce 238 - '+' reduce 238 - '-' reduce 238 - '|' reduce 238 - '/' reduce 238 - '%' reduce 238 - - -204: shift/reduce conflict (shift 297, reduce 226) on '|' -state 204 - conditionalandexpression : inclusiveorexpression . (226) - inclusiveorexpression : inclusiveorexpression . '|' exclusiveorexpression (239) - - '|' shift 297 - ABSTRACT reduce 226 - BOOLEAN reduce 226 - CHAR reduce 226 - FINAL reduce 226 - INSTANCEOF reduce 226 - INT reduce 226 - PRIVATE reduce 226 - PROTECTED reduce 226 - PUBLIC reduce 226 - STATIC reduce 226 - VOID reduce 226 - IDENTIFIER reduce 226 - EQUAL reduce 226 - LESSEQUAL reduce 226 - GREATEREQUAL reduce 226 - NOTEQUAL reduce 226 - LOGICALOR reduce 226 - LOGICALAND reduce 226 - INCREMENT reduce 226 - DECREMENT reduce 226 - ',' reduce 226 - ';' reduce 226 - '.' reduce 226 - '*' reduce 226 - '<' reduce 226 - '>' reduce 226 - '}' reduce 226 - ')' reduce 226 - '&' reduce 226 - '+' reduce 226 - '-' reduce 226 - '^' reduce 226 - '/' reduce 226 - '%' reduce 226 - - -205: shift/reduce conflict (shift 298, reduce 201) on LOGICALAND -state 205 - conditionalorexpression : conditionalandexpression . (201) - conditionalandexpression : conditionalandexpression . LOGICALAND inclusiveorexpression (227) - - LOGICALAND shift 298 - ABSTRACT reduce 201 - BOOLEAN reduce 201 - CHAR reduce 201 - FINAL reduce 201 - INSTANCEOF reduce 201 - INT reduce 201 - PRIVATE reduce 201 - PROTECTED reduce 201 - PUBLIC reduce 201 - STATIC reduce 201 - VOID reduce 201 - IDENTIFIER reduce 201 - EQUAL reduce 201 - LESSEQUAL reduce 201 - GREATEREQUAL reduce 201 - NOTEQUAL reduce 201 - LOGICALOR reduce 201 - INCREMENT reduce 201 - DECREMENT reduce 201 - ',' reduce 201 - ';' reduce 201 - '.' reduce 201 - '*' reduce 201 - '<' reduce 201 - '>' reduce 201 - '}' reduce 201 - ')' reduce 201 - '&' reduce 201 - '+' reduce 201 - '-' reduce 201 - '|' reduce 201 - '^' reduce 201 - '/' reduce 201 - '%' reduce 201 - - -206: shift/reduce conflict (shift 299, reduce 190) on LOGICALOR -state 206 - conditionalexpression : conditionalorexpression . (190) - conditionalorexpression : conditionalorexpression . LOGICALOR conditionalandexpression (202) - - LOGICALOR shift 299 - ABSTRACT reduce 190 - BOOLEAN reduce 190 - CHAR reduce 190 - FINAL reduce 190 - INSTANCEOF reduce 190 - INT reduce 190 - PRIVATE reduce 190 - PROTECTED reduce 190 - PUBLIC reduce 190 - STATIC reduce 190 - VOID reduce 190 - IDENTIFIER reduce 190 - EQUAL reduce 190 - LESSEQUAL reduce 190 - GREATEREQUAL reduce 190 - NOTEQUAL reduce 190 - LOGICALAND reduce 190 - INCREMENT reduce 190 - DECREMENT reduce 190 - ',' reduce 190 - ';' reduce 190 - '.' reduce 190 - '*' reduce 190 - '<' reduce 190 - '>' reduce 190 - '}' reduce 190 - ')' reduce 190 - '&' reduce 190 - '+' reduce 190 - '-' reduce 190 - '|' reduce 190 - '^' reduce 190 - '/' reduce 190 - '%' reduce 190 - - -state 207 - assignmentexpression : conditionalexpression . (181) - - . reduce 181 - - -state 208 - expression : assignmentexpression . (160) - - . reduce 160 - - -state 209 - fielddeclarator : variabledeclarator '=' expression . (78) - - . reduce 78 - - -state 210 - unaryexpression : preincrementexpression . (228) - - . reduce 228 - - -state 211 - unaryexpression : predecrementexpression . (229) - - . reduce 229 - - -state 212 - postfixexpression : postincrementexpression . (235) - - . reduce 235 - - -state 213 - postfixexpression : postdecrementexpression . (236) - - . reduce 236 - - -state 214 - expression : classinstancecreationexpression . (161) - - . reduce 161 - - -state 215 - assignmentexpression : assignment . (182) - - . reduce 182 - - -state 216 - primarynonewarray : methodinvocation . (242) - - . reduce 242 - - -state 217 - unaryexpressionnotplusminus : castexpression . (246) - - . reduce 246 - - -state 218 - constructordeclarator : simplename '(' ')' . (87) - - . reduce 87 - - -state 219 - constructordeclarator : simplename '(' formalparameterlist . ')' (88) - formalparameterlist : formalparameterlist . ',' formalparameter (134) - - ',' shift 271 - ')' shift 300 - . error - - -state 220 - type : primitivetype '[' ']' . (125) - - . reduce 125 - - -state 221 - type : referencetype '[' ']' . (127) - - . reduce 127 - - -state 222 - methodheader : type methoddeclarator throws . (107) - - . reduce 107 - - -state 223 - fielddeclaration : type variabledeclarators ';' . (82) - - . reduce 82 - - -state 224 - methodheader : modifiers VOID methoddeclarator . (112) - methodheader : modifiers VOID methoddeclarator . throws (114) - - THROWS shift 88 - '{' reduce 112 - - throws goto 301 - - -state 225 - boundedMethodParameters : boundedMethodParameters . ',' boundedMethodParameter (102) - methodheader : modifiers '<' boundedMethodParameters . '>' type methoddeclarator (106) - methodheader : modifiers '<' boundedMethodParameters . '>' type methoddeclarator throws (110) - methodheader : modifiers '<' boundedMethodParameters . '>' VOID methoddeclarator (116) - methodheader : modifiers '<' boundedMethodParameters . '>' VOID methoddeclarator throws (118) - - ',' shift 182 - '>' shift 302 - . error - - +226: shift/reduce conflict (shift 293, reduce 245) on INCREMENT +226: shift/reduce conflict (shift 294, reduce 245) on DECREMENT state 226 - methodheader : modifiers methoddeclarator throws . (123) + postincrementexpression : postfixexpression . INCREMENT (219) + postdecrementexpression : postfixexpression . DECREMENT (220) + unaryexpressionnotplusminus : postfixexpression . (245) - . reduce 123 + INCREMENT shift 293 + DECREMENT shift 294 + ABSTRACT reduce 245 + BOOLEAN reduce 245 + CHAR reduce 245 + FINAL reduce 245 + INSTANCEOF reduce 245 + INT reduce 245 + PRIVATE reduce 245 + PROTECTED reduce 245 + PUBLIC reduce 245 + STATIC reduce 245 + VOID reduce 245 + IDENTIFIER reduce 245 + EQUAL reduce 245 + LESSEQUAL reduce 245 + GREATEREQUAL reduce 245 + NOTEQUAL reduce 245 + LOGICALOR reduce 245 + LOGICALAND reduce 245 + ',' reduce 245 + ';' reduce 245 + '.' reduce 245 + '*' reduce 245 + '<' reduce 245 + '>' reduce 245 + '}' reduce 245 + ')' reduce 245 + '&' reduce 245 + '+' reduce 245 + '-' reduce 245 + '|' reduce 245 + '^' reduce 245 + '/' reduce 245 + '%' reduce 245 state 227 - methodheader : modifiers type methoddeclarator . (105) - methodheader : modifiers type methoddeclarator . throws (109) + unaryexpression : unaryexpressionnotplusminus . (233) - THROWS shift 88 - '{' reduce 105 - - throws goto 303 + . reduce 233 state 228 - fielddeclaration : modifiers type variabledeclarators . ';' (83) - variabledeclarators : variabledeclarators . ',' variabledeclarator (129) - - ',' shift 92 - ';' shift 304 - . error - - -state 229 - constructordeclaration : modifiers constructordeclarator constructorbody . (75) - - . reduce 75 - - -state 230 - explicitconstructorinvocation : THIS . '(' ')' ';' (135) - explicitconstructorinvocation : THIS . '(' argumentlist ')' ';' (136) - primarynonewarray : THIS . (241) - - '(' shift 305 - INCREMENT reduce 241 - DECREMENT reduce 241 - '.' reduce 241 - - -state 231 - constructorbody : '{' '}' . (89) - - . reduce 89 - - -state 232 - constructorbody : '{' blockstatements . '}' (91) - blockstatements : blockstatements . blockstatement (132) - - BOOLEAN shift 37 - CHAR shift 38 - FOR shift 123 - IF shift 124 - INT shift 39 - RETURN shift 125 - THIS shift 126 - WHILE shift 127 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 136 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 - '{' shift 79 - '}' shift 306 - '(' shift 141 - . error - - variabledeclarators goto 142 - variabledeclarator goto 143 - variabledeclaratorid goto 55 - simplename goto 144 - qualifiedname goto 145 - name goto 146 - classorinterfacetype goto 57 - integraltype goto 58 - numerictype goto 59 - primitivetype goto 60 - referencetype goto 61 - type goto 147 - block goto 148 - localvariabledeclarationstatement goto 150 - localvariabledeclaration goto 151 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 164 - blockstatement goto 255 - statement goto 166 - whilestatement goto 167 - forstatement goto 168 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 - - -state 233 - constructorbody : '{' explicitconstructorinvocation . '}' (90) - constructorbody : '{' explicitconstructorinvocation . blockstatements '}' (92) - - BOOLEAN shift 37 - CHAR shift 38 - FOR shift 123 - IF shift 124 - INT shift 39 - RETURN shift 125 - THIS shift 126 - WHILE shift 127 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 136 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 - '{' shift 79 - '}' shift 307 - '(' shift 141 - . error - - variabledeclarators goto 142 - variabledeclarator goto 143 - variabledeclaratorid goto 55 - simplename goto 144 - qualifiedname goto 145 - name goto 146 - classorinterfacetype goto 57 - integraltype goto 58 - numerictype goto 59 - primitivetype goto 60 - referencetype goto 61 - type goto 147 - block goto 148 - blockstatements goto 308 - localvariabledeclarationstatement goto 150 - localvariabledeclaration goto 151 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 164 - blockstatement goto 165 - statement goto 166 - whilestatement goto 167 - forstatement goto 168 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 - - -state 234 - classdeclaration : modifiers CLASS classidentifier super interfaces classbody . (22) - - . reduce 22 - - -state 235 - boundedclassidentifierlist : boundedclassidentifierlist '&' . referencetype (100) - - IDENTIFIER shift 31 - . error - - simplename goto 32 - classorinterfacetype goto 57 - referencetype goto 309 - - -state 236 - paralist : IDENTIFIER '<' . paralist '>' (32) - - IDENTIFIER shift 119 - '?' shift 120 - . error - - paralist goto 310 - wildcardparameter goto 122 - - -state 237 - wildcardparameter : '?' EXTENDS . referencetype (38) - - IDENTIFIER shift 31 - . error - - simplename goto 32 - classorinterfacetype goto 57 - referencetype goto 311 - - -state 238 - wildcardparameter : '?' SUPER . referencetype (39) - - IDENTIFIER shift 31 - . error - - simplename goto 32 - classorinterfacetype goto 57 - referencetype goto 312 - - -state 239 - paralist : paralist ',' . IDENTIFIER (34) - paralist : paralist ',' . IDENTIFIER '<' paralist '>' (35) - paralist : paralist ',' . wildcardparameter (36) - - IDENTIFIER shift 313 - '?' shift 120 - . error - - wildcardparameter goto 314 - - -state 240 - parameter : '<' paralist '>' . (68) - - . reduce 68 - - -state 241 - forstatement : FOR '(' . expression ';' expression ';' expression ')' statement (173) - forstatement : FOR '(' . expression ';' expression ';' ')' statement (174) - forstatement : FOR '(' . expression ';' ';' expression ')' statement (175) - forstatement : FOR '(' . ';' expression ';' expression ')' statement (176) - forstatement : FOR '(' . expression ';' ';' ')' statement (177) - forstatement : FOR '(' . ';' expression ';' ')' statement (178) - forstatement : FOR '(' . ';' ';' expression ')' statement (179) - forstatement : FOR '(' . ';' ';' ')' statement (180) - - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 315 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 208 - lambdaexpression goto 157 - expression goto 316 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 214 - assignment goto 215 - lefthandside goto 174 - methodinvocation goto 216 - castexpression goto 217 - - -state 242 - ifthenstatement : IF '(' . expression ')' statement (170) - ifthenelsestatement : IF '(' . expression ')' statementnoshortif ELSE statement (171) - - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 208 - lambdaexpression goto 157 - expression goto 317 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 214 - assignment goto 215 - lefthandside goto 174 - methodinvocation goto 216 - castexpression goto 217 - - -state 243 - returnstatement : RETURN ';' . (185) - - . reduce 185 - - -state 244 - returnstatement : RETURN expression . ';' (186) - - ';' shift 318 - . error - - -state 245 - whilestatement : WHILE '(' . expression ')' statement (172) - - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 208 - lambdaexpression goto 157 - expression goto 319 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 214 - assignment goto 215 - lefthandside goto 174 - methodinvocation goto 216 - castexpression goto 217 - - -246: shift/reduce conflict (shift 251, reduce 234) on '.' -state 246 - qualifiedname : name . '.' IDENTIFIER (11) - methodinvocation : name . '(' ')' (220) - methodinvocation : name . '(' argumentlist ')' (221) - postfixexpression : name . (234) - - '.' shift 251 - '(' shift 252 - ABSTRACT reduce 234 - BOOLEAN reduce 234 - CHAR reduce 234 - FINAL reduce 234 - INSTANCEOF reduce 234 - INT reduce 234 - PRIVATE reduce 234 - PROTECTED reduce 234 - PUBLIC reduce 234 - STATIC reduce 234 - VOID reduce 234 - IDENTIFIER reduce 234 - EQUAL reduce 234 - LESSEQUAL reduce 234 - GREATEREQUAL reduce 234 - NOTEQUAL reduce 234 - LOGICALOR reduce 234 - LOGICALAND reduce 234 - INCREMENT reduce 234 - DECREMENT reduce 234 - ',' reduce 234 - ';' reduce 234 - '*' reduce 234 - '<' reduce 234 - '>' reduce 234 - '}' reduce 234 - ')' reduce 234 - '&' reduce 234 - '+' reduce 234 - '-' reduce 234 - '|' reduce 234 - '^' reduce 234 - '/' reduce 234 - '%' reduce 234 - - -state 247 - preincrementexpression : INCREMENT unaryexpression . (216) - - . reduce 216 - - -state 248 - predecrementexpression : DECREMENT unaryexpression . (217) - - . reduce 217 - - -state 249 - lambdaexpressionparameter : '(' ')' . (206) - - . reduce 206 - - -state 250 - formalparameterlist : formalparameterlist . ',' formalparameter (134) - lambdaexpressionparameter : '(' formalparameterlist . ')' (207) - - ',' shift 271 - ')' shift 320 - . error - - -state 251 - qualifiedname : name '.' . IDENTIFIER (11) - - IDENTIFIER shift 321 - . error - - -state 252 - methodinvocation : name '(' . ')' (220) - methodinvocation : name '(' . argumentlist ')' (221) - - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - ')' shift 322 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 208 - lambdaexpression goto 157 - expression goto 323 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 214 - assignment goto 215 - lefthandside goto 174 - argumentlist goto 324 - methodinvocation goto 216 - castexpression goto 217 - - -state 253 - variabledeclarators : variabledeclarators . ',' variabledeclarator (129) - localvariabledeclaration : type variabledeclarators . (164) - - ',' shift 92 - ';' reduce 164 - - -state 254 - block : '{' blockstatements '}' . (86) - - . reduce 86 - - -state 255 - blockstatements : blockstatements blockstatement . (132) - - . reduce 132 - - -state 256 - localvariabledeclarationstatement : localvariabledeclaration ';' . (154) - - . reduce 154 - - -state 257 - lambdaassignmentoperator : LAMBDAASSIGNMENT . (203) - - . reduce 203 - - -state 258 - lambdaexpression : lambdaexpressionparameter lambdaassignmentoperator . lambdabody (208) - - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '{' shift 79 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - block goto 325 - lambdabody goto 326 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 208 - lambdaexpression goto 157 - expression goto 327 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 214 - assignment goto 215 - lefthandside goto 174 - methodinvocation goto 216 - castexpression goto 217 - - -state 259 - methodinvocation : primary '.' . IDENTIFIER '(' ')' (222) - methodinvocation : primary '.' . IDENTIFIER '(' argumentlist ')' (223) - - IDENTIFIER shift 328 - . error - - -state 260 - postincrementexpression : postfixexpression INCREMENT . (218) - - . reduce 218 - - -state 261 - postdecrementexpression : postfixexpression DECREMENT . (219) - - . reduce 219 - - -state 262 - expressionstatement : statementexpression ';' . (184) - - . reduce 184 - - -state 263 - assignmentoperator : PLUSEQUAL . (214) - - . reduce 214 - - -state 264 - assignmentoperator : MINUSEQUAL . (215) - - . reduce 215 - - -state 265 - assignmentoperator : TIMESEQUAL . (211) - - . reduce 211 - - -state 266 - assignmentoperator : DIVIDEEQUAL . (212) - - . reduce 212 - - -state 267 - assignmentoperator : MODULOEQUAL . (213) - - . reduce 213 - - -state 268 - assignmentoperator : '=' . (210) - - . reduce 210 - - -state 269 - assignment : lefthandside assignmentoperator . assignmentexpression (191) - assignment : lefthandside assignmentoperator . classinstancecreationexpression (192) - - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 329 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 330 - assignment goto 215 - lefthandside goto 174 - methodinvocation goto 216 - castexpression goto 217 - - -state 270 - formalparameter : type variabledeclaratorid . (147) - - . reduce 147 - - -state 271 - formalparameterlist : formalparameterlist ',' . formalparameter (134) - - BOOLEAN shift 37 - CHAR shift 38 - INT shift 39 - IDENTIFIER shift 136 - . error - - variabledeclaratorid goto 178 - simplename goto 32 - classorinterfacetype goto 57 - integraltype goto 58 - numerictype goto 59 - primitivetype goto 60 - referencetype goto 61 - type goto 179 - formalparameter goto 331 - - -state 272 - methoddeclarator : IDENTIFIER '(' formalparameterlist ')' . (140) - - . reduce 140 - - -state 273 - boundedMethodParameters : boundedMethodParameters ',' boundedMethodParameter . (102) - - . reduce 102 - - -state 274 - methodheader : '<' boundedMethodParameters '>' VOID . methoddeclarator (115) - methodheader : '<' boundedMethodParameters '>' VOID . methoddeclarator throws (117) - - IDENTIFIER shift 81 - . error - - methoddeclarator goto 332 - - -state 275 - methodheader : '<' boundedMethodParameters '>' methoddeclarator . (120) - - . reduce 120 - - -state 276 - methodheader : '<' boundedMethodParameters '>' type . methoddeclarator (103) - methodheader : '<' boundedMethodParameters '>' type . methoddeclarator throws (108) - - IDENTIFIER shift 81 - . error - - methoddeclarator goto 333 - - -state 277 - classtypelist : classtypelist ',' . classtype (138) - - IDENTIFIER shift 31 - . error - - simplename goto 32 - classtype goto 334 - classorinterfacetype goto 34 - - -state 278 - classinstancecreationexpression : NEW classtype . '(' ')' (224) - classinstancecreationexpression : NEW classtype . '(' argumentlist ')' (225) - - '(' shift 335 - . error - - -state 279 - type : primitivetype . (124) - type : primitivetype . '[' ']' (125) - castexpression : '(' primitivetype . ')' unaryexpression (257) - - ')' shift 336 - '[' shift 97 - IDENTIFIER reduce 124 - - -state 280 - unaryexpression : '+' unaryexpression . (230) - - . reduce 230 - - -state 281 - unaryexpression : '-' unaryexpression . (231) - - . reduce 231 - - -state 282 - unaryexpressionnotplusminus : '!' unaryexpression . (245) - - . reduce 245 - - -state 283 - multiplicativeexpression : multiplicativeexpression '*' . unaryexpression (274) - - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 337 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 - - -state 284 - multiplicativeexpression : multiplicativeexpression '/' . unaryexpression (275) - - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 338 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 - - -state 285 - multiplicativeexpression : multiplicativeexpression '%' . unaryexpression (276) - - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 339 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 - - -state 286 - additiveexpression : additiveexpression '+' . multiplicativeexpression (271) - - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 340 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 - - -state 287 - additiveexpression : additiveexpression '-' . multiplicativeexpression (272) - - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 341 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 - - -state 288 - relationalexpression : relationalexpression INSTANCEOF . referencetype (268) - - IDENTIFIER shift 31 - . error - - simplename goto 32 - classorinterfacetype goto 57 - referencetype goto 342 - - -state 289 - relationalexpression : relationalexpression LESSEQUAL . shiftexpression (266) - - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 343 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 - - -state 290 - relationalexpression : relationalexpression GREATEREQUAL . shiftexpression (267) - - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 344 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 - - -state 291 - relationalexpression : relationalexpression '<' . shiftexpression (264) - - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 345 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 - - -state 292 - relationalexpression : relationalexpression '>' . shiftexpression (265) - - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 346 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 - - -state 293 - equalityexpression : equalityexpression EQUAL . relationalexpression (261) - - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 347 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 - - -state 294 - equalityexpression : equalityexpression NOTEQUAL . relationalexpression (262) - - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 348 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 - - -state 295 - andexpression : andexpression '&' . equalityexpression (259) - - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 349 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 - - -state 296 - exclusiveorexpression : exclusiveorexpression '^' . andexpression (248) - - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 350 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 - - -state 297 - inclusiveorexpression : inclusiveorexpression '|' . exclusiveorexpression (239) - - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 351 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 - - -state 298 - conditionalandexpression : conditionalandexpression LOGICALAND . inclusiveorexpression (227) - - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 352 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 - - -state 299 - conditionalorexpression : conditionalorexpression LOGICALOR . conditionalandexpression (202) - - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 353 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 - - -state 300 - constructordeclarator : simplename '(' formalparameterlist ')' . (88) - - . reduce 88 - - -state 301 - methodheader : modifiers VOID methoddeclarator throws . (114) - - . reduce 114 - - -state 302 - methodheader : modifiers '<' boundedMethodParameters '>' . type methoddeclarator (106) - methodheader : modifiers '<' boundedMethodParameters '>' . type methoddeclarator throws (110) - methodheader : modifiers '<' boundedMethodParameters '>' . VOID methoddeclarator (116) - methodheader : modifiers '<' boundedMethodParameters '>' . VOID methoddeclarator throws (118) - - BOOLEAN shift 37 - CHAR shift 38 - INT shift 39 - VOID shift 354 - IDENTIFIER shift 31 - . error - - simplename goto 32 - classorinterfacetype goto 57 - integraltype goto 58 - numerictype goto 59 - primitivetype goto 60 - referencetype goto 61 - type goto 355 - - -state 303 - methodheader : modifiers type methoddeclarator throws . (109) - - . reduce 109 - - -state 304 - fielddeclaration : modifiers type variabledeclarators ';' . (83) - - . reduce 83 - - -state 305 - explicitconstructorinvocation : THIS '(' . ')' ';' (135) - explicitconstructorinvocation : THIS '(' . argumentlist ')' ';' (136) - - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - ')' shift 356 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 208 - lambdaexpression goto 157 - expression goto 323 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 214 - assignment goto 215 - lefthandside goto 174 - argumentlist goto 357 - methodinvocation goto 216 - castexpression goto 217 - - -state 306 - constructorbody : '{' blockstatements '}' . (91) - - . reduce 91 - - -state 307 - constructorbody : '{' explicitconstructorinvocation '}' . (90) - - . reduce 90 - - -state 308 - constructorbody : '{' explicitconstructorinvocation blockstatements . '}' (92) - blockstatements : blockstatements . blockstatement (132) - - BOOLEAN shift 37 - CHAR shift 38 - FOR shift 123 - IF shift 124 - INT shift 39 - RETURN shift 125 - THIS shift 126 - WHILE shift 127 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 136 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 - '{' shift 79 - '}' shift 358 - '(' shift 141 - . error - - variabledeclarators goto 142 - variabledeclarator goto 143 - variabledeclaratorid goto 55 - simplename goto 144 - qualifiedname goto 145 - name goto 146 - classorinterfacetype goto 57 - integraltype goto 58 - numerictype goto 59 - primitivetype goto 60 - referencetype goto 61 - type goto 147 - block goto 148 - localvariabledeclarationstatement goto 150 - localvariabledeclaration goto 151 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 164 - blockstatement goto 255 - statement goto 166 - whilestatement goto 167 - forstatement goto 168 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 - - -state 309 - boundedclassidentifierlist : boundedclassidentifierlist '&' referencetype . (100) - - . reduce 100 - - -state 310 - paralist : IDENTIFIER '<' paralist . '>' (32) - paralist : paralist . ',' IDENTIFIER (34) - paralist : paralist . ',' IDENTIFIER '<' paralist '>' (35) - paralist : paralist . ',' wildcardparameter (36) - - ',' shift 239 - '>' shift 359 - . error - - -state 311 - wildcardparameter : '?' EXTENDS referencetype . (38) - - . reduce 38 - - -state 312 - wildcardparameter : '?' SUPER referencetype . (39) - - . reduce 39 - - -state 313 - paralist : paralist ',' IDENTIFIER . (34) - paralist : paralist ',' IDENTIFIER . '<' paralist '>' (35) - - '<' shift 360 - ',' reduce 34 - '>' reduce 34 - - -state 314 - paralist : paralist ',' wildcardparameter . (36) - - . reduce 36 - - -state 315 - forstatement : FOR '(' ';' . expression ';' expression ')' statement (176) - forstatement : FOR '(' ';' . expression ';' ')' statement (178) - forstatement : FOR '(' ';' . ';' expression ')' statement (179) - forstatement : FOR '(' ';' . ';' ')' statement (180) - - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 361 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 208 - lambdaexpression goto 157 - expression goto 362 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 214 - assignment goto 215 - lefthandside goto 174 - methodinvocation goto 216 - castexpression goto 217 - - -state 316 - forstatement : FOR '(' expression . ';' expression ';' expression ')' statement (173) - forstatement : FOR '(' expression . ';' expression ';' ')' statement (174) - forstatement : FOR '(' expression . ';' ';' expression ')' statement (175) - forstatement : FOR '(' expression . ';' ';' ')' statement (177) - - ';' shift 363 - . error - - -state 317 - ifthenstatement : IF '(' expression . ')' statement (170) - ifthenelsestatement : IF '(' expression . ')' statementnoshortif ELSE statement (171) - - ')' shift 364 - . error - - -state 318 - returnstatement : RETURN expression ';' . (186) - - . reduce 186 - - -state 319 - whilestatement : WHILE '(' expression . ')' statement (172) - - ')' shift 365 - . error - - -state 320 - lambdaexpressionparameter : '(' formalparameterlist ')' . (207) - - . reduce 207 - - -state 321 - qualifiedname : name '.' IDENTIFIER . (11) - - . reduce 11 - - -state 322 - methodinvocation : name '(' ')' . (220) - - . reduce 220 - - -state 323 - argumentlist : expression . (149) - - . reduce 149 - - -state 324 - argumentlist : argumentlist . ',' expression (150) - methodinvocation : name '(' argumentlist . ')' (221) - - ',' shift 366 - ')' shift 367 - . error - - -state 325 - lambdabody : block . (204) - - . reduce 204 - - -state 326 - lambdaexpression : lambdaexpressionparameter lambdaassignmentoperator lambdabody . (208) - - . reduce 208 - - -state 327 - lambdabody : expression . (205) - - . reduce 205 - - -state 328 - methodinvocation : primary '.' IDENTIFIER . '(' ')' (222) - methodinvocation : primary '.' IDENTIFIER . '(' argumentlist ')' (223) - - '(' shift 368 - . error - - -state 329 - assignment : lefthandside assignmentoperator assignmentexpression . (191) - - . reduce 191 - - -state 330 - assignment : lefthandside assignmentoperator classinstancecreationexpression . (192) - - . reduce 192 - - -state 331 - formalparameterlist : formalparameterlist ',' formalparameter . (134) - - . reduce 134 - - -state 332 - methodheader : '<' boundedMethodParameters '>' VOID methoddeclarator . (115) - methodheader : '<' boundedMethodParameters '>' VOID methoddeclarator . throws (117) - - THROWS shift 88 - '{' reduce 115 - - throws goto 369 - - -state 333 - methodheader : '<' boundedMethodParameters '>' type methoddeclarator . (103) - methodheader : '<' boundedMethodParameters '>' type methoddeclarator . throws (108) - - THROWS shift 88 - '{' reduce 103 - - throws goto 370 - - -state 334 - classtypelist : classtypelist ',' classtype . (138) - - . reduce 138 - - -state 335 - classinstancecreationexpression : NEW classtype '(' . ')' (224) - classinstancecreationexpression : NEW classtype '(' . argumentlist ')' (225) - - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - ')' shift 371 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 208 - lambdaexpression goto 157 - expression goto 323 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 214 - assignment goto 215 - lefthandside goto 174 - argumentlist goto 372 - methodinvocation goto 216 - castexpression goto 217 - - -state 336 - castexpression : '(' primitivetype ')' . unaryexpression (257) - - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 373 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 - - -state 337 - multiplicativeexpression : multiplicativeexpression '*' unaryexpression . (274) + multiplicativeexpression : unaryexpression . (274) . reduce 274 -state 338 - multiplicativeexpression : multiplicativeexpression '/' unaryexpression . (275) +229: shift/reduce conflict (shift 316, reduce 271) on '*' +229: shift/reduce conflict (shift 317, reduce 271) on '/' +229: shift/reduce conflict (shift 318, reduce 271) on '%' +state 229 + additiveexpression : multiplicativeexpression . (271) + multiplicativeexpression : multiplicativeexpression . '*' unaryexpression (275) + multiplicativeexpression : multiplicativeexpression . '/' unaryexpression (276) + multiplicativeexpression : multiplicativeexpression . '%' unaryexpression (277) - . reduce 275 - - -state 339 - multiplicativeexpression : multiplicativeexpression '%' unaryexpression . (276) - - . reduce 276 - - -340: shift/reduce conflict (shift 283, reduce 271) on '*' -340: shift/reduce conflict (shift 284, reduce 271) on '/' -340: shift/reduce conflict (shift 285, reduce 271) on '%' -state 340 - additiveexpression : additiveexpression '+' multiplicativeexpression . (271) - multiplicativeexpression : multiplicativeexpression . '*' unaryexpression (274) - multiplicativeexpression : multiplicativeexpression . '/' unaryexpression (275) - multiplicativeexpression : multiplicativeexpression . '%' unaryexpression (276) - - '*' shift 283 - '/' shift 284 - '%' shift 285 + '*' shift 316 + '/' shift 317 + '%' shift 318 ABSTRACT reduce 271 BOOLEAN reduce 271 CHAR reduce 271 @@ -5546,100 +3213,74 @@ state 340 '^' reduce 271 -341: shift/reduce conflict (shift 283, reduce 272) on '*' -341: shift/reduce conflict (shift 284, reduce 272) on '/' -341: shift/reduce conflict (shift 285, reduce 272) on '%' -state 341 - additiveexpression : additiveexpression '-' multiplicativeexpression . (272) - multiplicativeexpression : multiplicativeexpression . '*' unaryexpression (274) - multiplicativeexpression : multiplicativeexpression . '/' unaryexpression (275) - multiplicativeexpression : multiplicativeexpression . '%' unaryexpression (276) +230: shift/reduce conflict (shift 319, reduce 270) on '+' +230: shift/reduce conflict (shift 320, reduce 270) on '-' +state 230 + shiftexpression : additiveexpression . (270) + additiveexpression : additiveexpression . '+' multiplicativeexpression (272) + additiveexpression : additiveexpression . '-' multiplicativeexpression (273) - '*' shift 283 - '/' shift 284 - '%' shift 285 - ABSTRACT reduce 272 - BOOLEAN reduce 272 - CHAR reduce 272 - FINAL reduce 272 - INSTANCEOF reduce 272 - INT reduce 272 - PRIVATE reduce 272 - PROTECTED reduce 272 - PUBLIC reduce 272 - STATIC reduce 272 - VOID reduce 272 - IDENTIFIER reduce 272 - EQUAL reduce 272 - LESSEQUAL reduce 272 - GREATEREQUAL reduce 272 - NOTEQUAL reduce 272 - LOGICALOR reduce 272 - LOGICALAND reduce 272 - INCREMENT reduce 272 - DECREMENT reduce 272 - ',' reduce 272 - ';' reduce 272 - '.' reduce 272 - '<' reduce 272 - '>' reduce 272 - '}' reduce 272 - ')' reduce 272 - '&' reduce 272 - '+' reduce 272 - '-' reduce 272 - '|' reduce 272 - '^' reduce 272 + '+' shift 319 + '-' shift 320 + ABSTRACT reduce 270 + BOOLEAN reduce 270 + CHAR reduce 270 + FINAL reduce 270 + INSTANCEOF reduce 270 + INT reduce 270 + PRIVATE reduce 270 + PROTECTED reduce 270 + PUBLIC reduce 270 + STATIC reduce 270 + VOID reduce 270 + IDENTIFIER reduce 270 + EQUAL reduce 270 + LESSEQUAL reduce 270 + GREATEREQUAL reduce 270 + NOTEQUAL reduce 270 + LOGICALOR reduce 270 + LOGICALAND reduce 270 + INCREMENT reduce 270 + DECREMENT reduce 270 + ',' reduce 270 + ';' reduce 270 + '.' reduce 270 + '*' reduce 270 + '<' reduce 270 + '>' reduce 270 + '}' reduce 270 + ')' reduce 270 + '&' reduce 270 + '|' reduce 270 + '^' reduce 270 + '/' reduce 270 + '%' reduce 270 -state 342 - relationalexpression : relationalexpression INSTANCEOF referencetype . (268) - - . reduce 268 - - -state 343 - relationalexpression : relationalexpression LESSEQUAL shiftexpression . (266) - - . reduce 266 - - -state 344 - relationalexpression : relationalexpression GREATEREQUAL shiftexpression . (267) - - . reduce 267 - - -state 345 - relationalexpression : relationalexpression '<' shiftexpression . (264) +state 231 + relationalexpression : shiftexpression . (264) . reduce 264 -state 346 - relationalexpression : relationalexpression '>' shiftexpression . (265) +232: shift/reduce conflict (shift 321, reduce 261) on INSTANCEOF +232: shift/reduce conflict (shift 322, reduce 261) on LESSEQUAL +232: shift/reduce conflict (shift 323, reduce 261) on GREATEREQUAL +232: shift/reduce conflict (shift 324, reduce 261) on '<' +232: shift/reduce conflict (shift 325, reduce 261) on '>' +state 232 + equalityexpression : relationalexpression . (261) + relationalexpression : relationalexpression . '<' shiftexpression (265) + relationalexpression : relationalexpression . '>' shiftexpression (266) + relationalexpression : relationalexpression . LESSEQUAL shiftexpression (267) + relationalexpression : relationalexpression . GREATEREQUAL shiftexpression (268) + relationalexpression : relationalexpression . INSTANCEOF referencetype (269) - . reduce 265 - - -347: shift/reduce conflict (shift 288, reduce 261) on INSTANCEOF -347: shift/reduce conflict (shift 289, reduce 261) on LESSEQUAL -347: shift/reduce conflict (shift 290, reduce 261) on GREATEREQUAL -347: shift/reduce conflict (shift 291, reduce 261) on '<' -347: shift/reduce conflict (shift 292, reduce 261) on '>' -state 347 - equalityexpression : equalityexpression EQUAL relationalexpression . (261) - relationalexpression : relationalexpression . '<' shiftexpression (264) - relationalexpression : relationalexpression . '>' shiftexpression (265) - relationalexpression : relationalexpression . LESSEQUAL shiftexpression (266) - relationalexpression : relationalexpression . GREATEREQUAL shiftexpression (267) - relationalexpression : relationalexpression . INSTANCEOF referencetype (268) - - INSTANCEOF shift 288 - LESSEQUAL shift 289 - GREATEREQUAL shift 290 - '<' shift 291 - '>' shift 292 + INSTANCEOF shift 321 + LESSEQUAL shift 322 + GREATEREQUAL shift 323 + '<' shift 324 + '>' shift 325 ABSTRACT reduce 261 BOOLEAN reduce 261 CHAR reduce 261 @@ -5672,65 +3313,15 @@ state 347 '%' reduce 261 -348: shift/reduce conflict (shift 288, reduce 262) on INSTANCEOF -348: shift/reduce conflict (shift 289, reduce 262) on LESSEQUAL -348: shift/reduce conflict (shift 290, reduce 262) on GREATEREQUAL -348: shift/reduce conflict (shift 291, reduce 262) on '<' -348: shift/reduce conflict (shift 292, reduce 262) on '>' -state 348 - equalityexpression : equalityexpression NOTEQUAL relationalexpression . (262) - relationalexpression : relationalexpression . '<' shiftexpression (264) - relationalexpression : relationalexpression . '>' shiftexpression (265) - relationalexpression : relationalexpression . LESSEQUAL shiftexpression (266) - relationalexpression : relationalexpression . GREATEREQUAL shiftexpression (267) - relationalexpression : relationalexpression . INSTANCEOF referencetype (268) +233: shift/reduce conflict (shift 326, reduce 259) on EQUAL +233: shift/reduce conflict (shift 327, reduce 259) on NOTEQUAL +state 233 + andexpression : equalityexpression . (259) + equalityexpression : equalityexpression . EQUAL relationalexpression (262) + equalityexpression : equalityexpression . NOTEQUAL relationalexpression (263) - INSTANCEOF shift 288 - LESSEQUAL shift 289 - GREATEREQUAL shift 290 - '<' shift 291 - '>' shift 292 - ABSTRACT reduce 262 - BOOLEAN reduce 262 - CHAR reduce 262 - FINAL reduce 262 - INT reduce 262 - PRIVATE reduce 262 - PROTECTED reduce 262 - PUBLIC reduce 262 - STATIC reduce 262 - VOID reduce 262 - IDENTIFIER reduce 262 - EQUAL reduce 262 - NOTEQUAL reduce 262 - LOGICALOR reduce 262 - LOGICALAND reduce 262 - INCREMENT reduce 262 - DECREMENT reduce 262 - ',' reduce 262 - ';' reduce 262 - '.' reduce 262 - '*' reduce 262 - '}' reduce 262 - ')' reduce 262 - '&' reduce 262 - '+' reduce 262 - '-' reduce 262 - '|' reduce 262 - '^' reduce 262 - '/' reduce 262 - '%' reduce 262 - - -349: shift/reduce conflict (shift 293, reduce 259) on EQUAL -349: shift/reduce conflict (shift 294, reduce 259) on NOTEQUAL -state 349 - andexpression : andexpression '&' equalityexpression . (259) - equalityexpression : equalityexpression . EQUAL relationalexpression (261) - equalityexpression : equalityexpression . NOTEQUAL relationalexpression (262) - - EQUAL shift 293 - NOTEQUAL shift 294 + EQUAL shift 326 + NOTEQUAL shift 327 ABSTRACT reduce 259 BOOLEAN reduce 259 CHAR reduce 259 @@ -5766,12 +3357,12 @@ state 349 '%' reduce 259 -350: shift/reduce conflict (shift 295, reduce 248) on '&' -state 350 - exclusiveorexpression : exclusiveorexpression '^' andexpression . (248) - andexpression : andexpression . '&' equalityexpression (259) +234: shift/reduce conflict (shift 328, reduce 248) on '&' +state 234 + exclusiveorexpression : andexpression . (248) + andexpression : andexpression . '&' equalityexpression (260) - '&' shift 295 + '&' shift 328 ABSTRACT reduce 248 BOOLEAN reduce 248 CHAR reduce 248 @@ -5808,12 +3399,12 @@ state 350 '%' reduce 248 -351: shift/reduce conflict (shift 296, reduce 239) on '^' -state 351 - inclusiveorexpression : inclusiveorexpression '|' exclusiveorexpression . (239) - exclusiveorexpression : exclusiveorexpression . '^' andexpression (248) +235: shift/reduce conflict (shift 329, reduce 239) on '^' +state 235 + inclusiveorexpression : exclusiveorexpression . (239) + exclusiveorexpression : exclusiveorexpression . '^' andexpression (249) - '^' shift 296 + '^' shift 329 ABSTRACT reduce 239 BOOLEAN reduce 239 CHAR reduce 239 @@ -5850,12 +3441,12 @@ state 351 '%' reduce 239 -352: shift/reduce conflict (shift 297, reduce 227) on '|' -state 352 - conditionalandexpression : conditionalandexpression LOGICALAND inclusiveorexpression . (227) - inclusiveorexpression : inclusiveorexpression . '|' exclusiveorexpression (239) +236: shift/reduce conflict (shift 330, reduce 227) on '|' +state 236 + conditionalandexpression : inclusiveorexpression . (227) + inclusiveorexpression : inclusiveorexpression . '|' exclusiveorexpression (240) - '|' shift 297 + '|' shift 330 ABSTRACT reduce 227 BOOLEAN reduce 227 CHAR reduce 227 @@ -5892,12 +3483,12 @@ state 352 '%' reduce 227 -353: shift/reduce conflict (shift 298, reduce 202) on LOGICALAND -state 353 - conditionalorexpression : conditionalorexpression LOGICALOR conditionalandexpression . (202) - conditionalandexpression : conditionalandexpression . LOGICALAND inclusiveorexpression (227) +237: shift/reduce conflict (shift 331, reduce 202) on LOGICALAND +state 237 + conditionalorexpression : conditionalandexpression . (202) + conditionalandexpression : conditionalandexpression . LOGICALAND inclusiveorexpression (228) - LOGICALAND shift 298 + LOGICALAND shift 331 ABSTRACT reduce 202 BOOLEAN reduce 202 CHAR reduce 202 @@ -5934,1706 +3525,4559 @@ state 353 '%' reduce 202 -state 354 - methodheader : modifiers '<' boundedMethodParameters '>' VOID . methoddeclarator (116) - methodheader : modifiers '<' boundedMethodParameters '>' VOID . methoddeclarator throws (118) +238: shift/reduce conflict (shift 332, reduce 191) on LOGICALOR +state 238 + conditionalexpression : conditionalorexpression . (191) + conditionalorexpression : conditionalorexpression . LOGICALOR conditionalandexpression (203) - IDENTIFIER shift 81 - . error - - methoddeclarator goto 374 + LOGICALOR shift 332 + ABSTRACT reduce 191 + BOOLEAN reduce 191 + CHAR reduce 191 + FINAL reduce 191 + INSTANCEOF reduce 191 + INT reduce 191 + PRIVATE reduce 191 + PROTECTED reduce 191 + PUBLIC reduce 191 + STATIC reduce 191 + VOID reduce 191 + IDENTIFIER reduce 191 + EQUAL reduce 191 + LESSEQUAL reduce 191 + GREATEREQUAL reduce 191 + NOTEQUAL reduce 191 + LOGICALAND reduce 191 + INCREMENT reduce 191 + DECREMENT reduce 191 + ',' reduce 191 + ';' reduce 191 + '.' reduce 191 + '*' reduce 191 + '<' reduce 191 + '>' reduce 191 + '}' reduce 191 + ')' reduce 191 + '&' reduce 191 + '+' reduce 191 + '-' reduce 191 + '|' reduce 191 + '^' reduce 191 + '/' reduce 191 + '%' reduce 191 -state 355 - methodheader : modifiers '<' boundedMethodParameters '>' type . methoddeclarator (106) - methodheader : modifiers '<' boundedMethodParameters '>' type . methoddeclarator throws (110) +state 239 + assignmentexpression : conditionalexpression . (182) - IDENTIFIER shift 81 - . error - - methoddeclarator goto 375 + . reduce 182 -state 356 - explicitconstructorinvocation : THIS '(' ')' . ';' (135) +state 240 + expression : assignmentexpression . (161) - ';' shift 376 + . reduce 161 + + +state 241 + fielddeclarator : variabledeclarator '=' expression . (79) + + . reduce 79 + + +state 242 + unaryexpression : preincrementexpression . (229) + + . reduce 229 + + +state 243 + unaryexpression : predecrementexpression . (230) + + . reduce 230 + + +state 244 + postfixexpression : postincrementexpression . (236) + + . reduce 236 + + +state 245 + postfixexpression : postdecrementexpression . (237) + + . reduce 237 + + +state 246 + expression : classinstancecreationexpression . (162) + + . reduce 162 + + +state 247 + assignmentexpression : assignment . (183) + + . reduce 183 + + +state 248 + primarynonewarray : methodinvocation . (243) + + . reduce 243 + + +state 249 + unaryexpressionnotplusminus : castexpression . (247) + + . reduce 247 + + +state 250 + constructordeclarator : simplename '(' ')' . (88) + + . reduce 88 + + +state 251 + constructordeclarator : simplename '(' formalparameterlist . ')' (89) + formalparameterlist : formalparameterlist . ',' formalparameter (135) + + ',' shift 304 + ')' shift 333 . error -state 357 - explicitconstructorinvocation : THIS '(' argumentlist . ')' ';' (136) - argumentlist : argumentlist . ',' expression (150) +state 252 + type : primitivetype '[' ']' . (126) - ',' shift 366 - ')' shift 377 - . error + . reduce 126 -state 358 - constructorbody : '{' explicitconstructorinvocation blockstatements '}' . (92) +state 253 + type : referencetype '[' ']' . (128) - . reduce 92 + . reduce 128 -state 359 - paralist : IDENTIFIER '<' paralist '>' . (32) - - . reduce 32 - - -state 360 - paralist : paralist ',' IDENTIFIER '<' . paralist '>' (35) - - IDENTIFIER shift 119 - '?' shift 120 - . error - - paralist goto 378 - wildcardparameter goto 122 - - -state 361 - forstatement : FOR '(' ';' ';' . expression ')' statement (179) - forstatement : FOR '(' ';' ';' . ')' statement (180) - - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - ')' shift 379 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 208 - lambdaexpression goto 157 - expression goto 380 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 214 - assignment goto 215 - lefthandside goto 174 - methodinvocation goto 216 - castexpression goto 217 - - -state 362 - forstatement : FOR '(' ';' expression . ';' expression ')' statement (176) - forstatement : FOR '(' ';' expression . ';' ')' statement (178) - - ';' shift 381 - . error - - -state 363 - forstatement : FOR '(' expression ';' . expression ';' expression ')' statement (173) - forstatement : FOR '(' expression ';' . expression ';' ')' statement (174) - forstatement : FOR '(' expression ';' . ';' expression ')' statement (175) - forstatement : FOR '(' expression ';' . ';' ')' statement (177) - - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 382 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 208 - lambdaexpression goto 157 - expression goto 383 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 214 - assignment goto 215 - lefthandside goto 174 - methodinvocation goto 216 - castexpression goto 217 - - -state 364 - ifthenstatement : IF '(' expression ')' . statement (170) - ifthenelsestatement : IF '(' expression ')' . statementnoshortif ELSE statement (171) - - FOR shift 123 - IF shift 384 - RETURN shift 125 - THIS shift 126 - WHILE shift 385 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 - '{' shift 79 - '(' shift 141 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - block goto 148 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 386 - statement goto 387 - statementnoshortif goto 388 - whilestatement goto 167 - forstatement goto 168 - whilestatementnoshortif goto 389 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - ifthenelsestatementnoshortif goto 390 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 - - -state 365 - whilestatement : WHILE '(' expression ')' . statement (172) - - FOR shift 123 - IF shift 124 - RETURN shift 125 - THIS shift 126 - WHILE shift 127 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 - '{' shift 79 - '(' shift 141 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - block goto 148 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 164 - statement goto 391 - whilestatement goto 167 - forstatement goto 168 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 - - -state 366 - argumentlist : argumentlist ',' . expression (150) - - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 208 - lambdaexpression goto 157 - expression goto 392 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 214 - assignment goto 215 - lefthandside goto 174 - methodinvocation goto 216 - castexpression goto 217 - - -state 367 - methodinvocation : name '(' argumentlist ')' . (221) - - . reduce 221 - - -state 368 - methodinvocation : primary '.' IDENTIFIER '(' . ')' (222) - methodinvocation : primary '.' IDENTIFIER '(' . argumentlist ')' (223) - - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - ')' shift 393 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 208 - lambdaexpression goto 157 - expression goto 323 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 214 - assignment goto 215 - lefthandside goto 174 - argumentlist goto 394 - methodinvocation goto 216 - castexpression goto 217 - - -state 369 - methodheader : '<' boundedMethodParameters '>' VOID methoddeclarator throws . (117) - - . reduce 117 - - -state 370 - methodheader : '<' boundedMethodParameters '>' type methoddeclarator throws . (108) +state 254 + methodheader : type methoddeclarator throws . (108) . reduce 108 -state 371 - classinstancecreationexpression : NEW classtype '(' ')' . (224) +state 255 + fielddeclaration : type variabledeclarators ';' . (83) - . reduce 224 + . reduce 83 -state 372 - argumentlist : argumentlist . ',' expression (150) - classinstancecreationexpression : NEW classtype '(' argumentlist . ')' (225) +state 256 + methodheader : modifiers VOID methoddeclarator . (113) + methodheader : modifiers VOID methoddeclarator . throws (115) - ',' shift 366 - ')' shift 395 + THROWS shift 114 + ';' reduce 113 + '{' reduce 113 + + throws goto 334 + + +state 257 + boundedMethodParameters : boundedMethodParameters . ',' boundedMethodParameter (103) + methodheader : modifiers '<' boundedMethodParameters . '>' type methoddeclarator (107) + methodheader : modifiers '<' boundedMethodParameters . '>' type methoddeclarator throws (111) + methodheader : modifiers '<' boundedMethodParameters . '>' VOID methoddeclarator (117) + methodheader : modifiers '<' boundedMethodParameters . '>' VOID methoddeclarator throws (119) + + ',' shift 214 + '>' shift 335 . error -state 373 - castexpression : '(' primitivetype ')' unaryexpression . (257) +state 258 + methodheader : modifiers methoddeclarator throws . (124) - . reduce 257 + . reduce 124 -state 374 - methodheader : modifiers '<' boundedMethodParameters '>' VOID methoddeclarator . (116) - methodheader : modifiers '<' boundedMethodParameters '>' VOID methoddeclarator . throws (118) +state 259 + methodheader : modifiers type methoddeclarator . (106) + methodheader : modifiers type methoddeclarator . throws (110) - THROWS shift 88 - '{' reduce 116 - - throws goto 396 - - -state 375 - methodheader : modifiers '<' boundedMethodParameters '>' type methoddeclarator . (106) - methodheader : modifiers '<' boundedMethodParameters '>' type methoddeclarator . throws (110) - - THROWS shift 88 + THROWS shift 114 + ';' reduce 106 '{' reduce 106 - throws goto 397 + throws goto 336 -state 376 - explicitconstructorinvocation : THIS '(' ')' ';' . (135) +state 260 + fielddeclaration : modifiers type variabledeclarators . ';' (84) + variabledeclarators : variabledeclarators . ',' variabledeclarator (130) - . reduce 135 + ',' shift 118 + ';' shift 337 + . error -state 377 - explicitconstructorinvocation : THIS '(' argumentlist ')' . ';' (136) +state 261 + constructordeclaration : modifiers constructordeclarator constructorbody . (76) + + . reduce 76 + + +state 262 + explicitconstructorinvocation : THIS . '(' ')' ';' (136) + explicitconstructorinvocation : THIS . '(' argumentlist ')' ';' (137) + primarynonewarray : THIS . (242) + + '(' shift 338 + INCREMENT reduce 242 + DECREMENT reduce 242 + '.' reduce 242 + + +state 263 + constructorbody : '{' '}' . (90) + + . reduce 90 + + +state 264 + constructorbody : '{' blockstatements . '}' (92) + blockstatements : blockstatements . blockstatement (133) + + BOOLEAN shift 48 + CHAR shift 49 + FOR shift 155 + IF shift 156 + INT shift 50 + RETURN shift 157 + THIS shift 158 + WHILE shift 159 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 168 + INCREMENT shift 169 + DECREMENT shift 170 + ';' shift 171 + '{' shift 105 + '}' shift 339 + '(' shift 173 + . error + + variabledeclarators goto 174 + variabledeclarator goto 175 + variabledeclaratorid goto 66 + simplename goto 176 + qualifiedname goto 177 + name goto 178 + classorinterfacetype goto 68 + integraltype goto 69 + numerictype goto 70 + primitivetype goto 71 + referencetype goto 72 + type goto 179 + block goto 180 + localvariabledeclarationstatement goto 182 + localvariabledeclaration goto 183 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 188 + lambdaexpression goto 189 + statementexpression goto 190 + preincrementexpression goto 191 + predecrementexpression goto 192 + postincrementexpression goto 193 + postdecrementexpression goto 194 + expressionstatement goto 195 + statementwithouttrailingsubstatement goto 196 + blockstatement goto 288 + statement goto 198 + whilestatement goto 199 + forstatement goto 200 + ifthenstatement goto 201 + ifthenelsestatement goto 202 + emptystatement goto 203 + returnstatement goto 204 + assignment goto 205 + lefthandside goto 206 + methodinvocation goto 207 + + +state 265 + constructorbody : '{' explicitconstructorinvocation . '}' (91) + constructorbody : '{' explicitconstructorinvocation . blockstatements '}' (93) + + BOOLEAN shift 48 + CHAR shift 49 + FOR shift 155 + IF shift 156 + INT shift 50 + RETURN shift 157 + THIS shift 158 + WHILE shift 159 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 168 + INCREMENT shift 169 + DECREMENT shift 170 + ';' shift 171 + '{' shift 105 + '}' shift 340 + '(' shift 173 + . error + + variabledeclarators goto 174 + variabledeclarator goto 175 + variabledeclaratorid goto 66 + simplename goto 176 + qualifiedname goto 177 + name goto 178 + classorinterfacetype goto 68 + integraltype goto 69 + numerictype goto 70 + primitivetype goto 71 + referencetype goto 72 + type goto 179 + block goto 180 + blockstatements goto 341 + localvariabledeclarationstatement goto 182 + localvariabledeclaration goto 183 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 188 + lambdaexpression goto 189 + statementexpression goto 190 + preincrementexpression goto 191 + predecrementexpression goto 192 + postincrementexpression goto 193 + postdecrementexpression goto 194 + expressionstatement goto 195 + statementwithouttrailingsubstatement goto 196 + blockstatement goto 197 + statement goto 198 + whilestatement goto 199 + forstatement goto 200 + ifthenstatement goto 201 + ifthenelsestatement goto 202 + emptystatement goto 203 + returnstatement goto 204 + assignment goto 205 + lefthandside goto 206 + methodinvocation goto 207 + + +state 266 + constantdeclaration : modifiers type IDENTIFIER . '=' expression ';' (77) + methoddeclarator : IDENTIFIER . '(' ')' (140) + methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (141) + + '=' shift 342 + '(' shift 109 + . error + + +state 267 + classdeclaration : modifiers CLASS classidentifier super interfaces classbody . (23) + + . reduce 23 + + +state 268 + boundedclassidentifierlist : boundedclassidentifierlist '&' . referencetype (101) + + IDENTIFIER shift 42 + . error + + simplename goto 43 + classorinterfacetype goto 68 + referencetype goto 343 + + +state 269 + paralist : IDENTIFIER '<' . paralist '>' (33) + + IDENTIFIER shift 151 + '?' shift 152 + . error + + paralist goto 344 + wildcardparameter goto 154 + + +state 270 + wildcardparameter : '?' EXTENDS . referencetype (39) + + IDENTIFIER shift 42 + . error + + simplename goto 43 + classorinterfacetype goto 68 + referencetype goto 345 + + +state 271 + wildcardparameter : '?' SUPER . referencetype (40) + + IDENTIFIER shift 42 + . error + + simplename goto 43 + classorinterfacetype goto 68 + referencetype goto 346 + + +state 272 + paralist : paralist ',' . IDENTIFIER (35) + paralist : paralist ',' . IDENTIFIER '<' paralist '>' (36) + paralist : paralist ',' . wildcardparameter (37) + + IDENTIFIER shift 347 + '?' shift 152 + . error + + wildcardparameter goto 348 + + +state 273 + parameter : '<' paralist '>' . (69) + + . reduce 69 + + +state 274 + forstatement : FOR '(' . expression ';' expression ';' expression ')' statement (174) + forstatement : FOR '(' . expression ';' expression ';' ')' statement (175) + forstatement : FOR '(' . expression ';' ';' expression ')' statement (176) + forstatement : FOR '(' . ';' expression ';' expression ')' statement (177) + forstatement : FOR '(' . expression ';' ';' ')' statement (178) + forstatement : FOR '(' . ';' expression ';' ')' statement (179) + forstatement : FOR '(' . ';' ';' expression ')' statement (180) + forstatement : FOR '(' . ';' ';' ')' statement (181) + + NEW shift 220 + THIS shift 158 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 42 + INCREMENT shift 169 + DECREMENT shift 170 + ';' shift 349 + '(' shift 221 + '+' shift 222 + '-' shift 223 + '!' shift 224 + . error + + simplename goto 225 + qualifiedname goto 177 + name goto 178 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 226 + unaryexpressionnotplusminus goto 227 + unaryexpression goto 228 + multiplicativeexpression goto 229 + additiveexpression goto 230 + shiftexpression goto 231 + relationalexpression goto 232 + equalityexpression goto 233 + andexpression goto 234 + exclusiveorexpression goto 235 + inclusiveorexpression goto 236 + conditionalandexpression goto 237 + conditionalorexpression goto 238 + conditionalexpression goto 239 + assignmentexpression goto 240 + lambdaexpression goto 189 + expression goto 350 + preincrementexpression goto 242 + predecrementexpression goto 243 + postincrementexpression goto 244 + postdecrementexpression goto 245 + classinstancecreationexpression goto 246 + assignment goto 247 + lefthandside goto 206 + methodinvocation goto 248 + castexpression goto 249 + + +state 275 + ifthenstatement : IF '(' . expression ')' statement (171) + ifthenelsestatement : IF '(' . expression ')' statementnoshortif ELSE statement (172) + + NEW shift 220 + THIS shift 158 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 42 + INCREMENT shift 169 + DECREMENT shift 170 + '(' shift 221 + '+' shift 222 + '-' shift 223 + '!' shift 224 + . error + + simplename goto 225 + qualifiedname goto 177 + name goto 178 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 226 + unaryexpressionnotplusminus goto 227 + unaryexpression goto 228 + multiplicativeexpression goto 229 + additiveexpression goto 230 + shiftexpression goto 231 + relationalexpression goto 232 + equalityexpression goto 233 + andexpression goto 234 + exclusiveorexpression goto 235 + inclusiveorexpression goto 236 + conditionalandexpression goto 237 + conditionalorexpression goto 238 + conditionalexpression goto 239 + assignmentexpression goto 240 + lambdaexpression goto 189 + expression goto 351 + preincrementexpression goto 242 + predecrementexpression goto 243 + postincrementexpression goto 244 + postdecrementexpression goto 245 + classinstancecreationexpression goto 246 + assignment goto 247 + lefthandside goto 206 + methodinvocation goto 248 + castexpression goto 249 + + +state 276 + returnstatement : RETURN ';' . (186) + + . reduce 186 + + +state 277 + returnstatement : RETURN expression . ';' (187) + + ';' shift 352 + . error + + +state 278 + whilestatement : WHILE '(' . expression ')' statement (173) + + NEW shift 220 + THIS shift 158 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 42 + INCREMENT shift 169 + DECREMENT shift 170 + '(' shift 221 + '+' shift 222 + '-' shift 223 + '!' shift 224 + . error + + simplename goto 225 + qualifiedname goto 177 + name goto 178 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 226 + unaryexpressionnotplusminus goto 227 + unaryexpression goto 228 + multiplicativeexpression goto 229 + additiveexpression goto 230 + shiftexpression goto 231 + relationalexpression goto 232 + equalityexpression goto 233 + andexpression goto 234 + exclusiveorexpression goto 235 + inclusiveorexpression goto 236 + conditionalandexpression goto 237 + conditionalorexpression goto 238 + conditionalexpression goto 239 + assignmentexpression goto 240 + lambdaexpression goto 189 + expression goto 353 + preincrementexpression goto 242 + predecrementexpression goto 243 + postincrementexpression goto 244 + postdecrementexpression goto 245 + classinstancecreationexpression goto 246 + assignment goto 247 + lefthandside goto 206 + methodinvocation goto 248 + castexpression goto 249 + + +279: shift/reduce conflict (shift 284, reduce 235) on '.' +state 279 + qualifiedname : name . '.' IDENTIFIER (12) + methodinvocation : name . '(' ')' (221) + methodinvocation : name . '(' argumentlist ')' (222) + postfixexpression : name . (235) + + '.' shift 284 + '(' shift 285 + ABSTRACT reduce 235 + BOOLEAN reduce 235 + CHAR reduce 235 + FINAL reduce 235 + INSTANCEOF reduce 235 + INT reduce 235 + PRIVATE reduce 235 + PROTECTED reduce 235 + PUBLIC reduce 235 + STATIC reduce 235 + VOID reduce 235 + IDENTIFIER reduce 235 + EQUAL reduce 235 + LESSEQUAL reduce 235 + GREATEREQUAL reduce 235 + NOTEQUAL reduce 235 + LOGICALOR reduce 235 + LOGICALAND reduce 235 + INCREMENT reduce 235 + DECREMENT reduce 235 + ',' reduce 235 + ';' reduce 235 + '*' reduce 235 + '<' reduce 235 + '>' reduce 235 + '}' reduce 235 + ')' reduce 235 + '&' reduce 235 + '+' reduce 235 + '-' reduce 235 + '|' reduce 235 + '^' reduce 235 + '/' reduce 235 + '%' reduce 235 + + +state 280 + preincrementexpression : INCREMENT unaryexpression . (217) + + . reduce 217 + + +state 281 + predecrementexpression : DECREMENT unaryexpression . (218) + + . reduce 218 + + +state 282 + lambdaexpressionparameter : '(' ')' . (207) + + . reduce 207 + + +state 283 + formalparameterlist : formalparameterlist . ',' formalparameter (135) + lambdaexpressionparameter : '(' formalparameterlist . ')' (208) + + ',' shift 304 + ')' shift 354 + . error + + +state 284 + qualifiedname : name '.' . IDENTIFIER (12) + + IDENTIFIER shift 355 + . error + + +state 285 + methodinvocation : name '(' . ')' (221) + methodinvocation : name '(' . argumentlist ')' (222) + + NEW shift 220 + THIS shift 158 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 42 + INCREMENT shift 169 + DECREMENT shift 170 + '(' shift 221 + ')' shift 356 + '+' shift 222 + '-' shift 223 + '!' shift 224 + . error + + simplename goto 225 + qualifiedname goto 177 + name goto 178 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 226 + unaryexpressionnotplusminus goto 227 + unaryexpression goto 228 + multiplicativeexpression goto 229 + additiveexpression goto 230 + shiftexpression goto 231 + relationalexpression goto 232 + equalityexpression goto 233 + andexpression goto 234 + exclusiveorexpression goto 235 + inclusiveorexpression goto 236 + conditionalandexpression goto 237 + conditionalorexpression goto 238 + conditionalexpression goto 239 + assignmentexpression goto 240 + lambdaexpression goto 189 + expression goto 357 + preincrementexpression goto 242 + predecrementexpression goto 243 + postincrementexpression goto 244 + postdecrementexpression goto 245 + classinstancecreationexpression goto 246 + assignment goto 247 + lefthandside goto 206 + argumentlist goto 358 + methodinvocation goto 248 + castexpression goto 249 + + +state 286 + variabledeclarators : variabledeclarators . ',' variabledeclarator (130) + localvariabledeclaration : type variabledeclarators . (165) + + ',' shift 118 + ';' reduce 165 + + +state 287 + block : '{' blockstatements '}' . (87) + + . reduce 87 + + +state 288 + blockstatements : blockstatements blockstatement . (133) + + . reduce 133 + + +state 289 + localvariabledeclarationstatement : localvariabledeclaration ';' . (155) + + . reduce 155 + + +state 290 + lambdaassignmentoperator : LAMBDAASSIGNMENT . (204) + + . reduce 204 + + +state 291 + lambdaexpression : lambdaexpressionparameter lambdaassignmentoperator . lambdabody (209) + + NEW shift 220 + THIS shift 158 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 42 + INCREMENT shift 169 + DECREMENT shift 170 + '{' shift 105 + '(' shift 221 + '+' shift 222 + '-' shift 223 + '!' shift 224 + . error + + simplename goto 225 + qualifiedname goto 177 + name goto 178 + block goto 359 + lambdabody goto 360 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 226 + unaryexpressionnotplusminus goto 227 + unaryexpression goto 228 + multiplicativeexpression goto 229 + additiveexpression goto 230 + shiftexpression goto 231 + relationalexpression goto 232 + equalityexpression goto 233 + andexpression goto 234 + exclusiveorexpression goto 235 + inclusiveorexpression goto 236 + conditionalandexpression goto 237 + conditionalorexpression goto 238 + conditionalexpression goto 239 + assignmentexpression goto 240 + lambdaexpression goto 189 + expression goto 361 + preincrementexpression goto 242 + predecrementexpression goto 243 + postincrementexpression goto 244 + postdecrementexpression goto 245 + classinstancecreationexpression goto 246 + assignment goto 247 + lefthandside goto 206 + methodinvocation goto 248 + castexpression goto 249 + + +state 292 + methodinvocation : primary '.' . IDENTIFIER '(' ')' (223) + methodinvocation : primary '.' . IDENTIFIER '(' argumentlist ')' (224) + + IDENTIFIER shift 362 + . error + + +state 293 + postincrementexpression : postfixexpression INCREMENT . (219) + + . reduce 219 + + +state 294 + postdecrementexpression : postfixexpression DECREMENT . (220) + + . reduce 220 + + +state 295 + expressionstatement : statementexpression ';' . (185) + + . reduce 185 + + +state 296 + assignmentoperator : PLUSEQUAL . (215) + + . reduce 215 + + +state 297 + assignmentoperator : MINUSEQUAL . (216) + + . reduce 216 + + +state 298 + assignmentoperator : TIMESEQUAL . (212) + + . reduce 212 + + +state 299 + assignmentoperator : DIVIDEEQUAL . (213) + + . reduce 213 + + +state 300 + assignmentoperator : MODULOEQUAL . (214) + + . reduce 214 + + +state 301 + assignmentoperator : '=' . (211) + + . reduce 211 + + +state 302 + assignment : lefthandside assignmentoperator . assignmentexpression (192) + assignment : lefthandside assignmentoperator . classinstancecreationexpression (193) + + NEW shift 220 + THIS shift 158 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 42 + INCREMENT shift 169 + DECREMENT shift 170 + '(' shift 221 + '+' shift 222 + '-' shift 223 + '!' shift 224 + . error + + simplename goto 225 + qualifiedname goto 177 + name goto 178 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 226 + unaryexpressionnotplusminus goto 227 + unaryexpression goto 228 + multiplicativeexpression goto 229 + additiveexpression goto 230 + shiftexpression goto 231 + relationalexpression goto 232 + equalityexpression goto 233 + andexpression goto 234 + exclusiveorexpression goto 235 + inclusiveorexpression goto 236 + conditionalandexpression goto 237 + conditionalorexpression goto 238 + conditionalexpression goto 239 + assignmentexpression goto 363 + lambdaexpression goto 189 + preincrementexpression goto 242 + predecrementexpression goto 243 + postincrementexpression goto 244 + postdecrementexpression goto 245 + classinstancecreationexpression goto 364 + assignment goto 247 + lefthandside goto 206 + methodinvocation goto 248 + castexpression goto 249 + + +state 303 + formalparameter : type variabledeclaratorid . (148) + + . reduce 148 + + +state 304 + formalparameterlist : formalparameterlist ',' . formalparameter (135) + + BOOLEAN shift 48 + CHAR shift 49 + INT shift 50 + IDENTIFIER shift 168 + . error + + variabledeclaratorid goto 210 + simplename goto 43 + classorinterfacetype goto 68 + integraltype goto 69 + numerictype goto 70 + primitivetype goto 71 + referencetype goto 72 + type goto 211 + formalparameter goto 365 + + +state 305 + methoddeclarator : IDENTIFIER '(' formalparameterlist ')' . (141) + + . reduce 141 + + +state 306 + boundedMethodParameters : boundedMethodParameters ',' boundedMethodParameter . (103) + + . reduce 103 + + +state 307 + methodheader : '<' boundedMethodParameters '>' VOID . methoddeclarator (116) + methodheader : '<' boundedMethodParameters '>' VOID . methoddeclarator throws (118) + + IDENTIFIER shift 107 + . error + + methoddeclarator goto 366 + + +state 308 + methodheader : '<' boundedMethodParameters '>' methoddeclarator . (121) + + . reduce 121 + + +state 309 + methodheader : '<' boundedMethodParameters '>' type . methoddeclarator (104) + methodheader : '<' boundedMethodParameters '>' type . methoddeclarator throws (109) + + IDENTIFIER shift 107 + . error + + methoddeclarator goto 367 + + +state 310 + classtypelist : classtypelist ',' . classtype (139) + + IDENTIFIER shift 42 + . error + + simplename goto 43 + classtype goto 368 + classorinterfacetype goto 45 + + +state 311 + classinstancecreationexpression : NEW classtype . '(' ')' (225) + classinstancecreationexpression : NEW classtype . '(' argumentlist ')' (226) + + '(' shift 369 + . error + + +state 312 + type : primitivetype . (125) + type : primitivetype . '[' ']' (126) + castexpression : '(' primitivetype . ')' unaryexpression (258) + + ')' shift 370 + '[' shift 123 + IDENTIFIER reduce 125 + + +state 313 + unaryexpression : '+' unaryexpression . (231) + + . reduce 231 + + +state 314 + unaryexpression : '-' unaryexpression . (232) + + . reduce 232 + + +state 315 + unaryexpressionnotplusminus : '!' unaryexpression . (246) + + . reduce 246 + + +state 316 + multiplicativeexpression : multiplicativeexpression '*' . unaryexpression (275) + + THIS shift 158 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 42 + INCREMENT shift 169 + DECREMENT shift 170 + '(' shift 221 + '+' shift 222 + '-' shift 223 + '!' shift 224 + . error + + simplename goto 225 + qualifiedname goto 177 + name goto 279 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 226 + unaryexpressionnotplusminus goto 227 + unaryexpression goto 371 + lambdaexpression goto 189 + preincrementexpression goto 242 + predecrementexpression goto 243 + postincrementexpression goto 244 + postdecrementexpression goto 245 + methodinvocation goto 248 + castexpression goto 249 + + +state 317 + multiplicativeexpression : multiplicativeexpression '/' . unaryexpression (276) + + THIS shift 158 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 42 + INCREMENT shift 169 + DECREMENT shift 170 + '(' shift 221 + '+' shift 222 + '-' shift 223 + '!' shift 224 + . error + + simplename goto 225 + qualifiedname goto 177 + name goto 279 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 226 + unaryexpressionnotplusminus goto 227 + unaryexpression goto 372 + lambdaexpression goto 189 + preincrementexpression goto 242 + predecrementexpression goto 243 + postincrementexpression goto 244 + postdecrementexpression goto 245 + methodinvocation goto 248 + castexpression goto 249 + + +state 318 + multiplicativeexpression : multiplicativeexpression '%' . unaryexpression (277) + + THIS shift 158 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 42 + INCREMENT shift 169 + DECREMENT shift 170 + '(' shift 221 + '+' shift 222 + '-' shift 223 + '!' shift 224 + . error + + simplename goto 225 + qualifiedname goto 177 + name goto 279 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 226 + unaryexpressionnotplusminus goto 227 + unaryexpression goto 373 + lambdaexpression goto 189 + preincrementexpression goto 242 + predecrementexpression goto 243 + postincrementexpression goto 244 + postdecrementexpression goto 245 + methodinvocation goto 248 + castexpression goto 249 + + +state 319 + additiveexpression : additiveexpression '+' . multiplicativeexpression (272) + + THIS shift 158 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 42 + INCREMENT shift 169 + DECREMENT shift 170 + '(' shift 221 + '+' shift 222 + '-' shift 223 + '!' shift 224 + . error + + simplename goto 225 + qualifiedname goto 177 + name goto 279 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 226 + unaryexpressionnotplusminus goto 227 + unaryexpression goto 228 + multiplicativeexpression goto 374 + lambdaexpression goto 189 + preincrementexpression goto 242 + predecrementexpression goto 243 + postincrementexpression goto 244 + postdecrementexpression goto 245 + methodinvocation goto 248 + castexpression goto 249 + + +state 320 + additiveexpression : additiveexpression '-' . multiplicativeexpression (273) + + THIS shift 158 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 42 + INCREMENT shift 169 + DECREMENT shift 170 + '(' shift 221 + '+' shift 222 + '-' shift 223 + '!' shift 224 + . error + + simplename goto 225 + qualifiedname goto 177 + name goto 279 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 226 + unaryexpressionnotplusminus goto 227 + unaryexpression goto 228 + multiplicativeexpression goto 375 + lambdaexpression goto 189 + preincrementexpression goto 242 + predecrementexpression goto 243 + postincrementexpression goto 244 + postdecrementexpression goto 245 + methodinvocation goto 248 + castexpression goto 249 + + +state 321 + relationalexpression : relationalexpression INSTANCEOF . referencetype (269) + + IDENTIFIER shift 42 + . error + + simplename goto 43 + classorinterfacetype goto 68 + referencetype goto 376 + + +state 322 + relationalexpression : relationalexpression LESSEQUAL . shiftexpression (267) + + THIS shift 158 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 42 + INCREMENT shift 169 + DECREMENT shift 170 + '(' shift 221 + '+' shift 222 + '-' shift 223 + '!' shift 224 + . error + + simplename goto 225 + qualifiedname goto 177 + name goto 279 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 226 + unaryexpressionnotplusminus goto 227 + unaryexpression goto 228 + multiplicativeexpression goto 229 + additiveexpression goto 230 + shiftexpression goto 377 + lambdaexpression goto 189 + preincrementexpression goto 242 + predecrementexpression goto 243 + postincrementexpression goto 244 + postdecrementexpression goto 245 + methodinvocation goto 248 + castexpression goto 249 + + +state 323 + relationalexpression : relationalexpression GREATEREQUAL . shiftexpression (268) + + THIS shift 158 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 42 + INCREMENT shift 169 + DECREMENT shift 170 + '(' shift 221 + '+' shift 222 + '-' shift 223 + '!' shift 224 + . error + + simplename goto 225 + qualifiedname goto 177 + name goto 279 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 226 + unaryexpressionnotplusminus goto 227 + unaryexpression goto 228 + multiplicativeexpression goto 229 + additiveexpression goto 230 + shiftexpression goto 378 + lambdaexpression goto 189 + preincrementexpression goto 242 + predecrementexpression goto 243 + postincrementexpression goto 244 + postdecrementexpression goto 245 + methodinvocation goto 248 + castexpression goto 249 + + +state 324 + relationalexpression : relationalexpression '<' . shiftexpression (265) + + THIS shift 158 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 42 + INCREMENT shift 169 + DECREMENT shift 170 + '(' shift 221 + '+' shift 222 + '-' shift 223 + '!' shift 224 + . error + + simplename goto 225 + qualifiedname goto 177 + name goto 279 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 226 + unaryexpressionnotplusminus goto 227 + unaryexpression goto 228 + multiplicativeexpression goto 229 + additiveexpression goto 230 + shiftexpression goto 379 + lambdaexpression goto 189 + preincrementexpression goto 242 + predecrementexpression goto 243 + postincrementexpression goto 244 + postdecrementexpression goto 245 + methodinvocation goto 248 + castexpression goto 249 + + +state 325 + relationalexpression : relationalexpression '>' . shiftexpression (266) + + THIS shift 158 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 42 + INCREMENT shift 169 + DECREMENT shift 170 + '(' shift 221 + '+' shift 222 + '-' shift 223 + '!' shift 224 + . error + + simplename goto 225 + qualifiedname goto 177 + name goto 279 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 226 + unaryexpressionnotplusminus goto 227 + unaryexpression goto 228 + multiplicativeexpression goto 229 + additiveexpression goto 230 + shiftexpression goto 380 + lambdaexpression goto 189 + preincrementexpression goto 242 + predecrementexpression goto 243 + postincrementexpression goto 244 + postdecrementexpression goto 245 + methodinvocation goto 248 + castexpression goto 249 + + +state 326 + equalityexpression : equalityexpression EQUAL . relationalexpression (262) + + THIS shift 158 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 42 + INCREMENT shift 169 + DECREMENT shift 170 + '(' shift 221 + '+' shift 222 + '-' shift 223 + '!' shift 224 + . error + + simplename goto 225 + qualifiedname goto 177 + name goto 279 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 226 + unaryexpressionnotplusminus goto 227 + unaryexpression goto 228 + multiplicativeexpression goto 229 + additiveexpression goto 230 + shiftexpression goto 231 + relationalexpression goto 381 + lambdaexpression goto 189 + preincrementexpression goto 242 + predecrementexpression goto 243 + postincrementexpression goto 244 + postdecrementexpression goto 245 + methodinvocation goto 248 + castexpression goto 249 + + +state 327 + equalityexpression : equalityexpression NOTEQUAL . relationalexpression (263) + + THIS shift 158 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 42 + INCREMENT shift 169 + DECREMENT shift 170 + '(' shift 221 + '+' shift 222 + '-' shift 223 + '!' shift 224 + . error + + simplename goto 225 + qualifiedname goto 177 + name goto 279 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 226 + unaryexpressionnotplusminus goto 227 + unaryexpression goto 228 + multiplicativeexpression goto 229 + additiveexpression goto 230 + shiftexpression goto 231 + relationalexpression goto 382 + lambdaexpression goto 189 + preincrementexpression goto 242 + predecrementexpression goto 243 + postincrementexpression goto 244 + postdecrementexpression goto 245 + methodinvocation goto 248 + castexpression goto 249 + + +state 328 + andexpression : andexpression '&' . equalityexpression (260) + + THIS shift 158 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 42 + INCREMENT shift 169 + DECREMENT shift 170 + '(' shift 221 + '+' shift 222 + '-' shift 223 + '!' shift 224 + . error + + simplename goto 225 + qualifiedname goto 177 + name goto 279 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 226 + unaryexpressionnotplusminus goto 227 + unaryexpression goto 228 + multiplicativeexpression goto 229 + additiveexpression goto 230 + shiftexpression goto 231 + relationalexpression goto 232 + equalityexpression goto 383 + lambdaexpression goto 189 + preincrementexpression goto 242 + predecrementexpression goto 243 + postincrementexpression goto 244 + postdecrementexpression goto 245 + methodinvocation goto 248 + castexpression goto 249 + + +state 329 + exclusiveorexpression : exclusiveorexpression '^' . andexpression (249) + + THIS shift 158 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 42 + INCREMENT shift 169 + DECREMENT shift 170 + '(' shift 221 + '+' shift 222 + '-' shift 223 + '!' shift 224 + . error + + simplename goto 225 + qualifiedname goto 177 + name goto 279 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 226 + unaryexpressionnotplusminus goto 227 + unaryexpression goto 228 + multiplicativeexpression goto 229 + additiveexpression goto 230 + shiftexpression goto 231 + relationalexpression goto 232 + equalityexpression goto 233 + andexpression goto 384 + lambdaexpression goto 189 + preincrementexpression goto 242 + predecrementexpression goto 243 + postincrementexpression goto 244 + postdecrementexpression goto 245 + methodinvocation goto 248 + castexpression goto 249 + + +state 330 + inclusiveorexpression : inclusiveorexpression '|' . exclusiveorexpression (240) + + THIS shift 158 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 42 + INCREMENT shift 169 + DECREMENT shift 170 + '(' shift 221 + '+' shift 222 + '-' shift 223 + '!' shift 224 + . error + + simplename goto 225 + qualifiedname goto 177 + name goto 279 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 226 + unaryexpressionnotplusminus goto 227 + unaryexpression goto 228 + multiplicativeexpression goto 229 + additiveexpression goto 230 + shiftexpression goto 231 + relationalexpression goto 232 + equalityexpression goto 233 + andexpression goto 234 + exclusiveorexpression goto 385 + lambdaexpression goto 189 + preincrementexpression goto 242 + predecrementexpression goto 243 + postincrementexpression goto 244 + postdecrementexpression goto 245 + methodinvocation goto 248 + castexpression goto 249 + + +state 331 + conditionalandexpression : conditionalandexpression LOGICALAND . inclusiveorexpression (228) + + THIS shift 158 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 42 + INCREMENT shift 169 + DECREMENT shift 170 + '(' shift 221 + '+' shift 222 + '-' shift 223 + '!' shift 224 + . error + + simplename goto 225 + qualifiedname goto 177 + name goto 279 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 226 + unaryexpressionnotplusminus goto 227 + unaryexpression goto 228 + multiplicativeexpression goto 229 + additiveexpression goto 230 + shiftexpression goto 231 + relationalexpression goto 232 + equalityexpression goto 233 + andexpression goto 234 + exclusiveorexpression goto 235 + inclusiveorexpression goto 386 + lambdaexpression goto 189 + preincrementexpression goto 242 + predecrementexpression goto 243 + postincrementexpression goto 244 + postdecrementexpression goto 245 + methodinvocation goto 248 + castexpression goto 249 + + +state 332 + conditionalorexpression : conditionalorexpression LOGICALOR . conditionalandexpression (203) + + THIS shift 158 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 42 + INCREMENT shift 169 + DECREMENT shift 170 + '(' shift 221 + '+' shift 222 + '-' shift 223 + '!' shift 224 + . error + + simplename goto 225 + qualifiedname goto 177 + name goto 279 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 226 + unaryexpressionnotplusminus goto 227 + unaryexpression goto 228 + multiplicativeexpression goto 229 + additiveexpression goto 230 + shiftexpression goto 231 + relationalexpression goto 232 + equalityexpression goto 233 + andexpression goto 234 + exclusiveorexpression goto 235 + inclusiveorexpression goto 236 + conditionalandexpression goto 387 + lambdaexpression goto 189 + preincrementexpression goto 242 + predecrementexpression goto 243 + postincrementexpression goto 244 + postdecrementexpression goto 245 + methodinvocation goto 248 + castexpression goto 249 + + +state 333 + constructordeclarator : simplename '(' formalparameterlist ')' . (89) + + . reduce 89 + + +state 334 + methodheader : modifiers VOID methoddeclarator throws . (115) + + . reduce 115 + + +state 335 + methodheader : modifiers '<' boundedMethodParameters '>' . type methoddeclarator (107) + methodheader : modifiers '<' boundedMethodParameters '>' . type methoddeclarator throws (111) + methodheader : modifiers '<' boundedMethodParameters '>' . VOID methoddeclarator (117) + methodheader : modifiers '<' boundedMethodParameters '>' . VOID methoddeclarator throws (119) + + BOOLEAN shift 48 + CHAR shift 49 + INT shift 50 + VOID shift 388 + IDENTIFIER shift 42 + . error + + simplename goto 43 + classorinterfacetype goto 68 + integraltype goto 69 + numerictype goto 70 + primitivetype goto 71 + referencetype goto 72 + type goto 389 + + +state 336 + methodheader : modifiers type methoddeclarator throws . (110) + + . reduce 110 + + +state 337 + fielddeclaration : modifiers type variabledeclarators ';' . (84) + + . reduce 84 + + +state 338 + explicitconstructorinvocation : THIS '(' . ')' ';' (136) + explicitconstructorinvocation : THIS '(' . argumentlist ')' ';' (137) + + NEW shift 220 + THIS shift 158 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 42 + INCREMENT shift 169 + DECREMENT shift 170 + '(' shift 221 + ')' shift 390 + '+' shift 222 + '-' shift 223 + '!' shift 224 + . error + + simplename goto 225 + qualifiedname goto 177 + name goto 178 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 226 + unaryexpressionnotplusminus goto 227 + unaryexpression goto 228 + multiplicativeexpression goto 229 + additiveexpression goto 230 + shiftexpression goto 231 + relationalexpression goto 232 + equalityexpression goto 233 + andexpression goto 234 + exclusiveorexpression goto 235 + inclusiveorexpression goto 236 + conditionalandexpression goto 237 + conditionalorexpression goto 238 + conditionalexpression goto 239 + assignmentexpression goto 240 + lambdaexpression goto 189 + expression goto 357 + preincrementexpression goto 242 + predecrementexpression goto 243 + postincrementexpression goto 244 + postdecrementexpression goto 245 + classinstancecreationexpression goto 246 + assignment goto 247 + lefthandside goto 206 + argumentlist goto 391 + methodinvocation goto 248 + castexpression goto 249 + + +state 339 + constructorbody : '{' blockstatements '}' . (92) + + . reduce 92 + + +state 340 + constructorbody : '{' explicitconstructorinvocation '}' . (91) + + . reduce 91 + + +state 341 + constructorbody : '{' explicitconstructorinvocation blockstatements . '}' (93) + blockstatements : blockstatements . blockstatement (133) + + BOOLEAN shift 48 + CHAR shift 49 + FOR shift 155 + IF shift 156 + INT shift 50 + RETURN shift 157 + THIS shift 158 + WHILE shift 159 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 168 + INCREMENT shift 169 + DECREMENT shift 170 + ';' shift 171 + '{' shift 105 + '}' shift 392 + '(' shift 173 + . error + + variabledeclarators goto 174 + variabledeclarator goto 175 + variabledeclaratorid goto 66 + simplename goto 176 + qualifiedname goto 177 + name goto 178 + classorinterfacetype goto 68 + integraltype goto 69 + numerictype goto 70 + primitivetype goto 71 + referencetype goto 72 + type goto 179 + block goto 180 + localvariabledeclarationstatement goto 182 + localvariabledeclaration goto 183 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 188 + lambdaexpression goto 189 + statementexpression goto 190 + preincrementexpression goto 191 + predecrementexpression goto 192 + postincrementexpression goto 193 + postdecrementexpression goto 194 + expressionstatement goto 195 + statementwithouttrailingsubstatement goto 196 + blockstatement goto 288 + statement goto 198 + whilestatement goto 199 + forstatement goto 200 + ifthenstatement goto 201 + ifthenelsestatement goto 202 + emptystatement goto 203 + returnstatement goto 204 + assignment goto 205 + lefthandside goto 206 + methodinvocation goto 207 + + +state 342 + constantdeclaration : modifiers type IDENTIFIER '=' . expression ';' (77) + + NEW shift 220 + THIS shift 158 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 42 + INCREMENT shift 169 + DECREMENT shift 170 + '(' shift 221 + '+' shift 222 + '-' shift 223 + '!' shift 224 + . error + + simplename goto 225 + qualifiedname goto 177 + name goto 178 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 226 + unaryexpressionnotplusminus goto 227 + unaryexpression goto 228 + multiplicativeexpression goto 229 + additiveexpression goto 230 + shiftexpression goto 231 + relationalexpression goto 232 + equalityexpression goto 233 + andexpression goto 234 + exclusiveorexpression goto 235 + inclusiveorexpression goto 236 + conditionalandexpression goto 237 + conditionalorexpression goto 238 + conditionalexpression goto 239 + assignmentexpression goto 240 + lambdaexpression goto 189 + expression goto 393 + preincrementexpression goto 242 + predecrementexpression goto 243 + postincrementexpression goto 244 + postdecrementexpression goto 245 + classinstancecreationexpression goto 246 + assignment goto 247 + lefthandside goto 206 + methodinvocation goto 248 + castexpression goto 249 + + +state 343 + boundedclassidentifierlist : boundedclassidentifierlist '&' referencetype . (101) + + . reduce 101 + + +state 344 + paralist : IDENTIFIER '<' paralist . '>' (33) + paralist : paralist . ',' IDENTIFIER (35) + paralist : paralist . ',' IDENTIFIER '<' paralist '>' (36) + paralist : paralist . ',' wildcardparameter (37) + + ',' shift 272 + '>' shift 394 + . error + + +state 345 + wildcardparameter : '?' EXTENDS referencetype . (39) + + . reduce 39 + + +state 346 + wildcardparameter : '?' SUPER referencetype . (40) + + . reduce 40 + + +state 347 + paralist : paralist ',' IDENTIFIER . (35) + paralist : paralist ',' IDENTIFIER . '<' paralist '>' (36) + + '<' shift 395 + ',' reduce 35 + '>' reduce 35 + + +state 348 + paralist : paralist ',' wildcardparameter . (37) + + . reduce 37 + + +state 349 + forstatement : FOR '(' ';' . expression ';' expression ')' statement (177) + forstatement : FOR '(' ';' . expression ';' ')' statement (179) + forstatement : FOR '(' ';' . ';' expression ')' statement (180) + forstatement : FOR '(' ';' . ';' ')' statement (181) + + NEW shift 220 + THIS shift 158 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 42 + INCREMENT shift 169 + DECREMENT shift 170 + ';' shift 396 + '(' shift 221 + '+' shift 222 + '-' shift 223 + '!' shift 224 + . error + + simplename goto 225 + qualifiedname goto 177 + name goto 178 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 226 + unaryexpressionnotplusminus goto 227 + unaryexpression goto 228 + multiplicativeexpression goto 229 + additiveexpression goto 230 + shiftexpression goto 231 + relationalexpression goto 232 + equalityexpression goto 233 + andexpression goto 234 + exclusiveorexpression goto 235 + inclusiveorexpression goto 236 + conditionalandexpression goto 237 + conditionalorexpression goto 238 + conditionalexpression goto 239 + assignmentexpression goto 240 + lambdaexpression goto 189 + expression goto 397 + preincrementexpression goto 242 + predecrementexpression goto 243 + postincrementexpression goto 244 + postdecrementexpression goto 245 + classinstancecreationexpression goto 246 + assignment goto 247 + lefthandside goto 206 + methodinvocation goto 248 + castexpression goto 249 + + +state 350 + forstatement : FOR '(' expression . ';' expression ';' expression ')' statement (174) + forstatement : FOR '(' expression . ';' expression ';' ')' statement (175) + forstatement : FOR '(' expression . ';' ';' expression ')' statement (176) + forstatement : FOR '(' expression . ';' ';' ')' statement (178) ';' shift 398 . error -state 378 - paralist : paralist . ',' IDENTIFIER (34) - paralist : paralist . ',' IDENTIFIER '<' paralist '>' (35) - paralist : paralist ',' IDENTIFIER '<' paralist . '>' (35) - paralist : paralist . ',' wildcardparameter (36) +state 351 + ifthenstatement : IF '(' expression . ')' statement (171) + ifthenelsestatement : IF '(' expression . ')' statementnoshortif ELSE statement (172) - ',' shift 239 - '>' shift 399 + ')' shift 399 . error -state 379 - forstatement : FOR '(' ';' ';' ')' . statement (180) +state 352 + returnstatement : RETURN expression ';' . (187) - FOR shift 123 - IF shift 124 - RETURN shift 125 - THIS shift 126 - WHILE shift 127 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 - '{' shift 79 - '(' shift 141 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - block goto 148 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 164 - statement goto 400 - whilestatement goto 167 - forstatement goto 168 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 + . reduce 187 -state 380 - forstatement : FOR '(' ';' ';' expression . ')' statement (179) +state 353 + whilestatement : WHILE '(' expression . ')' statement (173) - ')' shift 401 + ')' shift 400 . error -state 381 - forstatement : FOR '(' ';' expression ';' . expression ')' statement (176) - forstatement : FOR '(' ';' expression ';' . ')' statement (178) +state 354 + lambdaexpressionparameter : '(' formalparameterlist ')' . (208) - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - ')' shift 402 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 208 - lambdaexpression goto 157 - expression goto 403 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 214 - assignment goto 215 - lefthandside goto 174 - methodinvocation goto 216 - castexpression goto 217 + . reduce 208 -state 382 - forstatement : FOR '(' expression ';' ';' . expression ')' statement (175) - forstatement : FOR '(' expression ';' ';' . ')' statement (177) +state 355 + qualifiedname : name '.' IDENTIFIER . (12) - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - ')' shift 404 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 208 - lambdaexpression goto 157 - expression goto 405 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 214 - assignment goto 215 - lefthandside goto 174 - methodinvocation goto 216 - castexpression goto 217 + . reduce 12 -state 383 - forstatement : FOR '(' expression ';' expression . ';' expression ')' statement (173) - forstatement : FOR '(' expression ';' expression . ';' ')' statement (174) +state 356 + methodinvocation : name '(' ')' . (221) - ';' shift 406 - . error + . reduce 221 -state 384 - ifthenstatement : IF . '(' expression ')' statement (170) - ifthenelsestatement : IF . '(' expression ')' statementnoshortif ELSE statement (171) - ifthenelsestatementnoshortif : IF . '(' expression ')' statementnoshortif ELSE statementnoshortif (199) - - '(' shift 407 - . error - - -state 385 - whilestatement : WHILE . '(' expression ')' statement (172) - whilestatementnoshortif : WHILE . '(' expression ')' statementnoshortif (200) - - '(' shift 408 - . error - - -state 386 - statement : statementwithouttrailingsubstatement . (155) - statementnoshortif : statementwithouttrailingsubstatement . (187) - - BOOLEAN reduce 155 - CHAR reduce 155 - ELSE reduce 187 - FOR reduce 155 - IF reduce 155 - INT reduce 155 - RETURN reduce 155 - THIS reduce 155 - WHILE reduce 155 - INTLITERAL reduce 155 - LONGLITERAL reduce 155 - DOUBLELITERAL reduce 155 - FLOATLITERAL reduce 155 - BOOLLITERAL reduce 155 - JNULL reduce 155 - CHARLITERAL reduce 155 - STRINGLITERAL reduce 155 - IDENTIFIER reduce 155 - INCREMENT reduce 155 - DECREMENT reduce 155 - ';' reduce 155 - '{' reduce 155 - '}' reduce 155 - '(' reduce 155 - - -state 387 - ifthenstatement : IF '(' expression ')' statement . (170) - - . reduce 170 - - -state 388 - ifthenelsestatement : IF '(' expression ')' statementnoshortif . ELSE statement (171) - - ELSE shift 409 - . error - - -state 389 - statementnoshortif : whilestatementnoshortif . (189) - - . reduce 189 - - -state 390 - statementnoshortif : ifthenelsestatementnoshortif . (188) - - . reduce 188 - - -state 391 - whilestatement : WHILE '(' expression ')' statement . (172) - - . reduce 172 - - -state 392 - argumentlist : argumentlist ',' expression . (150) +state 357 + argumentlist : expression . (150) . reduce 150 +state 358 + argumentlist : argumentlist . ',' expression (151) + methodinvocation : name '(' argumentlist . ')' (222) + + ',' shift 401 + ')' shift 402 + . error + + +state 359 + lambdabody : block . (205) + + . reduce 205 + + +state 360 + lambdaexpression : lambdaexpressionparameter lambdaassignmentoperator lambdabody . (209) + + . reduce 209 + + +state 361 + lambdabody : expression . (206) + + . reduce 206 + + +state 362 + methodinvocation : primary '.' IDENTIFIER . '(' ')' (223) + methodinvocation : primary '.' IDENTIFIER . '(' argumentlist ')' (224) + + '(' shift 403 + . error + + +state 363 + assignment : lefthandside assignmentoperator assignmentexpression . (192) + + . reduce 192 + + +state 364 + assignment : lefthandside assignmentoperator classinstancecreationexpression . (193) + + . reduce 193 + + +state 365 + formalparameterlist : formalparameterlist ',' formalparameter . (135) + + . reduce 135 + + +state 366 + methodheader : '<' boundedMethodParameters '>' VOID methoddeclarator . (116) + methodheader : '<' boundedMethodParameters '>' VOID methoddeclarator . throws (118) + + THROWS shift 114 + ';' reduce 116 + '{' reduce 116 + + throws goto 404 + + +state 367 + methodheader : '<' boundedMethodParameters '>' type methoddeclarator . (104) + methodheader : '<' boundedMethodParameters '>' type methoddeclarator . throws (109) + + THROWS shift 114 + ';' reduce 104 + '{' reduce 104 + + throws goto 405 + + +state 368 + classtypelist : classtypelist ',' classtype . (139) + + . reduce 139 + + +state 369 + classinstancecreationexpression : NEW classtype '(' . ')' (225) + classinstancecreationexpression : NEW classtype '(' . argumentlist ')' (226) + + NEW shift 220 + THIS shift 158 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 42 + INCREMENT shift 169 + DECREMENT shift 170 + '(' shift 221 + ')' shift 406 + '+' shift 222 + '-' shift 223 + '!' shift 224 + . error + + simplename goto 225 + qualifiedname goto 177 + name goto 178 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 226 + unaryexpressionnotplusminus goto 227 + unaryexpression goto 228 + multiplicativeexpression goto 229 + additiveexpression goto 230 + shiftexpression goto 231 + relationalexpression goto 232 + equalityexpression goto 233 + andexpression goto 234 + exclusiveorexpression goto 235 + inclusiveorexpression goto 236 + conditionalandexpression goto 237 + conditionalorexpression goto 238 + conditionalexpression goto 239 + assignmentexpression goto 240 + lambdaexpression goto 189 + expression goto 357 + preincrementexpression goto 242 + predecrementexpression goto 243 + postincrementexpression goto 244 + postdecrementexpression goto 245 + classinstancecreationexpression goto 246 + assignment goto 247 + lefthandside goto 206 + argumentlist goto 407 + methodinvocation goto 248 + castexpression goto 249 + + +state 370 + castexpression : '(' primitivetype ')' . unaryexpression (258) + + THIS shift 158 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 42 + INCREMENT shift 169 + DECREMENT shift 170 + '(' shift 221 + '+' shift 222 + '-' shift 223 + '!' shift 224 + . error + + simplename goto 225 + qualifiedname goto 177 + name goto 279 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 226 + unaryexpressionnotplusminus goto 227 + unaryexpression goto 408 + lambdaexpression goto 189 + preincrementexpression goto 242 + predecrementexpression goto 243 + postincrementexpression goto 244 + postdecrementexpression goto 245 + methodinvocation goto 248 + castexpression goto 249 + + +state 371 + multiplicativeexpression : multiplicativeexpression '*' unaryexpression . (275) + + . reduce 275 + + +state 372 + multiplicativeexpression : multiplicativeexpression '/' unaryexpression . (276) + + . reduce 276 + + +state 373 + multiplicativeexpression : multiplicativeexpression '%' unaryexpression . (277) + + . reduce 277 + + +374: shift/reduce conflict (shift 316, reduce 272) on '*' +374: shift/reduce conflict (shift 317, reduce 272) on '/' +374: shift/reduce conflict (shift 318, reduce 272) on '%' +state 374 + additiveexpression : additiveexpression '+' multiplicativeexpression . (272) + multiplicativeexpression : multiplicativeexpression . '*' unaryexpression (275) + multiplicativeexpression : multiplicativeexpression . '/' unaryexpression (276) + multiplicativeexpression : multiplicativeexpression . '%' unaryexpression (277) + + '*' shift 316 + '/' shift 317 + '%' shift 318 + ABSTRACT reduce 272 + BOOLEAN reduce 272 + CHAR reduce 272 + FINAL reduce 272 + INSTANCEOF reduce 272 + INT reduce 272 + PRIVATE reduce 272 + PROTECTED reduce 272 + PUBLIC reduce 272 + STATIC reduce 272 + VOID reduce 272 + IDENTIFIER reduce 272 + EQUAL reduce 272 + LESSEQUAL reduce 272 + GREATEREQUAL reduce 272 + NOTEQUAL reduce 272 + LOGICALOR reduce 272 + LOGICALAND reduce 272 + INCREMENT reduce 272 + DECREMENT reduce 272 + ',' reduce 272 + ';' reduce 272 + '.' reduce 272 + '<' reduce 272 + '>' reduce 272 + '}' reduce 272 + ')' reduce 272 + '&' reduce 272 + '+' reduce 272 + '-' reduce 272 + '|' reduce 272 + '^' reduce 272 + + +375: shift/reduce conflict (shift 316, reduce 273) on '*' +375: shift/reduce conflict (shift 317, reduce 273) on '/' +375: shift/reduce conflict (shift 318, reduce 273) on '%' +state 375 + additiveexpression : additiveexpression '-' multiplicativeexpression . (273) + multiplicativeexpression : multiplicativeexpression . '*' unaryexpression (275) + multiplicativeexpression : multiplicativeexpression . '/' unaryexpression (276) + multiplicativeexpression : multiplicativeexpression . '%' unaryexpression (277) + + '*' shift 316 + '/' shift 317 + '%' shift 318 + ABSTRACT reduce 273 + BOOLEAN reduce 273 + CHAR reduce 273 + FINAL reduce 273 + INSTANCEOF reduce 273 + INT reduce 273 + PRIVATE reduce 273 + PROTECTED reduce 273 + PUBLIC reduce 273 + STATIC reduce 273 + VOID reduce 273 + IDENTIFIER reduce 273 + EQUAL reduce 273 + LESSEQUAL reduce 273 + GREATEREQUAL reduce 273 + NOTEQUAL reduce 273 + LOGICALOR reduce 273 + LOGICALAND reduce 273 + INCREMENT reduce 273 + DECREMENT reduce 273 + ',' reduce 273 + ';' reduce 273 + '.' reduce 273 + '<' reduce 273 + '>' reduce 273 + '}' reduce 273 + ')' reduce 273 + '&' reduce 273 + '+' reduce 273 + '-' reduce 273 + '|' reduce 273 + '^' reduce 273 + + +state 376 + relationalexpression : relationalexpression INSTANCEOF referencetype . (269) + + . reduce 269 + + +state 377 + relationalexpression : relationalexpression LESSEQUAL shiftexpression . (267) + + . reduce 267 + + +state 378 + relationalexpression : relationalexpression GREATEREQUAL shiftexpression . (268) + + . reduce 268 + + +state 379 + relationalexpression : relationalexpression '<' shiftexpression . (265) + + . reduce 265 + + +state 380 + relationalexpression : relationalexpression '>' shiftexpression . (266) + + . reduce 266 + + +381: shift/reduce conflict (shift 321, reduce 262) on INSTANCEOF +381: shift/reduce conflict (shift 322, reduce 262) on LESSEQUAL +381: shift/reduce conflict (shift 323, reduce 262) on GREATEREQUAL +381: shift/reduce conflict (shift 324, reduce 262) on '<' +381: shift/reduce conflict (shift 325, reduce 262) on '>' +state 381 + equalityexpression : equalityexpression EQUAL relationalexpression . (262) + relationalexpression : relationalexpression . '<' shiftexpression (265) + relationalexpression : relationalexpression . '>' shiftexpression (266) + relationalexpression : relationalexpression . LESSEQUAL shiftexpression (267) + relationalexpression : relationalexpression . GREATEREQUAL shiftexpression (268) + relationalexpression : relationalexpression . INSTANCEOF referencetype (269) + + INSTANCEOF shift 321 + LESSEQUAL shift 322 + GREATEREQUAL shift 323 + '<' shift 324 + '>' shift 325 + ABSTRACT reduce 262 + BOOLEAN reduce 262 + CHAR reduce 262 + FINAL reduce 262 + INT reduce 262 + PRIVATE reduce 262 + PROTECTED reduce 262 + PUBLIC reduce 262 + STATIC reduce 262 + VOID reduce 262 + IDENTIFIER reduce 262 + EQUAL reduce 262 + NOTEQUAL reduce 262 + LOGICALOR reduce 262 + LOGICALAND reduce 262 + INCREMENT reduce 262 + DECREMENT reduce 262 + ',' reduce 262 + ';' reduce 262 + '.' reduce 262 + '*' reduce 262 + '}' reduce 262 + ')' reduce 262 + '&' reduce 262 + '+' reduce 262 + '-' reduce 262 + '|' reduce 262 + '^' reduce 262 + '/' reduce 262 + '%' reduce 262 + + +382: shift/reduce conflict (shift 321, reduce 263) on INSTANCEOF +382: shift/reduce conflict (shift 322, reduce 263) on LESSEQUAL +382: shift/reduce conflict (shift 323, reduce 263) on GREATEREQUAL +382: shift/reduce conflict (shift 324, reduce 263) on '<' +382: shift/reduce conflict (shift 325, reduce 263) on '>' +state 382 + equalityexpression : equalityexpression NOTEQUAL relationalexpression . (263) + relationalexpression : relationalexpression . '<' shiftexpression (265) + relationalexpression : relationalexpression . '>' shiftexpression (266) + relationalexpression : relationalexpression . LESSEQUAL shiftexpression (267) + relationalexpression : relationalexpression . GREATEREQUAL shiftexpression (268) + relationalexpression : relationalexpression . INSTANCEOF referencetype (269) + + INSTANCEOF shift 321 + LESSEQUAL shift 322 + GREATEREQUAL shift 323 + '<' shift 324 + '>' shift 325 + ABSTRACT reduce 263 + BOOLEAN reduce 263 + CHAR reduce 263 + FINAL reduce 263 + INT reduce 263 + PRIVATE reduce 263 + PROTECTED reduce 263 + PUBLIC reduce 263 + STATIC reduce 263 + VOID reduce 263 + IDENTIFIER reduce 263 + EQUAL reduce 263 + NOTEQUAL reduce 263 + LOGICALOR reduce 263 + LOGICALAND reduce 263 + INCREMENT reduce 263 + DECREMENT reduce 263 + ',' reduce 263 + ';' reduce 263 + '.' reduce 263 + '*' reduce 263 + '}' reduce 263 + ')' reduce 263 + '&' reduce 263 + '+' reduce 263 + '-' reduce 263 + '|' reduce 263 + '^' reduce 263 + '/' reduce 263 + '%' reduce 263 + + +383: shift/reduce conflict (shift 326, reduce 260) on EQUAL +383: shift/reduce conflict (shift 327, reduce 260) on NOTEQUAL +state 383 + andexpression : andexpression '&' equalityexpression . (260) + equalityexpression : equalityexpression . EQUAL relationalexpression (262) + equalityexpression : equalityexpression . NOTEQUAL relationalexpression (263) + + EQUAL shift 326 + NOTEQUAL shift 327 + ABSTRACT reduce 260 + BOOLEAN reduce 260 + CHAR reduce 260 + FINAL reduce 260 + INSTANCEOF reduce 260 + INT reduce 260 + PRIVATE reduce 260 + PROTECTED reduce 260 + PUBLIC reduce 260 + STATIC reduce 260 + VOID reduce 260 + IDENTIFIER reduce 260 + LESSEQUAL reduce 260 + GREATEREQUAL reduce 260 + LOGICALOR reduce 260 + LOGICALAND reduce 260 + INCREMENT reduce 260 + DECREMENT reduce 260 + ',' reduce 260 + ';' reduce 260 + '.' reduce 260 + '*' reduce 260 + '<' reduce 260 + '>' reduce 260 + '}' reduce 260 + ')' reduce 260 + '&' reduce 260 + '+' reduce 260 + '-' reduce 260 + '|' reduce 260 + '^' reduce 260 + '/' reduce 260 + '%' reduce 260 + + +384: shift/reduce conflict (shift 328, reduce 249) on '&' +state 384 + exclusiveorexpression : exclusiveorexpression '^' andexpression . (249) + andexpression : andexpression . '&' equalityexpression (260) + + '&' shift 328 + ABSTRACT reduce 249 + BOOLEAN reduce 249 + CHAR reduce 249 + FINAL reduce 249 + INSTANCEOF reduce 249 + INT reduce 249 + PRIVATE reduce 249 + PROTECTED reduce 249 + PUBLIC reduce 249 + STATIC reduce 249 + VOID reduce 249 + IDENTIFIER reduce 249 + EQUAL reduce 249 + LESSEQUAL reduce 249 + GREATEREQUAL reduce 249 + NOTEQUAL reduce 249 + LOGICALOR reduce 249 + LOGICALAND reduce 249 + INCREMENT reduce 249 + DECREMENT reduce 249 + ',' reduce 249 + ';' reduce 249 + '.' reduce 249 + '*' reduce 249 + '<' reduce 249 + '>' reduce 249 + '}' reduce 249 + ')' reduce 249 + '+' reduce 249 + '-' reduce 249 + '|' reduce 249 + '^' reduce 249 + '/' reduce 249 + '%' reduce 249 + + +385: shift/reduce conflict (shift 329, reduce 240) on '^' +state 385 + inclusiveorexpression : inclusiveorexpression '|' exclusiveorexpression . (240) + exclusiveorexpression : exclusiveorexpression . '^' andexpression (249) + + '^' shift 329 + ABSTRACT reduce 240 + BOOLEAN reduce 240 + CHAR reduce 240 + FINAL reduce 240 + INSTANCEOF reduce 240 + INT reduce 240 + PRIVATE reduce 240 + PROTECTED reduce 240 + PUBLIC reduce 240 + STATIC reduce 240 + VOID reduce 240 + IDENTIFIER reduce 240 + EQUAL reduce 240 + LESSEQUAL reduce 240 + GREATEREQUAL reduce 240 + NOTEQUAL reduce 240 + LOGICALOR reduce 240 + LOGICALAND reduce 240 + INCREMENT reduce 240 + DECREMENT reduce 240 + ',' reduce 240 + ';' reduce 240 + '.' reduce 240 + '*' reduce 240 + '<' reduce 240 + '>' reduce 240 + '}' reduce 240 + ')' reduce 240 + '&' reduce 240 + '+' reduce 240 + '-' reduce 240 + '|' reduce 240 + '/' reduce 240 + '%' reduce 240 + + +386: shift/reduce conflict (shift 330, reduce 228) on '|' +state 386 + conditionalandexpression : conditionalandexpression LOGICALAND inclusiveorexpression . (228) + inclusiveorexpression : inclusiveorexpression . '|' exclusiveorexpression (240) + + '|' shift 330 + ABSTRACT reduce 228 + BOOLEAN reduce 228 + CHAR reduce 228 + FINAL reduce 228 + INSTANCEOF reduce 228 + INT reduce 228 + PRIVATE reduce 228 + PROTECTED reduce 228 + PUBLIC reduce 228 + STATIC reduce 228 + VOID reduce 228 + IDENTIFIER reduce 228 + EQUAL reduce 228 + LESSEQUAL reduce 228 + GREATEREQUAL reduce 228 + NOTEQUAL reduce 228 + LOGICALOR reduce 228 + LOGICALAND reduce 228 + INCREMENT reduce 228 + DECREMENT reduce 228 + ',' reduce 228 + ';' reduce 228 + '.' reduce 228 + '*' reduce 228 + '<' reduce 228 + '>' reduce 228 + '}' reduce 228 + ')' reduce 228 + '&' reduce 228 + '+' reduce 228 + '-' reduce 228 + '^' reduce 228 + '/' reduce 228 + '%' reduce 228 + + +387: shift/reduce conflict (shift 331, reduce 203) on LOGICALAND +state 387 + conditionalorexpression : conditionalorexpression LOGICALOR conditionalandexpression . (203) + conditionalandexpression : conditionalandexpression . LOGICALAND inclusiveorexpression (228) + + LOGICALAND shift 331 + ABSTRACT reduce 203 + BOOLEAN reduce 203 + CHAR reduce 203 + FINAL reduce 203 + INSTANCEOF reduce 203 + INT reduce 203 + PRIVATE reduce 203 + PROTECTED reduce 203 + PUBLIC reduce 203 + STATIC reduce 203 + VOID reduce 203 + IDENTIFIER reduce 203 + EQUAL reduce 203 + LESSEQUAL reduce 203 + GREATEREQUAL reduce 203 + NOTEQUAL reduce 203 + LOGICALOR reduce 203 + INCREMENT reduce 203 + DECREMENT reduce 203 + ',' reduce 203 + ';' reduce 203 + '.' reduce 203 + '*' reduce 203 + '<' reduce 203 + '>' reduce 203 + '}' reduce 203 + ')' reduce 203 + '&' reduce 203 + '+' reduce 203 + '-' reduce 203 + '|' reduce 203 + '^' reduce 203 + '/' reduce 203 + '%' reduce 203 + + +state 388 + methodheader : modifiers '<' boundedMethodParameters '>' VOID . methoddeclarator (117) + methodheader : modifiers '<' boundedMethodParameters '>' VOID . methoddeclarator throws (119) + + IDENTIFIER shift 107 + . error + + methoddeclarator goto 409 + + +state 389 + methodheader : modifiers '<' boundedMethodParameters '>' type . methoddeclarator (107) + methodheader : modifiers '<' boundedMethodParameters '>' type . methoddeclarator throws (111) + + IDENTIFIER shift 107 + . error + + methoddeclarator goto 410 + + +state 390 + explicitconstructorinvocation : THIS '(' ')' . ';' (136) + + ';' shift 411 + . error + + +state 391 + explicitconstructorinvocation : THIS '(' argumentlist . ')' ';' (137) + argumentlist : argumentlist . ',' expression (151) + + ',' shift 401 + ')' shift 412 + . error + + +state 392 + constructorbody : '{' explicitconstructorinvocation blockstatements '}' . (93) + + . reduce 93 + + state 393 - methodinvocation : primary '.' IDENTIFIER '(' ')' . (222) + constantdeclaration : modifiers type IDENTIFIER '=' expression . ';' (77) + + ';' shift 413 + . error + + +state 394 + paralist : IDENTIFIER '<' paralist '>' . (33) + + . reduce 33 + + +state 395 + paralist : paralist ',' IDENTIFIER '<' . paralist '>' (36) + + IDENTIFIER shift 151 + '?' shift 152 + . error + + paralist goto 414 + wildcardparameter goto 154 + + +state 396 + forstatement : FOR '(' ';' ';' . expression ')' statement (180) + forstatement : FOR '(' ';' ';' . ')' statement (181) + + NEW shift 220 + THIS shift 158 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 42 + INCREMENT shift 169 + DECREMENT shift 170 + '(' shift 221 + ')' shift 415 + '+' shift 222 + '-' shift 223 + '!' shift 224 + . error + + simplename goto 225 + qualifiedname goto 177 + name goto 178 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 226 + unaryexpressionnotplusminus goto 227 + unaryexpression goto 228 + multiplicativeexpression goto 229 + additiveexpression goto 230 + shiftexpression goto 231 + relationalexpression goto 232 + equalityexpression goto 233 + andexpression goto 234 + exclusiveorexpression goto 235 + inclusiveorexpression goto 236 + conditionalandexpression goto 237 + conditionalorexpression goto 238 + conditionalexpression goto 239 + assignmentexpression goto 240 + lambdaexpression goto 189 + expression goto 416 + preincrementexpression goto 242 + predecrementexpression goto 243 + postincrementexpression goto 244 + postdecrementexpression goto 245 + classinstancecreationexpression goto 246 + assignment goto 247 + lefthandside goto 206 + methodinvocation goto 248 + castexpression goto 249 + + +state 397 + forstatement : FOR '(' ';' expression . ';' expression ')' statement (177) + forstatement : FOR '(' ';' expression . ';' ')' statement (179) + + ';' shift 417 + . error + + +state 398 + forstatement : FOR '(' expression ';' . expression ';' expression ')' statement (174) + forstatement : FOR '(' expression ';' . expression ';' ')' statement (175) + forstatement : FOR '(' expression ';' . ';' expression ')' statement (176) + forstatement : FOR '(' expression ';' . ';' ')' statement (178) + + NEW shift 220 + THIS shift 158 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 42 + INCREMENT shift 169 + DECREMENT shift 170 + ';' shift 418 + '(' shift 221 + '+' shift 222 + '-' shift 223 + '!' shift 224 + . error + + simplename goto 225 + qualifiedname goto 177 + name goto 178 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 226 + unaryexpressionnotplusminus goto 227 + unaryexpression goto 228 + multiplicativeexpression goto 229 + additiveexpression goto 230 + shiftexpression goto 231 + relationalexpression goto 232 + equalityexpression goto 233 + andexpression goto 234 + exclusiveorexpression goto 235 + inclusiveorexpression goto 236 + conditionalandexpression goto 237 + conditionalorexpression goto 238 + conditionalexpression goto 239 + assignmentexpression goto 240 + lambdaexpression goto 189 + expression goto 419 + preincrementexpression goto 242 + predecrementexpression goto 243 + postincrementexpression goto 244 + postdecrementexpression goto 245 + classinstancecreationexpression goto 246 + assignment goto 247 + lefthandside goto 206 + methodinvocation goto 248 + castexpression goto 249 + + +state 399 + ifthenstatement : IF '(' expression ')' . statement (171) + ifthenelsestatement : IF '(' expression ')' . statementnoshortif ELSE statement (172) + + FOR shift 155 + IF shift 420 + RETURN shift 157 + THIS shift 158 + WHILE shift 421 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 42 + INCREMENT shift 169 + DECREMENT shift 170 + ';' shift 171 + '{' shift 105 + '(' shift 173 + . error + + simplename goto 225 + qualifiedname goto 177 + name goto 178 + block goto 180 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 188 + lambdaexpression goto 189 + statementexpression goto 190 + preincrementexpression goto 191 + predecrementexpression goto 192 + postincrementexpression goto 193 + postdecrementexpression goto 194 + expressionstatement goto 195 + statementwithouttrailingsubstatement goto 422 + statement goto 423 + statementnoshortif goto 424 + whilestatement goto 199 + forstatement goto 200 + whilestatementnoshortif goto 425 + ifthenstatement goto 201 + ifthenelsestatement goto 202 + ifthenelsestatementnoshortif goto 426 + emptystatement goto 203 + returnstatement goto 204 + assignment goto 205 + lefthandside goto 206 + methodinvocation goto 207 + + +state 400 + whilestatement : WHILE '(' expression ')' . statement (173) + + FOR shift 155 + IF shift 156 + RETURN shift 157 + THIS shift 158 + WHILE shift 159 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 42 + INCREMENT shift 169 + DECREMENT shift 170 + ';' shift 171 + '{' shift 105 + '(' shift 173 + . error + + simplename goto 225 + qualifiedname goto 177 + name goto 178 + block goto 180 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 188 + lambdaexpression goto 189 + statementexpression goto 190 + preincrementexpression goto 191 + predecrementexpression goto 192 + postincrementexpression goto 193 + postdecrementexpression goto 194 + expressionstatement goto 195 + statementwithouttrailingsubstatement goto 196 + statement goto 427 + whilestatement goto 199 + forstatement goto 200 + ifthenstatement goto 201 + ifthenelsestatement goto 202 + emptystatement goto 203 + returnstatement goto 204 + assignment goto 205 + lefthandside goto 206 + methodinvocation goto 207 + + +state 401 + argumentlist : argumentlist ',' . expression (151) + + NEW shift 220 + THIS shift 158 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 42 + INCREMENT shift 169 + DECREMENT shift 170 + '(' shift 221 + '+' shift 222 + '-' shift 223 + '!' shift 224 + . error + + simplename goto 225 + qualifiedname goto 177 + name goto 178 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 226 + unaryexpressionnotplusminus goto 227 + unaryexpression goto 228 + multiplicativeexpression goto 229 + additiveexpression goto 230 + shiftexpression goto 231 + relationalexpression goto 232 + equalityexpression goto 233 + andexpression goto 234 + exclusiveorexpression goto 235 + inclusiveorexpression goto 236 + conditionalandexpression goto 237 + conditionalorexpression goto 238 + conditionalexpression goto 239 + assignmentexpression goto 240 + lambdaexpression goto 189 + expression goto 428 + preincrementexpression goto 242 + predecrementexpression goto 243 + postincrementexpression goto 244 + postdecrementexpression goto 245 + classinstancecreationexpression goto 246 + assignment goto 247 + lefthandside goto 206 + methodinvocation goto 248 + castexpression goto 249 + + +state 402 + methodinvocation : name '(' argumentlist ')' . (222) . reduce 222 -state 394 - argumentlist : argumentlist . ',' expression (150) - methodinvocation : primary '.' IDENTIFIER '(' argumentlist . ')' (223) +state 403 + methodinvocation : primary '.' IDENTIFIER '(' . ')' (223) + methodinvocation : primary '.' IDENTIFIER '(' . argumentlist ')' (224) - ',' shift 366 - ')' shift 410 + NEW shift 220 + THIS shift 158 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 42 + INCREMENT shift 169 + DECREMENT shift 170 + '(' shift 221 + ')' shift 429 + '+' shift 222 + '-' shift 223 + '!' shift 224 . error - -state 395 - classinstancecreationexpression : NEW classtype '(' argumentlist ')' . (225) - - . reduce 225 + simplename goto 225 + qualifiedname goto 177 + name goto 178 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 226 + unaryexpressionnotplusminus goto 227 + unaryexpression goto 228 + multiplicativeexpression goto 229 + additiveexpression goto 230 + shiftexpression goto 231 + relationalexpression goto 232 + equalityexpression goto 233 + andexpression goto 234 + exclusiveorexpression goto 235 + inclusiveorexpression goto 236 + conditionalandexpression goto 237 + conditionalorexpression goto 238 + conditionalexpression goto 239 + assignmentexpression goto 240 + lambdaexpression goto 189 + expression goto 357 + preincrementexpression goto 242 + predecrementexpression goto 243 + postincrementexpression goto 244 + postdecrementexpression goto 245 + classinstancecreationexpression goto 246 + assignment goto 247 + lefthandside goto 206 + argumentlist goto 430 + methodinvocation goto 248 + castexpression goto 249 -state 396 - methodheader : modifiers '<' boundedMethodParameters '>' VOID methoddeclarator throws . (118) +state 404 + methodheader : '<' boundedMethodParameters '>' VOID methoddeclarator throws . (118) . reduce 118 -state 397 - methodheader : modifiers '<' boundedMethodParameters '>' type methoddeclarator throws . (110) +state 405 + methodheader : '<' boundedMethodParameters '>' type methoddeclarator throws . (109) - . reduce 110 + . reduce 109 -state 398 - explicitconstructorinvocation : THIS '(' argumentlist ')' ';' . (136) +state 406 + classinstancecreationexpression : NEW classtype '(' ')' . (225) + + . reduce 225 + + +state 407 + argumentlist : argumentlist . ',' expression (151) + classinstancecreationexpression : NEW classtype '(' argumentlist . ')' (226) + + ',' shift 401 + ')' shift 431 + . error + + +state 408 + castexpression : '(' primitivetype ')' unaryexpression . (258) + + . reduce 258 + + +state 409 + methodheader : modifiers '<' boundedMethodParameters '>' VOID methoddeclarator . (117) + methodheader : modifiers '<' boundedMethodParameters '>' VOID methoddeclarator . throws (119) + + THROWS shift 114 + ';' reduce 117 + '{' reduce 117 + + throws goto 432 + + +state 410 + methodheader : modifiers '<' boundedMethodParameters '>' type methoddeclarator . (107) + methodheader : modifiers '<' boundedMethodParameters '>' type methoddeclarator . throws (111) + + THROWS shift 114 + ';' reduce 107 + '{' reduce 107 + + throws goto 433 + + +state 411 + explicitconstructorinvocation : THIS '(' ')' ';' . (136) . reduce 136 -state 399 - paralist : paralist ',' IDENTIFIER '<' paralist '>' . (35) - - . reduce 35 - - -state 400 - forstatement : FOR '(' ';' ';' ')' statement . (180) - - . reduce 180 - - -state 401 - forstatement : FOR '(' ';' ';' expression ')' . statement (179) - - FOR shift 123 - IF shift 124 - RETURN shift 125 - THIS shift 126 - WHILE shift 127 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 - '{' shift 79 - '(' shift 141 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - block goto 148 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 164 - statement goto 411 - whilestatement goto 167 - forstatement goto 168 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 - - -state 402 - forstatement : FOR '(' ';' expression ';' ')' . statement (178) - - FOR shift 123 - IF shift 124 - RETURN shift 125 - THIS shift 126 - WHILE shift 127 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 - '{' shift 79 - '(' shift 141 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - block goto 148 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 164 - statement goto 412 - whilestatement goto 167 - forstatement goto 168 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 - - -state 403 - forstatement : FOR '(' ';' expression ';' expression . ')' statement (176) - - ')' shift 413 - . error - - -state 404 - forstatement : FOR '(' expression ';' ';' ')' . statement (177) - - FOR shift 123 - IF shift 124 - RETURN shift 125 - THIS shift 126 - WHILE shift 127 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 - '{' shift 79 - '(' shift 141 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - block goto 148 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 164 - statement goto 414 - whilestatement goto 167 - forstatement goto 168 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 - - -state 405 - forstatement : FOR '(' expression ';' ';' expression . ')' statement (175) - - ')' shift 415 - . error - - -state 406 - forstatement : FOR '(' expression ';' expression ';' . expression ')' statement (173) - forstatement : FOR '(' expression ';' expression ';' . ')' statement (174) - - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - ')' shift 416 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 208 - lambdaexpression goto 157 - expression goto 417 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 214 - assignment goto 215 - lefthandside goto 174 - methodinvocation goto 216 - castexpression goto 217 - - -state 407 - ifthenstatement : IF '(' . expression ')' statement (170) - ifthenelsestatement : IF '(' . expression ')' statementnoshortif ELSE statement (171) - ifthenelsestatementnoshortif : IF '(' . expression ')' statementnoshortif ELSE statementnoshortif (199) - - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 208 - lambdaexpression goto 157 - expression goto 418 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 214 - assignment goto 215 - lefthandside goto 174 - methodinvocation goto 216 - castexpression goto 217 - - -state 408 - whilestatement : WHILE '(' . expression ')' statement (172) - whilestatementnoshortif : WHILE '(' . expression ')' statementnoshortif (200) - - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 208 - lambdaexpression goto 157 - expression goto 419 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 214 - assignment goto 215 - lefthandside goto 174 - methodinvocation goto 216 - castexpression goto 217 - - -state 409 - ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE . statement (171) - - FOR shift 123 - IF shift 124 - RETURN shift 125 - THIS shift 126 - WHILE shift 127 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 - '{' shift 79 - '(' shift 141 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - block goto 148 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 164 - statement goto 420 - whilestatement goto 167 - forstatement goto 168 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 - - -state 410 - methodinvocation : primary '.' IDENTIFIER '(' argumentlist ')' . (223) - - . reduce 223 - - -state 411 - forstatement : FOR '(' ';' ';' expression ')' statement . (179) - - . reduce 179 - - state 412 - forstatement : FOR '(' ';' expression ';' ')' statement . (178) + explicitconstructorinvocation : THIS '(' argumentlist ')' . ';' (137) - . reduce 178 + ';' shift 434 + . error state 413 - forstatement : FOR '(' ';' expression ';' expression ')' . statement (176) + constantdeclaration : modifiers type IDENTIFIER '=' expression ';' . (77) - FOR shift 123 - IF shift 124 - RETURN shift 125 - THIS shift 126 - WHILE shift 127 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 - '{' shift 79 - '(' shift 141 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - block goto 148 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 164 - statement goto 421 - whilestatement goto 167 - forstatement goto 168 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 + . reduce 77 state 414 - forstatement : FOR '(' expression ';' ';' ')' statement . (177) + paralist : paralist . ',' IDENTIFIER (35) + paralist : paralist . ',' IDENTIFIER '<' paralist '>' (36) + paralist : paralist ',' IDENTIFIER '<' paralist . '>' (36) + paralist : paralist . ',' wildcardparameter (37) - . reduce 177 + ',' shift 272 + '>' shift 435 + . error state 415 - forstatement : FOR '(' expression ';' ';' expression ')' . statement (175) + forstatement : FOR '(' ';' ';' ')' . statement (181) - FOR shift 123 - IF shift 124 - RETURN shift 125 - THIS shift 126 - WHILE shift 127 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 - '{' shift 79 - '(' shift 141 + FOR shift 155 + IF shift 156 + RETURN shift 157 + THIS shift 158 + WHILE shift 159 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 42 + INCREMENT shift 169 + DECREMENT shift 170 + ';' shift 171 + '{' shift 105 + '(' shift 173 . error - simplename goto 193 - qualifiedname goto 145 - name goto 146 - block goto 148 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 164 - statement goto 422 - whilestatement goto 167 - forstatement goto 168 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 + simplename goto 225 + qualifiedname goto 177 + name goto 178 + block goto 180 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 188 + lambdaexpression goto 189 + statementexpression goto 190 + preincrementexpression goto 191 + predecrementexpression goto 192 + postincrementexpression goto 193 + postdecrementexpression goto 194 + expressionstatement goto 195 + statementwithouttrailingsubstatement goto 196 + statement goto 436 + whilestatement goto 199 + forstatement goto 200 + ifthenstatement goto 201 + ifthenelsestatement goto 202 + emptystatement goto 203 + returnstatement goto 204 + assignment goto 205 + lefthandside goto 206 + methodinvocation goto 207 state 416 - forstatement : FOR '(' expression ';' expression ';' ')' . statement (174) + forstatement : FOR '(' ';' ';' expression . ')' statement (180) - FOR shift 123 - IF shift 124 - RETURN shift 125 - THIS shift 126 - WHILE shift 127 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 - '{' shift 79 - '(' shift 141 + ')' shift 437 . error - simplename goto 193 - qualifiedname goto 145 - name goto 146 - block goto 148 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 164 - statement goto 423 - whilestatement goto 167 - forstatement goto 168 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 - state 417 - forstatement : FOR '(' expression ';' expression ';' expression . ')' statement (173) + forstatement : FOR '(' ';' expression ';' . expression ')' statement (177) + forstatement : FOR '(' ';' expression ';' . ')' statement (179) - ')' shift 424 + NEW shift 220 + THIS shift 158 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 42 + INCREMENT shift 169 + DECREMENT shift 170 + '(' shift 221 + ')' shift 438 + '+' shift 222 + '-' shift 223 + '!' shift 224 . error + simplename goto 225 + qualifiedname goto 177 + name goto 178 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 226 + unaryexpressionnotplusminus goto 227 + unaryexpression goto 228 + multiplicativeexpression goto 229 + additiveexpression goto 230 + shiftexpression goto 231 + relationalexpression goto 232 + equalityexpression goto 233 + andexpression goto 234 + exclusiveorexpression goto 235 + inclusiveorexpression goto 236 + conditionalandexpression goto 237 + conditionalorexpression goto 238 + conditionalexpression goto 239 + assignmentexpression goto 240 + lambdaexpression goto 189 + expression goto 439 + preincrementexpression goto 242 + predecrementexpression goto 243 + postincrementexpression goto 244 + postdecrementexpression goto 245 + classinstancecreationexpression goto 246 + assignment goto 247 + lefthandside goto 206 + methodinvocation goto 248 + castexpression goto 249 + state 418 - ifthenstatement : IF '(' expression . ')' statement (170) - ifthenelsestatement : IF '(' expression . ')' statementnoshortif ELSE statement (171) - ifthenelsestatementnoshortif : IF '(' expression . ')' statementnoshortif ELSE statementnoshortif (199) + forstatement : FOR '(' expression ';' ';' . expression ')' statement (176) + forstatement : FOR '(' expression ';' ';' . ')' statement (178) - ')' shift 425 + NEW shift 220 + THIS shift 158 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 42 + INCREMENT shift 169 + DECREMENT shift 170 + '(' shift 221 + ')' shift 440 + '+' shift 222 + '-' shift 223 + '!' shift 224 . error + simplename goto 225 + qualifiedname goto 177 + name goto 178 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 226 + unaryexpressionnotplusminus goto 227 + unaryexpression goto 228 + multiplicativeexpression goto 229 + additiveexpression goto 230 + shiftexpression goto 231 + relationalexpression goto 232 + equalityexpression goto 233 + andexpression goto 234 + exclusiveorexpression goto 235 + inclusiveorexpression goto 236 + conditionalandexpression goto 237 + conditionalorexpression goto 238 + conditionalexpression goto 239 + assignmentexpression goto 240 + lambdaexpression goto 189 + expression goto 441 + preincrementexpression goto 242 + predecrementexpression goto 243 + postincrementexpression goto 244 + postdecrementexpression goto 245 + classinstancecreationexpression goto 246 + assignment goto 247 + lefthandside goto 206 + methodinvocation goto 248 + castexpression goto 249 + state 419 - whilestatement : WHILE '(' expression . ')' statement (172) - whilestatementnoshortif : WHILE '(' expression . ')' statementnoshortif (200) + forstatement : FOR '(' expression ';' expression . ';' expression ')' statement (174) + forstatement : FOR '(' expression ';' expression . ';' ')' statement (175) - ')' shift 426 + ';' shift 442 . error state 420 - ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE statement . (171) + ifthenstatement : IF . '(' expression ')' statement (171) + ifthenelsestatement : IF . '(' expression ')' statementnoshortif ELSE statement (172) + ifthenelsestatementnoshortif : IF . '(' expression ')' statementnoshortif ELSE statementnoshortif (200) + + '(' shift 443 + . error + + +state 421 + whilestatement : WHILE . '(' expression ')' statement (173) + whilestatementnoshortif : WHILE . '(' expression ')' statementnoshortif (201) + + '(' shift 444 + . error + + +state 422 + statement : statementwithouttrailingsubstatement . (156) + statementnoshortif : statementwithouttrailingsubstatement . (188) + + BOOLEAN reduce 156 + CHAR reduce 156 + ELSE reduce 188 + FOR reduce 156 + IF reduce 156 + INT reduce 156 + RETURN reduce 156 + THIS reduce 156 + WHILE reduce 156 + INTLITERAL reduce 156 + LONGLITERAL reduce 156 + DOUBLELITERAL reduce 156 + FLOATLITERAL reduce 156 + BOOLLITERAL reduce 156 + JNULL reduce 156 + CHARLITERAL reduce 156 + STRINGLITERAL reduce 156 + IDENTIFIER reduce 156 + INCREMENT reduce 156 + DECREMENT reduce 156 + ';' reduce 156 + '{' reduce 156 + '}' reduce 156 + '(' reduce 156 + + +state 423 + ifthenstatement : IF '(' expression ')' statement . (171) . reduce 171 -state 421 - forstatement : FOR '(' ';' expression ';' expression ')' statement . (176) - - . reduce 176 - - -state 422 - forstatement : FOR '(' expression ';' ';' expression ')' statement . (175) - - . reduce 175 - - -state 423 - forstatement : FOR '(' expression ';' expression ';' ')' statement . (174) - - . reduce 174 - - state 424 - forstatement : FOR '(' expression ';' expression ';' expression ')' . statement (173) + ifthenelsestatement : IF '(' expression ')' statementnoshortif . ELSE statement (172) - FOR shift 123 - IF shift 124 - RETURN shift 125 - THIS shift 126 - WHILE shift 127 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 - '{' shift 79 - '(' shift 141 + ELSE shift 445 . error - simplename goto 193 - qualifiedname goto 145 - name goto 146 - block goto 148 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 164 - statement goto 427 - whilestatement goto 167 - forstatement goto 168 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 - state 425 - ifthenstatement : IF '(' expression ')' . statement (170) - ifthenelsestatement : IF '(' expression ')' . statementnoshortif ELSE statement (171) - ifthenelsestatementnoshortif : IF '(' expression ')' . statementnoshortif ELSE statementnoshortif (199) + statementnoshortif : whilestatementnoshortif . (190) - FOR shift 123 - IF shift 384 - RETURN shift 125 - THIS shift 126 - WHILE shift 385 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 - '{' shift 79 - '(' shift 141 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - block goto 148 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 386 - statement goto 387 - statementnoshortif goto 428 - whilestatement goto 167 - forstatement goto 168 - whilestatementnoshortif goto 389 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - ifthenelsestatementnoshortif goto 390 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 + . reduce 190 state 426 - whilestatement : WHILE '(' expression ')' . statement (172) - whilestatementnoshortif : WHILE '(' expression ')' . statementnoshortif (200) + statementnoshortif : ifthenelsestatementnoshortif . (189) - FOR shift 123 - IF shift 384 - RETURN shift 125 - THIS shift 126 - WHILE shift 385 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 - '{' shift 79 - '(' shift 141 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - block goto 148 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 386 - statement goto 391 - statementnoshortif goto 429 - whilestatement goto 167 - forstatement goto 168 - whilestatementnoshortif goto 389 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - ifthenelsestatementnoshortif goto 390 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 + . reduce 189 state 427 - forstatement : FOR '(' expression ';' expression ';' expression ')' statement . (173) + whilestatement : WHILE '(' expression ')' statement . (173) . reduce 173 state 428 - ifthenelsestatement : IF '(' expression ')' statementnoshortif . ELSE statement (171) - ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif . ELSE statementnoshortif (199) + argumentlist : argumentlist ',' expression . (151) - ELSE shift 430 - . error + . reduce 151 state 429 - whilestatementnoshortif : WHILE '(' expression ')' statementnoshortif . (200) + methodinvocation : primary '.' IDENTIFIER '(' ')' . (223) - . reduce 200 + . reduce 223 state 430 - ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE . statement (171) - ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif ELSE . statementnoshortif (199) + argumentlist : argumentlist . ',' expression (151) + methodinvocation : primary '.' IDENTIFIER '(' argumentlist . ')' (224) - FOR shift 123 - IF shift 384 - RETURN shift 125 - THIS shift 126 - WHILE shift 385 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 - '{' shift 79 - '(' shift 141 + ',' shift 401 + ')' shift 446 . error - simplename goto 193 - qualifiedname goto 145 - name goto 146 - block goto 148 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 386 - statement goto 420 - statementnoshortif goto 431 - whilestatement goto 167 - forstatement goto 168 - whilestatementnoshortif goto 389 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - ifthenelsestatementnoshortif goto 390 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 - state 431 - ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif ELSE statementnoshortif . (199) + classinstancecreationexpression : NEW classtype '(' argumentlist ')' . (226) - . reduce 199 + . reduce 226 + + +state 432 + methodheader : modifiers '<' boundedMethodParameters '>' VOID methoddeclarator throws . (119) + + . reduce 119 + + +state 433 + methodheader : modifiers '<' boundedMethodParameters '>' type methoddeclarator throws . (111) + + . reduce 111 + + +state 434 + explicitconstructorinvocation : THIS '(' argumentlist ')' ';' . (137) + + . reduce 137 + + +state 435 + paralist : paralist ',' IDENTIFIER '<' paralist '>' . (36) + + . reduce 36 + + +state 436 + forstatement : FOR '(' ';' ';' ')' statement . (181) + + . reduce 181 + + +state 437 + forstatement : FOR '(' ';' ';' expression ')' . statement (180) + + FOR shift 155 + IF shift 156 + RETURN shift 157 + THIS shift 158 + WHILE shift 159 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 42 + INCREMENT shift 169 + DECREMENT shift 170 + ';' shift 171 + '{' shift 105 + '(' shift 173 + . error + + simplename goto 225 + qualifiedname goto 177 + name goto 178 + block goto 180 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 188 + lambdaexpression goto 189 + statementexpression goto 190 + preincrementexpression goto 191 + predecrementexpression goto 192 + postincrementexpression goto 193 + postdecrementexpression goto 194 + expressionstatement goto 195 + statementwithouttrailingsubstatement goto 196 + statement goto 447 + whilestatement goto 199 + forstatement goto 200 + ifthenstatement goto 201 + ifthenelsestatement goto 202 + emptystatement goto 203 + returnstatement goto 204 + assignment goto 205 + lefthandside goto 206 + methodinvocation goto 207 + + +state 438 + forstatement : FOR '(' ';' expression ';' ')' . statement (179) + + FOR shift 155 + IF shift 156 + RETURN shift 157 + THIS shift 158 + WHILE shift 159 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 42 + INCREMENT shift 169 + DECREMENT shift 170 + ';' shift 171 + '{' shift 105 + '(' shift 173 + . error + + simplename goto 225 + qualifiedname goto 177 + name goto 178 + block goto 180 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 188 + lambdaexpression goto 189 + statementexpression goto 190 + preincrementexpression goto 191 + predecrementexpression goto 192 + postincrementexpression goto 193 + postdecrementexpression goto 194 + expressionstatement goto 195 + statementwithouttrailingsubstatement goto 196 + statement goto 448 + whilestatement goto 199 + forstatement goto 200 + ifthenstatement goto 201 + ifthenelsestatement goto 202 + emptystatement goto 203 + returnstatement goto 204 + assignment goto 205 + lefthandside goto 206 + methodinvocation goto 207 + + +state 439 + forstatement : FOR '(' ';' expression ';' expression . ')' statement (177) + + ')' shift 449 + . error + + +state 440 + forstatement : FOR '(' expression ';' ';' ')' . statement (178) + + FOR shift 155 + IF shift 156 + RETURN shift 157 + THIS shift 158 + WHILE shift 159 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 42 + INCREMENT shift 169 + DECREMENT shift 170 + ';' shift 171 + '{' shift 105 + '(' shift 173 + . error + + simplename goto 225 + qualifiedname goto 177 + name goto 178 + block goto 180 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 188 + lambdaexpression goto 189 + statementexpression goto 190 + preincrementexpression goto 191 + predecrementexpression goto 192 + postincrementexpression goto 193 + postdecrementexpression goto 194 + expressionstatement goto 195 + statementwithouttrailingsubstatement goto 196 + statement goto 450 + whilestatement goto 199 + forstatement goto 200 + ifthenstatement goto 201 + ifthenelsestatement goto 202 + emptystatement goto 203 + returnstatement goto 204 + assignment goto 205 + lefthandside goto 206 + methodinvocation goto 207 + + +state 441 + forstatement : FOR '(' expression ';' ';' expression . ')' statement (176) + + ')' shift 451 + . error + + +state 442 + forstatement : FOR '(' expression ';' expression ';' . expression ')' statement (174) + forstatement : FOR '(' expression ';' expression ';' . ')' statement (175) + + NEW shift 220 + THIS shift 158 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 42 + INCREMENT shift 169 + DECREMENT shift 170 + '(' shift 221 + ')' shift 452 + '+' shift 222 + '-' shift 223 + '!' shift 224 + . error + + simplename goto 225 + qualifiedname goto 177 + name goto 178 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 226 + unaryexpressionnotplusminus goto 227 + unaryexpression goto 228 + multiplicativeexpression goto 229 + additiveexpression goto 230 + shiftexpression goto 231 + relationalexpression goto 232 + equalityexpression goto 233 + andexpression goto 234 + exclusiveorexpression goto 235 + inclusiveorexpression goto 236 + conditionalandexpression goto 237 + conditionalorexpression goto 238 + conditionalexpression goto 239 + assignmentexpression goto 240 + lambdaexpression goto 189 + expression goto 453 + preincrementexpression goto 242 + predecrementexpression goto 243 + postincrementexpression goto 244 + postdecrementexpression goto 245 + classinstancecreationexpression goto 246 + assignment goto 247 + lefthandside goto 206 + methodinvocation goto 248 + castexpression goto 249 + + +state 443 + ifthenstatement : IF '(' . expression ')' statement (171) + ifthenelsestatement : IF '(' . expression ')' statementnoshortif ELSE statement (172) + ifthenelsestatementnoshortif : IF '(' . expression ')' statementnoshortif ELSE statementnoshortif (200) + + NEW shift 220 + THIS shift 158 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 42 + INCREMENT shift 169 + DECREMENT shift 170 + '(' shift 221 + '+' shift 222 + '-' shift 223 + '!' shift 224 + . error + + simplename goto 225 + qualifiedname goto 177 + name goto 178 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 226 + unaryexpressionnotplusminus goto 227 + unaryexpression goto 228 + multiplicativeexpression goto 229 + additiveexpression goto 230 + shiftexpression goto 231 + relationalexpression goto 232 + equalityexpression goto 233 + andexpression goto 234 + exclusiveorexpression goto 235 + inclusiveorexpression goto 236 + conditionalandexpression goto 237 + conditionalorexpression goto 238 + conditionalexpression goto 239 + assignmentexpression goto 240 + lambdaexpression goto 189 + expression goto 454 + preincrementexpression goto 242 + predecrementexpression goto 243 + postincrementexpression goto 244 + postdecrementexpression goto 245 + classinstancecreationexpression goto 246 + assignment goto 247 + lefthandside goto 206 + methodinvocation goto 248 + castexpression goto 249 + + +state 444 + whilestatement : WHILE '(' . expression ')' statement (173) + whilestatementnoshortif : WHILE '(' . expression ')' statementnoshortif (201) + + NEW shift 220 + THIS shift 158 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 42 + INCREMENT shift 169 + DECREMENT shift 170 + '(' shift 221 + '+' shift 222 + '-' shift 223 + '!' shift 224 + . error + + simplename goto 225 + qualifiedname goto 177 + name goto 178 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 226 + unaryexpressionnotplusminus goto 227 + unaryexpression goto 228 + multiplicativeexpression goto 229 + additiveexpression goto 230 + shiftexpression goto 231 + relationalexpression goto 232 + equalityexpression goto 233 + andexpression goto 234 + exclusiveorexpression goto 235 + inclusiveorexpression goto 236 + conditionalandexpression goto 237 + conditionalorexpression goto 238 + conditionalexpression goto 239 + assignmentexpression goto 240 + lambdaexpression goto 189 + expression goto 455 + preincrementexpression goto 242 + predecrementexpression goto 243 + postincrementexpression goto 244 + postdecrementexpression goto 245 + classinstancecreationexpression goto 246 + assignment goto 247 + lefthandside goto 206 + methodinvocation goto 248 + castexpression goto 249 + + +state 445 + ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE . statement (172) + + FOR shift 155 + IF shift 156 + RETURN shift 157 + THIS shift 158 + WHILE shift 159 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 42 + INCREMENT shift 169 + DECREMENT shift 170 + ';' shift 171 + '{' shift 105 + '(' shift 173 + . error + + simplename goto 225 + qualifiedname goto 177 + name goto 178 + block goto 180 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 188 + lambdaexpression goto 189 + statementexpression goto 190 + preincrementexpression goto 191 + predecrementexpression goto 192 + postincrementexpression goto 193 + postdecrementexpression goto 194 + expressionstatement goto 195 + statementwithouttrailingsubstatement goto 196 + statement goto 456 + whilestatement goto 199 + forstatement goto 200 + ifthenstatement goto 201 + ifthenelsestatement goto 202 + emptystatement goto 203 + returnstatement goto 204 + assignment goto 205 + lefthandside goto 206 + methodinvocation goto 207 + + +state 446 + methodinvocation : primary '.' IDENTIFIER '(' argumentlist ')' . (224) + + . reduce 224 + + +state 447 + forstatement : FOR '(' ';' ';' expression ')' statement . (180) + + . reduce 180 + + +state 448 + forstatement : FOR '(' ';' expression ';' ')' statement . (179) + + . reduce 179 + + +state 449 + forstatement : FOR '(' ';' expression ';' expression ')' . statement (177) + + FOR shift 155 + IF shift 156 + RETURN shift 157 + THIS shift 158 + WHILE shift 159 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 42 + INCREMENT shift 169 + DECREMENT shift 170 + ';' shift 171 + '{' shift 105 + '(' shift 173 + . error + + simplename goto 225 + qualifiedname goto 177 + name goto 178 + block goto 180 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 188 + lambdaexpression goto 189 + statementexpression goto 190 + preincrementexpression goto 191 + predecrementexpression goto 192 + postincrementexpression goto 193 + postdecrementexpression goto 194 + expressionstatement goto 195 + statementwithouttrailingsubstatement goto 196 + statement goto 457 + whilestatement goto 199 + forstatement goto 200 + ifthenstatement goto 201 + ifthenelsestatement goto 202 + emptystatement goto 203 + returnstatement goto 204 + assignment goto 205 + lefthandside goto 206 + methodinvocation goto 207 + + +state 450 + forstatement : FOR '(' expression ';' ';' ')' statement . (178) + + . reduce 178 + + +state 451 + forstatement : FOR '(' expression ';' ';' expression ')' . statement (176) + + FOR shift 155 + IF shift 156 + RETURN shift 157 + THIS shift 158 + WHILE shift 159 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 42 + INCREMENT shift 169 + DECREMENT shift 170 + ';' shift 171 + '{' shift 105 + '(' shift 173 + . error + + simplename goto 225 + qualifiedname goto 177 + name goto 178 + block goto 180 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 188 + lambdaexpression goto 189 + statementexpression goto 190 + preincrementexpression goto 191 + predecrementexpression goto 192 + postincrementexpression goto 193 + postdecrementexpression goto 194 + expressionstatement goto 195 + statementwithouttrailingsubstatement goto 196 + statement goto 458 + whilestatement goto 199 + forstatement goto 200 + ifthenstatement goto 201 + ifthenelsestatement goto 202 + emptystatement goto 203 + returnstatement goto 204 + assignment goto 205 + lefthandside goto 206 + methodinvocation goto 207 + + +state 452 + forstatement : FOR '(' expression ';' expression ';' ')' . statement (175) + + FOR shift 155 + IF shift 156 + RETURN shift 157 + THIS shift 158 + WHILE shift 159 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 42 + INCREMENT shift 169 + DECREMENT shift 170 + ';' shift 171 + '{' shift 105 + '(' shift 173 + . error + + simplename goto 225 + qualifiedname goto 177 + name goto 178 + block goto 180 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 188 + lambdaexpression goto 189 + statementexpression goto 190 + preincrementexpression goto 191 + predecrementexpression goto 192 + postincrementexpression goto 193 + postdecrementexpression goto 194 + expressionstatement goto 195 + statementwithouttrailingsubstatement goto 196 + statement goto 459 + whilestatement goto 199 + forstatement goto 200 + ifthenstatement goto 201 + ifthenelsestatement goto 202 + emptystatement goto 203 + returnstatement goto 204 + assignment goto 205 + lefthandside goto 206 + methodinvocation goto 207 + + +state 453 + forstatement : FOR '(' expression ';' expression ';' expression . ')' statement (174) + + ')' shift 460 + . error + + +state 454 + ifthenstatement : IF '(' expression . ')' statement (171) + ifthenelsestatement : IF '(' expression . ')' statementnoshortif ELSE statement (172) + ifthenelsestatementnoshortif : IF '(' expression . ')' statementnoshortif ELSE statementnoshortif (200) + + ')' shift 461 + . error + + +state 455 + whilestatement : WHILE '(' expression . ')' statement (173) + whilestatementnoshortif : WHILE '(' expression . ')' statementnoshortif (201) + + ')' shift 462 + . error + + +state 456 + ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE statement . (172) + + . reduce 172 + + +state 457 + forstatement : FOR '(' ';' expression ';' expression ')' statement . (177) + + . reduce 177 + + +state 458 + forstatement : FOR '(' expression ';' ';' expression ')' statement . (176) + + . reduce 176 + + +state 459 + forstatement : FOR '(' expression ';' expression ';' ')' statement . (175) + + . reduce 175 + + +state 460 + forstatement : FOR '(' expression ';' expression ';' expression ')' . statement (174) + + FOR shift 155 + IF shift 156 + RETURN shift 157 + THIS shift 158 + WHILE shift 159 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 42 + INCREMENT shift 169 + DECREMENT shift 170 + ';' shift 171 + '{' shift 105 + '(' shift 173 + . error + + simplename goto 225 + qualifiedname goto 177 + name goto 178 + block goto 180 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 188 + lambdaexpression goto 189 + statementexpression goto 190 + preincrementexpression goto 191 + predecrementexpression goto 192 + postincrementexpression goto 193 + postdecrementexpression goto 194 + expressionstatement goto 195 + statementwithouttrailingsubstatement goto 196 + statement goto 463 + whilestatement goto 199 + forstatement goto 200 + ifthenstatement goto 201 + ifthenelsestatement goto 202 + emptystatement goto 203 + returnstatement goto 204 + assignment goto 205 + lefthandside goto 206 + methodinvocation goto 207 + + +state 461 + ifthenstatement : IF '(' expression ')' . statement (171) + ifthenelsestatement : IF '(' expression ')' . statementnoshortif ELSE statement (172) + ifthenelsestatementnoshortif : IF '(' expression ')' . statementnoshortif ELSE statementnoshortif (200) + + FOR shift 155 + IF shift 420 + RETURN shift 157 + THIS shift 158 + WHILE shift 421 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 42 + INCREMENT shift 169 + DECREMENT shift 170 + ';' shift 171 + '{' shift 105 + '(' shift 173 + . error + + simplename goto 225 + qualifiedname goto 177 + name goto 178 + block goto 180 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 188 + lambdaexpression goto 189 + statementexpression goto 190 + preincrementexpression goto 191 + predecrementexpression goto 192 + postincrementexpression goto 193 + postdecrementexpression goto 194 + expressionstatement goto 195 + statementwithouttrailingsubstatement goto 422 + statement goto 423 + statementnoshortif goto 464 + whilestatement goto 199 + forstatement goto 200 + whilestatementnoshortif goto 425 + ifthenstatement goto 201 + ifthenelsestatement goto 202 + ifthenelsestatementnoshortif goto 426 + emptystatement goto 203 + returnstatement goto 204 + assignment goto 205 + lefthandside goto 206 + methodinvocation goto 207 + + +state 462 + whilestatement : WHILE '(' expression ')' . statement (173) + whilestatementnoshortif : WHILE '(' expression ')' . statementnoshortif (201) + + FOR shift 155 + IF shift 420 + RETURN shift 157 + THIS shift 158 + WHILE shift 421 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 42 + INCREMENT shift 169 + DECREMENT shift 170 + ';' shift 171 + '{' shift 105 + '(' shift 173 + . error + + simplename goto 225 + qualifiedname goto 177 + name goto 178 + block goto 180 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 188 + lambdaexpression goto 189 + statementexpression goto 190 + preincrementexpression goto 191 + predecrementexpression goto 192 + postincrementexpression goto 193 + postdecrementexpression goto 194 + expressionstatement goto 195 + statementwithouttrailingsubstatement goto 422 + statement goto 427 + statementnoshortif goto 465 + whilestatement goto 199 + forstatement goto 200 + whilestatementnoshortif goto 425 + ifthenstatement goto 201 + ifthenelsestatement goto 202 + ifthenelsestatementnoshortif goto 426 + emptystatement goto 203 + returnstatement goto 204 + assignment goto 205 + lefthandside goto 206 + methodinvocation goto 207 + + +state 463 + forstatement : FOR '(' expression ';' expression ';' expression ')' statement . (174) + + . reduce 174 + + +state 464 + ifthenelsestatement : IF '(' expression ')' statementnoshortif . ELSE statement (172) + ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif . ELSE statementnoshortif (200) + + ELSE shift 466 + . error + + +state 465 + whilestatementnoshortif : WHILE '(' expression ')' statementnoshortif . (201) + + . reduce 201 + + +state 466 + ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE . statement (172) + ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif ELSE . statementnoshortif (200) + + FOR shift 155 + IF shift 420 + RETURN shift 157 + THIS shift 158 + WHILE shift 421 + INTLITERAL shift 160 + LONGLITERAL shift 161 + DOUBLELITERAL shift 162 + FLOATLITERAL shift 163 + BOOLLITERAL shift 164 + JNULL shift 165 + CHARLITERAL shift 166 + STRINGLITERAL shift 167 + IDENTIFIER shift 42 + INCREMENT shift 169 + DECREMENT shift 170 + ';' shift 171 + '{' shift 105 + '(' shift 173 + . error + + simplename goto 225 + qualifiedname goto 177 + name goto 178 + block goto 180 + lambdaexpressionparameter goto 184 + literal goto 185 + primarynonewarray goto 186 + primary goto 187 + postfixexpression goto 188 + lambdaexpression goto 189 + statementexpression goto 190 + preincrementexpression goto 191 + predecrementexpression goto 192 + postincrementexpression goto 193 + postdecrementexpression goto 194 + expressionstatement goto 195 + statementwithouttrailingsubstatement goto 422 + statement goto 456 + statementnoshortif goto 467 + whilestatement goto 199 + forstatement goto 200 + whilestatementnoshortif goto 425 + ifthenstatement goto 201 + ifthenelsestatement goto 202 + ifthenelsestatementnoshortif goto 426 + emptystatement goto 203 + returnstatement goto 204 + assignment goto 205 + lefthandside goto 206 + methodinvocation goto 207 + + +state 467 + ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif ELSE statementnoshortif . (200) + + . reduce 200 Rules never reduced: @@ -7641,53 +8085,37 @@ Rules never reduced: importdeclarations : importdeclaration (3) importdeclarations : importdeclarations importdeclaration (4) importdeclaration : IMPORT importqualifiedname ';' (5) - importqualifiedname : name '.' IDENTIFIER (12) - importqualifiedname : name '.' '*' (13) - interfaceidentifier : IDENTIFIER (23) - interfaceidentifier : IDENTIFIER '<' boundedClassParameters '>' (24) - interfacedeclaration : INTERFACE interfaceidentifier interfacebody (27) - interfacedeclaration : modifiers INTERFACE interfaceidentifier interfacebody (28) - interfacedeclaration : INTERFACE interfaceidentifier extendsinterfaces interfacebody (29) - interfacedeclaration : modifiers INTERFACE interfaceidentifier extendsinterfaces interfacebody (30) - interfacebody : '{' '}' (47) - interfacebody : '{' interfacememberdeclarations '}' (48) - extendsinterfaces : EXTENDS interfacetype (49) - extendsinterfaces : extendsinterfaces ',' interfacetype (50) - interfacememberdeclarations : interfacememberdeclaration (60) - interfacememberdeclarations : interfacememberdeclarations interfacememberdeclaration (61) - interfacememberdeclaration : constantdeclaration (69) - interfacememberdeclaration : abstractmethoddeclaration (70) - constantdeclaration : modifiers type IDENTIFIER '=' expression ';' (76) - abstractmethoddeclaration : methodheader ';' (77) - variableinitializer : expression (153) + importqualifiedname : name '.' IDENTIFIER (13) + importqualifiedname : name '.' '*' (14) + variableinitializer : expression (154) -State 32 contains 1 shift/reduce conflict. -State 42 contains 1 shift/reduce conflict. -State 104 contains 1 shift/reduce conflict. -State 146 contains 1 shift/reduce conflict. -State 155 contains 1 shift/reduce conflict. -State 194 contains 2 shift/reduce conflicts. -State 197 contains 3 shift/reduce conflicts. -State 198 contains 2 shift/reduce conflicts. -State 200 contains 5 shift/reduce conflicts. -State 201 contains 2 shift/reduce conflicts. -State 202 contains 1 shift/reduce conflict. -State 203 contains 1 shift/reduce conflict. -State 204 contains 1 shift/reduce conflict. -State 205 contains 1 shift/reduce conflict. -State 206 contains 1 shift/reduce conflict. -State 246 contains 1 shift/reduce conflict. -State 340 contains 3 shift/reduce conflicts. -State 341 contains 3 shift/reduce conflicts. -State 347 contains 5 shift/reduce conflicts. -State 348 contains 5 shift/reduce conflicts. -State 349 contains 2 shift/reduce conflicts. -State 350 contains 1 shift/reduce conflict. -State 351 contains 1 shift/reduce conflict. -State 352 contains 1 shift/reduce conflict. -State 353 contains 1 shift/reduce conflict. +State 43 contains 1 shift/reduce conflict. +State 53 contains 1 shift/reduce conflict. +State 84 contains 1 shift/reduce conflict. +State 178 contains 1 shift/reduce conflict. +State 187 contains 1 shift/reduce conflict. +State 226 contains 2 shift/reduce conflicts. +State 229 contains 3 shift/reduce conflicts. +State 230 contains 2 shift/reduce conflicts. +State 232 contains 5 shift/reduce conflicts. +State 233 contains 2 shift/reduce conflicts. +State 234 contains 1 shift/reduce conflict. +State 235 contains 1 shift/reduce conflict. +State 236 contains 1 shift/reduce conflict. +State 237 contains 1 shift/reduce conflict. +State 238 contains 1 shift/reduce conflict. +State 279 contains 1 shift/reduce conflict. +State 374 contains 3 shift/reduce conflicts. +State 375 contains 3 shift/reduce conflicts. +State 381 contains 5 shift/reduce conflicts. +State 382 contains 5 shift/reduce conflicts. +State 383 contains 2 shift/reduce conflicts. +State 384 contains 1 shift/reduce conflict. +State 385 contains 1 shift/reduce conflict. +State 386 contains 1 shift/reduce conflict. +State 387 contains 1 shift/reduce conflict. 97 terminals, 116 nonterminals -277 grammar rules, 432 states +278 grammar rules, 468 states From 94aae83ca8d9524877528c20104de983f23e501b Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Fri, 14 Mar 2014 16:34:25 +0100 Subject: [PATCH 18/79] SyntaxTreeNode.equals() implementiert --- src/mycompiler/MyCompiler.java | 6 ++-- src/mycompiler/MyCompilerAPI.java | 2 +- src/mycompiler/SyntaxTreeNode.java | 9 ++++++ test/syntaxTree/NodeEqualTest.java | 49 ++++++++++++++++++++++++++++++ 4 files changed, 63 insertions(+), 3 deletions(-) create mode 100644 test/syntaxTree/NodeEqualTest.java diff --git a/src/mycompiler/MyCompiler.java b/src/mycompiler/MyCompiler.java index a40d05547..7d511bb4e 100755 --- a/src/mycompiler/MyCompiler.java +++ b/src/mycompiler/MyCompiler.java @@ -483,14 +483,16 @@ public class MyCompiler implements MyCompilerAPI */ // ino.end // ino.method.parse.21298.definition - public void parse(File file) + public SourceFile parse(File file) throws FileNotFoundException, IOException, JavaParser.yyException // ino.end // ino.method.parse.21298.body { FileReader fr = new FileReader(file); - this.m_AbstractSyntaxTree.add(this.parse2SyntaxTree(fr)); + SourceFile ret = this.parse2SyntaxTree(fr); + this.m_AbstractSyntaxTree.add(ret); fr.close(); + return ret; } // ino.end diff --git a/src/mycompiler/MyCompilerAPI.java b/src/mycompiler/MyCompilerAPI.java index 9120cb74a..e71ba8e8a 100755 --- a/src/mycompiler/MyCompilerAPI.java +++ b/src/mycompiler/MyCompilerAPI.java @@ -50,7 +50,7 @@ public interface MyCompilerAPI */ // ino.end // ino.method.parse.21334.declaration - public void parse(File file) + public SourceFile parse(File file) throws FileNotFoundException, IOException, JavaParser.yyException; // ino.end diff --git a/src/mycompiler/SyntaxTreeNode.java b/src/mycompiler/SyntaxTreeNode.java index cc8f4d6de..f085ce075 100644 --- a/src/mycompiler/SyntaxTreeNode.java +++ b/src/mycompiler/SyntaxTreeNode.java @@ -41,4 +41,13 @@ public abstract class SyntaxTreeNode { public String getDescription(){ return this.toString(); } + + @Override + public boolean equals(Object object){ + if(!(object instanceof SyntaxTreeNode))return false; + SyntaxTreeNode equal = (SyntaxTreeNode)object; + if(!equal.getDescription().equals(this.getDescription()))return false; + if(!this.getParent().equals(equal.getParent()))return false; //auch das Elternelement überprüfen. + return true; + } } diff --git a/test/syntaxTree/NodeEqualTest.java b/test/syntaxTree/NodeEqualTest.java new file mode 100644 index 000000000..e79a4234d --- /dev/null +++ b/test/syntaxTree/NodeEqualTest.java @@ -0,0 +1,49 @@ +package syntaxTree; + +import java.io.File; +import java.io.FileNotFoundException; +import java.io.IOException; + +import mycompiler.MyCompiler; +import mycompiler.MyCompilerAPI; +import mycompiler.SourceFile; +import mycompiler.SyntaxTreeNode; +import mycompiler.myparser.JavaParser.yyException; + +import org.junit.Test; + +import junit.framework.TestCase; + +public class NodeEqualTest extends TestCase{ + private static final String rootDirectory = System.getProperty("user.dir")+"/test/plugindevelopment/"; + private static final String testFile = ""; + @Test + public void test(){ + String inferedSource = ""; + MyCompilerAPI compiler = MyCompiler.getAPI(); + SourceFile tree = null; + try { + tree = compiler.parse(new File(rootDirectory + testFile)); + } catch (IOException | yyException e) { + e.printStackTrace(); + fail(); + } + + } + + private void recursivlyCheckEqual(SyntaxTreeNode node1, SyntaxTreeNode node2){ + for(SyntaxTreeNode n1 : node1.getChildren()){ + int matches = 0; + for(SyntaxTreeNode n2 : node2.getChildren()){ + if(n2.equals(n1)){ + matches++; + this.recursivlyCheckEqual(n1, n2); + } + } + assertTrue("Nur eines der Children darf gleich sein", matches == 1); + } + } + + + +} From dbda805fa5084d287ca2ac9df83aa346c86761da Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Mon, 17 Mar 2014 17:55:55 +0100 Subject: [PATCH 19/79] SyntaxTreeNode.equal verbessert --- src/mycompiler/SourceFile.java | 1 + src/mycompiler/SyntaxTreeNode.java | 3 ++- src/mycompiler/myclass/FieldDeclaration.java | 3 ++- src/mycompiler/mystatement/Block.java | 5 +++++ src/mycompiler/mystatement/EmptyStmt.java | 3 +++ src/mycompiler/mystatement/Null.java | 7 +++++++ src/mycompiler/mystatement/Statement.java | 5 +++++ src/mycompiler/mystatement/StringLiteral.java | 1 - src/mycompiler/mystatement/This.java | 2 +- src/typinferenz/TypeInsertPoint.java | 7 +++++++ src/typinferenz/TypeInsertSet.java | 14 ++++++++++++++ test/syntaxTree/NodeEqualTest.jav | 9 +++++++++ test/syntaxTree/NodeEqualTest.java | 17 ++++++++++++----- 13 files changed, 68 insertions(+), 9 deletions(-) create mode 100644 test/syntaxTree/NodeEqualTest.jav diff --git a/src/mycompiler/SourceFile.java b/src/mycompiler/SourceFile.java index 4dd5c1d55..0eb90859d 100755 --- a/src/mycompiler/SourceFile.java +++ b/src/mycompiler/SourceFile.java @@ -1539,5 +1539,6 @@ public class SourceFile //this.filename = filename; } + } // ino.end diff --git a/src/mycompiler/SyntaxTreeNode.java b/src/mycompiler/SyntaxTreeNode.java index f085ce075..91249ef9a 100644 --- a/src/mycompiler/SyntaxTreeNode.java +++ b/src/mycompiler/SyntaxTreeNode.java @@ -47,7 +47,8 @@ public abstract class SyntaxTreeNode { if(!(object instanceof SyntaxTreeNode))return false; SyntaxTreeNode equal = (SyntaxTreeNode)object; if(!equal.getDescription().equals(this.getDescription()))return false; - if(!this.getParent().equals(equal.getParent()))return false; //auch das Elternelement überprüfen. + if(this.getParent()!=null) + if(!this.getParent().equals(equal.getParent()))return false; //auch das Elternelement überprüfen. return true; } } diff --git a/src/mycompiler/myclass/FieldDeclaration.java b/src/mycompiler/myclass/FieldDeclaration.java index dc0b1efc7..51f4afd45 100644 --- a/src/mycompiler/myclass/FieldDeclaration.java +++ b/src/mycompiler/myclass/FieldDeclaration.java @@ -54,7 +54,8 @@ public class FieldDeclaration extends Field{ @Override public String toString() { - return super.toString() + "=" + getWert().toString(); + if(getWert()!=null)return super.toString() + "=" + getWert().toString(); + return super.toString(); } diff --git a/src/mycompiler/mystatement/Block.java b/src/mycompiler/mystatement/Block.java index b394c7c74..a4b6ea16a 100755 --- a/src/mycompiler/mystatement/Block.java +++ b/src/mycompiler/mystatement/Block.java @@ -308,5 +308,10 @@ public class Block extends Statement } return ret; } + + @Override + public String getDescription(){ + return "Block"; + } } // ino.end diff --git a/src/mycompiler/mystatement/EmptyStmt.java b/src/mycompiler/mystatement/EmptyStmt.java index 44bba19bf..112063ddc 100755 --- a/src/mycompiler/mystatement/EmptyStmt.java +++ b/src/mycompiler/mystatement/EmptyStmt.java @@ -5,6 +5,7 @@ package mycompiler.mystatement; import java.util.Hashtable; import java.util.Vector; +import mycompiler.SyntaxTreeNode; import mycompiler.mybytecode.ClassFile; import mycompiler.mybytecode.CodeAttribute; import mycompiler.myclass.Class; @@ -23,6 +24,7 @@ import org.apache.log4j.Logger; // ino.end + import sun.reflect.generics.reflectiveObjects.NotImplementedException; import typinferenz.ConstraintsSet; import typinferenz.JavaCodeResult; @@ -111,5 +113,6 @@ public class EmptyStmt extends Statement public JavaCodeResult printJavaCode(ResultSet resultSet) { return new JavaCodeResult(""); } + } // ino.end diff --git a/src/mycompiler/mystatement/Null.java b/src/mycompiler/mystatement/Null.java index d78fae32a..58db707fd 100755 --- a/src/mycompiler/mystatement/Null.java +++ b/src/mycompiler/mystatement/Null.java @@ -5,6 +5,7 @@ package mycompiler.mystatement; import java.util.Hashtable; import java.util.Vector; +import mycompiler.SyntaxTreeNode; import mycompiler.mybytecode.ClassFile; import mycompiler.mybytecode.CodeAttribute; import mycompiler.mybytecode.JVMCode; @@ -25,6 +26,7 @@ import org.apache.log4j.Logger; // ino.end + import typinferenz.ConstraintsSet; import typinferenz.JavaCodeResult; import typinferenz.ResultSet; @@ -120,5 +122,10 @@ public class Null extends Literal return new JavaCodeResult("null"); } + @Override + public Vector getChildren() { + return new Vector(); + } + } // ino.end diff --git a/src/mycompiler/mystatement/Statement.java b/src/mycompiler/mystatement/Statement.java index 032b1fd6b..44a306227 100755 --- a/src/mycompiler/mystatement/Statement.java +++ b/src/mycompiler/mystatement/Statement.java @@ -145,5 +145,10 @@ public abstract class Statement extends SyntaxTreeNode implements IItemWithOffse public abstract JavaCodeResult printJavaCode(ResultSet resultSet); + @Override + public String getDescription(){ + return this.printJavaCode(new ResultSet(new Vector())).toString(); + } + } // ino.end diff --git a/src/mycompiler/mystatement/StringLiteral.java b/src/mycompiler/mystatement/StringLiteral.java index 4ad18a429..36d5fe5f2 100755 --- a/src/mycompiler/mystatement/StringLiteral.java +++ b/src/mycompiler/mystatement/StringLiteral.java @@ -152,6 +152,5 @@ public class StringLiteral extends Literal return ret; } - } // ino.end diff --git a/src/mycompiler/mystatement/This.java b/src/mycompiler/mystatement/This.java index d47569457..04c0bf918 100755 --- a/src/mycompiler/mystatement/This.java +++ b/src/mycompiler/mystatement/This.java @@ -192,6 +192,6 @@ public class This extends Expr Vector ret = new Vector(); return ret; } - + } // ino.end diff --git a/src/typinferenz/TypeInsertPoint.java b/src/typinferenz/TypeInsertPoint.java index 3f61eb2e9..a8ec615c9 100644 --- a/src/typinferenz/TypeInsertPoint.java +++ b/src/typinferenz/TypeInsertPoint.java @@ -51,4 +51,11 @@ public class TypeInsertPoint { String ret = type.printJavaCode(this.resultSet).toString()+" "; return ret; } + + /** + * @return - Der Punkt (Knoten) im Syntaxbaum, für den dieser TypeInsertPoint gilt. + */ + public TypeInsertable getInsertNode(){ + return this.point; + } } diff --git a/src/typinferenz/TypeInsertSet.java b/src/typinferenz/TypeInsertSet.java index 8bcbec615..77ee87063 100644 --- a/src/typinferenz/TypeInsertSet.java +++ b/src/typinferenz/TypeInsertSet.java @@ -2,6 +2,8 @@ package typinferenz; import java.util.Vector; +import mycompiler.SyntaxTreeNode; + /** * Bündelt ein Set von TypeInsertPoints, die alle zu einem TypePlaceholder gehören. * Diese müssen gemeinsam eingesetzt werden. @@ -38,4 +40,16 @@ public class TypeInsertSet { return ret; } + /** + * + * @param node + * @return - null, falls kein InsertPoint für node vorhanden. + */ + public TypeInsertPoint getInsertPointFor(TypeInsertable node){ + for(TypeInsertPoint point : points){ + if(point.getInsertNode().equals(node))return point; + } + return null; + } + } diff --git a/test/syntaxTree/NodeEqualTest.jav b/test/syntaxTree/NodeEqualTest.jav new file mode 100644 index 000000000..15cbdba50 --- /dev/null +++ b/test/syntaxTree/NodeEqualTest.jav @@ -0,0 +1,9 @@ +class NodeEqualTest { + String var1; + void methode1(){ + var1 = "String"; + } + String methode2(String test){ + return test; + } +} \ No newline at end of file diff --git a/test/syntaxTree/NodeEqualTest.java b/test/syntaxTree/NodeEqualTest.java index e79a4234d..312d4a368 100644 --- a/test/syntaxTree/NodeEqualTest.java +++ b/test/syntaxTree/NodeEqualTest.java @@ -15,20 +15,23 @@ import org.junit.Test; import junit.framework.TestCase; public class NodeEqualTest extends TestCase{ - private static final String rootDirectory = System.getProperty("user.dir")+"/test/plugindevelopment/"; - private static final String testFile = ""; + private static final String rootDirectory = System.getProperty("user.dir")+"/test/syntaxTree/"; + private static final String testFile = "NodeEqualTest.jav"; + @Test public void test(){ - String inferedSource = ""; MyCompilerAPI compiler = MyCompiler.getAPI(); + MyCompilerAPI compiler2 = MyCompiler.getAPI(); SourceFile tree = null; + SourceFile tree2 = null; try { tree = compiler.parse(new File(rootDirectory + testFile)); + tree2 = compiler2.parse(new File(rootDirectory + testFile)); } catch (IOException | yyException e) { e.printStackTrace(); fail(); } - + recursivlyCheckEqual(tree, tree2); } private void recursivlyCheckEqual(SyntaxTreeNode node1, SyntaxTreeNode node2){ @@ -36,11 +39,15 @@ public class NodeEqualTest extends TestCase{ int matches = 0; for(SyntaxTreeNode n2 : node2.getChildren()){ if(n2.equals(n1)){ + System.out.println(n2 + " == "+n1); matches++; this.recursivlyCheckEqual(n1, n2); + }else{ + System.out.println(n2 + " != "+ n1); } } - assertTrue("Nur eines der Children darf gleich sein", matches == 1); + System.out.println(""); + assertTrue("Nur eines der Children darf gleich sein, nicht "+matches, matches == 1 && node2.getChildren().size()>0); } } From 75f9a74c44165b9620e40cf1466caef441a835c1 Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Mon, 17 Mar 2014 20:05:12 +0100 Subject: [PATCH 20/79] =?UTF-8?q?Parser=20tests=20angef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test/parser/FieldInitializationTest.jav | 3 ++ test/parser/GeneralParserTest.java | 43 +++++++++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 test/parser/FieldInitializationTest.jav create mode 100644 test/parser/GeneralParserTest.java diff --git a/test/parser/FieldInitializationTest.jav b/test/parser/FieldInitializationTest.jav new file mode 100644 index 000000000..302667b97 --- /dev/null +++ b/test/parser/FieldInitializationTest.jav @@ -0,0 +1,3 @@ +class FieldInitializationTest{ + String var = "hallo"; +} \ No newline at end of file diff --git a/test/parser/GeneralParserTest.java b/test/parser/GeneralParserTest.java new file mode 100644 index 000000000..4a9d245b4 --- /dev/null +++ b/test/parser/GeneralParserTest.java @@ -0,0 +1,43 @@ +package parser; + +import static org.junit.Assert.*; + +import java.io.File; +import java.io.IOException; +import java.nio.ByteBuffer; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.util.Vector; + +import junit.framework.TestCase; +import mycompiler.MyCompiler; +import mycompiler.MyCompilerAPI; + +import org.junit.Test; + +/** + * Dieser Test prüft nur, ob .java-Dateien fehlerfrei geparst werden. + * Der dabei erstellte Syntaxbaum wird nicht kontrolliert. + * @author janulrich + * + */ +public class GeneralParserTest{ + private static final String rootDirectory = System.getProperty("user.dir")+"/test/parser/"; + + @Test + public void run(){ + Vector filenames = new Vector(); + filenames.add("FieldInitializationTest.jav"); + MyCompilerAPI compiler = MyCompiler.getAPI(); + try{ + for(String filename : filenames) + compiler.parse(new File(rootDirectory + filename)); + }catch(Exception exc){ + exc.printStackTrace(); + fail(); + } + assertTrue("Tests durchlaufen",filenames.size()>0); + } + +} From 59106a7e7b69675a30c2547fe9f6acdcbc1ade6b Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Tue, 18 Mar 2014 13:38:47 +0100 Subject: [PATCH 21/79] =?UTF-8?q?Methodenparameter=20k=C3=B6nnen=20nun=20a?= =?UTF-8?q?uch=20inferiert=20werden?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/mycompiler/myclass/FormalParameter.java | 22 ++++++++++++++++++++- src/mycompiler/myclass/Method.java | 5 ++++- src/typinferenz/TypeInsertPoint.java | 12 +++++++++++ src/typinferenz/TypeInsertSet.java | 14 +++++++++++++ 4 files changed, 51 insertions(+), 2 deletions(-) diff --git a/src/mycompiler/myclass/FormalParameter.java b/src/mycompiler/myclass/FormalParameter.java index 2244e00e5..11430ccf7 100755 --- a/src/mycompiler/myclass/FormalParameter.java +++ b/src/mycompiler/myclass/FormalParameter.java @@ -3,6 +3,9 @@ package mycompiler.myclass; // ino.end // ino.module.FormalParameter.8561.import +import java.util.Vector; + +import mycompiler.SyntaxTreeNode; import mycompiler.mybytecode.ClassFile; import mycompiler.mybytecode.CodeAttribute; import mycompiler.mytype.Type; @@ -16,6 +19,8 @@ import org.apache.log4j.Logger; + + import sun.reflect.generics.reflectiveObjects.NotImplementedException; import typinferenz.JavaCodeResult; import typinferenz.ResultSet; @@ -23,7 +28,7 @@ import typinferenz.Typeable; import typinferenz.TypeInsertable; // ino.class.FormalParameter.23391.declaration -public class FormalParameter implements ITypeReplacementListener, Typeable, TypeInsertable +public class FormalParameter extends SyntaxTreeNode implements ITypeReplacementListener, Typeable, TypeInsertable // ino.end // ino.class.FormalParameter.23391.body { @@ -213,5 +218,20 @@ public class FormalParameter implements ITypeReplacementListener, Typeable, Type } + + @Override + public Vector getChildren() { + return new Vector(); + } + + + + @Override + public void parserPostProcessing(SyntaxTreeNode parent) { + super.parserPostProcessing(parent); + if(this.type==null)this.type = TypePlaceholder.fresh(this); + } + + } // ino.end diff --git a/src/mycompiler/myclass/Method.java b/src/mycompiler/myclass/Method.java index 76562ccbd..7de29dc7c 100755 --- a/src/mycompiler/myclass/Method.java +++ b/src/mycompiler/myclass/Method.java @@ -59,7 +59,7 @@ public class Method extends Field implements IItemWithOffset, TypeInsertable private Block block; // ino.end // ino.attribute.parameterlist.23491.declaration - public ParameterList parameterlist = null; + public ParameterList parameterlist = new ParameterList(); // ino.end // ino.attribute.exceptionlist.23494.declaration private ExceptionList exceptionlist; @@ -668,6 +668,9 @@ public class Method extends Field implements IItemWithOffset, TypeInsertable public Vector getChildren() { Vector ret = new Vector(); ret.add(this.block); + for(FormalParameter param : this.parameterlist){ + ret.add(param); + } return ret; } diff --git a/src/typinferenz/TypeInsertPoint.java b/src/typinferenz/TypeInsertPoint.java index a8ec615c9..5c3ee19c6 100644 --- a/src/typinferenz/TypeInsertPoint.java +++ b/src/typinferenz/TypeInsertPoint.java @@ -58,4 +58,16 @@ public class TypeInsertPoint { public TypeInsertable getInsertNode(){ return this.point; } + + @Override + public boolean equals(Object obj){ + if(! (obj instanceof TypeInsertPoint))return false; + TypeInsertPoint equals = (TypeInsertPoint) obj; + if(!(equals.point.equals(this.point)))return false; + if(!(equals.tph.equals(this.tph)))return false; + if(!(equals.resultSet.equals(this.resultSet)))return false; + if(!(equals.type.equals(this.type)))return false; + + return true; + } } diff --git a/src/typinferenz/TypeInsertSet.java b/src/typinferenz/TypeInsertSet.java index 77ee87063..2b26de0e5 100644 --- a/src/typinferenz/TypeInsertSet.java +++ b/src/typinferenz/TypeInsertSet.java @@ -52,4 +52,18 @@ public class TypeInsertSet { return null; } + @Override + public boolean equals(Object obj){ + if(! (obj instanceof TypeInsertSet))return false; + TypeInsertSet equals = (TypeInsertSet) obj; + for(TypeInsertPoint point : points){ + //Jeder TypeInsertPoint muss auch in equals vorkommen: + if(!equals.points.contains(point))return false; + //... aber nicht öfter als 1x : + if(equals.points.lastIndexOf(point)!=equals.points.indexOf(point))return false; + } + + return true; + } + } From 2fb54135483657fefc9fbe2da237832f3e27b99a Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Tue, 18 Mar 2014 14:04:31 +0100 Subject: [PATCH 22/79] =?UTF-8?q?Parsen=20von=20typisierten=20Felddeklarat?= =?UTF-8?q?ionen=20ist=20jetzt=20m=C3=B6glich.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/mycompiler/myparser/JavaParser.jay | 22 +- src/mycompiler/myclass/FormalParameter.java | 6 + src/mycompiler/myparser/JavaParser.java | 2671 ++-- src/mycompiler/myparser/JavaParser.jay | 22 +- src/typinferenz/FunNMethod.java | 6 +- .../test/lambda/testResults/LambdaTest.log | 196 +- tools/y.output | 11607 ++++++++-------- 7 files changed, 7380 insertions(+), 7150 deletions(-) diff --git a/bin/mycompiler/myparser/JavaParser.jay b/bin/mycompiler/myparser/JavaParser.jay index 8b53e82f8..de426a0dd 100755 --- a/bin/mycompiler/myparser/JavaParser.jay +++ b/bin/mycompiler/myparser/JavaParser.jay @@ -867,7 +867,15 @@ Beispiel: var = 2; Bei einer lokalen Variable lässt sich hier nicht ermitteln ob die Variable deklariert werden soll oder bereits deklariert wurde und ihr nur ein Wert zugewiesen werden soll. Dieses Problem ist bei Feldern nicht der Fall. */ -fielddeclarator : variabledeclarator '=' expression +fielddeclarator : type variabledeclarator '=' expression + { + FieldDeclaration ret = new FieldDeclaration($2.getOffset()); + ret.setType($1); + ret.set_DeclId($2); + ret.setWert($4); + $$=ret; + } + | variabledeclarator '=' expression { FieldDeclaration ret = new FieldDeclaration($1.getOffset()); ret.set_DeclId($1); @@ -1361,9 +1369,9 @@ blockstatement :localvariabledeclarationstatement formalparameter : type variabledeclaratorid { - FormalParameter FP = new FormalParameter(); + FormalParameter FP = new FormalParameter($2); FP.setType($1); - FP.set_DeclId($2); + //FP.set_DeclId($2); $$=FP; } @@ -1375,9 +1383,9 @@ formalparameter : type variabledeclaratorid Parameterliste setzen $5.set_Paratyp($3.get_ParaList()); - FormalParameter FP = new FormalParameter(); + FormalParameter FP = new FormalParameter($5); FP.setType($1); - FP.set_DeclId($5); + //FP.set_DeclId($5); $$=FP; org.apache.log4j.Logger.getLogger("parser").debug("P->Polymorphes Methodenargument hinzugefuegt: Name = " + $5.get_Name() + " Typ = " + $1.getName()); @@ -1388,7 +1396,7 @@ formalparameter : type variabledeclaratorid { org.apache.log4j.Logger.getLogger("parser").debug("\nFunktionsdeklaration mit typlosen Parametern: " + $1.name); - FormalParameter FP = new FormalParameter(); + FormalParameter FP = new FormalParameter($1); // #JB# 31.03.2005 // ########################################################### @@ -1398,7 +1406,7 @@ formalparameter : type variabledeclaratorid //org.apache.log4j.Logger.getLogger("parser").debug("\n--> berechneter Name: " + T.getName()); //auskommentiert von Andreas Stadelmeier (a10023) FP.setType( T ); - FP.set_DeclId($1); + //FP.set_DeclId($1); $$=FP; } diff --git a/src/mycompiler/myclass/FormalParameter.java b/src/mycompiler/myclass/FormalParameter.java index 11430ccf7..e49dbef24 100755 --- a/src/mycompiler/myclass/FormalParameter.java +++ b/src/mycompiler/myclass/FormalParameter.java @@ -21,11 +21,13 @@ import org.apache.log4j.Logger; + import sun.reflect.generics.reflectiveObjects.NotImplementedException; import typinferenz.JavaCodeResult; import typinferenz.ResultSet; import typinferenz.Typeable; import typinferenz.TypeInsertable; +import typinferenz.TypinferenzException; // ino.class.FormalParameter.23391.declaration public class FormalParameter extends SyntaxTreeNode implements ITypeReplacementListener, Typeable, TypeInsertable @@ -42,6 +44,9 @@ public class FormalParameter extends SyntaxTreeNode implements ITypeReplacementL protected static Logger inferencelog = Logger.getLogger("inference"); // ino.end + public FormalParameter(DeclId name){ + this.set_DeclId(name); + } // ino.method.setType.23404.defdescription type=javadoc @@ -73,6 +78,7 @@ public class FormalParameter extends SyntaxTreeNode implements ITypeReplacementL // ino.end // ino.method.set_DeclId.23407.body { + if(did == null)throw new NullPointerException(); this.declid = did; } // ino.end diff --git a/src/mycompiler/myparser/JavaParser.java b/src/mycompiler/myparser/JavaParser.java index a0406caf7..484cd11a7 100644 --- a/src/mycompiler/myparser/JavaParser.java +++ b/src/mycompiler/myparser/JavaParser.java @@ -346,6 +346,7 @@ public Vector testPair = new Vector(); //t "constructordeclaration : modifiers constructordeclarator constructorbody", //t "constantdeclaration : modifiers type IDENTIFIER '=' expression ';'", //t "abstractmethoddeclaration : methodheader ';'", +//t "fielddeclarator : type variabledeclarator '=' expression", //t "fielddeclarator : variabledeclarator '=' expression", //t "fielddeclaration : fielddeclarator ';'", //t "fielddeclaration : type fielddeclarator", @@ -1368,6 +1369,7 @@ case 78: // line 871 "./../src/mycompiler/myparser/JavaParser.jay" { FieldDeclaration ret = new FieldDeclaration(((DeclId)yyVals[-2+yyTop]).getOffset()); + ret.setType(((Type)yyVals[-3+yyTop])); ret.set_DeclId(((DeclId)yyVals[-2+yyTop])); ret.setWert(((Expr)yyVals[0+yyTop])); yyVal=ret; @@ -1375,33 +1377,42 @@ case 78: break; case 79: // line 879 "./../src/mycompiler/myparser/JavaParser.jay" + { + FieldDeclaration ret = new FieldDeclaration(((DeclId)yyVals[-2+yyTop]).getOffset()); + ret.set_DeclId(((DeclId)yyVals[-2+yyTop])); + ret.setWert(((Expr)yyVals[0+yyTop])); + yyVal=ret; + } + break; +case 80: + // line 887 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((FieldDeclaration)yyVals[-1+yyTop]); } break; -case 80: - // line 883 "./../src/mycompiler/myparser/JavaParser.jay" +case 81: + // line 891 "./../src/mycompiler/myparser/JavaParser.jay" { ((FieldDeclaration)yyVals[0+yyTop]).setType(((Type)yyVals[-1+yyTop])); yyVal=((FieldDeclaration)yyVals[0+yyTop]); } break; -case 81: - // line 889 "./../src/mycompiler/myparser/JavaParser.jay" +case 82: + // line 897 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((FieldDeclaration)yyVals[-1+yyTop]); } break; -case 82: - // line 894 "./../src/mycompiler/myparser/JavaParser.jay" +case 83: + // line 902 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("T->Parser->fielddeclaration ...: type " + ((Type)yyVals[-2+yyTop])); ((FieldDeclaration)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); yyVal = ((FieldDeclaration)yyVals[-1+yyTop]); } break; -case 83: - // line 901 "./../src/mycompiler/myparser/JavaParser.jay" +case 84: + // line 909 "./../src/mycompiler/myparser/JavaParser.jay" { ((FieldDeclaration)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); for(int i=0;i<(((FieldDeclaration)yyVals[-1+yyTop]).getDeclIdVector().size());i++) @@ -1411,28 +1422,28 @@ case 83: yyVal = ((FieldDeclaration)yyVals[-1+yyTop]); } break; -case 84: - // line 911 "./../src/mycompiler/myparser/JavaParser.jay" +case 85: + // line 919 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[-1+yyTop]).set_Block(((Block)yyVals[0+yyTop])); yyVal=((Method)yyVals[-1+yyTop]); } break; -case 85: - // line 918 "./../src/mycompiler/myparser/JavaParser.jay" +case 86: + // line 926 "./../src/mycompiler/myparser/JavaParser.jay" { Block Bl = new Block(); yyVal=Bl; } break; -case 86: - // line 924 "./../src/mycompiler/myparser/JavaParser.jay" +case 87: + // line 932 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[-1+yyTop]); } break; -case 87: - // line 929 "./../src/mycompiler/myparser/JavaParser.jay" +case 88: + // line 937 "./../src/mycompiler/myparser/JavaParser.jay" { Constructor CON = new Constructor(null); /*TODO: Der Parser kann sowieso nicht zwischen einem Konstruktor und einer Methode unterscheiden. Das hier kann wegfallen...*/ DeclId DIDCon = new DeclId(); @@ -1441,8 +1452,8 @@ case 87: yyVal=CON; } break; -case 88: - // line 937 "./../src/mycompiler/myparser/JavaParser.jay" +case 89: + // line 945 "./../src/mycompiler/myparser/JavaParser.jay" { Constructor CONpara = new Constructor(null); DeclId DIconpara = new DeclId(); @@ -1452,29 +1463,29 @@ case 88: yyVal=CONpara; } break; -case 89: - // line 947 "./../src/mycompiler/myparser/JavaParser.jay" +case 90: + // line 955 "./../src/mycompiler/myparser/JavaParser.jay" { Block CBL = new Block(); yyVal=CBL; } break; -case 90: - // line 952 "./../src/mycompiler/myparser/JavaParser.jay" +case 91: + // line 960 "./../src/mycompiler/myparser/JavaParser.jay" { Block CBLexpl = new Block(); CBLexpl.set_Statement(((Statement)yyVals[-1+yyTop])); yyVal=CBLexpl; } break; -case 91: - // line 958 "./../src/mycompiler/myparser/JavaParser.jay" +case 92: + // line 966 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[-1+yyTop]); } break; -case 92: - // line 962 "./../src/mycompiler/myparser/JavaParser.jay" +case 93: + // line 970 "./../src/mycompiler/myparser/JavaParser.jay" { Block CBes = new Block(); CBes.set_Statement(((Statement)yyVals[-2+yyTop])); @@ -1485,51 +1496,51 @@ case 92: yyVal=CBes; } break; -case 93: - // line 973 "./../src/mycompiler/myparser/JavaParser.jay" +case 94: + // line 981 "./../src/mycompiler/myparser/JavaParser.jay" { ExceptionList EL = new ExceptionList(); EL.set_addElem(((RefType)yyVals[0+yyTop])); yyVal=EL; } break; -case 94: - // line 980 "./../src/mycompiler/myparser/JavaParser.jay" +case 95: + // line 988 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = ((GenericTypeVar)yyVals[0+yyTop]); } break; -case 95: - // line 985 "./../src/mycompiler/myparser/JavaParser.jay" +case 96: + // line 993 "./../src/mycompiler/myparser/JavaParser.jay" { ParaList p = new ParaList(); p.add_ParaList(((GenericTypeVar)yyVals[0+yyTop])); yyVal=p; } break; -case 96: - // line 991 "./../src/mycompiler/myparser/JavaParser.jay" +case 97: + // line 999 "./../src/mycompiler/myparser/JavaParser.jay" { ((ParaList)yyVals[-2+yyTop]).add_ParaList(((GenericTypeVar)yyVals[0+yyTop])); yyVal=((ParaList)yyVals[-2+yyTop]); } break; -case 97: - // line 998 "./../src/mycompiler/myparser/JavaParser.jay" +case 98: + // line 1006 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=new GenericTypeVar(((Token)yyVals[0+yyTop]).getLexem(),((Token)yyVals[0+yyTop]).getOffset()); } break; -case 98: - // line 1002 "./../src/mycompiler/myparser/JavaParser.jay" +case 99: + // line 1010 "./../src/mycompiler/myparser/JavaParser.jay" { BoundedGenericTypeVar gtv=new BoundedGenericTypeVar(((Token)yyVals[-2+yyTop]).getLexem(),((Token)yyVals[-2+yyTop]).getOffset()); gtv.setBounds(((Vector)yyVals[0+yyTop])); yyVal=gtv; } break; -case 99: - // line 1009 "./../src/mycompiler/myparser/JavaParser.jay" +case 100: + // line 1017 "./../src/mycompiler/myparser/JavaParser.jay" { Vector vec=new Vector(); vec.addElement(((RefType)yyVals[0+yyTop])); @@ -1537,54 +1548,54 @@ case 99: yyVal=vec; } break; -case 100: - // line 1016 "./../src/mycompiler/myparser/JavaParser.jay" +case 101: + // line 1024 "./../src/mycompiler/myparser/JavaParser.jay" { ((Vector)yyVals[-2+yyTop]).addElement(((RefType)yyVals[0+yyTop])); containedTypes.addElement(((RefType)yyVals[0+yyTop])); yyVal=((Vector)yyVals[-2+yyTop]); } break; -case 101: - // line 1023 "./../src/mycompiler/myparser/JavaParser.jay" +case 102: + // line 1031 "./../src/mycompiler/myparser/JavaParser.jay" { Vector vec=new Vector(); vec.addElement(((GenericTypeVar)yyVals[0+yyTop])); yyVal=vec; } break; -case 102: - // line 1029 "./../src/mycompiler/myparser/JavaParser.jay" +case 103: + // line 1037 "./../src/mycompiler/myparser/JavaParser.jay" { ((Vector)yyVals[-2+yyTop]).addElement(((GenericTypeVar)yyVals[0+yyTop])); yyVal=((Vector)yyVals[-2+yyTop]); } break; -case 103: - // line 1037 "./../src/mycompiler/myparser/JavaParser.jay" +case 104: + // line 1045 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[0+yyTop]).setType(((Type)yyVals[-1+yyTop])); ((Method)yyVals[0+yyTop]).setGenericMethodParameters(((Vector)yyVals[-3+yyTop])); yyVal=((Method)yyVals[0+yyTop]); } break; -case 104: - // line 1043 "./../src/mycompiler/myparser/JavaParser.jay" +case 105: + // line 1051 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[0+yyTop]).setType(((Type)yyVals[-1+yyTop])); yyVal=((Method)yyVals[0+yyTop]); } break; -case 105: - // line 1048 "./../src/mycompiler/myparser/JavaParser.jay" +case 106: + // line 1056 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-2+yyTop])); ((Method)yyVals[0+yyTop]).setType(((Type)yyVals[-1+yyTop])); yyVal=((Method)yyVals[0+yyTop]); } break; -case 106: - // line 1054 "./../src/mycompiler/myparser/JavaParser.jay" +case 107: + // line 1062 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-5+yyTop])); ((Method)yyVals[0+yyTop]).setGenericMethodParameters(((Vector)yyVals[-3+yyTop])); @@ -1592,37 +1603,27 @@ case 106: yyVal=((Method)yyVals[0+yyTop]); } break; -case 107: - // line 1061 "./../src/mycompiler/myparser/JavaParser.jay" - { - ((Method)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); - ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop])); - yyVal=((Method)yyVals[-1+yyTop]); - } - break; case 108: - // line 1067 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1069 "./../src/mycompiler/myparser/JavaParser.jay" { - ((Method)yyVals[-1+yyTop]).setGenericMethodParameters(((Vector)yyVals[-4+yyTop])); ((Method)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop])); yyVal=((Method)yyVals[-1+yyTop]); } break; case 109: - // line 1074 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1075 "./../src/mycompiler/myparser/JavaParser.jay" { - ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-3+yyTop])); + ((Method)yyVals[-1+yyTop]).setGenericMethodParameters(((Vector)yyVals[-4+yyTop])); ((Method)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop])); yyVal=((Method)yyVals[-1+yyTop]); } break; case 110: - // line 1081 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1082 "./../src/mycompiler/myparser/JavaParser.jay" { - ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-6+yyTop])); - ((Method)yyVals[-1+yyTop]).setGenericMethodParameters(((Vector)yyVals[-4+yyTop])); + ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-3+yyTop])); ((Method)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop])); yyVal=((Method)yyVals[-1+yyTop]); @@ -1630,14 +1631,24 @@ case 110: break; case 111: // line 1089 "./../src/mycompiler/myparser/JavaParser.jay" + { + ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-6+yyTop])); + ((Method)yyVals[-1+yyTop]).setGenericMethodParameters(((Vector)yyVals[-4+yyTop])); + ((Method)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); + ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop])); + yyVal=((Method)yyVals[-1+yyTop]); + } + break; +case 112: + // line 1097 "./../src/mycompiler/myparser/JavaParser.jay" { Void Voit = new Void(((Token)yyVals[-1+yyTop]).getOffset()); ((Method)yyVals[0+yyTop]).setType(Voit); yyVal=((Method)yyVals[0+yyTop]); } break; -case 112: - // line 1095 "./../src/mycompiler/myparser/JavaParser.jay" +case 113: + // line 1103 "./../src/mycompiler/myparser/JavaParser.jay" { Void voit = new Void(((Token)yyVals[-1+yyTop]).getOffset()); ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-2+yyTop])); @@ -1645,8 +1656,8 @@ case 112: yyVal=((Method)yyVals[0+yyTop]); } break; -case 113: - // line 1102 "./../src/mycompiler/myparser/JavaParser.jay" +case 114: + // line 1110 "./../src/mycompiler/myparser/JavaParser.jay" { Void voyt = new Void(((Token)yyVals[-2+yyTop]).getOffset()); ((Method)yyVals[-1+yyTop]).setType(voyt); @@ -1654,8 +1665,8 @@ case 113: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 114: - // line 1109 "./../src/mycompiler/myparser/JavaParser.jay" +case 115: + // line 1117 "./../src/mycompiler/myparser/JavaParser.jay" { Void voyd = new Void(((Token)yyVals[-2+yyTop]).getOffset()); ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-3+yyTop])); @@ -1664,8 +1675,8 @@ case 114: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 115: - // line 1117 "./../src/mycompiler/myparser/JavaParser.jay" +case 116: + // line 1125 "./../src/mycompiler/myparser/JavaParser.jay" { Void Voit = new Void(((Token)yyVals[-1+yyTop]).getOffset()); ((Method)yyVals[0+yyTop]).setType(Voit); @@ -1673,8 +1684,8 @@ case 115: yyVal=((Method)yyVals[0+yyTop]); } break; -case 116: - // line 1124 "./../src/mycompiler/myparser/JavaParser.jay" +case 117: + // line 1132 "./../src/mycompiler/myparser/JavaParser.jay" { Void voit = new Void(((Token)yyVals[-1+yyTop]).getOffset()); ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-5+yyTop])); @@ -1683,8 +1694,8 @@ case 116: yyVal=((Method)yyVals[0+yyTop]); } break; -case 117: - // line 1132 "./../src/mycompiler/myparser/JavaParser.jay" +case 118: + // line 1140 "./../src/mycompiler/myparser/JavaParser.jay" { Void voyt = new Void(((Token)yyVals[-2+yyTop]).getOffset()); ((Method)yyVals[-1+yyTop]).setType(voyt); @@ -1693,8 +1704,8 @@ case 117: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 118: - // line 1140 "./../src/mycompiler/myparser/JavaParser.jay" +case 119: + // line 1148 "./../src/mycompiler/myparser/JavaParser.jay" { Void voyd = new Void(((Token)yyVals[-2+yyTop]).getOffset()); ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-6+yyTop])); @@ -1704,39 +1715,39 @@ case 118: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 119: - // line 1150 "./../src/mycompiler/myparser/JavaParser.jay" +case 120: + // line 1158 "./../src/mycompiler/myparser/JavaParser.jay" { /*auskommentiert von Andreas Stadelmeier (a10023) $1.setType(TypePlaceholder.fresh()); */ yyVal=((Method)yyVals[0+yyTop]); } break; -case 120: - // line 1155 "./../src/mycompiler/myparser/JavaParser.jay" +case 121: + // line 1163 "./../src/mycompiler/myparser/JavaParser.jay" { /*auskommentiert von Andreas Stadelmeier (a10023) $4.setType(TypePlaceholder.fresh());*/ ((Method)yyVals[0+yyTop]).setGenericMethodParameters(((Vector)yyVals[-2+yyTop])); yyVal=((Method)yyVals[0+yyTop]); } break; -case 121: - // line 1162 "./../src/mycompiler/myparser/JavaParser.jay" +case 122: + // line 1170 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-1+yyTop])); /*auskommentiert von Andreas Stadelmeier (a10023) $2.setType(TypePlaceholder.fresh());*/ yyVal=((Method)yyVals[0+yyTop]); } break; -case 122: - // line 1168 "./../src/mycompiler/myparser/JavaParser.jay" +case 123: + // line 1176 "./../src/mycompiler/myparser/JavaParser.jay" { /*auskommentiert von Andreas Stadelmeier (a10023) $1.setType(TypePlaceholder.fresh());*/ ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop])); yyVal=((Method)yyVals[-1+yyTop]); } break; -case 123: - // line 1174 "./../src/mycompiler/myparser/JavaParser.jay" +case 124: + // line 1182 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-2+yyTop])); /*auskommentiert von Andreas Stadelmeier (a10023) $2.setType(TypePlaceholder.fresh());*/ @@ -1744,32 +1755,32 @@ case 123: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 124: - // line 1183 "./../src/mycompiler/myparser/JavaParser.jay" +case 125: + // line 1191 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((BaseType)yyVals[0+yyTop]); } break; -case 125: - // line 1187 "./../src/mycompiler/myparser/JavaParser.jay" +case 126: + // line 1195 "./../src/mycompiler/myparser/JavaParser.jay" { ((BaseType)yyVals[-2+yyTop]).setArray(true); } break; -case 126: - // line 1191 "./../src/mycompiler/myparser/JavaParser.jay" +case 127: + // line 1199 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((RefType)yyVals[0+yyTop]); } break; -case 127: - // line 1195 "./../src/mycompiler/myparser/JavaParser.jay" +case 128: + // line 1203 "./../src/mycompiler/myparser/JavaParser.jay" { ((RefType)yyVals[-2+yyTop]).setArray(true); } break; -case 128: - // line 1199 "./../src/mycompiler/myparser/JavaParser.jay" +case 129: + // line 1207 "./../src/mycompiler/myparser/JavaParser.jay" { FieldDeclaration IVD = new FieldDeclaration(((DeclId)yyVals[0+yyTop]).getOffset()); IVD.getDeclIdVector().addElement( ((DeclId)yyVals[0+yyTop]) ); @@ -1777,66 +1788,66 @@ case 128: yyVal = IVD; } break; -case 129: - // line 1206 "./../src/mycompiler/myparser/JavaParser.jay" +case 130: + // line 1214 "./../src/mycompiler/myparser/JavaParser.jay" { ((FieldDeclaration)yyVals[-2+yyTop]).getDeclIdVector().addElement(((DeclId)yyVals[0+yyTop])); yyVal=((FieldDeclaration)yyVals[-2+yyTop]); } break; -case 130: - // line 1212 "./../src/mycompiler/myparser/JavaParser.jay" +case 131: + // line 1220 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[0+yyTop]); } break; -case 131: - // line 1217 "./../src/mycompiler/myparser/JavaParser.jay" +case 132: + // line 1225 "./../src/mycompiler/myparser/JavaParser.jay" { Block Blstat = new Block(); Blstat.set_Statement(((Statement)yyVals[0+yyTop])); yyVal=Blstat; } break; -case 132: - // line 1224 "./../src/mycompiler/myparser/JavaParser.jay" +case 133: + // line 1232 "./../src/mycompiler/myparser/JavaParser.jay" { ((Block)yyVals[-1+yyTop]).set_Statement(((Statement)yyVals[0+yyTop])); yyVal=((Block)yyVals[-1+yyTop]); } break; -case 133: - // line 1230 "./../src/mycompiler/myparser/JavaParser.jay" +case 134: + // line 1238 "./../src/mycompiler/myparser/JavaParser.jay" { ParameterList PL = new ParameterList(); PL.set_AddParameter(((FormalParameter)yyVals[0+yyTop])); yyVal = PL; } break; -case 134: - // line 1236 "./../src/mycompiler/myparser/JavaParser.jay" +case 135: + // line 1244 "./../src/mycompiler/myparser/JavaParser.jay" { ((ParameterList)yyVals[-2+yyTop]).set_AddParameter(((FormalParameter)yyVals[0+yyTop])); yyVal = ((ParameterList)yyVals[-2+yyTop]); } break; -case 135: - // line 1242 "./../src/mycompiler/myparser/JavaParser.jay" +case 136: + // line 1250 "./../src/mycompiler/myparser/JavaParser.jay" { This THCON = new This(((Token)yyVals[-3+yyTop]).getOffset(),((Token)yyVals[-3+yyTop]).getLexem().length()); yyVal=THCON; } break; -case 136: - // line 1247 "./../src/mycompiler/myparser/JavaParser.jay" +case 137: + // line 1255 "./../src/mycompiler/myparser/JavaParser.jay" { This THCONargl = new This(((Token)yyVals[-4+yyTop]).getOffset(),((Token)yyVals[-4+yyTop]).getLexem().length()); THCONargl.set_ArgumentList(((ArgumentList)yyVals[-2+yyTop])); yyVal=THCONargl; } break; -case 137: - // line 1256 "./../src/mycompiler/myparser/JavaParser.jay" +case 138: + // line 1264 "./../src/mycompiler/myparser/JavaParser.jay" { RefType RT = new RefType(-1); RT.set_UsedId(((UsedId)yyVals[0+yyTop])); @@ -1844,16 +1855,16 @@ case 137: yyVal=RT; } break; -case 138: - // line 1263 "./../src/mycompiler/myparser/JavaParser.jay" +case 139: + // line 1271 "./../src/mycompiler/myparser/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()); yyVal=((RefType)yyVals[-2+yyTop]); } break; -case 139: - // line 1270 "./../src/mycompiler/myparser/JavaParser.jay" +case 140: + // line 1278 "./../src/mycompiler/myparser/JavaParser.jay" { Method met = new Method(((Token)yyVals[-2+yyTop]).getOffset()); /* #JB# 10.04.2005 */ @@ -1867,8 +1878,8 @@ case 139: yyVal = met; } break; -case 140: - // line 1283 "./../src/mycompiler/myparser/JavaParser.jay" +case 141: + // line 1291 "./../src/mycompiler/myparser/JavaParser.jay" { Method met_para = new Method(((Token)yyVals[-3+yyTop]).getOffset()); /* #JB# 10.04.2005 */ @@ -1883,8 +1894,8 @@ case 140: yyVal = met_para; } break; -case 141: - // line 1298 "./../src/mycompiler/myparser/JavaParser.jay" +case 142: + // line 1306 "./../src/mycompiler/myparser/JavaParser.jay" { BooleanType BT = new BooleanType(); /* #JB# 05.04.2005 */ @@ -1894,14 +1905,14 @@ case 141: yyVal=BT; } break; -case 142: - // line 1307 "./../src/mycompiler/myparser/JavaParser.jay" +case 143: + // line 1315 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((BaseType)yyVals[0+yyTop]); } break; -case 143: - // line 1313 "./../src/mycompiler/myparser/JavaParser.jay" +case 144: + // line 1321 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("T->Parser->referenctype: " + ((UsedId)yyVals[0+yyTop])); RefType RT = new RefType(((UsedId)yyVals[0+yyTop]).getOffset()); @@ -1920,39 +1931,39 @@ case 143: yyVal=RT; } break; -case 144: - // line 1333 "./../src/mycompiler/myparser/JavaParser.jay" +case 145: + // line 1341 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((DeclId)yyVals[0+yyTop]); } break; -case 145: - // line 1354 "./../src/mycompiler/myparser/JavaParser.jay" +case 146: + // line 1362 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((LocalVarDecl)yyVals[0+yyTop]); } break; -case 146: - // line 1358 "./../src/mycompiler/myparser/JavaParser.jay" +case 147: + // line 1366 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Statement)yyVals[0+yyTop]); } break; -case 147: - // line 1363 "./../src/mycompiler/myparser/JavaParser.jay" +case 148: + // line 1371 "./../src/mycompiler/myparser/JavaParser.jay" { - FormalParameter FP = new FormalParameter(); + FormalParameter FP = new FormalParameter(((DeclId)yyVals[0+yyTop])); FP.setType(((Type)yyVals[-1+yyTop])); - FP.set_DeclId(((DeclId)yyVals[0+yyTop])); + /*FP.set_DeclId($2);*/ yyVal=FP; } break; -case 148: - // line 1388 "./../src/mycompiler/myparser/JavaParser.jay" +case 149: + // line 1396 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("\nFunktionsdeklaration mit typlosen Parametern: " + ((DeclId)yyVals[0+yyTop]).name); - FormalParameter FP = new FormalParameter(); + FormalParameter FP = new FormalParameter(((DeclId)yyVals[0+yyTop])); /* #JB# 31.03.2005*/ /* ###########################################################*/ @@ -1962,34 +1973,34 @@ case 148: /*org.apache.log4j.Logger.getLogger("parser").debug("\n--> berechneter Name: " + T.getName());*/ /*auskommentiert von Andreas Stadelmeier (a10023) FP.setType( T );*/ - FP.set_DeclId(((DeclId)yyVals[0+yyTop])); + /*FP.set_DeclId($1);*/ yyVal=FP; } break; -case 149: - // line 1407 "./../src/mycompiler/myparser/JavaParser.jay" +case 150: + // line 1415 "./../src/mycompiler/myparser/JavaParser.jay" { ArgumentList AL = new ArgumentList(); AL.expr.addElement(((Expr)yyVals[0+yyTop])); yyVal=AL; } break; -case 150: - // line 1413 "./../src/mycompiler/myparser/JavaParser.jay" +case 151: + // line 1421 "./../src/mycompiler/myparser/JavaParser.jay" { ((ArgumentList)yyVals[-2+yyTop]).expr.addElement(((Expr)yyVals[0+yyTop])); yyVal=((ArgumentList)yyVals[-2+yyTop]); } break; -case 151: - // line 1419 "./../src/mycompiler/myparser/JavaParser.jay" +case 152: + // line 1427 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((BaseType)yyVals[0+yyTop]); } break; -case 152: - // line 1424 "./../src/mycompiler/myparser/JavaParser.jay" +case 153: + // line 1432 "./../src/mycompiler/myparser/JavaParser.jay" { DeclId DI = new DeclId(); /* #JB# 10.04.2005 */ @@ -2001,62 +2012,62 @@ case 152: yyVal=DI; } break; -case 153: - // line 1436 "./../src/mycompiler/myparser/JavaParser.jay" +case 154: + // line 1444 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 154: - // line 1441 "./../src/mycompiler/myparser/JavaParser.jay" +case 155: + // line 1449 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((LocalVarDecl)yyVals[-1+yyTop]); } break; -case 155: - // line 1446 "./../src/mycompiler/myparser/JavaParser.jay" +case 156: + // line 1454 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Statement)yyVals[0+yyTop]); } break; -case 156: - // line 1450 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((IfStmt)yyVals[0+yyTop]); - } - break; case 157: - // line 1454 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1458 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((IfStmt)yyVals[0+yyTop]); } break; case 158: - // line 1458 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1462 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((IfStmt)yyVals[0+yyTop]); + } + break; +case 159: + // line 1466 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((WhileStmt)yyVals[0+yyTop]); } break; -case 159: - // line 1462 "./../src/mycompiler/myparser/JavaParser.jay" +case 160: + // line 1470 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((ForStmt)yyVals[0+yyTop]); } break; -case 160: - // line 1467 "./../src/mycompiler/myparser/JavaParser.jay" +case 161: + // line 1475 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 161: - // line 1471 "./../src/mycompiler/myparser/JavaParser.jay" +case 162: + // line 1479 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((NewClass)yyVals[0+yyTop]); } break; -case 162: - // line 1476 "./../src/mycompiler/myparser/JavaParser.jay" +case 163: + // line 1484 "./../src/mycompiler/myparser/JavaParser.jay" { IntegerType IT = new IntegerType(); /* #JB# 05.04.2005 */ @@ -2066,8 +2077,8 @@ case 162: yyVal=IT; } break; -case 163: - // line 1485 "./../src/mycompiler/myparser/JavaParser.jay" +case 164: + // line 1493 "./../src/mycompiler/myparser/JavaParser.jay" { CharacterType CT = new CharacterType(); /* #JB# 05.04.2005 */ @@ -2077,8 +2088,8 @@ case 163: yyVal=CT; } break; -case 164: - // line 1495 "./../src/mycompiler/myparser/JavaParser.jay" +case 165: + // line 1503 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("P -> Lokale Variable angelegt!"); LocalVarDecl LVD = new LocalVarDecl(((Type)yyVals[-1+yyTop]).getOffset(),((Type)yyVals[-1+yyTop]).getVariableLength()); @@ -2087,8 +2098,8 @@ case 164: yyVal = LVD; } break; -case 165: - // line 1506 "./../src/mycompiler/myparser/JavaParser.jay" +case 166: + // line 1514 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("P -> Lokale Variable angelegt!"); LocalVarDecl LVD = new LocalVarDecl(((FieldDeclaration)yyVals[0+yyTop]).getOffset(),((FieldDeclaration)yyVals[0+yyTop]).getVariableLength()); @@ -2097,32 +2108,32 @@ case 165: yyVal = LVD; } break; -case 166: - // line 1516 "./../src/mycompiler/myparser/JavaParser.jay" +case 167: + // line 1524 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[0+yyTop]); } break; -case 167: - // line 1520 "./../src/mycompiler/myparser/JavaParser.jay" +case 168: + // line 1528 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((EmptyStmt)yyVals[0+yyTop]); } break; -case 168: - // line 1524 "./../src/mycompiler/myparser/JavaParser.jay" +case 169: + // line 1532 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((ExprStmt)yyVals[0+yyTop]); } break; -case 169: - // line 1528 "./../src/mycompiler/myparser/JavaParser.jay" +case 170: + // line 1536 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Return)yyVals[0+yyTop]); } break; -case 170: - // line 1533 "./../src/mycompiler/myparser/JavaParser.jay" +case 171: + // line 1541 "./../src/mycompiler/myparser/JavaParser.jay" { IfStmt Ifst = new IfStmt(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); Ifst.set_Expr(((Expr)yyVals[-2+yyTop])); @@ -2130,8 +2141,8 @@ case 170: yyVal=Ifst; } break; -case 171: - // line 1541 "./../src/mycompiler/myparser/JavaParser.jay" +case 172: + // line 1549 "./../src/mycompiler/myparser/JavaParser.jay" { IfStmt IfstElst = new IfStmt(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength()); IfstElst.set_Expr(((Expr)yyVals[-4+yyTop])); @@ -2140,8 +2151,8 @@ case 171: yyVal=IfstElst; } break; -case 172: - // line 1550 "./../src/mycompiler/myparser/JavaParser.jay" +case 173: + // line 1558 "./../src/mycompiler/myparser/JavaParser.jay" { WhileStmt Whlst = new WhileStmt(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); Whlst.set_Expr(((Expr)yyVals[-2+yyTop])); @@ -2149,8 +2160,8 @@ case 172: yyVal=Whlst; } break; -case 173: - // line 1561 "./../src/mycompiler/myparser/JavaParser.jay" +case 174: + // line 1569 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-6+yyTop]).getOffset(),((Expr)yyVals[-6+yyTop]).getVariableLength()); Fst.set_head_Initializer(((Expr)yyVals[-6+yyTop])); @@ -2162,8 +2173,8 @@ case 173: yyVal = Fst; } break; -case 174: - // line 1573 "./../src/mycompiler/myparser/JavaParser.jay" +case 175: + // line 1581 "./../src/mycompiler/myparser/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,8 +2185,8 @@ case 174: yyVal = Fst; } break; -case 175: - // line 1584 "./../src/mycompiler/myparser/JavaParser.jay" +case 176: + // line 1592 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-5+yyTop]).getOffset(),((Expr)yyVals[-5+yyTop]).getVariableLength()); Fst.set_head_Initializer(((Expr)yyVals[-5+yyTop])); @@ -2186,8 +2197,8 @@ case 175: yyVal = Fst; } break; -case 176: - // line 1595 "./../src/mycompiler/myparser/JavaParser.jay" +case 177: + // line 1603 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength()); Fst.set_head_Condition(((Expr)yyVals[-4+yyTop])); @@ -2198,8 +2209,8 @@ case 176: yyVal = Fst; } break; -case 177: - // line 1606 "./../src/mycompiler/myparser/JavaParser.jay" +case 178: + // line 1614 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength()); Fst.set_head_Initializer(((Expr)yyVals[-4+yyTop])); @@ -2209,8 +2220,8 @@ case 177: yyVal = Fst; } break; -case 178: - // line 1616 "./../src/mycompiler/myparser/JavaParser.jay" +case 179: + // line 1624 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-3+yyTop]).getOffset(),((Expr)yyVals[-3+yyTop]).getVariableLength()); Fst.set_head_Condition(((Expr)yyVals[-3+yyTop])); @@ -2220,8 +2231,8 @@ case 178: yyVal = Fst; } break; -case 179: - // line 1626 "./../src/mycompiler/myparser/JavaParser.jay" +case 180: + // line 1634 "./../src/mycompiler/myparser/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])); @@ -2231,8 +2242,8 @@ case 179: yyVal = Fst; } break; -case 180: - // line 1636 "./../src/mycompiler/myparser/JavaParser.jay" +case 181: + // line 1644 "./../src/mycompiler/myparser/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])); @@ -2241,73 +2252,73 @@ case 180: yyVal = Fst; } break; -case 181: - // line 1645 "./../src/mycompiler/myparser/JavaParser.jay" +case 182: + // line 1653 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("conditionalexpression"); yyVal=((Expr)yyVals[0+yyTop]); } break; -case 182: - // line 1650 "./../src/mycompiler/myparser/JavaParser.jay" +case 183: + // line 1658 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Assign)yyVals[0+yyTop]); } break; -case 183: - // line 1656 "./../src/mycompiler/myparser/JavaParser.jay" +case 184: + // line 1664 "./../src/mycompiler/myparser/JavaParser.jay" { EmptyStmt Empst = new EmptyStmt(); yyVal=Empst; } break; -case 184: - // line 1662 "./../src/mycompiler/myparser/JavaParser.jay" +case 185: + // line 1670 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[-1+yyTop]); } break; -case 185: - // line 1667 "./../src/mycompiler/myparser/JavaParser.jay" +case 186: + // line 1675 "./../src/mycompiler/myparser/JavaParser.jay" { Return ret = new Return(-1,-1); yyVal= ret; } break; -case 186: - // line 1672 "./../src/mycompiler/myparser/JavaParser.jay" +case 187: + // line 1680 "./../src/mycompiler/myparser/JavaParser.jay" { Return retexp = new Return(((Expr)yyVals[-1+yyTop]).getOffset(),((Expr)yyVals[-1+yyTop]).getVariableLength()); retexp.set_ReturnExpr(((Expr)yyVals[-1+yyTop])); yyVal=retexp; } break; -case 187: - // line 1679 "./../src/mycompiler/myparser/JavaParser.jay" +case 188: + // line 1687 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Statement)yyVals[0+yyTop]); } break; -case 188: - // line 1683 "./../src/mycompiler/myparser/JavaParser.jay" +case 189: + // line 1691 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((IfStmt)yyVals[0+yyTop]); } break; -case 189: - // line 1687 "./../src/mycompiler/myparser/JavaParser.jay" +case 190: + // line 1695 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((WhileStmt)yyVals[0+yyTop]); } break; -case 190: - // line 1692 "./../src/mycompiler/myparser/JavaParser.jay" +case 191: + // line 1700 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 191: - // line 1698 "./../src/mycompiler/myparser/JavaParser.jay" +case 192: + // line 1706 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("\nParser --> Zuweisung1!\n"); Assign Ass = new Assign(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); @@ -2333,8 +2344,8 @@ case 191: yyVal=Ass; } break; -case 192: - // line 1723 "./../src/mycompiler/myparser/JavaParser.jay" +case 193: + // line 1731 "./../src/mycompiler/myparser/JavaParser.jay" { Assign Ass =new Assign(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); LocalOrFieldVar LOFV = new LocalOrFieldVar(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); @@ -2357,44 +2368,44 @@ case 192: yyVal=Ass; } break; -case 193: - // line 1746 "./../src/mycompiler/myparser/JavaParser.jay" +case 194: + // line 1754 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Assign)yyVals[0+yyTop]); } break; -case 194: - // line 1750 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; case 195: - // line 1754 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; -case 196: // line 1758 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 197: +case 196: // line 1762 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 198: +case 197: // line 1766 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; +case 198: + // line 1770 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; +case 199: + // line 1774 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((MethodCall)yyVals[0+yyTop]); } break; -case 199: - // line 1777 "./../src/mycompiler/myparser/JavaParser.jay" +case 200: + // line 1785 "./../src/mycompiler/myparser/JavaParser.jay" { IfStmt IfElno = new IfStmt(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength()); IfElno.set_Expr(((Expr)yyVals[-4+yyTop])); @@ -2403,8 +2414,8 @@ case 199: yyVal=IfElno; } break; -case 200: - // line 1786 "./../src/mycompiler/myparser/JavaParser.jay" +case 201: + // line 1794 "./../src/mycompiler/myparser/JavaParser.jay" { WhileStmt Whstno = new WhileStmt(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); Whstno.set_Expr(((Expr)yyVals[-2+yyTop])); @@ -2412,14 +2423,14 @@ case 200: yyVal=Whstno; } break; -case 201: - // line 1794 "./../src/mycompiler/myparser/JavaParser.jay" +case 202: + // line 1802 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 202: - // line 1798 "./../src/mycompiler/myparser/JavaParser.jay" +case 203: + // line 1806 "./../src/mycompiler/myparser/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()); @@ -2430,20 +2441,20 @@ case 202: yyVal=LogOr; } break; -case 203: - // line 1811 "./../src/mycompiler/myparser/JavaParser.jay" +case 204: + // line 1819 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=null; } break; -case 204: - // line 1816 "./../src/mycompiler/myparser/JavaParser.jay" +case 205: + // line 1824 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[0+yyTop]); } break; -case 205: - // line 1820 "./../src/mycompiler/myparser/JavaParser.jay" +case 206: + // line 1828 "./../src/mycompiler/myparser/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";}|*/ @@ -2453,20 +2464,20 @@ case 205: yyVal=ret; } break; -case 206: - // line 1830 "./../src/mycompiler/myparser/JavaParser.jay" +case 207: + // line 1838 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=null; } break; -case 207: - // line 1834 "./../src/mycompiler/myparser/JavaParser.jay" +case 208: + // line 1842 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((ParameterList)yyVals[-1+yyTop]); } break; -case 208: - // line 1839 "./../src/mycompiler/myparser/JavaParser.jay" +case 209: + // line 1847 "./../src/mycompiler/myparser/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])); @@ -2474,87 +2485,87 @@ case 208: yyVal=lambda; } break; -case 209: - // line 1858 "./../src/mycompiler/myparser/JavaParser.jay" +case 210: + // line 1866 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((UsedId)yyVals[0+yyTop]); } break; -case 210: - // line 1863 "./../src/mycompiler/myparser/JavaParser.jay" +case 211: + // line 1871 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=null; } break; -case 211: - // line 1867 "./../src/mycompiler/myparser/JavaParser.jay" +case 212: + // line 1875 "./../src/mycompiler/myparser/JavaParser.jay" { TimesOp TEO = new TimesOp(-1,-1); yyVal=TEO; } break; -case 212: - // line 1872 "./../src/mycompiler/myparser/JavaParser.jay" +case 213: + // line 1880 "./../src/mycompiler/myparser/JavaParser.jay" { DivideOp DEO = new DivideOp(-1,-1); yyVal=DEO; } break; -case 213: - // line 1877 "./../src/mycompiler/myparser/JavaParser.jay" +case 214: + // line 1885 "./../src/mycompiler/myparser/JavaParser.jay" { ModuloOp MEO = new ModuloOp(-1,-1); yyVal=MEO; } break; -case 214: - // line 1882 "./../src/mycompiler/myparser/JavaParser.jay" +case 215: + // line 1890 "./../src/mycompiler/myparser/JavaParser.jay" { PlusOp PEO = new PlusOp(-1,-1); yyVal=PEO; } break; -case 215: - // line 1887 "./../src/mycompiler/myparser/JavaParser.jay" +case 216: + // line 1895 "./../src/mycompiler/myparser/JavaParser.jay" { MinusOp MEO = new MinusOp(-1,-1); yyVal=MEO; } break; -case 216: - // line 1899 "./../src/mycompiler/myparser/JavaParser.jay" +case 217: + // line 1907 "./../src/mycompiler/myparser/JavaParser.jay" { PreIncExpr PRINC = new PreIncExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); PRINC.set_Expr(((Expr)yyVals[0+yyTop])); yyVal=PRINC; } break; -case 217: - // line 1906 "./../src/mycompiler/myparser/JavaParser.jay" +case 218: + // line 1914 "./../src/mycompiler/myparser/JavaParser.jay" { PreDecExpr PRDEC = new PreDecExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); PRDEC.set_Expr(((Expr)yyVals[0+yyTop])); yyVal=PRDEC; } break; -case 218: - // line 1913 "./../src/mycompiler/myparser/JavaParser.jay" +case 219: + // line 1921 "./../src/mycompiler/myparser/JavaParser.jay" { PostIncExpr PIE = new PostIncExpr(((Expr)yyVals[-1+yyTop]).getOffset(),((Expr)yyVals[-1+yyTop]).getVariableLength()); PIE.set_Expr(((Expr)yyVals[-1+yyTop])); yyVal=PIE; } break; -case 219: - // line 1920 "./../src/mycompiler/myparser/JavaParser.jay" +case 220: + // line 1928 "./../src/mycompiler/myparser/JavaParser.jay" { PostDecExpr PDE = new PostDecExpr(((Expr)yyVals[-1+yyTop]).getOffset(),((Expr)yyVals[-1+yyTop]).getVariableLength()); PDE.set_Expr(((Expr)yyVals[-1+yyTop])); yyVal=PDE; } break; -case 220: - // line 1928 "./../src/mycompiler/myparser/JavaParser.jay" +case 221: + // line 1936 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("M1"); MethodCall MC = new MethodCall(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); @@ -2585,8 +2596,8 @@ case 220: yyVal=MC; } break; -case 221: - // line 1958 "./../src/mycompiler/myparser/JavaParser.jay" +case 222: + // line 1966 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("M2"); MethodCall MCarg = new MethodCall(((UsedId)yyVals[-3+yyTop]).getOffset(),((UsedId)yyVals[-3+yyTop]).getVariableLength()); @@ -2618,8 +2629,8 @@ case 221: yyVal=MCarg; } break; -case 222: - // line 1989 "./../src/mycompiler/myparser/JavaParser.jay" +case 223: + // line 1997 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("M3"); MethodCall MCpr = new MethodCall(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength()); @@ -2639,8 +2650,8 @@ case 222: yyVal=MCpr; } break; -case 223: - // line 2008 "./../src/mycompiler/myparser/JavaParser.jay" +case 224: + // line 2016 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("M4"); MethodCall MCPA = new MethodCall(((Expr)yyVals[-5+yyTop]).getOffset(),((Expr)yyVals[-5+yyTop]).getVariableLength()); @@ -2661,8 +2672,8 @@ case 223: yyVal=MCPA; } break; -case 224: - // line 2031 "./../src/mycompiler/myparser/JavaParser.jay" +case 225: + // line 2039 "./../src/mycompiler/myparser/JavaParser.jay" { NewClass NC = new NewClass(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); NC.set_UsedId(((UsedId)yyVals[-2+yyTop])); @@ -2671,8 +2682,8 @@ case 224: yyVal=NC; } break; -case 225: - // line 2039 "./../src/mycompiler/myparser/JavaParser.jay" +case 226: + // line 2047 "./../src/mycompiler/myparser/JavaParser.jay" { NewClass NCarg = new NewClass(((UsedId)yyVals[-3+yyTop]).getOffset(),((UsedId)yyVals[-3+yyTop]).getVariableLength()); NCarg.set_UsedId(((UsedId)yyVals[-3+yyTop])); @@ -2682,14 +2693,14 @@ case 225: yyVal=NCarg; } break; -case 226: - // line 2049 "./../src/mycompiler/myparser/JavaParser.jay" +case 227: + // line 2057 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 227: - // line 2053 "./../src/mycompiler/myparser/JavaParser.jay" +case 228: + // line 2061 "./../src/mycompiler/myparser/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()); @@ -2700,20 +2711,20 @@ case 227: yyVal=And; } break; -case 228: - // line 2069 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; case 229: - // line 2073 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2077 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 230: - // line 2077 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2081 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; +case 231: + // line 2085 "./../src/mycompiler/myparser/JavaParser.jay" { PositivExpr POSEX=new PositivExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); UnaryPlus UP= new UnaryPlus(); @@ -2722,8 +2733,8 @@ case 230: yyVal=POSEX; } break; -case 231: - // line 2085 "./../src/mycompiler/myparser/JavaParser.jay" +case 232: + // line 2093 "./../src/mycompiler/myparser/JavaParser.jay" { NegativeExpr NEGEX=new NegativeExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); UnaryMinus UM=new UnaryMinus(); @@ -2732,20 +2743,20 @@ case 231: yyVal=NEGEX; } break; -case 232: - // line 2093 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; case 233: - // line 2098 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2101 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 234: - // line 2102 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2106 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; +case 235: + // line 2110 "./../src/mycompiler/myparser/JavaParser.jay" { if (((UsedId)yyVals[0+yyTop]).get_Name().size() > 1) { @@ -2764,38 +2775,38 @@ case 234: } } break; -case 235: - // line 2120 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; case 236: - // line 2124 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2128 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 237: - // line 2129 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2132 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 238: - // line 2134 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2137 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 240: - // line 2140 "./../src/mycompiler/myparser/JavaParser.jay" +case 239: + // line 2142 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; +case 241: + // line 2148 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Literal)yyVals[0+yyTop]); } break; -case 241: - // line 2144 "./../src/mycompiler/myparser/JavaParser.jay" +case 242: + // line 2152 "./../src/mycompiler/myparser/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()); @@ -2804,24 +2815,24 @@ case 241: yyVal=T; } break; -case 242: - // line 2165 "./../src/mycompiler/myparser/JavaParser.jay" +case 243: + // line 2173 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((MethodCall)yyVals[0+yyTop]); } break; -case 243: - // line 2169 "./../src/mycompiler/myparser/JavaParser.jay" +case 244: + // line 2177 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 244: - // line 2174 "./../src/mycompiler/myparser/JavaParser.jay" +case 245: + // line 2182 "./../src/mycompiler/myparser/JavaParser.jay" {yyVal=((Expr)yyVals[0+yyTop]);} break; -case 245: - // line 2176 "./../src/mycompiler/myparser/JavaParser.jay" +case 246: + // line 2184 "./../src/mycompiler/myparser/JavaParser.jay" {NotExpr NE=new NotExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); UnaryNot UN=new UnaryNot(); NE.set_UnaryNot(UN); @@ -2829,75 +2840,75 @@ case 245: yyVal=NE; } break; -case 246: - // line 2182 "./../src/mycompiler/myparser/JavaParser.jay" +case 247: + // line 2190 "./../src/mycompiler/myparser/JavaParser.jay" {yyVal=((CastExpr)yyVals[0+yyTop]);} break; -case 247: - // line 2184 "./../src/mycompiler/myparser/JavaParser.jay" +case 248: + // line 2192 "./../src/mycompiler/myparser/JavaParser.jay" {yyVal=((Expr)yyVals[0+yyTop]);} break; -case 249: - // line 2189 "./../src/mycompiler/myparser/JavaParser.jay" +case 250: + // line 2197 "./../src/mycompiler/myparser/JavaParser.jay" {IntLiteral IL = new IntLiteral(); IL.set_Int(((Token)yyVals[0+yyTop]).String2Int()); yyVal = IL; } break; -case 250: - // line 2194 "./../src/mycompiler/myparser/JavaParser.jay" +case 251: + // line 2202 "./../src/mycompiler/myparser/JavaParser.jay" {BoolLiteral BL = new BoolLiteral(); BL.set_Bool(((Token)yyVals[0+yyTop]).String2Bool()); yyVal = BL; } break; -case 251: - // line 2198 "./../src/mycompiler/myparser/JavaParser.jay" +case 252: + // line 2206 "./../src/mycompiler/myparser/JavaParser.jay" {CharLiteral CL = new CharLiteral(); CL.set_Char(((Token)yyVals[0+yyTop]).CharInString()); yyVal=CL; } break; -case 252: - // line 2203 "./../src/mycompiler/myparser/JavaParser.jay" +case 253: + // line 2211 "./../src/mycompiler/myparser/JavaParser.jay" { StringLiteral ST = new StringLiteral(); ST.set_String(((Token)yyVals[0+yyTop]).get_String()); yyVal=ST; } break; -case 253: - // line 2208 "./../src/mycompiler/myparser/JavaParser.jay" +case 254: + // line 2216 "./../src/mycompiler/myparser/JavaParser.jay" { LongLiteral LL = new LongLiteral(); LL.set_Long(((Token)yyVals[0+yyTop]).String2Long()); yyVal = LL; } break; -case 254: - // line 2212 "./../src/mycompiler/myparser/JavaParser.jay" +case 255: + // line 2220 "./../src/mycompiler/myparser/JavaParser.jay" { FloatLiteral FL = new FloatLiteral(); FL.set_Float(((Token)yyVals[0+yyTop]).String2Float()); yyVal = FL; } break; -case 255: - // line 2217 "./../src/mycompiler/myparser/JavaParser.jay" +case 256: + // line 2225 "./../src/mycompiler/myparser/JavaParser.jay" { DoubleLiteral DL = new DoubleLiteral(); DL.set_Double(((Token)yyVals[0+yyTop]).String2Double()); yyVal = DL; } break; -case 256: - // line 2223 "./../src/mycompiler/myparser/JavaParser.jay" +case 257: + // line 2231 "./../src/mycompiler/myparser/JavaParser.jay" { Null NN = new Null(); yyVal=NN; } break; -case 257: - // line 2229 "./../src/mycompiler/myparser/JavaParser.jay" +case 258: + // line 2237 "./../src/mycompiler/myparser/JavaParser.jay" { CastExpr CaEx=new CastExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); CaEx.set_Type(((BaseType)yyVals[-2+yyTop])); @@ -2905,25 +2916,25 @@ case 257: yyVal=CaEx; } break; -case 258: - // line 2238 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; case 259: - // line 2242 "./../src/mycompiler/myparser/JavaParser.jay" - { - } - break; -case 260: // line 2246 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 261: +case 260: // line 2250 "./../src/mycompiler/myparser/JavaParser.jay" + { + } + break; +case 261: + // line 2254 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; +case 262: + // line 2258 "./../src/mycompiler/myparser/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()); @@ -2934,8 +2945,8 @@ case 261: yyVal=EQ; } break; -case 262: - // line 2260 "./../src/mycompiler/myparser/JavaParser.jay" +case 263: + // line 2268 "./../src/mycompiler/myparser/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()); @@ -2946,14 +2957,14 @@ case 262: yyVal=NEQ; } break; -case 263: - // line 2271 "./../src/mycompiler/myparser/JavaParser.jay" +case 264: + // line 2279 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 264: - // line 2275 "./../src/mycompiler/myparser/JavaParser.jay" +case 265: + // line 2283 "./../src/mycompiler/myparser/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()); @@ -2964,8 +2975,8 @@ case 264: yyVal=LO; } break; -case 265: - // line 2285 "./../src/mycompiler/myparser/JavaParser.jay" +case 266: + // line 2293 "./../src/mycompiler/myparser/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()); @@ -2976,8 +2987,8 @@ case 265: yyVal=GO; } break; -case 266: - // line 2295 "./../src/mycompiler/myparser/JavaParser.jay" +case 267: + // line 2303 "./../src/mycompiler/myparser/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()); @@ -2988,8 +2999,8 @@ case 266: yyVal=LE; } break; -case 267: - // line 2305 "./../src/mycompiler/myparser/JavaParser.jay" +case 268: + // line 2313 "./../src/mycompiler/myparser/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()); @@ -3000,8 +3011,8 @@ case 267: yyVal=GE; } break; -case 268: - // line 2315 "./../src/mycompiler/myparser/JavaParser.jay" +case 269: + // line 2323 "./../src/mycompiler/myparser/JavaParser.jay" { InstanceOf ISO=new InstanceOf(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); ISO.set_Expr(((Expr)yyVals[-2+yyTop])); @@ -3009,20 +3020,20 @@ case 268: yyVal=ISO; } break; -case 269: - // line 2323 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; case 270: - // line 2328 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2331 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 271: - // line 2332 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2336 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; +case 272: + // line 2340 "./../src/mycompiler/myparser/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()); @@ -3033,8 +3044,8 @@ case 271: yyVal=AD; } break; -case 272: - // line 2342 "./../src/mycompiler/myparser/JavaParser.jay" +case 273: + // line 2350 "./../src/mycompiler/myparser/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()); @@ -3045,14 +3056,14 @@ case 272: yyVal=MI; } break; -case 273: - // line 2353 "./../src/mycompiler/myparser/JavaParser.jay" +case 274: + // line 2361 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 274: - // line 2357 "./../src/mycompiler/myparser/JavaParser.jay" +case 275: + // line 2365 "./../src/mycompiler/myparser/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()); @@ -3063,8 +3074,8 @@ case 274: yyVal=ML; } break; -case 275: - // line 2367 "./../src/mycompiler/myparser/JavaParser.jay" +case 276: + // line 2375 "./../src/mycompiler/myparser/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()); @@ -3075,8 +3086,8 @@ case 275: yyVal = DV; } break; -case 276: - // line 2377 "./../src/mycompiler/myparser/JavaParser.jay" +case 277: + // line 2385 "./../src/mycompiler/myparser/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()); @@ -3087,7 +3098,7 @@ case 276: yyVal =MD; } break; - // line 3091 "-" + // line 3102 "-" } yyTop -= yyLen[yyN]; yyState = yyStates[yyTop]; @@ -3125,27 +3136,27 @@ case 276: 7, 40, 40, 28, 32, 32, 3, 3, 33, 33, 15, 15, 41, 41, 41, 41, 41, 41, 29, 4, 4, 31, 16, 16, 16, 30, 113, 113, 5, 5, - 17, 17, 110, 106, 106, 10, 6, 19, 11, 11, - 11, 11, 11, 13, 42, 42, 107, 107, 108, 108, - 108, 108, 48, 94, 97, 97, 93, 93, 95, 95, - 96, 96, 12, 12, 12, 12, 12, 12, 12, 12, + 17, 17, 110, 106, 106, 10, 6, 19, 19, 11, + 11, 11, 11, 11, 13, 42, 42, 107, 107, 108, + 108, 108, 108, 48, 94, 97, 97, 93, 93, 95, + 95, 96, 96, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 12, 12, 12, 39, 39, 39, 39, 18, 18, 43, - 44, 44, 50, 50, 109, 109, 38, 38, 14, 14, - 36, 36, 37, 20, 80, 80, 49, 49, 103, 103, - 35, 21, 78, 46, 81, 81, 81, 81, 81, 71, - 71, 34, 34, 47, 47, 79, 79, 79, 79, 86, - 87, 83, 84, 84, 84, 84, 84, 84, 84, 84, - 69, 69, 89, 77, 90, 90, 82, 82, 82, 68, - 99, 99, 72, 72, 72, 72, 72, 72, 88, 85, - 67, 67, 101, 45, 45, 51, 51, 70, 102, 100, - 100, 100, 100, 100, 100, 73, 74, 75, 76, 104, - 104, 104, 104, 91, 91, 66, 66, 57, 57, 57, - 57, 57, 55, 55, 55, 55, 54, 65, 65, 53, - 53, 53, 53, 56, 56, 56, 64, 64, 52, 52, - 52, 52, 52, 52, 52, 52, 111, 63, 63, 62, - 62, 62, 61, 61, 61, 61, 61, 61, 60, 59, - 59, 59, 58, 58, 58, 58, + 12, 12, 12, 12, 39, 39, 39, 39, 18, 18, + 43, 44, 44, 50, 50, 109, 109, 38, 38, 14, + 14, 36, 36, 37, 20, 80, 80, 49, 49, 103, + 103, 35, 21, 78, 46, 81, 81, 81, 81, 81, + 71, 71, 34, 34, 47, 47, 79, 79, 79, 79, + 86, 87, 83, 84, 84, 84, 84, 84, 84, 84, + 84, 69, 69, 89, 77, 90, 90, 82, 82, 82, + 68, 99, 99, 72, 72, 72, 72, 72, 72, 88, + 85, 67, 67, 101, 45, 45, 51, 51, 70, 102, + 100, 100, 100, 100, 100, 100, 73, 74, 75, 76, + 104, 104, 104, 104, 91, 91, 66, 66, 57, 57, + 57, 57, 57, 55, 55, 55, 55, 54, 65, 65, + 53, 53, 53, 53, 56, 56, 56, 64, 64, 52, + 52, 52, 52, 52, 52, 52, 52, 111, 63, 63, + 62, 62, 62, 61, 61, 61, 61, 61, 61, 60, + 59, 59, 59, 58, 58, 58, 58, }; protected static final short yyLen [] = { 2, 1, 3, 1, 2, 3, 1, 2, 1, 1, 1, @@ -3155,955 +3166,1003 @@ case 276: 3, 1, 2, 2, 2, 3, 2, 3, 2, 3, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 2, 0, 3, 1, 1, - 1, 1, 2, 2, 3, 6, 2, 3, 2, 2, - 2, 3, 4, 2, 2, 3, 3, 4, 2, 3, - 3, 4, 2, 1, 1, 3, 1, 3, 1, 3, - 1, 3, 5, 2, 3, 6, 3, 6, 4, 7, - 2, 3, 3, 4, 5, 6, 6, 7, 1, 4, - 2, 2, 3, 1, 3, 1, 3, 1, 3, 1, - 1, 2, 1, 3, 4, 5, 1, 3, 3, 4, - 1, 1, 1, 1, 1, 1, 2, 1, 1, 3, - 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 2, 1, 1, 1, 1, 1, 5, - 7, 5, 9, 8, 8, 8, 7, 7, 7, 6, - 1, 1, 1, 2, 2, 3, 1, 1, 1, 1, - 3, 3, 1, 1, 1, 1, 1, 1, 7, 5, - 1, 3, 1, 1, 1, 2, 3, 3, 1, 1, - 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, - 4, 5, 6, 4, 5, 1, 3, 1, 1, 2, - 2, 1, 1, 1, 1, 1, 1, 1, 3, 1, - 1, 1, 1, 1, 2, 1, 1, 3, 1, 1, - 1, 1, 1, 1, 1, 1, 4, 1, 3, 1, - 3, 3, 1, 3, 3, 3, 3, 3, 1, 1, - 3, 3, 1, 3, 3, 3, + 1, 1, 2, 2, 3, 6, 2, 4, 3, 2, + 2, 2, 3, 4, 2, 2, 3, 3, 4, 2, + 3, 3, 4, 2, 1, 1, 3, 1, 3, 1, + 3, 1, 3, 5, 2, 3, 6, 3, 6, 4, + 7, 2, 3, 3, 4, 5, 6, 6, 7, 1, + 4, 2, 2, 3, 1, 3, 1, 3, 1, 3, + 1, 1, 2, 1, 3, 4, 5, 1, 3, 3, + 4, 1, 1, 1, 1, 1, 1, 2, 1, 1, + 3, 1, 1, 1, 2, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, + 5, 7, 5, 9, 8, 8, 8, 7, 7, 7, + 6, 1, 1, 1, 2, 2, 3, 1, 1, 1, + 1, 3, 3, 1, 1, 1, 1, 1, 1, 7, + 5, 1, 3, 1, 1, 1, 2, 3, 3, 1, + 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, + 3, 4, 5, 6, 4, 5, 1, 3, 1, 1, + 2, 2, 1, 1, 1, 1, 1, 1, 1, 3, + 1, 1, 1, 1, 1, 2, 1, 1, 3, 1, + 1, 1, 1, 1, 1, 1, 1, 4, 1, 3, + 1, 3, 3, 1, 3, 3, 3, 3, 3, 1, + 1, 3, 3, 1, 3, 3, 3, }; protected static final short yyDefRed [] = { 0, 57, 0, 58, 55, 54, 53, 56, 0, 10, 0, 42, 0, 6, 0, 0, 0, 43, 7, 0, 0, - 0, 0, 15, 0, 0, 0, 0, 94, 95, 0, - 14, 0, 44, 59, 62, 45, 141, 163, 162, 0, + 0, 0, 15, 0, 0, 0, 0, 95, 96, 0, + 14, 0, 44, 59, 62, 45, 142, 164, 163, 0, 0, 0, 0, 40, 71, 0, 72, 0, 0, 51, - 63, 0, 0, 0, 144, 0, 143, 151, 142, 0, + 63, 0, 0, 0, 145, 0, 144, 152, 143, 0, 0, 0, 0, 65, 0, 64, 17, 0, 0, 19, 16, 0, 0, 0, 0, 26, 0, 66, 0, 73, - 0, 0, 0, 101, 0, 130, 84, 0, 122, 41, - 52, 0, 81, 79, 0, 0, 0, 0, 0, 0, - 0, 80, 0, 0, 0, 0, 0, 0, 0, 74, - 21, 46, 18, 0, 20, 99, 0, 96, 0, 0, - 0, 33, 0, 0, 0, 241, 0, 249, 253, 255, - 254, 250, 256, 251, 252, 0, 0, 0, 183, 85, - 0, 0, 128, 0, 8, 0, 0, 166, 0, 145, - 0, 0, 240, 237, 0, 0, 243, 0, 194, 195, - 0, 0, 168, 155, 131, 146, 158, 159, 156, 157, - 167, 169, 193, 0, 0, 113, 139, 148, 0, 133, - 0, 0, 0, 137, 0, 152, 129, 0, 0, 0, - 0, 0, 9, 0, 232, 273, 0, 0, 263, 0, - 0, 0, 0, 0, 0, 0, 181, 160, 78, 228, - 229, 235, 236, 161, 182, 242, 246, 87, 0, 125, - 127, 107, 82, 0, 0, 123, 0, 0, 75, 0, - 89, 0, 0, 22, 0, 0, 0, 0, 0, 68, - 0, 0, 185, 0, 0, 0, 216, 217, 206, 0, - 0, 0, 0, 86, 132, 154, 203, 0, 0, 218, - 219, 184, 214, 215, 211, 212, 213, 210, 0, 147, - 0, 140, 102, 0, 120, 0, 0, 0, 0, 230, - 231, 245, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, - 114, 0, 109, 83, 0, 91, 90, 0, 100, 0, - 38, 39, 0, 36, 0, 0, 0, 186, 0, 207, - 11, 220, 149, 0, 204, 208, 205, 0, 191, 192, - 134, 0, 0, 138, 0, 0, 274, 275, 276, 0, - 0, 268, 266, 267, 264, 265, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 92, 32, 0, - 0, 0, 0, 0, 0, 0, 221, 0, 117, 108, - 224, 0, 257, 0, 0, 135, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 170, 0, 189, 188, - 172, 150, 222, 0, 225, 118, 110, 136, 35, 180, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 223, - 179, 178, 0, 177, 0, 0, 0, 0, 0, 171, - 176, 175, 174, 0, 0, 0, 173, 0, 200, 0, - 199, + 0, 0, 0, 102, 0, 131, 85, 0, 123, 41, + 52, 0, 82, 80, 0, 0, 0, 0, 0, 0, + 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 74, 21, 46, 18, 0, 20, 100, 0, 97, 0, + 0, 0, 33, 0, 0, 0, 242, 0, 250, 254, + 256, 255, 251, 257, 252, 253, 0, 0, 0, 184, + 86, 0, 0, 129, 0, 8, 0, 0, 167, 0, + 146, 0, 0, 241, 238, 0, 0, 244, 0, 195, + 196, 0, 0, 169, 156, 132, 147, 159, 160, 157, + 158, 168, 170, 194, 0, 0, 114, 140, 149, 0, + 134, 0, 0, 0, 138, 0, 153, 130, 0, 0, + 0, 0, 0, 9, 0, 233, 274, 0, 0, 264, + 0, 0, 0, 0, 0, 0, 0, 182, 161, 79, + 229, 230, 236, 237, 162, 183, 243, 247, 88, 0, + 126, 128, 108, 83, 0, 0, 0, 0, 124, 0, + 0, 0, 75, 0, 90, 0, 0, 22, 0, 0, + 0, 0, 0, 68, 0, 0, 186, 0, 0, 0, + 217, 218, 207, 0, 0, 0, 0, 87, 133, 155, + 204, 0, 0, 219, 220, 185, 215, 216, 212, 213, + 214, 211, 0, 148, 0, 141, 103, 0, 121, 0, + 0, 0, 0, 231, 232, 246, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 89, 0, 0, 115, 0, 110, 84, + 0, 92, 91, 0, 101, 0, 38, 39, 0, 36, + 0, 0, 0, 187, 0, 208, 11, 221, 150, 0, + 205, 209, 206, 0, 192, 193, 135, 0, 0, 139, + 0, 0, 275, 276, 277, 0, 0, 269, 267, 268, + 265, 266, 0, 0, 0, 0, 0, 0, 0, 78, + 0, 0, 0, 0, 93, 32, 0, 0, 0, 0, + 0, 0, 0, 222, 0, 118, 109, 225, 0, 258, + 0, 0, 136, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 171, 0, 190, 189, 173, 151, 223, + 0, 226, 119, 111, 137, 35, 181, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 224, 180, 179, 0, + 178, 0, 0, 0, 0, 0, 172, 177, 176, 175, + 0, 0, 0, 174, 0, 201, 0, 200, }; protected static final short yyDgoto [] = { 8, 9, 0, 0, 0, 0, 0, 23, 15, 0, 0, - 45, 46, 47, 48, 49, 50, 51, 142, 53, 143, - 55, 193, 145, 0, 0, 0, 146, 24, 33, 57, - 36, 25, 0, 58, 59, 60, 61, 185, 147, 10, - 11, 148, 87, 149, 326, 150, 151, 89, 180, 250, - 152, 153, 154, 155, 194, 195, 196, 197, 198, 199, - 200, 201, 202, 203, 204, 205, 206, 207, 208, 157, - 323, 158, 210, 211, 212, 213, 163, 0, 164, 165, - 166, 388, 167, 168, 389, 169, 170, 390, 171, 172, - 214, 12, 28, 29, 117, 85, 30, 0, 173, 269, - 258, 174, 324, 216, 13, 64, 65, 110, 233, 66, - 217, 121, 78, 122, + 45, 46, 47, 48, 49, 50, 51, 143, 53, 144, + 55, 194, 146, 0, 0, 0, 147, 24, 33, 57, + 36, 25, 0, 58, 59, 60, 61, 186, 148, 10, + 11, 149, 87, 150, 332, 151, 152, 89, 181, 254, + 153, 154, 155, 156, 195, 196, 197, 198, 199, 200, + 201, 202, 203, 204, 205, 206, 207, 208, 209, 158, + 329, 159, 211, 212, 213, 214, 164, 0, 165, 166, + 167, 395, 168, 169, 396, 170, 171, 397, 172, 173, + 215, 12, 28, 29, 118, 85, 30, 0, 216, 273, + 262, 175, 330, 217, 13, 64, 65, 111, 237, 66, + 218, 122, 78, 123, }; - protected static final short yySindex [] = { 249, - 0, -251, 0, 0, 0, 0, 0, 0, 0, 332, - 0, 249, 0, 9, -104, -251, 0, 0, -241, -208, - -208, 1029, 0, -88, -1, -104, -170, 0, 0, 20, - 0, 100, 0, 0, 0, 0, 0, 0, 0, 33, - -139, 144, -241, 0, 0, 33, 0, -78, 1351, 0, - 0, 70, 137, 155, 0, 25, 0, 0, 0, 114, - 129, -70, 1946, 0, 99, 0, 0, -1, -208, 0, - 0, -88, -1, -208, -241, 0, -59, 0, 3006, 0, - 144, -78, -17, 0, 29, 0, 0, -208, 0, 0, - 0, -55, 0, 0, 941, -14, 165, 204, 144, -78, - 111, 0, -139, 144, -241, -78, -70, 99, 3058, 0, - 0, 0, 0, -1, 0, 0, 269, 0, 252, -73, - 42, 0, 273, 276, 462, 0, 277, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 968, 968, 0, 0, - 34, 275, 0, 100, 0, 61, -55, 0, 3110, 0, - 265, -3, 0, 0, 274, -118, 0, 268, 0, 0, + protected static final short yySindex [] = { 222, + 0, -258, 0, 0, 0, 0, 0, 0, 0, 330, + 0, 222, 0, 17, -87, -258, 0, 0, -250, -238, + -238, 3469, 0, -109, -6, -87, -201, 0, 0, 4, + 0, 36, 0, 0, 0, 0, 0, 0, 0, -4, + -138, 147, -250, 0, 0, -4, 0, -60, 3514, 0, + 0, 89, 161, 183, 0, 5, 0, 0, 0, 171, + 178, -113, 1983, 0, 126, 0, 0, -6, -238, 0, + 0, -109, -6, -238, -250, 0, -38, 0, 3079, 0, + 147, -60, -37, 0, 76, 0, 0, -238, 0, 0, + 0, -27, 0, 0, 1003, -28, 187, 198, -60, 95, + 0, 236, -27, -138, 147, -250, -60, -3, 126, 3161, + 0, 0, 0, 0, -6, 0, 0, 278, 0, 276, + -178, 88, 0, 302, 309, 462, 0, 311, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 973, 973, 0, + 0, -17, 313, 0, 36, 0, 158, -27, 0, 3270, + 0, 305, 39, 0, 0, 329, -48, 0, 320, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -44, 0, 0, 0, 0, -55, 0, - 107, -241, -196, 0, 284, 0, 0, -208, 34, 968, - 968, 968, 0, -118, 0, 0, 167, 83, 0, -54, - -120, 291, 237, 208, 26, 36, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 169, 0, - 0, 0, 0, -78, 59, 0, -78, 117, 0, 304, - 0, 3167, 3211, 0, -208, -59, -208, -208, -18, 0, - 579, 941, 0, 290, 941, 61, 0, 0, 0, 177, - 49, 616, 275, 0, 0, 0, 0, 426, 58, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 941, 0, - -93, 0, 0, -139, 0, -139, -208, 321, 5, 0, - 0, 0, 968, 968, 968, 968, 968, -208, 968, 968, - 968, 968, 968, 968, 968, 968, 968, 968, 968, 0, - 0, -128, 0, 0, 633, 0, 0, 3269, 0, 62, - 0, 0, 302, 0, 671, 308, 327, 0, 329, 0, - 0, 0, 0, 189, 0, 0, 0, 331, 0, 0, - 0, -78, -78, 0, 698, 968, 0, 0, 0, 167, - 167, 0, 0, 0, 0, 0, -54, -54, -120, 291, - 237, 208, 26, -139, -139, 314, 191, 0, 0, -59, - 735, 318, 778, 1489, 2205, 941, 0, 805, 0, 0, - 0, 199, 0, -78, -78, 0, 323, 71, 2205, 338, - 822, 849, 325, 340, 345, 0, 0, 119, 0, 0, - 0, 0, 0, 261, 0, 0, 0, 0, 0, 0, - 2205, 2205, 347, 2205, 350, 904, 941, 941, 2205, 0, - 0, 0, 2205, 0, 2205, 2205, 351, 352, 355, 0, - 0, 0, 0, 2205, 1489, 1489, 0, 134, 0, 1489, - 0, + 0, 0, 0, 0, -2, 0, 0, 0, 0, -27, + 0, 56, -250, -69, 0, 336, 0, 0, -238, -17, + 973, 973, 973, 0, -48, 0, 0, 186, 163, 0, + -21, -176, 348, 295, 267, 86, 82, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, + 0, 0, 0, 0, 1003, 341, -60, 102, 0, 147, + -60, 108, 0, 363, 0, 3324, 3372, 0, -238, -38, + -238, -238, -30, 0, 623, 1003, 0, 345, 1003, 158, + 0, 0, 0, 195, 111, 433, 313, 0, 0, 0, + 0, 669, 112, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1003, 0, 66, 0, 0, -138, 0, -138, + -238, 369, 11, 0, 0, 0, 973, 973, 973, 973, + 973, -238, 973, 973, 973, 973, 973, 973, 973, 973, + 973, 973, 973, 0, 0, 1003, 0, 65, 0, 0, + 732, 0, 0, 3424, 0, 121, 0, 0, 359, 0, + 760, 364, 383, 0, 384, 0, 0, 0, 0, 210, + 0, 0, 0, 387, 0, 0, 0, -60, -60, 0, + 787, 973, 0, 0, 0, 186, 186, 0, 0, 0, + 0, 0, -21, -21, -176, 348, 295, 267, 86, 0, + -138, -138, 371, 264, 0, 0, -38, 826, 374, 866, + 1053, 1221, 1003, 0, 893, 0, 0, 0, 265, 0, + -60, -60, 0, 375, 140, 1221, 399, 910, 939, 382, + 402, 404, 0, 0, 179, 0, 0, 0, 0, 0, + 294, 0, 0, 0, 0, 0, 0, 1221, 1221, 406, + 1221, 408, 956, 1003, 1003, 1221, 0, 0, 0, 1221, + 0, 1221, 1221, 409, 413, 414, 0, 0, 0, 0, + 1221, 1053, 1053, 0, 189, 0, 1053, 0, }; protected static final short yyRindex [] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 403, 0, -89, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 74, 0, 0, 0, - 0, 1123, 0, 0, 0, 0, 0, 0, 0, 2588, - 0, -23, 0, 0, 0, 0, 0, 282, 0, 0, - 0, 0, 0, 139, 0, -84, 0, 0, 0, 106, - 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 445, 0, -86, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 150, 0, 0, 0, + 0, 1276, 0, 0, 0, 0, 0, 0, 0, 2404, + 0, 520, 0, 0, 0, 0, 0, 339, 0, 0, + 0, 0, 0, 109, 0, -84, 0, 0, 0, 107, + 174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 292, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 91, 293, - 0, 0, 0, -50, 0, 297, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 76, 0, 87, 96, + 0, 340, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 347, 0, + 0, 109, 0, 0, -51, 0, 354, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 153, 0, 156, + 157, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 235, 0, 0, 0, + 0, 0, 400, 0, 370, 0, 579, 0, 0, 0, + 0, 0, 0, 0, 0, 1331, 0, 0, 0, 0, + 0, -53, -31, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -43, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 360, 0, 0, 0, 0, + 0, 0, 0, 0, 3215, 0, 0, 2855, 2239, 0, + 2435, 2490, 1385, 1439, 1690, 1744, 1782, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 215, 0, 0, 0, 0, - 0, 362, 0, 320, 0, 526, 0, 0, 0, 0, - 0, 0, 0, 0, 1237, 0, 0, 0, 0, 0, - -45, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -43, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 299, 0, 0, 0, 0, 0, - 0, 0, 0, 2981, 0, 0, 2708, 2152, 0, 2428, - 2254, 1292, 1398, 1543, 1602, 1671, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 361, 0, 0, 148, + 365, 0, 0, -41, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1819, + 0, 0, 0, 0, 0, 0, 405, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 301, 0, 0, 305, 0, 0, -41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1708, 0, 0, 0, 0, - 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 106, 0, + 0, 0, 0, 0, 1596, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 165, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 373, 388, 0, + 0, 0, 0, 0, 0, 2909, 2964, 0, 0, 0, + 0, 0, 2604, 2795, 2544, 1879, 2070, 2130, 2184, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 392, 393, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 3025, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 97, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 317, 324, 0, 0, 0, 0, 0, 0, 2780, - 2870, 0, 0, 0, 0, 0, 2529, 2619, 2343, 1794, - 1879, 1981, 2067, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 328, 333, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1192, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, + 0, 0, 0, 0, 0, 0, 0, 0, }; protected static final short yyGindex [] = { 0, - 0, 0, 0, 0, 0, 0, 558, 398, 0, 0, - 0, 0, 0, -40, 0, 394, 0, -10, 382, 27, - -2, 465, 0, 0, 0, 0, 2657, 420, -77, 11, - 379, 53, 0, 0, 0, 266, -49, 0, -9, 35, - 37, -31, 0, -67, 0, 0, 0, -80, 187, -25, - 0, 0, 0, 0, -79, 0, -82, 3, 0, 143, - -56, 170, 164, 179, 182, 163, 0, 0, 214, 0, - 196, 0, -61, -26, -7, 48, 0, 0, -313, -116, - 944, -202, 0, 0, 0, 0, 0, 0, 0, 0, - 219, 0, -15, 402, 0, 388, 0, 0, 184, 0, - 0, 0, -276, 66, 472, 0, 431, 389, 0, 0, - 0, -192, 0, 259, + 0, 0, 0, 0, 0, 0, 62, 471, 0, 0, + 0, 0, 0, -40, 0, 444, 0, 7, 432, 33, + -49, 509, 0, 0, 0, 0, 1474, 484, -78, -9, + 450, 46, 0, 0, 0, 332, 92, 0, -5, 32, + 20, -14, 0, -95, 0, 0, 0, -80, 245, 9, + 0, 0, 0, 0, -79, 0, -118, -77, 0, 105, + -8, 225, 226, 224, 230, 231, 0, 0, 254, 0, + 292, 0, -61, -26, 6, 49, 0, 0, -329, -142, + -310, -133, 0, 0, 0, 0, 0, 0, 0, 0, + 255, 0, 3, 458, 0, 429, 0, 0, 81, 0, + 0, 0, -261, 137, 527, 0, 477, 438, 0, 0, + 0, -205, 0, 299, }; - protected static final short yyTable [] = { 156, - 82, 176, 242, 120, 241, 291, 67, 292, 80, 14, - 184, 52, 62, 196, 86, 198, 268, 159, 22, 222, - 152, 100, 106, 177, 116, 226, 218, 84, 357, 156, - 34, 35, 255, 25, 22, 152, 14, 152, 52, 62, - 14, 232, 69, 310, 120, 336, 17, 159, 54, 14, - 386, 101, 160, 107, 247, 248, 63, 181, 372, 27, - 197, 37, 224, 75, 96, 38, 227, 14, 19, 156, - 219, 161, 182, 179, 249, 54, 68, 39, 73, 35, - 178, 76, 160, 63, 77, 239, 179, 159, 54, 84, - 183, 394, 31, 178, 274, 97, 228, 74, 34, 17, - 252, 161, 182, 240, 104, 239, 251, 280, 281, 282, - 278, 386, 386, 92, 239, 255, 386, 97, 187, 98, - 302, 22, 160, 359, 114, 286, 162, 287, 93, 37, - 31, 179, 399, 38, 152, 97, 253, 98, 178, 37, - 34, 161, 275, 301, 175, 39, 303, 272, 31, 152, - 271, 152, 156, 156, 92, 79, 162, 37, 34, 77, - 92, 81, 354, 20, 37, 308, 273, 378, 38, 223, - 159, 159, 31, 276, 175, 304, 270, 21, 25, 179, - 39, 293, 128, 83, 294, 309, 178, 311, 312, 260, - 261, 255, 25, 21, 237, 94, 162, 128, 34, 334, - 337, 338, 339, 285, 97, 160, 160, 136, 283, 300, - 88, 238, 271, 284, 175, 95, 67, 320, 288, 98, - 271, 109, 428, 429, 161, 161, 325, 431, 156, 367, - 99, 377, 366, 332, 366, 333, 347, 348, 342, 395, - 37, 119, 366, 37, 38, 186, 159, 38, 289, 290, - 14, 369, 370, 373, 14, 152, 39, 220, 152, 39, - 14, 179, 235, 235, 242, 242, 241, 241, 178, 263, - 264, 265, 266, 152, 14, 14, 267, 14, 215, 162, - 162, 160, 313, 136, 156, 156, 136, 34, 340, 341, - 209, 37, 355, 396, 397, 38, 221, 175, 175, 156, - 161, 410, 159, 159, 366, 14, 235, 39, 215, 236, - 236, 236, 241, 374, 375, 242, 245, 159, 92, 259, - 244, 156, 156, 256, 156, 257, 262, 277, 295, 156, - 296, 297, 298, 156, 136, 156, 156, 160, 160, 159, - 159, 299, 159, 305, 156, 156, 156, 159, 318, 321, - 156, 159, 160, 159, 159, 162, 161, 161, 328, 9, - 335, 360, 159, 159, 159, 9, 363, 364, 159, 365, - 368, 161, 376, 175, 160, 160, 381, 160, 401, 407, - 9, 398, 160, 406, 408, 409, 160, 413, 160, 160, - 415, 424, 425, 161, 161, 426, 161, 160, 160, 160, - 430, 161, 1, 160, 119, 161, 124, 161, 161, 126, - 67, 162, 162, 26, 111, 104, 161, 161, 161, 121, - 165, 93, 161, 112, 215, 215, 162, 105, 215, 175, - 175, 343, 344, 345, 346, 215, 316, 317, 164, 115, - 319, 215, 91, 102, 175, 72, 103, 112, 162, 162, - 116, 162, 215, 327, 279, 106, 162, 331, 192, 350, - 162, 353, 162, 162, 349, 189, 175, 175, 190, 175, - 191, 162, 162, 162, 175, 351, 118, 162, 175, 352, - 175, 175, 329, 18, 32, 32, 56, 330, 215, 175, - 175, 175, 225, 108, 192, 175, 229, 314, 215, 0, - 0, 189, 0, 0, 190, 1, 191, 0, 0, 0, - 362, 2, 0, 56, 0, 14, 0, 3, 215, 0, - 243, 0, 14, 14, 4, 5, 6, 56, 14, 14, - 14, 14, 7, 32, 0, 14, 0, 0, 32, 0, - 0, 0, 0, 144, 215, 0, 215, 32, 79, 215, - 0, 215, 32, 0, 0, 0, 380, 0, 383, 0, - 32, 392, 234, 234, 215, 215, 234, 234, 234, 234, - 234, 0, 234, 144, 0, 0, 403, 405, 0, 0, - 0, 67, 70, 71, 234, 234, 209, 234, 1, 215, - 215, 215, 0, 0, 16, 0, 0, 0, 0, 0, - 3, 417, 418, 419, 0, 32, 0, 4, 5, 6, - 0, 192, 0, 144, 0, 7, 0, 0, 189, 234, - 67, 190, 0, 191, 0, 111, 0, 9, 9, 113, - 115, 0, 0, 9, 9, 9, 9, 315, 0, 0, - 9, 0, 0, 0, 0, 0, 0, 32, 192, 234, - 234, 0, 32, 32, 0, 189, 322, 0, 190, 0, - 191, 0, 0, 0, 0, 192, 0, 0, 0, 0, - 0, 234, 189, 356, 0, 190, 0, 191, 0, 0, + protected static final short yyTable [] = { 157, + 82, 177, 243, 178, 242, 197, 67, 259, 14, 185, + 34, 35, 219, 22, 236, 199, 62, 160, 223, 251, + 252, 99, 107, 253, 121, 80, 229, 198, 52, 17, + 157, 86, 121, 179, 316, 22, 25, 69, 295, 14, + 296, 393, 14, 62, 96, 84, 179, 75, 160, 364, + 27, 342, 161, 63, 54, 52, 103, 108, 272, 35, + 394, 398, 31, 227, 77, 76, 74, 231, 100, 68, + 157, 73, 284, 285, 286, 407, 19, 180, 34, 379, + 63, 54, 17, 161, 162, 67, 70, 71, 160, 241, + 180, 182, 179, 259, 102, 77, 276, 418, 419, 275, + 421, 97, 393, 393, 220, 427, 242, 393, 84, 428, + 282, 429, 430, 401, 232, 162, 22, 115, 79, 183, + 434, 394, 398, 161, 188, 297, 427, 163, 298, 112, + 274, 243, 92, 114, 116, 226, 180, 184, 92, 304, + 179, 314, 275, 279, 37, 183, 307, 93, 38, 244, + 309, 92, 129, 224, 257, 162, 157, 157, 163, 174, + 39, 385, 81, 308, 243, 117, 310, 129, 343, 344, + 345, 259, 21, 67, 160, 160, 238, 67, 280, 34, + 20, 25, 366, 243, 180, 277, 83, 42, 37, 67, + 174, 153, 38, 98, 21, 25, 99, 256, 163, 31, + 37, 406, 340, 255, 39, 290, 153, 291, 34, 161, + 161, 98, 346, 347, 99, 176, 67, 31, 37, 94, + 37, 278, 289, 380, 38, 179, 34, 287, 88, 37, + 174, 105, 288, 38, 157, 326, 39, 338, 275, 339, + 37, 162, 162, 95, 38, 39, 176, 331, 110, 14, + 374, 292, 160, 373, 236, 236, 39, 376, 377, 264, + 265, 97, 120, 137, 243, 243, 242, 242, 98, 180, + 319, 34, 137, 187, 14, 153, 237, 237, 153, 221, + 14, 293, 294, 137, 163, 163, 176, 161, 353, 354, + 222, 157, 157, 153, 14, 14, 225, 230, 435, 436, + 403, 404, 362, 438, 384, 402, 157, 373, 373, 160, + 160, 267, 268, 269, 270, 239, 174, 174, 271, 162, + 381, 382, 37, 37, 160, 14, 38, 38, 157, 157, + 315, 157, 317, 318, 417, 240, 157, 373, 39, 39, + 157, 245, 157, 157, 161, 161, 160, 160, 246, 160, + 249, 157, 157, 157, 160, 361, 92, 157, 160, 161, + 160, 160, 163, 260, 125, 31, 137, 261, 125, 160, + 160, 160, 176, 176, 263, 160, 162, 162, 266, 281, + 125, 161, 161, 348, 161, 299, 210, 303, 300, 161, + 301, 162, 302, 161, 174, 161, 161, 349, 350, 351, + 352, 306, 311, 324, 161, 161, 161, 125, 341, 9, + 161, 327, 334, 162, 162, 9, 162, 248, 367, 163, + 163, 162, 370, 371, 372, 162, 375, 162, 162, 383, + 9, 127, 388, 405, 163, 127, 162, 162, 162, 408, + 413, 414, 162, 415, 1, 416, 420, 127, 422, 431, + 176, 174, 174, 432, 433, 437, 163, 163, 166, 163, + 67, 120, 112, 165, 163, 193, 174, 125, 163, 105, + 163, 163, 190, 328, 127, 191, 122, 192, 1, 163, + 163, 163, 94, 113, 2, 163, 26, 106, 174, 174, + 3, 174, 91, 101, 193, 116, 174, 4, 5, 6, + 174, 190, 174, 174, 191, 7, 192, 176, 176, 72, + 104, 174, 174, 174, 117, 107, 305, 174, 113, 337, + 247, 283, 176, 355, 357, 356, 335, 336, 32, 32, + 56, 358, 119, 359, 228, 14, 322, 323, 18, 109, + 325, 320, 14, 14, 176, 176, 233, 176, 14, 14, + 14, 14, 176, 333, 0, 14, 176, 56, 176, 176, + 0, 0, 0, 153, 0, 0, 0, 176, 176, 176, + 32, 56, 0, 176, 0, 0, 0, 32, 153, 14, + 153, 0, 32, 0, 0, 0, 1, 145, 0, 0, + 0, 32, 16, 0, 0, 0, 32, 360, 3, 0, + 0, 0, 0, 0, 32, 4, 5, 6, 0, 0, + 14, 0, 369, 7, 0, 235, 235, 0, 145, 235, + 235, 235, 235, 235, 0, 235, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 235, 235, 210, + 235, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 32, 0, 0, 0, 0, 193, 0, 0, 145, 387, + 0, 390, 190, 0, 399, 191, 0, 192, 0, 0, + 67, 0, 235, 0, 0, 0, 0, 9, 9, 410, + 412, 321, 0, 9, 9, 9, 9, 0, 0, 0, + 9, 0, 32, 0, 0, 0, 0, 32, 32, 0, + 0, 193, 235, 235, 424, 425, 426, 189, 190, 0, + 0, 191, 0, 192, 0, 0, 0, 0, 0, 127, + 0, 0, 0, 0, 0, 129, 130, 131, 132, 133, + 134, 135, 136, 31, 0, 0, 189, 0, 0, 0, + 138, 139, 0, 0, 145, 145, 0, 32, 127, 32, + 32, 0, 0, 0, 129, 130, 131, 132, 133, 134, + 135, 136, 31, 0, 193, 0, 0, 0, 0, 138, + 139, 190, 363, 0, 191, 0, 192, 14, 0, 0, + 0, 14, 0, 32, 0, 0, 0, 0, 0, 32, + 0, 79, 193, 14, 0, 0, 0, 0, 0, 190, + 32, 0, 191, 0, 192, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 32, 0, 368, 193, + 14, 0, 145, 0, 0, 0, 190, 378, 0, 191, + 0, 192, 0, 0, 0, 235, 235, 0, 0, 0, + 235, 0, 0, 0, 0, 0, 0, 235, 0, 0, + 0, 235, 235, 0, 235, 235, 235, 0, 193, 0, + 0, 0, 235, 0, 0, 190, 386, 0, 191, 235, + 192, 0, 0, 0, 0, 0, 0, 0, 0, 235, + 235, 235, 235, 235, 235, 235, 235, 235, 0, 0, + 0, 0, 210, 210, 210, 210, 0, 189, 193, 210, + 0, 0, 0, 0, 0, 190, 0, 0, 191, 127, + 192, 0, 0, 0, 0, 129, 130, 131, 132, 133, + 134, 135, 136, 31, 389, 193, 0, 0, 0, 0, + 138, 139, 190, 400, 0, 191, 0, 192, 0, 0, + 0, 0, 193, 189, 0, 0, 0, 0, 0, 190, + 409, 0, 191, 0, 192, 127, 0, 0, 0, 0, + 0, 129, 130, 131, 132, 133, 134, 135, 136, 31, + 0, 193, 0, 0, 0, 0, 138, 139, 190, 411, + 0, 191, 0, 192, 0, 0, 0, 0, 193, 0, + 0, 0, 0, 0, 0, 190, 423, 0, 191, 0, + 192, 0, 0, 0, 0, 193, 189, 0, 0, 0, + 0, 0, 190, 0, 0, 191, 0, 192, 127, 0, + 0, 0, 0, 0, 129, 130, 131, 132, 133, 134, + 135, 136, 31, 0, 189, 193, 0, 0, 0, 138, + 139, 0, 190, 0, 0, 191, 127, 192, 0, 0, + 0, 0, 129, 130, 131, 132, 133, 134, 135, 136, + 31, 189, 0, 0, 0, 0, 0, 138, 139, 0, + 0, 0, 0, 127, 0, 0, 0, 0, 0, 129, + 130, 131, 132, 133, 134, 135, 136, 31, 0, 0, + 0, 0, 142, 0, 138, 139, 0, 0, 0, 0, + 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 140, 127, 0, 0, 0, 0, 0, 129, 130, + 131, 132, 133, 134, 135, 136, 31, 0, 0, 0, + 0, 0, 0, 138, 139, 0, 0, 0, 0, 0, + 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 127, 0, 0, 0, 0, 0, 129, 130, + 131, 132, 133, 134, 135, 136, 31, 189, 0, 0, + 0, 0, 0, 138, 139, 79, 0, 0, 0, 127, + 0, 0, 0, 0, 189, 129, 130, 131, 132, 133, + 134, 135, 136, 31, 0, 0, 127, 0, 0, 0, + 138, 139, 129, 130, 131, 132, 133, 134, 135, 136, + 31, 0, 0, 189, 0, 0, 0, 138, 139, 0, + 0, 0, 0, 0, 0, 127, 0, 0, 0, 0, + 189, 129, 130, 131, 132, 133, 134, 135, 136, 31, + 0, 0, 127, 0, 0, 0, 138, 139, 129, 130, + 131, 132, 133, 134, 135, 136, 31, 0, 0, 127, + 142, 0, 0, 138, 139, 129, 130, 131, 132, 133, + 134, 135, 136, 31, 0, 0, 0, 189, 0, 140, + 138, 139, 0, 0, 0, 0, 0, 0, 0, 127, + 0, 0, 0, 0, 0, 129, 130, 131, 132, 133, + 134, 135, 136, 31, 0, 0, 0, 0, 0, 0, + 138, 139, 67, 67, 0, 67, 67, 67, 67, 67, + 67, 67, 67, 124, 391, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 67, 126, 0, 67, 0, 127, + 0, 0, 0, 79, 392, 129, 130, 131, 132, 133, + 134, 135, 136, 31, 0, 0, 0, 0, 0, 0, + 138, 139, 0, 0, 0, 0, 67, 234, 234, 67, + 0, 234, 234, 234, 234, 234, 0, 234, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 234, + 234, 0, 234, 0, 0, 0, 0, 0, 67, 67, + 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 144, 144, 0, 32, - 188, 32, 32, 192, 0, 0, 0, 0, 0, 0, - 189, 0, 126, 190, 0, 191, 0, 0, 128, 129, - 130, 131, 132, 133, 134, 135, 31, 0, 0, 361, - 192, 0, 0, 137, 138, 32, 188, 189, 371, 0, - 190, 32, 191, 0, 0, 0, 0, 0, 126, 0, - 0, 0, 32, 0, 128, 129, 130, 131, 132, 133, - 134, 135, 31, 0, 0, 0, 32, 192, 0, 137, - 138, 0, 144, 0, 189, 379, 0, 190, 0, 191, - 0, 0, 234, 234, 0, 0, 0, 234, 0, 0, - 0, 0, 0, 0, 234, 0, 0, 0, 234, 234, - 0, 234, 234, 234, 0, 0, 0, 0, 0, 234, - 192, 0, 0, 0, 0, 0, 234, 189, 0, 0, - 190, 0, 191, 0, 0, 0, 234, 234, 234, 234, - 234, 234, 234, 234, 234, 0, 382, 192, 0, 209, - 209, 209, 209, 0, 189, 393, 209, 190, 0, 191, - 0, 0, 0, 188, 192, 0, 0, 0, 0, 0, - 0, 189, 402, 0, 190, 126, 191, 0, 0, 0, - 0, 128, 129, 130, 131, 132, 133, 134, 135, 31, - 0, 192, 0, 0, 0, 0, 137, 138, 189, 404, - 188, 190, 0, 191, 0, 0, 0, 0, 0, 0, - 0, 0, 126, 0, 0, 0, 0, 188, 128, 129, - 130, 131, 132, 133, 134, 135, 31, 0, 0, 126, - 0, 0, 0, 137, 138, 128, 129, 130, 131, 132, - 133, 134, 135, 31, 0, 0, 192, 0, 0, 0, - 137, 138, 0, 189, 416, 188, 190, 0, 191, 0, - 0, 0, 0, 0, 0, 0, 0, 126, 0, 0, - 0, 0, 0, 128, 129, 130, 131, 132, 133, 134, - 135, 31, 188, 192, 0, 0, 0, 0, 137, 138, - 189, 0, 0, 190, 126, 191, 0, 0, 0, 0, - 128, 129, 130, 131, 132, 133, 134, 135, 31, 0, - 192, 0, 0, 0, 0, 137, 138, 189, 0, 188, - 190, 0, 191, 0, 0, 0, 0, 0, 0, 0, - 0, 126, 0, 0, 0, 0, 0, 128, 129, 130, - 131, 132, 133, 134, 135, 31, 0, 0, 0, 0, - 0, 0, 137, 138, 0, 0, 0, 0, 0, 0, - 0, 0, 188, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 126, 0, 0, 0, 0, 0, - 128, 129, 130, 131, 132, 133, 134, 135, 31, 188, - 0, 0, 0, 0, 0, 137, 138, 0, 43, 0, - 0, 126, 0, 0, 0, 0, 188, 128, 129, 130, - 131, 132, 133, 134, 135, 31, 0, 0, 126, 0, - 0, 0, 137, 138, 128, 129, 130, 131, 132, 133, - 134, 135, 31, 188, 0, 0, 0, 0, 0, 137, - 138, 0, 0, 0, 0, 126, 0, 0, 0, 0, - 0, 128, 129, 130, 131, 132, 133, 134, 135, 31, - 0, 0, 0, 44, 0, 0, 137, 138, 0, 67, - 67, 0, 67, 67, 67, 67, 67, 67, 67, 67, - 0, 0, 0, 0, 0, 0, 0, 0, 188, 0, - 0, 67, 0, 0, 67, 0, 0, 0, 0, 0, - 126, 0, 0, 0, 0, 0, 128, 129, 130, 131, - 132, 133, 134, 135, 31, 0, 0, 0, 0, 0, - 0, 137, 138, 67, 0, 188, 67, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 126, 0, 0, - 0, 155, 0, 128, 129, 130, 131, 132, 133, 134, - 135, 31, 0, 0, 0, 67, 67, 67, 137, 138, - 155, 0, 0, 0, 126, 0, 0, 0, 0, 0, - 128, 129, 130, 131, 132, 133, 134, 135, 31, 0, - 0, 0, 0, 233, 233, 137, 138, 233, 233, 233, - 233, 233, 0, 233, 0, 1, 37, 0, 0, 0, - 38, 0, 0, 0, 0, 233, 233, 3, 233, 0, - 0, 0, 39, 0, 4, 5, 6, 387, 391, 0, - 0, 0, 40, 0, 155, 0, 155, 0, 0, 41, - 0, 0, 400, 0, 0, 0, 0, 0, 247, 42, - 233, 0, 247, 247, 247, 247, 247, 247, 247, 0, - 0, 0, 0, 0, 411, 412, 0, 414, 0, 0, - 247, 247, 420, 247, 0, 0, 421, 0, 422, 423, - 233, 233, 0, 0, 0, 0, 0, 427, 387, 391, - 0, 0, 0, 420, 0, 0, 0, 0, 0, 67, - 67, 0, 0, 0, 67, 247, 0, 0, 0, 0, - 0, 67, 0, 0, 0, 67, 67, 0, 67, 67, - 67, 0, 0, 0, 67, 0, 67, 0, 0, 0, - 43, 0, 0, 67, 0, 247, 247, 0, 0, 0, - 0, 0, 0, 67, 67, 67, 67, 67, 67, 67, - 67, 67, 0, 0, 238, 238, 0, 0, 238, 238, - 238, 238, 238, 238, 238, 0, 0, 0, 0, 155, - 0, 0, 0, 155, 0, 0, 238, 238, 187, 238, - 0, 0, 155, 155, 0, 155, 0, 0, 0, 0, - 0, 0, 0, 0, 155, 90, 0, 0, 155, 0, - 0, 0, 0, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 233, 233, 0, 0, 0, 233, 155, - 155, 0, 0, 0, 0, 233, 0, 0, 0, 233, - 233, 0, 233, 233, 233, 0, 0, 0, 0, 0, - 233, 238, 238, 0, 0, 0, 0, 233, 141, 0, - 0, 0, 0, 0, 0, 0, 0, 233, 233, 233, - 233, 233, 233, 233, 233, 233, 0, 139, 247, 247, - 0, 0, 0, 247, 0, 0, 0, 0, 0, 0, - 247, 0, 0, 0, 247, 247, 0, 247, 247, 247, - 0, 0, 0, 0, 0, 247, 0, 0, 0, 226, - 226, 0, 247, 226, 226, 226, 226, 226, 226, 226, - 0, 0, 247, 247, 247, 247, 247, 247, 247, 247, - 247, 226, 226, 0, 226, 0, 0, 1, 37, 0, - 0, 79, 38, 0, 0, 0, 0, 0, 0, 3, - 0, 0, 0, 0, 39, 0, 4, 5, 6, 0, - 0, 0, 0, 0, 40, 0, 226, 0, 201, 201, - 0, 41, 201, 201, 201, 201, 201, 201, 201, 0, - 0, 42, 0, 0, 238, 238, 0, 0, 0, 238, - 201, 201, 0, 201, 0, 0, 238, 226, 0, 0, - 238, 238, 0, 238, 238, 238, 0, 0, 0, 0, - 0, 238, 0, 0, 0, 0, 0, 0, 238, 0, - 0, 0, 0, 0, 0, 201, 0, 0, 238, 238, - 238, 238, 238, 238, 238, 238, 238, 190, 190, 0, - 0, 190, 190, 190, 190, 190, 190, 190, 0, 0, - 0, 0, 0, 0, 0, 201, 201, 0, 0, 190, - 190, 0, 190, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 234, 234, 0, 0, 234, 234, - 234, 234, 234, 0, 234, 0, 0, 0, 0, 123, - 384, 0, 0, 0, 190, 0, 234, 234, 0, 234, - 0, 125, 0, 0, 0, 126, 0, 0, 0, 0, - 385, 128, 129, 130, 131, 132, 133, 134, 135, 31, - 0, 0, 0, 0, 190, 190, 137, 138, 0, 226, - 226, 234, 0, 0, 226, 0, 0, 0, 0, 0, - 0, 226, 0, 0, 0, 226, 226, 0, 226, 226, - 226, 0, 0, 0, 0, 0, 226, 0, 0, 0, - 248, 234, 234, 226, 248, 248, 248, 248, 248, 248, - 248, 0, 0, 226, 226, 226, 226, 226, 226, 226, - 226, 226, 248, 248, 0, 248, 0, 0, 201, 201, - 0, 0, 0, 201, 0, 0, 0, 0, 0, 0, - 201, 0, 0, 0, 201, 201, 0, 201, 201, 201, - 0, 0, 0, 0, 0, 201, 0, 248, 0, 0, - 0, 0, 201, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 201, 201, 201, 201, 201, 201, 0, 201, - 201, 0, 0, 0, 0, 239, 239, 248, 248, 239, - 239, 239, 239, 239, 239, 239, 0, 190, 190, 0, - 0, 0, 190, 0, 0, 0, 0, 239, 239, 190, - 239, 0, 0, 190, 190, 0, 190, 190, 190, 0, - 0, 0, 0, 0, 190, 0, 0, 0, 0, 0, - 0, 190, 0, 0, 234, 234, 0, 0, 0, 234, - 0, 190, 190, 190, 190, 190, 234, 190, 190, 190, - 234, 234, 0, 234, 234, 234, 0, 0, 0, 0, - 0, 234, 0, 0, 0, 0, 0, 0, 234, 0, - 0, 0, 239, 239, 0, 105, 0, 0, 234, 234, - 234, 234, 234, 234, 234, 234, 234, 227, 227, 0, - 0, 227, 227, 227, 227, 227, 227, 227, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 227, - 227, 0, 227, 0, 0, 0, 0, 0, 0, 0, - 248, 248, 0, 0, 0, 248, 0, 0, 0, 0, - 0, 0, 248, 0, 0, 0, 248, 248, 0, 248, - 248, 248, 0, 0, 227, 0, 0, 248, 0, 0, - 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 202, 202, 227, 0, 202, 202, 202, - 202, 202, 202, 202, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 202, 202, 0, 202, 0, - 0, 0, 0, 0, 0, 239, 239, 0, 0, 0, + 0, 248, 0, 0, 234, 248, 248, 248, 248, 248, + 248, 248, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 248, 248, 0, 248, 0, 0, 0, + 0, 0, 0, 0, 234, 234, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 239, 239, 0, 248, 239, + 239, 239, 239, 239, 239, 239, 0, 0, 0, 0, + 0, 124, 125, 0, 0, 0, 0, 239, 239, 0, + 239, 0, 0, 126, 0, 0, 0, 127, 248, 248, + 0, 0, 128, 129, 130, 131, 132, 133, 134, 135, + 136, 31, 0, 0, 0, 0, 0, 0, 138, 139, + 0, 0, 67, 67, 0, 0, 0, 67, 0, 0, + 0, 0, 0, 0, 67, 0, 0, 0, 67, 67, + 0, 67, 67, 67, 0, 0, 0, 67, 0, 67, + 0, 0, 239, 239, 0, 0, 67, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 67, 67, 67, 67, + 67, 67, 67, 67, 67, 0, 0, 234, 234, 0, + 0, 0, 234, 0, 0, 0, 0, 0, 0, 234, + 0, 0, 0, 234, 234, 0, 234, 234, 234, 0, + 0, 250, 250, 0, 234, 0, 0, 0, 0, 0, + 0, 234, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 234, 234, 234, 234, 234, 234, 234, 234, 234, + 0, 248, 248, 0, 0, 0, 248, 0, 0, 0, + 0, 0, 0, 248, 78, 79, 0, 248, 248, 0, + 248, 248, 248, 0, 250, 250, 250, 0, 248, 0, + 0, 0, 0, 0, 0, 248, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 248, 248, 248, 248, 248, + 248, 248, 248, 248, 0, 239, 239, 0, 0, 0, 239, 0, 0, 0, 0, 0, 0, 239, 0, 0, 0, 239, 239, 0, 239, 239, 239, 0, 0, 0, - 202, 0, 239, 0, 0, 0, 0, 0, 0, 239, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 239, - 239, 239, 239, 239, 239, 239, 239, 239, 269, 269, - 202, 202, 269, 269, 0, 269, 0, 269, 269, 0, - 0, 0, 1, 37, 0, 0, 0, 38, 0, 0, - 269, 269, 0, 269, 3, 0, 0, 0, 0, 39, - 0, 4, 5, 6, 0, 0, 0, 0, 0, 7, - 0, 0, 0, 0, 0, 0, 103, 227, 227, 0, - 0, 0, 227, 0, 141, 269, 104, 0, 0, 227, - 0, 0, 0, 227, 227, 0, 227, 227, 227, 0, - 0, 0, 0, 139, 227, 0, 0, 0, 0, 0, - 0, 227, 0, 0, 0, 269, 269, 0, 0, 0, - 0, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 258, 258, 0, 0, 258, 258, 258, 258, 258, 258, - 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 258, 258, 0, 258, 0, 0, 0, 0, - 0, 0, 0, 202, 202, 0, 0, 79, 202, 0, - 0, 0, 0, 0, 0, 202, 0, 0, 0, 202, - 202, 0, 202, 202, 202, 0, 0, 258, 0, 0, - 202, 0, 0, 0, 0, 0, 0, 202, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 202, 202, 202, - 202, 202, 202, 0, 202, 202, 0, 258, 258, 259, - 259, 0, 0, 259, 259, 259, 259, 259, 259, 259, + 79, 0, 239, 0, 0, 0, 227, 227, 0, 239, + 227, 227, 227, 227, 227, 227, 227, 0, 0, 239, + 239, 239, 239, 239, 239, 239, 239, 239, 227, 227, + 0, 227, 0, 0, 0, 0, 0, 0, 0, 0, + 250, 250, 250, 250, 250, 0, 250, 250, 250, 250, + 250, 250, 250, 250, 250, 250, 250, 0, 0, 0, + 202, 202, 0, 227, 202, 202, 202, 202, 202, 202, + 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 202, 202, 0, 202, 0, 0, 0, 0, + 0, 0, 0, 0, 227, 250, 0, 0, 191, 191, + 0, 0, 191, 191, 191, 191, 191, 191, 191, 0, + 0, 0, 0, 0, 0, 0, 0, 202, 0, 0, + 191, 191, 0, 191, 0, 0, 0, 0, 0, 0, + 0, 0, 79, 79, 0, 235, 235, 79, 0, 235, + 235, 235, 235, 235, 79, 235, 0, 202, 202, 79, + 0, 79, 79, 79, 0, 191, 0, 235, 235, 79, + 235, 0, 0, 0, 0, 0, 79, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 79, 0, 0, 0, + 0, 0, 0, 0, 0, 191, 191, 0, 0, 0, + 0, 0, 235, 0, 0, 249, 0, 0, 0, 249, + 249, 249, 249, 249, 249, 249, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 249, 249, 0, + 249, 0, 235, 235, 0, 0, 227, 227, 0, 0, + 0, 227, 0, 0, 0, 0, 0, 0, 227, 0, + 0, 0, 227, 227, 0, 227, 227, 227, 0, 0, + 0, 0, 249, 227, 0, 0, 0, 0, 0, 0, + 227, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 227, 227, 227, 227, 227, 227, 227, 227, 227, 0, + 202, 202, 249, 249, 0, 202, 0, 0, 0, 0, + 0, 0, 202, 0, 0, 0, 202, 202, 0, 202, + 202, 202, 0, 0, 0, 0, 0, 202, 0, 0, + 0, 0, 0, 0, 202, 0, 0, 0, 191, 191, + 0, 0, 106, 191, 202, 202, 202, 202, 202, 202, + 191, 202, 202, 0, 191, 191, 0, 191, 191, 191, + 0, 0, 0, 0, 0, 191, 0, 0, 0, 0, + 0, 0, 191, 0, 0, 235, 235, 0, 0, 0, + 235, 0, 191, 191, 191, 191, 191, 235, 191, 191, + 191, 235, 235, 0, 235, 235, 235, 0, 0, 0, + 0, 0, 235, 0, 0, 0, 240, 240, 0, 235, + 240, 240, 240, 240, 240, 240, 240, 0, 0, 235, + 235, 235, 235, 235, 235, 235, 235, 235, 240, 240, + 0, 240, 0, 0, 0, 249, 249, 0, 0, 0, + 249, 0, 0, 0, 0, 0, 0, 249, 0, 0, + 0, 249, 249, 0, 249, 249, 249, 0, 0, 0, + 0, 0, 249, 0, 0, 0, 228, 228, 0, 249, + 228, 228, 228, 228, 228, 228, 228, 0, 0, 249, + 249, 249, 249, 249, 249, 249, 249, 249, 228, 228, + 0, 228, 0, 240, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 259, 259, 0, 259, 0, 0, 0, 269, 269, - 0, 0, 0, 269, 0, 0, 0, 0, 0, 0, - 269, 0, 0, 0, 269, 269, 0, 269, 269, 269, - 0, 0, 0, 0, 0, 269, 259, 0, 0, 0, - 0, 0, 269, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 269, 269, 269, 269, 269, 269, 269, 269, - 269, 0, 0, 0, 260, 260, 259, 259, 260, 260, - 260, 260, 260, 260, 260, 123, 124, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 260, 125, 0, 0, - 0, 126, 0, 0, 0, 0, 127, 128, 129, 130, - 131, 132, 133, 134, 135, 31, 0, 0, 0, 0, - 258, 258, 137, 138, 0, 258, 0, 0, 0, 0, - 0, 260, 258, 0, 0, 0, 258, 258, 0, 258, - 258, 258, 0, 0, 0, 0, 0, 258, 0, 0, - 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, - 0, 260, 260, 0, 258, 0, 258, 258, 0, 258, - 258, 258, 258, 0, 0, 261, 261, 0, 0, 261, - 261, 261, 261, 261, 261, 261, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 261, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, - 259, 0, 0, 0, 259, 0, 0, 0, 0, 0, - 0, 259, 0, 0, 0, 259, 259, 0, 259, 259, - 259, 0, 261, 0, 0, 0, 259, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 203, 203, 0, 228, 203, 203, 203, 203, 203, 203, + 203, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 37, 0, 203, 203, 38, 203, 0, 0, 0, 0, + 0, 3, 0, 0, 228, 0, 39, 0, 4, 5, + 6, 0, 0, 0, 0, 0, 7, 0, 0, 0, + 0, 0, 0, 104, 0, 270, 270, 203, 0, 270, + 270, 0, 270, 105, 270, 270, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 270, 270, 0, + 270, 0, 0, 0, 0, 0, 0, 203, 203, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 240, 240, 0, 0, + 0, 240, 270, 0, 0, 0, 0, 0, 240, 0, + 0, 0, 240, 240, 0, 240, 240, 240, 0, 0, + 0, 0, 0, 240, 0, 0, 0, 0, 0, 0, + 240, 0, 270, 270, 0, 0, 0, 0, 0, 0, + 240, 240, 240, 240, 240, 240, 240, 240, 240, 0, + 0, 0, 0, 0, 0, 0, 228, 228, 0, 0, + 0, 228, 0, 0, 0, 0, 0, 0, 228, 0, + 0, 0, 228, 228, 0, 228, 228, 228, 0, 0, + 0, 0, 0, 228, 0, 0, 0, 0, 0, 0, + 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 228, 228, 228, 228, 228, 228, 228, 228, 228, 0, + 203, 203, 0, 0, 0, 203, 0, 0, 0, 0, + 0, 0, 203, 0, 0, 0, 203, 203, 0, 203, + 203, 203, 0, 56, 0, 0, 0, 203, 0, 0, + 0, 261, 261, 0, 203, 261, 261, 261, 261, 261, + 261, 261, 0, 0, 203, 203, 203, 203, 203, 203, + 0, 203, 203, 261, 0, 270, 270, 0, 0, 0, + 270, 0, 0, 0, 0, 0, 0, 270, 0, 0, + 0, 270, 270, 0, 270, 270, 270, 0, 0, 0, + 0, 0, 270, 0, 0, 0, 259, 259, 261, 270, + 259, 259, 259, 259, 259, 259, 259, 0, 0, 270, + 270, 270, 270, 270, 270, 270, 270, 270, 259, 259, + 0, 259, 0, 0, 0, 0, 0, 0, 261, 261, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 260, 260, 0, 259, 260, 260, 260, 260, 260, 260, + 260, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 260, 260, 0, 260, 0, 0, 0, 0, + 0, 0, 0, 259, 259, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 260, 0, 0, + 262, 262, 0, 0, 262, 262, 262, 262, 262, 262, + 262, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 56, 56, 262, 0, 0, 56, 0, 260, 260, 0, + 0, 0, 56, 0, 0, 0, 0, 56, 0, 56, + 56, 56, 0, 0, 0, 0, 0, 56, 0, 0, + 0, 261, 261, 0, 56, 0, 261, 262, 0, 0, + 0, 0, 0, 261, 56, 0, 0, 0, 261, 0, + 261, 261, 261, 0, 0, 0, 0, 0, 261, 0, + 0, 0, 0, 0, 0, 261, 0, 262, 262, 0, + 0, 0, 0, 0, 0, 261, 261, 0, 0, 261, + 261, 261, 261, 261, 0, 0, 259, 259, 0, 0, + 0, 259, 0, 0, 0, 0, 0, 0, 259, 0, + 0, 0, 259, 259, 0, 259, 259, 259, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 259, 0, 259, 259, 56, 259, 259, - 259, 259, 261, 261, 0, 262, 262, 0, 0, 262, - 262, 262, 262, 262, 262, 262, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 262, 0, 0, - 0, 0, 0, 0, 260, 260, 0, 0, 0, 260, - 0, 0, 0, 0, 0, 0, 260, 0, 0, 0, - 0, 260, 0, 260, 260, 260, 0, 0, 0, 0, - 0, 260, 262, 0, 0, 0, 0, 0, 260, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 260, 260, - 0, 0, 260, 260, 260, 260, 260, 0, 0, 0, - 0, 0, 262, 262, 0, 270, 0, 0, 270, 0, - 270, 270, 270, 270, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 270, 270, 0, 270, + 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 259, 0, 259, 259, 0, 259, 259, 259, 259, 0, + 260, 260, 0, 0, 0, 260, 0, 0, 0, 0, + 0, 0, 260, 0, 0, 0, 260, 260, 0, 260, + 260, 260, 0, 0, 0, 0, 0, 260, 0, 0, + 0, 263, 263, 0, 260, 263, 263, 263, 263, 263, + 263, 263, 0, 0, 260, 0, 260, 260, 0, 260, + 260, 260, 260, 263, 0, 0, 0, 0, 0, 0, + 262, 262, 0, 0, 0, 262, 0, 0, 0, 0, + 0, 0, 262, 0, 0, 0, 0, 262, 0, 262, + 262, 262, 0, 0, 0, 0, 0, 262, 263, 0, + 0, 0, 271, 0, 262, 271, 0, 271, 271, 271, + 271, 0, 0, 0, 262, 262, 0, 0, 262, 262, + 262, 262, 262, 271, 271, 0, 271, 0, 263, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 261, 261, 0, 0, 0, - 261, 0, 0, 246, 246, 0, 0, 261, 0, 0, - 0, 270, 261, 0, 261, 261, 261, 0, 0, 0, - 0, 0, 261, 0, 0, 0, 0, 271, 0, 261, - 271, 0, 271, 271, 271, 271, 0, 0, 0, 261, - 261, 270, 270, 261, 261, 261, 261, 261, 271, 271, - 0, 271, 0, 0, 56, 56, 246, 246, 246, 56, - 0, 0, 0, 0, 0, 0, 56, 0, 0, 0, - 0, 56, 0, 56, 56, 56, 0, 0, 0, 0, - 0, 56, 0, 271, 0, 262, 262, 0, 56, 0, - 262, 0, 0, 0, 0, 0, 0, 262, 56, 0, - 0, 0, 262, 0, 262, 262, 262, 0, 0, 0, - 0, 0, 262, 271, 271, 0, 0, 272, 0, 262, - 272, 0, 272, 272, 272, 272, 0, 0, 0, 262, - 262, 0, 0, 262, 262, 262, 262, 262, 272, 272, - 0, 272, 0, 0, 0, 0, 0, 0, 0, 246, - 246, 246, 246, 246, 0, 246, 246, 246, 246, 246, - 246, 246, 246, 246, 246, 246, 0, 0, 0, 0, - 0, 0, 0, 272, 270, 270, 0, 0, 0, 270, - 0, 0, 0, 0, 0, 0, 270, 0, 0, 0, - 270, 270, 0, 270, 270, 270, 0, 0, 0, 0, - 0, 270, 246, 272, 272, 0, 0, 0, 270, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 270, 270, - 270, 270, 270, 270, 270, 270, 270, 244, 244, 0, - 0, 244, 244, 244, 244, 244, 244, 244, 0, 0, - 0, 0, 0, 0, 0, 0, 271, 271, 0, 244, - 244, 271, 244, 0, 0, 141, 0, 0, 271, 0, - 0, 0, 271, 271, 0, 271, 271, 271, 0, 0, - 0, 0, 0, 271, 139, 0, 0, 0, 0, 0, - 271, 0, 0, 0, 244, 0, 0, 0, 0, 0, - 271, 271, 271, 271, 271, 271, 271, 271, 271, 0, - 0, 0, 0, 0, 0, 0, 0, 141, 0, 0, - 0, 0, 0, 0, 244, 244, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 139, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 272, 272, 79, 0, - 140, 272, 0, 0, 0, 0, 0, 0, 272, 0, - 0, 0, 272, 272, 0, 272, 272, 272, 0, 141, - 0, 0, 0, 272, 0, 0, 0, 0, 0, 0, - 272, 0, 0, 0, 0, 0, 0, 0, 139, 0, - 272, 272, 272, 272, 272, 272, 272, 272, 272, 0, - 79, 0, 231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 141, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 272, 0, 271, 272, + 0, 272, 272, 272, 272, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 272, 272, 0, + 272, 0, 0, 0, 0, 0, 0, 0, 271, 271, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 139, 0, 0, 0, 0, - 0, 0, 79, 0, 254, 0, 0, 244, 244, 0, - 0, 0, 244, 0, 0, 0, 0, 0, 0, 244, - 141, 0, 0, 244, 244, 0, 244, 244, 244, 0, - 0, 0, 0, 37, 244, 0, 0, 38, 0, 139, - 0, 244, 0, 0, 0, 0, 123, 124, 0, 39, - 0, 244, 244, 244, 244, 244, 244, 244, 125, 79, - 0, 306, 126, 0, 0, 0, 0, 127, 128, 129, - 130, 131, 132, 133, 134, 135, 136, 0, 141, 0, - 0, 0, 0, 137, 138, 37, 0, 0, 0, 38, - 0, 0, 0, 0, 0, 0, 0, 139, 123, 124, - 0, 39, 0, 79, 0, 307, 0, 0, 0, 0, - 125, 0, 0, 0, 230, 0, 0, 0, 0, 127, - 128, 129, 130, 131, 132, 133, 134, 135, 136, 0, - 0, 0, 0, 0, 0, 137, 138, 37, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 273, 272, 0, 273, 0, 273, 273, 273, 273, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 273, 273, 0, 273, 0, 0, 0, 0, + 0, 0, 272, 272, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 263, 263, 0, 0, 0, 263, 273, 0, 0, + 0, 0, 0, 263, 156, 0, 0, 0, 263, 0, + 263, 263, 263, 0, 0, 0, 0, 0, 263, 0, + 0, 0, 0, 156, 0, 263, 0, 273, 273, 0, + 0, 0, 0, 0, 0, 263, 263, 0, 0, 263, + 263, 263, 263, 263, 0, 0, 0, 0, 0, 0, + 0, 271, 271, 0, 0, 0, 271, 0, 142, 0, + 0, 0, 0, 271, 0, 0, 0, 271, 271, 0, + 271, 271, 271, 0, 0, 0, 0, 140, 271, 0, + 0, 0, 0, 0, 0, 271, 0, 156, 0, 156, + 0, 0, 0, 0, 0, 271, 271, 271, 271, 271, + 271, 271, 271, 271, 0, 272, 272, 0, 0, 0, + 272, 0, 0, 0, 0, 0, 0, 272, 0, 0, + 0, 272, 272, 0, 272, 272, 272, 0, 0, 0, + 0, 0, 272, 0, 0, 0, 0, 0, 0, 272, + 142, 79, 0, 141, 0, 0, 0, 0, 0, 272, + 272, 272, 272, 272, 272, 272, 272, 272, 0, 140, + 273, 273, 0, 0, 0, 273, 0, 0, 0, 0, + 0, 0, 273, 0, 0, 0, 273, 273, 0, 273, + 273, 273, 0, 0, 0, 0, 0, 273, 0, 0, + 0, 245, 245, 0, 273, 245, 245, 245, 245, 245, + 245, 245, 0, 0, 273, 273, 273, 273, 273, 273, + 273, 273, 273, 245, 245, 0, 245, 0, 0, 0, + 0, 0, 156, 79, 0, 235, 156, 0, 0, 0, + 0, 188, 0, 0, 0, 156, 156, 0, 156, 0, + 0, 0, 0, 0, 0, 0, 0, 156, 245, 142, + 0, 156, 0, 0, 0, 0, 156, 156, 156, 156, + 156, 156, 156, 156, 156, 156, 0, 0, 140, 0, + 0, 0, 156, 156, 0, 0, 37, 0, 245, 245, + 38, 0, 0, 0, 0, 0, 0, 0, 0, 124, + 125, 0, 39, 0, 0, 0, 0, 0, 0, 0, + 0, 126, 0, 142, 0, 127, 0, 0, 0, 0, + 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, + 0, 0, 140, 0, 0, 0, 138, 139, 0, 0, + 0, 0, 79, 0, 258, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 142, 0, 0, 0, 0, 0, 0, 37, 0, + 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, + 140, 124, 125, 0, 39, 0, 0, 0, 0, 0, + 0, 0, 0, 126, 0, 0, 79, 234, 312, 0, + 0, 0, 128, 129, 130, 131, 132, 133, 134, 135, + 136, 137, 0, 142, 0, 0, 0, 0, 138, 139, + 0, 245, 245, 0, 0, 0, 245, 0, 0, 0, + 0, 0, 140, 245, 0, 0, 0, 245, 245, 0, + 245, 245, 245, 0, 79, 0, 313, 0, 245, 0, + 0, 0, 0, 0, 0, 245, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 245, 245, 245, 245, 245, + 245, 245, 0, 0, 0, 0, 0, 37, 43, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, - 123, 124, 0, 39, 0, 0, 0, 0, 0, 0, - 0, 79, 125, 358, 0, 0, 126, 0, 0, 0, - 0, 127, 128, 129, 130, 131, 132, 133, 134, 135, - 136, 0, 0, 0, 0, 0, 0, 137, 138, 0, - 0, 0, 0, 0, 37, 0, 0, 0, 38, 0, - 0, 0, 0, 0, 0, 0, 0, 123, 124, 0, - 39, 0, 0, 0, 0, 0, 0, 0, 0, 125, - 0, 0, 0, 126, 0, 0, 0, 0, 127, 128, - 129, 130, 131, 132, 133, 134, 135, 136, 37, 0, - 0, 0, 38, 0, 137, 138, 0, 0, 0, 0, - 0, 123, 124, 0, 39, 0, 0, 0, 0, 0, - 0, 0, 0, 125, 0, 0, 0, 126, 0, 0, - 0, 0, 127, 128, 129, 130, 131, 132, 133, 134, - 135, 136, 0, 0, 0, 0, 0, 0, 137, 138, - 0, 0, 0, 0, 0, 0, 37, 0, 0, 0, - 38, 0, 0, 0, 0, 0, 0, 0, 0, 123, - 124, 0, 39, 0, 0, 0, 0, 0, 0, 0, - 0, 125, 0, 0, 0, 126, 0, 0, 0, 0, - 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, - 0, 0, 0, 0, 0, 0, 137, 138, + 124, 125, 0, 39, 0, 0, 79, 0, 365, 0, + 0, 0, 126, 0, 0, 0, 127, 0, 0, 0, + 0, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 0, 0, 43, 0, 0, 0, 138, 139, 0, + 0, 37, 0, 0, 0, 38, 0, 0, 0, 0, + 0, 0, 0, 44, 124, 125, 0, 39, 0, 0, + 0, 0, 0, 0, 0, 0, 126, 0, 0, 0, + 127, 0, 0, 0, 0, 128, 129, 130, 131, 132, + 133, 134, 135, 136, 137, 0, 0, 0, 0, 37, + 0, 138, 139, 38, 0, 0, 0, 0, 90, 0, + 0, 0, 124, 125, 0, 39, 0, 0, 0, 0, + 0, 0, 0, 0, 126, 0, 0, 0, 127, 0, + 0, 0, 0, 128, 129, 130, 131, 132, 133, 134, + 135, 136, 137, 0, 0, 0, 0, 0, 0, 138, + 139, 37, 0, 0, 0, 38, 0, 0, 0, 0, + 0, 0, 0, 0, 124, 125, 0, 39, 0, 0, + 0, 0, 0, 0, 0, 0, 126, 0, 0, 0, + 127, 0, 0, 0, 0, 128, 129, 130, 131, 132, + 133, 134, 135, 136, 137, 1, 37, 0, 0, 0, + 38, 138, 139, 0, 0, 0, 0, 3, 0, 0, + 0, 0, 39, 0, 4, 5, 6, 0, 0, 0, + 0, 0, 40, 0, 0, 0, 0, 0, 0, 41, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, + 1, 37, 0, 0, 0, 38, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, 0, 39, 0, 4, + 5, 6, 0, 0, 0, 0, 0, 40, 0, 0, + 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 42, }; - protected short yyCheck[] = new short[3579]; + protected short yyCheck[] = new short[3816]; } class yyCheck0 { protected static final short yyCheck0 [] = { 79, - 41, 82, 46, 63, 46, 60, 91, 62, 40, 60, - 88, 22, 22, 59, 46, 59, 61, 79, 123, 100, - 44, 62, 63, 41, 74, 106, 41, 43, 305, 109, - 20, 21, 149, 123, 123, 59, 60, 61, 49, 49, - 91, 109, 44, 236, 63, 41, 10, 109, 22, 301, - 364, 62, 79, 63, 137, 138, 22, 83, 335, 301, - 59, 258, 103, 44, 40, 262, 107, 91, 60, 149, - 96, 79, 44, 83, 41, 49, 24, 274, 26, 69, - 83, 62, 109, 49, 60, 44, 96, 149, 62, 105, - 62, 368, 301, 96, 291, 91, 107, 268, 88, 63, - 40, 109, 44, 62, 301, 44, 46, 190, 191, 192, - 188, 425, 426, 44, 44, 232, 430, 44, 92, 44, - 62, 123, 149, 62, 72, 43, 79, 45, 59, 258, - 44, 141, 62, 262, 44, 62, 147, 62, 141, 44, - 44, 149, 183, 224, 79, 274, 227, 41, 62, 59, - 44, 61, 232, 233, 44, 123, 109, 62, 62, 60, - 44, 301, 291, 268, 258, 233, 182, 360, 262, 59, - 232, 233, 301, 183, 109, 59, 179, 282, 268, 189, - 274, 302, 44, 40, 305, 235, 189, 237, 238, 308, - 309, 308, 282, 282, 268, 59, 149, 59, 188, 277, - 283, 284, 285, 37, 91, 232, 233, 301, 42, 41, - 289, 285, 44, 47, 149, 61, 301, 41, 273, 91, - 44, 123, 425, 426, 232, 233, 258, 430, 308, 41, - 301, 41, 44, 274, 44, 276, 293, 294, 288, 41, - 258, 301, 44, 258, 262, 301, 308, 262, 303, 304, - 301, 332, 333, 336, 40, 41, 274, 93, 44, 274, - 46, 271, 308, 309, 308, 309, 308, 309, 271, 314, - 315, 316, 317, 59, 60, 61, 321, 301, 95, 232, - 233, 308, 301, 301, 364, 365, 301, 277, 286, 287, - 95, 258, 302, 374, 375, 262, 93, 232, 233, 379, - 308, 41, 364, 365, 44, 91, 38, 274, 125, 308, - 309, 60, 40, 354, 355, 40, 40, 379, 44, 46, - 125, 401, 402, 59, 404, 329, 59, 44, 38, 409, - 94, 124, 307, 413, 301, 415, 416, 364, 365, 401, - 402, 306, 404, 40, 424, 425, 426, 409, 59, 301, - 430, 413, 379, 415, 416, 308, 364, 365, 301, 40, - 40, 60, 424, 425, 426, 46, 59, 41, 430, 41, - 40, 379, 59, 308, 401, 402, 59, 404, 41, 40, - 61, 59, 409, 59, 40, 267, 413, 41, 415, 416, - 41, 41, 41, 401, 402, 41, 404, 424, 425, 426, - 267, 409, 0, 430, 123, 413, 301, 415, 416, 301, - 91, 364, 365, 16, 123, 123, 424, 425, 426, 123, - 59, 123, 430, 123, 241, 242, 379, 123, 245, 364, - 365, 289, 290, 291, 292, 252, 241, 242, 59, 123, - 245, 258, 49, 62, 379, 26, 123, 69, 401, 402, - 123, 404, 269, 258, 189, 123, 409, 271, 33, 296, - 413, 299, 415, 416, 295, 40, 401, 402, 43, 404, - 45, 424, 425, 426, 409, 297, 75, 430, 413, 298, - 415, 416, 269, 12, 20, 21, 22, 269, 305, 424, - 425, 426, 105, 63, 33, 430, 108, 239, 315, -1, - -1, 40, -1, -1, 43, 257, 45, -1, -1, -1, - 315, 263, -1, 49, -1, 301, -1, 269, 335, -1, - 59, -1, 308, 309, 276, 277, 278, 63, 314, 315, - 316, 317, 284, 69, -1, 321, -1, -1, 74, -1, - -1, -1, -1, 79, 361, -1, 363, 83, 123, 366, - -1, 368, 88, -1, -1, -1, 361, -1, 363, -1, - 96, 366, 37, 38, 381, 382, 41, 42, 43, 44, - 45, -1, 47, 109, -1, -1, 381, 382, -1, -1, - -1, 24, 25, 26, 59, 60, 61, 62, 257, 406, - 407, 408, -1, -1, 263, -1, -1, -1, -1, -1, - 269, 406, 407, 408, -1, 141, -1, 276, 277, 278, - -1, 33, -1, 149, -1, 284, -1, -1, 40, 94, - 301, 43, -1, 45, -1, 68, -1, 308, 309, 72, - 73, -1, -1, 314, 315, 316, 317, 59, -1, -1, - 321, -1, -1, -1, -1, -1, -1, 183, 33, 124, - 125, -1, 188, 189, -1, 40, 41, -1, 43, -1, - 45, -1, -1, -1, -1, 33, -1, -1, -1, -1, - -1, 114, 40, 41, -1, 43, -1, 45, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 232, 233, -1, 235, - 275, 237, 238, 33, -1, -1, -1, -1, -1, -1, - 40, -1, 287, 43, -1, 45, -1, -1, 293, 294, - 295, 296, 297, 298, 299, 300, 301, -1, -1, 59, - 33, -1, -1, 308, 309, 271, 275, 40, 41, -1, - 43, 277, 45, -1, -1, -1, -1, -1, 287, -1, - -1, -1, 288, -1, 293, 294, 295, 296, 297, 298, - 299, 300, 301, -1, -1, -1, 302, 33, -1, 308, - 309, -1, 308, -1, 40, 41, -1, 43, -1, 45, - -1, -1, 257, 258, -1, -1, -1, 262, -1, -1, - -1, -1, -1, -1, 269, -1, -1, -1, 273, 274, - -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, - 33, -1, -1, -1, -1, -1, 291, 40, -1, -1, - 43, -1, 45, -1, -1, -1, 301, 302, 303, 304, - 305, 306, 307, 308, 309, -1, 59, 33, -1, 314, - 315, 316, 317, -1, 40, 41, 321, 43, -1, 45, - -1, -1, -1, 275, 33, -1, -1, -1, -1, -1, - -1, 40, 41, -1, 43, 287, 45, -1, -1, -1, + 41, 82, 46, 41, 46, 59, 91, 150, 60, 88, + 20, 21, 41, 123, 110, 59, 22, 79, 99, 138, + 139, 62, 63, 41, 63, 40, 107, 59, 22, 10, + 110, 46, 63, 83, 240, 123, 123, 44, 60, 91, + 62, 371, 301, 49, 40, 43, 96, 44, 110, 311, + 301, 41, 79, 22, 22, 49, 62, 63, 61, 69, + 371, 372, 301, 104, 60, 62, 268, 108, 62, 24, + 150, 26, 191, 192, 193, 386, 60, 83, 88, 341, + 49, 49, 63, 110, 79, 24, 25, 26, 150, 268, + 96, 83, 142, 236, 62, 60, 41, 408, 409, 44, + 411, 91, 432, 433, 96, 416, 285, 437, 106, 420, + 189, 422, 423, 375, 108, 110, 123, 72, 123, 44, + 431, 432, 433, 150, 92, 302, 437, 79, 305, 68, + 180, 44, 44, 72, 73, 103, 142, 62, 44, 41, + 190, 237, 44, 184, 258, 44, 227, 59, 262, 62, + 231, 44, 44, 59, 148, 150, 236, 237, 110, 79, + 274, 367, 301, 62, 44, 74, 59, 59, 287, 288, + 289, 314, 282, 258, 236, 237, 115, 262, 184, 189, + 268, 268, 62, 44, 190, 183, 40, 301, 258, 274, + 110, 44, 262, 44, 282, 282, 44, 40, 150, 44, + 44, 62, 281, 46, 274, 43, 59, 45, 44, 236, + 237, 62, 290, 291, 62, 79, 301, 62, 62, 59, + 258, 291, 37, 342, 262, 275, 62, 42, 289, 258, + 150, 301, 47, 262, 314, 41, 274, 278, 44, 280, + 258, 236, 237, 61, 262, 274, 110, 262, 123, 301, + 41, 273, 314, 44, 308, 309, 274, 338, 339, 308, + 309, 91, 301, 301, 308, 309, 308, 309, 91, 275, + 301, 281, 301, 301, 40, 41, 308, 309, 44, 93, + 46, 303, 304, 301, 236, 237, 150, 314, 297, 298, + 93, 371, 372, 59, 60, 61, 61, 301, 432, 433, + 381, 382, 308, 437, 41, 41, 386, 44, 44, 371, + 372, 314, 315, 316, 317, 38, 236, 237, 321, 314, + 361, 362, 258, 258, 386, 91, 262, 262, 408, 409, + 239, 411, 241, 242, 41, 60, 416, 44, 274, 274, + 420, 40, 422, 423, 371, 372, 408, 409, 40, 411, + 40, 431, 432, 433, 416, 291, 44, 437, 420, 386, + 422, 423, 314, 59, 258, 301, 301, 329, 262, 431, + 432, 433, 236, 237, 46, 437, 371, 372, 59, 44, + 274, 408, 409, 292, 411, 38, 95, 306, 94, 416, + 124, 386, 307, 420, 314, 422, 423, 293, 294, 295, + 296, 61, 40, 59, 431, 432, 433, 301, 40, 40, + 437, 301, 301, 408, 409, 46, 411, 126, 60, 371, + 372, 416, 59, 41, 41, 420, 40, 422, 423, 59, + 61, 258, 59, 59, 386, 262, 431, 432, 433, 41, + 59, 40, 437, 40, 0, 267, 41, 274, 41, 41, + 314, 371, 372, 41, 41, 267, 408, 409, 59, 411, + 91, 123, 123, 59, 416, 33, 386, 301, 420, 123, + 422, 423, 40, 41, 301, 43, 123, 45, 257, 431, + 432, 433, 123, 123, 263, 437, 16, 123, 408, 409, + 269, 411, 49, 62, 33, 123, 416, 276, 277, 278, + 420, 40, 422, 423, 43, 284, 45, 371, 372, 26, + 123, 431, 432, 433, 123, 123, 225, 437, 69, 275, + 59, 190, 386, 299, 301, 300, 273, 273, 20, 21, + 22, 302, 75, 303, 106, 301, 245, 246, 12, 63, + 249, 243, 308, 309, 408, 409, 109, 411, 314, 315, + 316, 317, 416, 262, -1, 321, 420, 49, 422, 423, + -1, -1, -1, 44, -1, -1, -1, 431, 432, 433, + 62, 63, -1, 437, -1, -1, -1, 69, 59, 60, + 61, -1, 74, -1, -1, -1, 257, 79, -1, -1, + -1, 83, 263, -1, -1, -1, 88, 306, 269, -1, + -1, -1, -1, -1, 96, 276, 277, 278, -1, -1, + 91, -1, 321, 284, -1, 37, 38, -1, 110, 41, + 42, 43, 44, 45, -1, 47, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 59, 60, 61, + 62, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 142, -1, -1, -1, -1, 33, -1, -1, 150, 368, + -1, 370, 40, -1, 373, 43, -1, 45, -1, -1, + 301, -1, 94, -1, -1, -1, -1, 308, 309, 388, + 389, 59, -1, 314, 315, 316, 317, -1, -1, -1, + 321, -1, 184, -1, -1, -1, -1, 189, 190, -1, + -1, 33, 124, 125, 413, 414, 415, 275, 40, -1, + -1, 43, -1, 45, -1, -1, -1, -1, -1, 287, + -1, -1, -1, -1, -1, 293, 294, 295, 296, 297, + 298, 299, 300, 301, -1, -1, 275, -1, -1, -1, + 308, 309, -1, -1, 236, 237, -1, 239, 287, 241, + 242, -1, -1, -1, 293, 294, 295, 296, 297, 298, + 299, 300, 301, -1, 33, -1, -1, -1, -1, 308, + 309, 40, 41, -1, 43, -1, 45, 258, -1, -1, + -1, 262, -1, 275, -1, -1, -1, -1, -1, 281, + -1, 123, 33, 274, -1, -1, -1, -1, -1, 40, + 292, -1, 43, -1, 45, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 308, -1, 59, 33, + 301, -1, 314, -1, -1, -1, 40, 41, -1, 43, + -1, 45, -1, -1, -1, 257, 258, -1, -1, -1, + 262, -1, -1, -1, -1, -1, -1, 269, -1, -1, + -1, 273, 274, -1, 276, 277, 278, -1, 33, -1, + -1, -1, 284, -1, -1, 40, 41, -1, 43, 291, + 45, -1, -1, -1, -1, -1, -1, -1, -1, 301, + 302, 303, 304, 305, 306, 307, 308, 309, -1, -1, + -1, -1, 314, 315, 316, 317, -1, 275, 33, 321, + -1, -1, -1, -1, -1, 40, -1, -1, 43, 287, + 45, -1, -1, -1, -1, 293, 294, 295, 296, 297, + 298, 299, 300, 301, 59, 33, -1, -1, -1, -1, + 308, 309, 40, 41, -1, 43, -1, 45, -1, -1, + -1, -1, 33, 275, -1, -1, -1, -1, -1, 40, + 41, -1, 43, -1, 45, 287, -1, -1, -1, -1, -1, 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, 33, -1, -1, -1, -1, 308, 309, 40, 41, - 275, 43, -1, 45, -1, -1, -1, -1, -1, -1, - -1, -1, 287, -1, -1, -1, -1, 275, 293, 294, - 295, 296, 297, 298, 299, 300, 301, -1, -1, 287, - -1, -1, -1, 308, 309, 293, 294, 295, 296, 297, - 298, 299, 300, 301, -1, -1, 33, -1, -1, -1, - 308, 309, -1, 40, 41, 275, 43, -1, 45, -1, - -1, -1, -1, -1, -1, -1, -1, 287, -1, -1, - -1, -1, -1, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 275, 33, -1, -1, -1, -1, 308, 309, - 40, -1, -1, 43, 287, 45, -1, -1, -1, -1, - 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, + -1, 43, -1, 45, -1, -1, -1, -1, 33, -1, + -1, -1, -1, -1, -1, 40, 41, -1, 43, -1, }; } class yyCheck1 { - protected static final short yyCheck1 [] = { 33, - -1, -1, -1, -1, 308, 309, 40, -1, 275, 43, - -1, 45, -1, -1, -1, -1, -1, -1, -1, -1, - 287, -1, -1, -1, -1, -1, 293, 294, 295, 296, - 297, 298, 299, 300, 301, -1, -1, -1, -1, -1, - -1, 308, 309, -1, -1, -1, -1, -1, -1, -1, - -1, 275, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 287, -1, -1, -1, -1, -1, 293, - 294, 295, 296, 297, 298, 299, 300, 301, 275, -1, - -1, -1, -1, -1, 308, 309, -1, 60, -1, -1, - 287, -1, -1, -1, -1, 275, 293, 294, 295, 296, - 297, 298, 299, 300, 301, -1, -1, 287, -1, -1, - -1, 308, 309, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 275, -1, -1, -1, -1, -1, 308, 309, - -1, -1, -1, -1, 287, -1, -1, -1, -1, -1, + protected static final short yyCheck1 [] = { 45, + -1, -1, -1, -1, 33, 275, -1, -1, -1, -1, + -1, 40, -1, -1, 43, -1, 45, 287, -1, -1, + -1, -1, -1, 293, 294, 295, 296, 297, 298, 299, + 300, 301, -1, 275, 33, -1, -1, -1, 308, 309, + -1, 40, -1, -1, 43, 287, 45, -1, -1, -1, + -1, 293, 294, 295, 296, 297, 298, 299, 300, 301, + 275, -1, -1, -1, -1, -1, 308, 309, -1, -1, + -1, -1, 287, -1, -1, -1, -1, -1, 293, 294, + 295, 296, 297, 298, 299, 300, 301, -1, -1, -1, + -1, 40, -1, 308, 309, -1, -1, -1, -1, 275, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 59, 287, -1, -1, -1, -1, -1, 293, 294, 295, + 296, 297, 298, 299, 300, 301, -1, -1, -1, -1, + -1, -1, 308, 309, -1, -1, -1, -1, -1, 275, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 287, -1, -1, -1, -1, -1, 293, 294, 295, + 296, 297, 298, 299, 300, 301, 275, -1, -1, -1, + -1, -1, 308, 309, 123, -1, -1, -1, 287, -1, + -1, -1, -1, 275, 293, 294, 295, 296, 297, 298, + 299, 300, 301, -1, -1, 287, -1, -1, -1, 308, + 309, 293, 294, 295, 296, 297, 298, 299, 300, 301, + -1, -1, 275, -1, -1, -1, 308, 309, -1, -1, + -1, -1, -1, -1, 287, -1, -1, -1, -1, 275, 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, - -1, -1, 125, -1, -1, 308, 309, -1, 37, 38, - -1, 40, 41, 42, 43, 44, 45, 46, 47, -1, - -1, -1, -1, -1, -1, -1, -1, 275, -1, -1, - 59, -1, -1, 62, -1, -1, -1, -1, -1, 287, - -1, -1, -1, -1, -1, 293, 294, 295, 296, 297, - 298, 299, 300, 301, -1, -1, -1, -1, -1, -1, - 308, 309, 91, -1, 275, 94, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 287, -1, -1, -1, - 40, -1, 293, 294, 295, 296, 297, 298, 299, 300, - 301, -1, -1, -1, 123, 124, 125, 308, 309, 59, - -1, -1, -1, 287, -1, -1, -1, -1, -1, 293, - 294, 295, 296, 297, 298, 299, 300, 301, -1, -1, - -1, -1, 37, 38, 308, 309, 41, 42, 43, 44, - 45, -1, 47, -1, 257, 258, -1, -1, -1, 262, - -1, -1, -1, -1, 59, 60, 269, 62, -1, -1, - -1, 274, -1, 276, 277, 278, 364, 365, -1, -1, - -1, 284, -1, 123, -1, 125, -1, -1, 291, -1, - -1, 379, -1, -1, -1, -1, -1, 37, 301, 94, + -1, 287, -1, -1, -1, 308, 309, 293, 294, 295, + 296, 297, 298, 299, 300, 301, -1, -1, 287, 40, + -1, -1, 308, 309, 293, 294, 295, 296, 297, 298, + 299, 300, 301, -1, -1, -1, 275, -1, 59, 308, + 309, -1, -1, -1, -1, -1, -1, -1, 287, -1, + -1, -1, -1, -1, 293, 294, 295, 296, 297, 298, + 299, 300, 301, -1, -1, -1, -1, -1, -1, 308, + 309, 37, 38, -1, 40, 41, 42, 43, 44, 45, + 46, 47, 271, 272, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 59, 283, -1, 62, -1, 287, -1, + -1, -1, 123, 292, 293, 294, 295, 296, 297, 298, + 299, 300, 301, -1, -1, -1, -1, -1, -1, 308, + 309, -1, -1, -1, -1, 91, 37, 38, 94, -1, + 41, 42, 43, 44, 45, -1, 47, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 59, 60, + -1, 62, -1, -1, -1, -1, -1, 123, 124, 125, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 37, -1, -1, 94, 41, 42, 43, 44, 45, 46, + 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 59, 60, -1, 62, -1, -1, -1, -1, + -1, -1, -1, 124, 125, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 37, 38, -1, 94, 41, 42, + 43, 44, 45, 46, 47, -1, -1, -1, -1, -1, + 271, 272, -1, -1, -1, -1, 59, 60, -1, 62, + -1, -1, 283, -1, -1, -1, 287, 124, 125, -1, + -1, 292, 293, 294, 295, 296, 297, 298, 299, 300, + 301, -1, -1, -1, -1, -1, -1, 308, 309, -1, + -1, 257, 258, -1, -1, -1, 262, -1, -1, -1, + -1, -1, -1, 269, -1, -1, -1, 273, 274, -1, + 276, 277, 278, -1, -1, -1, 282, -1, 284, -1, + -1, 124, 125, -1, -1, 291, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 301, 302, 303, 304, 305, + 306, 307, 308, 309, -1, -1, 257, 258, -1, -1, + -1, 262, -1, -1, -1, -1, -1, -1, 269, -1, + -1, -1, 273, 274, -1, 276, 277, 278, -1, -1, + 138, 139, -1, 284, -1, -1, -1, -1, -1, -1, + 291, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 301, 302, 303, 304, 305, 306, 307, 308, 309, -1, + 257, 258, -1, -1, -1, 262, -1, -1, -1, -1, + -1, -1, 269, 59, 60, -1, 273, 274, -1, 276, + 277, 278, -1, 191, 192, 193, -1, 284, -1, -1, + -1, -1, -1, -1, 291, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, + 307, 308, 309, -1, 257, 258, -1, -1, -1, 262, + -1, -1, -1, -1, -1, -1, 269, -1, -1, -1, + 273, 274, -1, 276, 277, 278, -1, -1, -1, 125, + -1, 284, -1, -1, -1, 37, 38, -1, 291, 41, + 42, 43, 44, 45, 46, 47, -1, -1, 301, 302, + 303, 304, 305, 306, 307, 308, 309, 59, 60, -1, + 62, -1, -1, -1, -1, -1, -1, -1, -1, 287, + 288, 289, 290, 291, -1, 293, 294, 295, 296, 297, + 298, 299, 300, 301, 302, 303, -1, -1, -1, 37, + 38, -1, 94, 41, 42, 43, 44, 45, 46, 47, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 59, 60, -1, 62, -1, -1, -1, -1, -1, + -1, -1, -1, 125, 342, -1, -1, 37, 38, -1, -1, 41, 42, 43, 44, 45, 46, 47, -1, -1, - -1, -1, -1, 401, 402, -1, 404, -1, -1, 59, - 60, 409, 62, -1, -1, 413, -1, 415, 416, 124, - 125, -1, -1, -1, -1, -1, 424, 425, 426, -1, - -1, -1, 430, -1, -1, -1, -1, -1, 257, 258, - -1, -1, -1, 262, 94, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 94, -1, -1, 59, + 60, -1, 62, -1, -1, -1, -1, -1, -1, -1, + -1, 257, 258, -1, 37, 38, 262, -1, 41, 42, + 43, 44, 45, 269, 47, -1, 124, 125, 274, -1, + 276, 277, 278, -1, 94, -1, 59, 60, 284, 62, + -1, -1, -1, -1, -1, 291, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 301, -1, -1, -1, -1, + -1, -1, -1, -1, 124, 125, -1, -1, -1, -1, + -1, 94, -1, -1, 37, -1, -1, -1, 41, 42, + 43, 44, 45, 46, 47, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 59, 60, -1, 62, + -1, 124, 125, -1, -1, 257, 258, -1, -1, -1, + 262, -1, -1, -1, -1, -1, -1, 269, -1, -1, + -1, 273, 274, -1, 276, 277, 278, -1, -1, -1, + -1, 94, 284, -1, -1, -1, -1, -1, -1, 291, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 301, + 302, 303, 304, 305, 306, 307, 308, 309, -1, 257, + }; +} +class yyCheck2 { + protected static final short yyCheck2 [] = { 258, + 124, 125, -1, 262, -1, -1, -1, -1, -1, -1, 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, - -1, -1, -1, 282, -1, 284, -1, -1, -1, 60, - -1, -1, 291, -1, 124, 125, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 284, -1, -1, -1, -1, + -1, -1, 291, -1, -1, -1, 257, 258, -1, -1, + 60, 262, 301, 302, 303, 304, 305, 306, 269, 308, + 309, -1, 273, 274, -1, 276, 277, 278, -1, -1, + -1, -1, -1, 284, -1, -1, -1, -1, -1, -1, + 291, -1, -1, 257, 258, -1, -1, -1, 262, -1, + 301, 302, 303, 304, 305, 269, 307, 308, 309, 273, + 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, + 284, -1, -1, -1, 37, 38, -1, 291, 41, 42, + 43, 44, 45, 46, 47, -1, -1, 301, 302, 303, + 304, 305, 306, 307, 308, 309, 59, 60, -1, 62, + -1, -1, -1, 257, 258, -1, -1, -1, 262, -1, + -1, -1, -1, -1, -1, 269, -1, -1, -1, 273, + 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, + 284, -1, -1, -1, 37, 38, -1, 291, 41, 42, + 43, 44, 45, 46, 47, -1, -1, 301, 302, 303, + 304, 305, 306, 307, 308, 309, 59, 60, -1, 62, + -1, 124, 125, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 37, 38, + -1, 94, 41, 42, 43, 44, 45, 46, 47, -1, + -1, -1, -1, -1, -1, -1, -1, 257, 258, -1, + 59, 60, 262, 62, -1, -1, -1, -1, -1, 269, + -1, -1, 125, -1, 274, -1, 276, 277, 278, -1, + -1, -1, -1, -1, 284, -1, -1, -1, -1, -1, + -1, 291, -1, 37, 38, 94, -1, 41, 42, -1, + 44, 301, 46, 47, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 59, 60, -1, 62, -1, + -1, -1, -1, -1, -1, 124, 125, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 257, 258, -1, -1, -1, 262, + 94, -1, -1, -1, -1, -1, 269, -1, -1, -1, + 273, 274, -1, 276, 277, 278, -1, -1, -1, -1, + -1, 284, -1, -1, -1, -1, -1, -1, 291, -1, + 124, 125, -1, -1, -1, -1, -1, -1, 301, 302, + 303, 304, 305, 306, 307, 308, 309, -1, -1, -1, + -1, -1, -1, -1, 257, 258, -1, -1, -1, 262, + -1, -1, -1, -1, -1, -1, 269, -1, -1, -1, + 273, 274, -1, 276, 277, 278, -1, -1, -1, -1, + -1, 284, -1, -1, -1, -1, -1, -1, 291, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 301, 302, + 303, 304, 305, 306, 307, 308, 309, -1, 257, 258, + -1, -1, -1, 262, -1, -1, -1, -1, -1, -1, + 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, + -1, 60, -1, -1, -1, 284, -1, -1, -1, 37, + 38, -1, 291, 41, 42, 43, 44, 45, 46, 47, + -1, -1, 301, 302, 303, 304, 305, 306, -1, 308, + 309, 59, -1, 257, 258, -1, -1, -1, 262, -1, + -1, -1, -1, -1, -1, 269, -1, -1, -1, 273, + 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, + 284, -1, -1, -1, 37, 38, 94, 291, 41, 42, + 43, 44, 45, 46, 47, -1, -1, 301, 302, 303, + 304, 305, 306, 307, 308, 309, 59, 60, -1, 62, + -1, -1, -1, -1, -1, -1, 124, 125, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 37, 38, + -1, 94, 41, 42, 43, 44, 45, 46, 47, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 59, 60, -1, 62, -1, -1, -1, -1, -1, -1, + -1, 124, 125, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 94, -1, -1, 37, 38, + -1, -1, 41, 42, 43, 44, 45, 46, 47, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 257, 258, + 59, -1, -1, 262, -1, 124, 125, -1, -1, -1, + 269, -1, -1, -1, -1, 274, -1, 276, 277, 278, + -1, -1, -1, -1, -1, 284, -1, -1, -1, 257, + 258, -1, 291, -1, 262, 94, -1, -1, -1, -1, + -1, 269, 301, -1, -1, -1, 274, -1, 276, 277, + 278, -1, -1, -1, -1, -1, 284, -1, -1, -1, + -1, -1, -1, 291, -1, 124, 125, -1, -1, -1, + -1, -1, -1, 301, 302, -1, -1, 305, 306, 307, + 308, 309, -1, -1, 257, 258, -1, -1, -1, 262, + -1, -1, -1, -1, -1, -1, 269, -1, -1, -1, + 273, 274, -1, 276, 277, 278, -1, -1, -1, -1, + -1, 284, -1, -1, -1, -1, -1, -1, 291, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 301, -1, + 303, 304, -1, 306, 307, 308, 309, -1, 257, 258, + -1, -1, -1, 262, -1, -1, -1, -1, -1, -1, + 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, + -1, -1, -1, -1, -1, 284, -1, -1, -1, 37, + 38, -1, 291, 41, 42, 43, 44, 45, 46, 47, + -1, -1, 301, -1, 303, 304, -1, 306, 307, 308, + 309, 59, -1, -1, -1, -1, -1, -1, 257, 258, + -1, -1, -1, 262, -1, -1, -1, -1, -1, -1, + 269, -1, -1, -1, -1, 274, -1, 276, 277, 278, + -1, -1, -1, -1, -1, 284, 94, -1, -1, -1, + 38, -1, 291, 41, -1, 43, 44, 45, 46, -1, + -1, -1, 301, 302, -1, -1, 305, 306, 307, 308, + 309, 59, 60, -1, 62, -1, 124, 125, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 38, -1, 94, 41, -1, 43, + 44, 45, 46, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 59, 60, -1, 62, -1, + -1, -1, -1, -1, -1, -1, 124, 125, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 38, + }; +} +class yyCheck3 { + protected static final short yyCheck3 [] = { 94, + -1, 41, -1, 43, 44, 45, 46, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 59, + 60, -1, 62, -1, -1, -1, -1, -1, -1, 124, + 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 257, 258, + -1, -1, -1, 262, 94, -1, -1, -1, -1, -1, + 269, 40, -1, -1, -1, 274, -1, 276, 277, 278, + -1, -1, -1, -1, -1, 284, -1, -1, -1, -1, + 59, -1, 291, -1, 124, 125, -1, -1, -1, -1, + -1, -1, 301, 302, -1, -1, 305, 306, 307, 308, + 309, -1, -1, -1, -1, -1, -1, -1, 257, 258, + -1, -1, -1, 262, -1, 40, -1, -1, -1, -1, + 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, + -1, -1, -1, -1, 59, 284, -1, -1, -1, -1, + -1, -1, 291, -1, 123, -1, 125, -1, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, 307, 308, - 309, -1, -1, 37, 38, -1, -1, 41, 42, 43, - 44, 45, 46, 47, -1, -1, -1, -1, 258, -1, - -1, -1, 262, -1, -1, 59, 60, 267, 62, -1, - -1, 271, 272, -1, 274, -1, -1, -1, -1, -1, - -1, -1, -1, 283, 125, -1, -1, 287, -1, -1, - -1, -1, 292, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 257, 258, -1, -1, -1, 262, 308, 309, + 309, -1, 257, 258, -1, -1, -1, 262, -1, -1, -1, -1, -1, -1, 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, - 124, 125, -1, -1, -1, -1, 291, 40, -1, -1, - -1, -1, -1, -1, -1, -1, 301, 302, 303, 304, + -1, -1, -1, -1, -1, -1, 291, 40, 123, -1, + 125, -1, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, 307, 308, 309, -1, 59, 257, 258, -1, -1, -1, 262, -1, -1, -1, -1, -1, -1, 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, -1, -1, -1, 37, 38, -1, 291, 41, 42, 43, 44, 45, 46, 47, -1, -1, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 59, 60, -1, 62, -1, -1, 257, 258, -1, -1, - 123, 262, -1, -1, -1, -1, -1, -1, 269, -1, - -1, -1, -1, 274, -1, 276, 277, 278, -1, -1, - -1, -1, -1, 284, -1, 94, -1, 37, 38, -1, - 291, 41, 42, 43, 44, 45, 46, 47, -1, -1, - 301, -1, -1, 257, 258, -1, -1, -1, 262, 59, - 60, -1, 62, -1, -1, 269, 125, -1, -1, 273, - 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, - 284, -1, -1, -1, -1, -1, -1, 291, -1, -1, - -1, -1, -1, -1, 94, -1, -1, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 37, 38, -1, -1, - 41, 42, 43, 44, 45, 46, 47, -1, -1, -1, - -1, -1, -1, -1, 124, 125, -1, -1, 59, 60, - -1, 62, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 37, 38, -1, -1, 41, 42, 43, - 44, 45, -1, 47, -1, -1, -1, -1, 271, 272, - -1, -1, -1, 94, -1, 59, 60, -1, 62, -1, - 283, -1, -1, -1, 287, -1, -1, -1, -1, 292, - 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, - -1, -1, -1, 124, 125, 308, 309, -1, 257, 258, - 94, -1, -1, 262, -1, -1, -1, -1, -1, -1, - 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, - -1, -1, -1, -1, -1, 284, -1, -1, -1, 37, - 124, 125, 291, 41, 42, 43, 44, 45, 46, 47, - -1, -1, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 59, 60, -1, 62, -1, -1, 257, 258, -1, - -1, -1, 262, -1, -1, -1, -1, -1, -1, 269, - -1, -1, -1, 273, 274, -1, 276, 277, 278, -1, - -1, -1, -1, -1, 284, -1, 94, -1, -1, -1, - -1, 291, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 301, 302, 303, 304, 305, 306, -1, 308, 309, - -1, -1, -1, -1, 37, 38, 124, 125, 41, 42, - 43, 44, 45, 46, 47, -1, 257, 258, -1, -1, - -1, 262, -1, -1, -1, -1, 59, 60, 269, 62, - -1, -1, 273, 274, -1, 276, 277, 278, -1, -1, - -1, -1, -1, 284, -1, -1, -1, -1, -1, -1, - 291, -1, -1, 257, 258, -1, -1, -1, 262, -1, - 301, 302, 303, 304, 305, 269, 307, 308, 309, 273, - 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, - 284, -1, -1, -1, -1, -1, -1, 291, -1, -1, - }; -} -class yyCheck2 { - protected static final short yyCheck2 [] = { -1, - 124, 125, -1, 60, -1, -1, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 37, 38, -1, -1, 41, - 42, 43, 44, 45, 46, 47, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 59, 60, -1, - 62, -1, -1, -1, -1, -1, -1, -1, 257, 258, - -1, -1, -1, 262, -1, -1, -1, -1, -1, -1, - 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, - -1, -1, 94, -1, -1, 284, -1, -1, -1, -1, - -1, -1, 291, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 37, 38, 125, -1, 41, 42, 43, 44, 45, - 46, 47, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 59, 60, -1, 62, -1, -1, -1, - -1, -1, -1, 257, 258, -1, -1, -1, 262, -1, - -1, -1, -1, -1, -1, 269, -1, -1, -1, 273, - 274, -1, 276, 277, 278, -1, -1, -1, 94, -1, - 284, -1, -1, -1, -1, -1, -1, 291, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 37, 38, 124, 125, - 41, 42, -1, 44, -1, 46, 47, -1, -1, -1, - 257, 258, -1, -1, -1, 262, -1, -1, 59, 60, - -1, 62, 269, -1, -1, -1, -1, 274, -1, 276, - 277, 278, -1, -1, -1, -1, -1, 284, -1, -1, - -1, -1, -1, -1, 291, 257, 258, -1, -1, -1, - 262, -1, 40, 94, 301, -1, -1, 269, -1, -1, - -1, 273, 274, -1, 276, 277, 278, -1, -1, -1, - -1, 59, 284, -1, -1, -1, -1, -1, -1, 291, - -1, -1, -1, 124, 125, -1, -1, -1, -1, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 37, 38, - -1, -1, 41, 42, 43, 44, 45, 46, 47, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 59, 60, -1, 62, -1, -1, -1, -1, -1, -1, - -1, 257, 258, -1, -1, 123, 262, -1, -1, -1, - -1, -1, -1, 269, -1, -1, -1, 273, 274, -1, - 276, 277, 278, -1, -1, 94, -1, -1, 284, -1, - -1, -1, -1, -1, -1, 291, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 301, 302, 303, 304, 305, - 306, -1, 308, 309, -1, 124, 125, 37, 38, -1, - -1, 41, 42, 43, 44, 45, 46, 47, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 59, - 60, -1, 62, -1, -1, -1, 257, 258, -1, -1, - -1, 262, -1, -1, -1, -1, -1, -1, 269, -1, - -1, -1, 273, 274, -1, 276, 277, 278, -1, -1, - -1, -1, -1, 284, 94, -1, -1, -1, -1, -1, - 291, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 301, 302, 303, 304, 305, 306, 307, 308, 309, -1, - -1, -1, 37, 38, 124, 125, 41, 42, 43, 44, - 45, 46, 47, 271, 272, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 59, 283, -1, -1, -1, 287, - -1, -1, -1, -1, 292, 293, 294, 295, 296, 297, - 298, 299, 300, 301, -1, -1, -1, -1, 257, 258, - 308, 309, -1, 262, -1, -1, -1, -1, -1, 94, - 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, - -1, -1, -1, -1, -1, 284, -1, -1, -1, -1, - -1, -1, 291, -1, -1, -1, -1, -1, -1, 124, - 125, -1, 301, -1, 303, 304, -1, 306, 307, 308, - 309, -1, -1, 37, 38, -1, -1, 41, 42, 43, - 44, 45, 46, 47, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 59, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 257, 258, -1, - -1, -1, 262, -1, -1, -1, -1, -1, -1, 269, - -1, -1, -1, 273, 274, -1, 276, 277, 278, -1, - 94, -1, -1, -1, 284, -1, -1, -1, -1, -1, - -1, 291, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 301, -1, 303, 304, 60, 306, 307, 308, 309, - 124, 125, -1, 37, 38, -1, -1, 41, 42, 43, - 44, 45, 46, 47, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 59, -1, -1, -1, -1, - -1, -1, 257, 258, -1, -1, -1, 262, -1, -1, - -1, -1, -1, -1, 269, -1, -1, -1, -1, 274, - -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, - 94, -1, -1, -1, -1, -1, 291, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 301, 302, -1, -1, - 305, 306, 307, 308, 309, -1, -1, -1, -1, -1, - 124, 125, -1, 38, -1, -1, 41, -1, 43, 44, - 45, 46, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 59, 60, -1, 62, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 257, 258, -1, -1, -1, 262, -1, - -1, 137, 138, -1, -1, 269, -1, -1, -1, 94, - 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, - 284, -1, -1, -1, -1, 38, -1, 291, 41, -1, - 43, 44, 45, 46, -1, -1, -1, 301, 302, 124, - 125, 305, 306, 307, 308, 309, 59, 60, -1, 62, - -1, -1, 257, 258, 190, 191, 192, 262, -1, -1, - -1, -1, -1, -1, 269, -1, -1, -1, -1, 274, - -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, - -1, 94, -1, 257, 258, -1, 291, -1, 262, -1, - -1, -1, -1, -1, -1, 269, 301, -1, -1, -1, - 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, - 284, 124, 125, -1, -1, 38, -1, 291, 41, -1, - 43, 44, 45, 46, -1, -1, -1, 301, 302, -1, - -1, 305, 306, 307, 308, 309, 59, 60, -1, 62, - -1, -1, -1, -1, -1, -1, -1, 283, 284, 285, - 286, 287, -1, 289, 290, 291, 292, 293, 294, 295, - 296, 297, 298, 299, -1, -1, -1, -1, -1, -1, - -1, 94, 257, 258, -1, -1, -1, 262, -1, -1, - -1, -1, -1, -1, 269, -1, -1, -1, 273, 274, - -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, - 336, 124, 125, -1, -1, -1, 291, -1, -1, -1, - }; -} -class yyCheck3 { - protected static final short yyCheck3 [] = { -1, - -1, -1, -1, -1, -1, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 37, 38, -1, -1, 41, 42, - 43, 44, 45, 46, 47, -1, -1, -1, -1, -1, - -1, -1, -1, 257, 258, -1, 59, 60, 262, 62, - -1, -1, 40, -1, -1, 269, -1, -1, -1, 273, - 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, - 284, 59, -1, -1, -1, -1, -1, 291, -1, -1, - -1, 94, -1, -1, -1, -1, -1, 301, 302, 303, - 304, 305, 306, 307, 308, 309, -1, -1, -1, -1, - -1, -1, -1, -1, 40, -1, -1, -1, -1, -1, - -1, 124, 125, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 59, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 257, 258, 123, -1, 125, 262, -1, - -1, -1, -1, -1, -1, 269, -1, -1, -1, 273, - 274, -1, 276, 277, 278, -1, 40, -1, -1, -1, - 284, -1, -1, -1, -1, -1, -1, 291, -1, -1, - -1, -1, -1, -1, -1, 59, -1, 301, 302, 303, - 304, 305, 306, 307, 308, 309, -1, 123, -1, 125, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 40, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 59, -1, -1, -1, -1, -1, -1, 123, - -1, 125, -1, -1, 257, 258, -1, -1, -1, 262, - -1, -1, -1, -1, -1, -1, 269, 40, -1, -1, - 273, 274, -1, 276, 277, 278, -1, -1, -1, -1, - 258, 284, -1, -1, 262, -1, 59, -1, 291, -1, - -1, -1, -1, 271, 272, -1, 274, -1, 301, 302, - 303, 304, 305, 306, 307, 283, 123, -1, 125, 287, - -1, -1, -1, -1, 292, 293, 294, 295, 296, 297, - 298, 299, 300, 301, -1, 40, -1, -1, -1, -1, - 308, 309, 258, -1, -1, -1, 262, -1, -1, -1, - -1, -1, -1, -1, 59, 271, 272, -1, 274, -1, - 123, -1, 125, -1, -1, -1, -1, 283, -1, -1, - -1, 287, -1, -1, -1, -1, 292, 293, 294, 295, - 296, 297, 298, 299, 300, 301, -1, -1, -1, -1, - -1, -1, 308, 309, 258, -1, -1, -1, 262, -1, - -1, -1, -1, -1, -1, -1, -1, 271, 272, -1, - 274, -1, -1, -1, -1, -1, -1, -1, 123, 283, - 125, -1, -1, 287, -1, -1, -1, -1, 292, 293, - 294, 295, 296, 297, 298, 299, 300, 301, -1, -1, - -1, -1, -1, -1, 308, 309, -1, -1, -1, -1, - -1, 258, -1, -1, -1, 262, -1, -1, -1, -1, - -1, -1, -1, -1, 271, 272, -1, 274, -1, -1, - -1, -1, -1, -1, -1, -1, 283, -1, -1, -1, - 287, -1, -1, -1, -1, 292, 293, 294, 295, 296, - 297, 298, 299, 300, 301, 258, -1, -1, -1, 262, - -1, 308, 309, -1, -1, -1, -1, -1, 271, 272, - -1, 274, -1, -1, -1, -1, -1, -1, -1, -1, - 283, -1, -1, -1, 287, -1, -1, -1, -1, 292, - 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, - -1, -1, -1, -1, -1, 308, 309, -1, -1, -1, - -1, -1, -1, 258, -1, -1, -1, 262, -1, -1, + 59, 60, -1, 62, -1, -1, -1, -1, -1, 258, + 123, -1, 125, 262, -1, -1, -1, -1, 267, -1, + -1, -1, 271, 272, -1, 274, -1, -1, -1, -1, + -1, -1, -1, -1, 283, 94, 40, -1, 287, -1, + -1, -1, -1, 292, 293, 294, 295, 296, 297, 298, + 299, 300, 301, -1, -1, 59, -1, -1, -1, 308, + 309, -1, -1, 258, -1, 124, 125, 262, -1, -1, -1, -1, -1, -1, -1, -1, 271, 272, -1, 274, -1, -1, -1, -1, -1, -1, -1, -1, 283, -1, - -1, -1, 287, -1, -1, -1, -1, 292, 293, 294, - 295, 296, 297, 298, 299, 300, 301, -1, -1, -1, - -1, -1, -1, 308, 309, + 40, -1, 287, -1, -1, -1, -1, 292, 293, 294, + 295, 296, 297, 298, 299, 300, 301, -1, -1, 59, + -1, -1, -1, 308, 309, -1, -1, -1, -1, 123, + -1, 125, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, + -1, -1, -1, -1, -1, 258, -1, -1, -1, 262, + -1, -1, -1, -1, -1, -1, -1, 59, 271, 272, + -1, 274, -1, -1, -1, -1, -1, -1, -1, -1, + 283, -1, -1, 123, 287, 125, -1, -1, -1, 292, + 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, + 40, -1, -1, -1, -1, 308, 309, -1, 257, 258, + -1, -1, -1, 262, -1, -1, -1, -1, -1, 59, + 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, + -1, 123, -1, 125, -1, 284, -1, -1, -1, -1, + -1, -1, 291, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 301, 302, 303, 304, 305, 306, 307, -1, + -1, -1, -1, -1, 258, 60, -1, -1, 262, -1, + -1, -1, -1, -1, -1, -1, -1, 271, 272, -1, + 274, -1, -1, 123, -1, 125, -1, -1, -1, 283, + -1, -1, -1, 287, -1, -1, -1, -1, 292, 293, + 294, 295, 296, 297, 298, 299, 300, 301, -1, -1, + 60, -1, -1, -1, 308, 309, -1, -1, 258, -1, + -1, -1, 262, -1, -1, -1, -1, -1, -1, -1, + 125, 271, 272, -1, 274, -1, -1, -1, -1, -1, + -1, -1, -1, 283, -1, -1, -1, 287, -1, -1, + -1, -1, 292, 293, 294, 295, 296, 297, 298, 299, + 300, 301, -1, -1, -1, -1, 258, -1, 308, 309, + 262, -1, -1, -1, -1, 125, -1, -1, -1, 271, + 272, -1, 274, -1, -1, -1, -1, -1, -1, -1, + -1, 283, -1, -1, -1, 287, -1, -1, -1, -1, + 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, + -1, -1, -1, -1, -1, -1, 308, 309, 258, -1, + -1, -1, 262, -1, -1, -1, -1, -1, -1, -1, + -1, 271, 272, -1, 274, -1, -1, -1, -1, -1, + -1, -1, -1, 283, -1, -1, -1, 287, -1, -1, + -1, -1, 292, 293, 294, 295, 296, 297, 298, 299, + 300, 301, 257, 258, -1, -1, -1, 262, 308, 309, + -1, -1, -1, -1, 269, -1, -1, -1, -1, 274, + -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, + -1, -1, -1, -1, -1, -1, 291, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 301, 257, 258, -1, + -1, -1, 262, -1, -1, -1, -1, -1, -1, 269, + -1, -1, -1, -1, 274, -1, 276, 277, 278, -1, + -1, -1, -1, -1, 284, -1, -1, -1, -1, -1, + -1, 291, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 301, }; } class yyCheckInit { - static short[] yyCheck = new short[3579]; + static short[] yyCheck = new short[3816]; protected static void yyCheckInit () { int numyycheck; int yyCheckerun = 0; for (numyycheck = 0; numyycheck <= 1000; numyycheck++) { - if (yyCheckerun < 3579) { + if (yyCheckerun < 3816) { yyCheck[yyCheckerun] = yyCheck0.yyCheck0[numyycheck]; yyCheckerun++; } } for (numyycheck = 0; numyycheck <= 1000; numyycheck++) { - if (yyCheckerun < 3579) { + if (yyCheckerun < 3816) { yyCheck[yyCheckerun] = yyCheck1.yyCheck1[numyycheck]; yyCheckerun++; } } for (numyycheck = 0; numyycheck <= 1000; numyycheck++) { - if (yyCheckerun < 3579) { + if (yyCheckerun < 3816) { yyCheck[yyCheckerun] = yyCheck2.yyCheck2[numyycheck]; yyCheckerun++; } } for (numyycheck = 0; numyycheck <= 1000; numyycheck++) { - if (yyCheckerun < 3579) { + if (yyCheckerun < 3816) { yyCheck[yyCheckerun] = yyCheck3.yyCheck3[numyycheck]; yyCheckerun++; } diff --git a/src/mycompiler/myparser/JavaParser.jay b/src/mycompiler/myparser/JavaParser.jay index 8b53e82f8..de426a0dd 100755 --- a/src/mycompiler/myparser/JavaParser.jay +++ b/src/mycompiler/myparser/JavaParser.jay @@ -867,7 +867,15 @@ Beispiel: var = 2; Bei einer lokalen Variable lässt sich hier nicht ermitteln ob die Variable deklariert werden soll oder bereits deklariert wurde und ihr nur ein Wert zugewiesen werden soll. Dieses Problem ist bei Feldern nicht der Fall. */ -fielddeclarator : variabledeclarator '=' expression +fielddeclarator : type variabledeclarator '=' expression + { + FieldDeclaration ret = new FieldDeclaration($2.getOffset()); + ret.setType($1); + ret.set_DeclId($2); + ret.setWert($4); + $$=ret; + } + | variabledeclarator '=' expression { FieldDeclaration ret = new FieldDeclaration($1.getOffset()); ret.set_DeclId($1); @@ -1361,9 +1369,9 @@ blockstatement :localvariabledeclarationstatement formalparameter : type variabledeclaratorid { - FormalParameter FP = new FormalParameter(); + FormalParameter FP = new FormalParameter($2); FP.setType($1); - FP.set_DeclId($2); + //FP.set_DeclId($2); $$=FP; } @@ -1375,9 +1383,9 @@ formalparameter : type variabledeclaratorid Parameterliste setzen $5.set_Paratyp($3.get_ParaList()); - FormalParameter FP = new FormalParameter(); + FormalParameter FP = new FormalParameter($5); FP.setType($1); - FP.set_DeclId($5); + //FP.set_DeclId($5); $$=FP; org.apache.log4j.Logger.getLogger("parser").debug("P->Polymorphes Methodenargument hinzugefuegt: Name = " + $5.get_Name() + " Typ = " + $1.getName()); @@ -1388,7 +1396,7 @@ formalparameter : type variabledeclaratorid { org.apache.log4j.Logger.getLogger("parser").debug("\nFunktionsdeklaration mit typlosen Parametern: " + $1.name); - FormalParameter FP = new FormalParameter(); + FormalParameter FP = new FormalParameter($1); // #JB# 31.03.2005 // ########################################################### @@ -1398,7 +1406,7 @@ formalparameter : type variabledeclaratorid //org.apache.log4j.Logger.getLogger("parser").debug("\n--> berechneter Name: " + T.getName()); //auskommentiert von Andreas Stadelmeier (a10023) FP.setType( T ); - FP.set_DeclId($1); + //FP.set_DeclId($1); $$=FP; } diff --git a/src/typinferenz/FunNMethod.java b/src/typinferenz/FunNMethod.java index 7d14317eb..bfb707825 100644 --- a/src/typinferenz/FunNMethod.java +++ b/src/typinferenz/FunNMethod.java @@ -17,10 +17,10 @@ public class FunNMethod extends Method{ ParameterList pl = new ParameterList(); Vector fpList = new Vector(); for(int i = 0;i null { [null Return null (f.apply( [ null (this(null)), m, ]))]) +Block DEBUG [Typeinference] Prozessing statement: null Return null (f.apply( [ null (this(null)), m, ])) +Block DEBUG [Typeinference] Prozessing statement: TPH K Return TPH G (f: TPH E.apply( [ Matrix (this(null)), m: TPH C, ])) +Block DEBUG [Typeinference] Prozessing statement: TPH L Return TPH F (( [ TPH E f, ]) -> TPH K { [TPH K Return TPH G (f: TPH E.apply( [ Matrix (this(null)), m: TPH C, ]))]) Class DEBUG [Typeinference] Erstellte Constraints: TPH A < TPH A -[(Klasse1 <. Klasse1), (Klasse1 <. Klasse1), ] -Klasse1 < TPH A -TPH A < TPH I -[(int <. TPH J), (TPH A <. Klasse1), (int <. TPH J), (TPH A <. Klasse1), ] -TPH J < TPH K -TPH K < TPH B +[(TPH H <. TPH G), (Matrix <. TPH I), (TPH C <. TPH J), (TPH E <. FunN), ] +TPH G < TPH K +Fun1< TPH K, TPH E > < TPH F +TPH F < TPH L +Fun1< TPH L, TPH C > < TPH D +TPH D < TPH A -SourceFile DEBUG [Typeinference] Karthesisches Produkt der Constraints: [[(TPH A <. TPH A), (Klasse1 <. Klasse1), (Klasse1 <. TPH A), (TPH A <. TPH I), (int <. TPH J), (TPH A <. Klasse1), (TPH J <. TPH K), (TPH K <. TPH B)], [(TPH A <. TPH A), (Klasse1 <. Klasse1), (Klasse1 <. TPH A), (TPH A <. TPH I), (int <. TPH J), (TPH A <. Klasse1), (TPH J <. TPH K), (TPH K <. TPH B)], [(TPH A <. TPH A), (Klasse1 <. Klasse1), (Klasse1 <. TPH A), (TPH A <. TPH I), (int <. TPH J), (TPH A <. Klasse1), (TPH J <. TPH K), (TPH K <. TPH B)], [(TPH A <. TPH A), (Klasse1 <. Klasse1), (Klasse1 <. TPH A), (TPH A <. TPH I), (int <. TPH J), (TPH A <. Klasse1), (TPH J <. TPH K), (TPH K <. TPH B)]] -SourceFile DEBUG [Typeinference] Unifiziertes Ergebnis: [[(TPH B = int), (TPH I = Klasse1), (TPH K = int), (TPH A = Klasse1), (TPH J = int)]] +SourceFile DEBUG [Typeinference] Karthesisches Produkt der Constraints: [[(TPH A <. TPH A), (TPH H <. TPH G), (Matrix <. TPH I), (TPH C <. TPH J), (TPH E <. FunN), (TPH G <. TPH K), (Fun1< TPH K, TPH E > <. TPH F), (TPH F <. TPH L), (Fun1< TPH L, TPH C > <. TPH D), (TPH D <. TPH A)]] +SourceFile DEBUG [Typeinference] Unifiziertes Ergebnis: [[(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Matrix), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< Vector< GTV Integer > >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< ? extends Vector< GTV Integer > >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< ? extends Vector< ? super GTV Integer > >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< ? super Vector< GTV Integer > >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< ? super Matrix >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)]] SourceFile DEBUG [Typeinference] JavaFiles: -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH B = int), (TPH I = Klasse1), (TPH K = int), (TPH A = Klasse1), (TPH J = int)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Matrix), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)] -SourceFile DEBUG [Typeinference] class Klasse2 extends Object +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Klasse1 var1; -int testMethode() -{ -var1 = new Klasse1(); -return var1.getVar1();; -} -Klasse2 Klasse2() +Fun1, C> op = (C m) -> { +return (FunN f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() { } } -SourceFile DEBUG [Typeinference] Unifiziertes Ergebnis: [[(TPH B = int), (TPH I = Klasse1), (TPH K = int), (TPH A = Klasse1), (TPH J = int)]] -SourceFile DEBUG [Typeinference] -JavaFiles: +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< Vector< GTV Integer > >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)] -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH B = int), (TPH I = Klasse1), (TPH K = int), (TPH A = Klasse1), (TPH J = int)] - -SourceFile DEBUG [Typeinference] class Klasse2 extends Object +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Klasse1 var1; -int testMethode() -{ -var1 = new Klasse1(); -return var1.getVar1();; -} -Klasse2 Klasse2() +Fun1, C> op = (C m) -> { +return (FunN f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() { } } -SourceFile DEBUG [Typeinference] Unifiziertes Ergebnis: [[(TPH B = int), (TPH I = Klasse1), (TPH K = int), (TPH A = Klasse1), (TPH J = int)]] -SourceFile DEBUG [Typeinference] -JavaFiles: +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< ? extends Vector< GTV Integer > >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)] -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH B = int), (TPH I = Klasse1), (TPH K = int), (TPH A = Klasse1), (TPH J = int)] - -SourceFile DEBUG [Typeinference] class Klasse2 extends Object +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Klasse1 var1; -int testMethode() -{ -var1 = new Klasse1(); -return var1.getVar1();; -} -Klasse2 Klasse2() +Fun1, C> op = (C m) -> { +return (FunN f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() { } } -SourceFile DEBUG [Typeinference] Unifiziertes Ergebnis: [[(TPH B = int), (TPH I = Klasse1), (TPH K = int), (TPH A = Klasse1), (TPH J = int)]] -SourceFile DEBUG [Typeinference] -JavaFiles: +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)] -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH B = int), (TPH I = Klasse1), (TPH K = int), (TPH A = Klasse1), (TPH J = int)] - -SourceFile DEBUG [Typeinference] class Klasse2 extends Object +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Klasse1 var1; -int testMethode() -{ -var1 = new Klasse1(); -return var1.getVar1();; -} -Klasse2 Klasse2() +Fun1, C> op = (C m) -> { +return (FunN f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() { } } -Block DEBUG [Typeinference] Prozessing statement: null Return var1 -Block DEBUG [Typeinference] Prozessing statement: TPH L Return var1: TPH D -Class DEBUG [Typeinference] Erstellte Constraints: TPH D < TPH D -TPH D < TPH L -TPH L < int +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< ? extends Vector< ? super GTV Integer > >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)] -SourceFile DEBUG [Typeinference] Karthesisches Produkt der Constraints: [[(TPH D <. TPH D), (TPH D <. TPH L), (TPH L <. int)]] -SourceFile DEBUG [Typeinference] Unifiziertes Ergebnis: [[(TPH D = int), (TPH L = int)]] -SourceFile DEBUG [Typeinference] -JavaFiles: - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH D = int), (TPH L = int)] - -SourceFile DEBUG [Typeinference] class Klasse1 extends Object +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -int var1; -int getVar1() -{ -return var1; -} -Klasse1 Klasse1() +Fun1, C> op = (C m) -> { +return (FunN f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() { } } -Class DEBUG [Typeinference] Erstellte Assumptions: this: Klasse1Method Assumptions: -[MethodAssumption: int int { [null Return var1], MethodAssumption: Klasse1 null { []] -FieldVar Assumptions: -[typinferenz.assumptions.FieldAssumption@744578e0] -LocalVar Assumptions: -[] -Parameter Assumptions: -[] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< ? super Vector< GTV Integer > >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)] -Block DEBUG [Typeinference] Prozessing statement: null Return var1 -Block DEBUG [Typeinference] Prozessing statement: TPH M Return var1: TPH F -Class DEBUG [Typeinference] Erstellte Constraints: TPH F < TPH F -TPH F < TPH M -TPH M < int - -SourceFile DEBUG [Typeinference] Karthesisches Produkt der Constraints: [[(TPH F <. TPH F), (TPH F <. TPH M), (TPH M <. int)]] -SourceFile DEBUG [Typeinference] Unifiziertes Ergebnis: [[(TPH F = int), (TPH M = int)]] -SourceFile DEBUG [Typeinference] -JavaFiles: - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH F = int), (TPH M = int)] - -SourceFile DEBUG [Typeinference] class Klasse1 extends Object +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -int var1; -int getVar1() -{ -return var1; -} -Klasse1 Klasse1() +Fun1, C> op = (C m) -> { +return (FunN f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< ? super Matrix >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1, C> op = (C m) -> { +return (FunN f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() { } } diff --git a/tools/y.output b/tools/y.output index 048aeef5d..0eae72603 100644 --- a/tools/y.output +++ b/tools/y.output @@ -113,283 +113,284 @@ 77 abstractmethoddeclaration : methodheader ';' - 78 fielddeclarator : variabledeclarator '=' expression + 78 fielddeclarator : type variabledeclarator '=' expression + 79 | variabledeclarator '=' expression - 79 fielddeclaration : fielddeclarator ';' - 80 | type fielddeclarator - 81 | variabledeclarators ';' - 82 | type variabledeclarators ';' - 83 | modifiers type variabledeclarators ';' + 80 fielddeclaration : fielddeclarator ';' + 81 | type fielddeclarator + 82 | variabledeclarators ';' + 83 | type variabledeclarators ';' + 84 | modifiers type variabledeclarators ';' - 84 methoddeclaration : methodheader methodbody + 85 methoddeclaration : methodheader methodbody - 85 block : '{' '}' - 86 | '{' blockstatements '}' + 86 block : '{' '}' + 87 | '{' blockstatements '}' - 87 constructordeclarator : simplename '(' ')' - 88 | simplename '(' formalparameterlist ')' + 88 constructordeclarator : simplename '(' ')' + 89 | simplename '(' formalparameterlist ')' - 89 constructorbody : '{' '}' - 90 | '{' explicitconstructorinvocation '}' - 91 | '{' blockstatements '}' - 92 | '{' explicitconstructorinvocation blockstatements '}' + 90 constructorbody : '{' '}' + 91 | '{' explicitconstructorinvocation '}' + 92 | '{' blockstatements '}' + 93 | '{' explicitconstructorinvocation blockstatements '}' - 93 throws : THROWS classtypelist + 94 throws : THROWS classtypelist - 94 boundedClassParameter : boundedMethodParameter + 95 boundedClassParameter : boundedMethodParameter - 95 boundedClassParameters : boundedClassParameter - 96 | boundedClassParameters ',' boundedClassParameter + 96 boundedClassParameters : boundedClassParameter + 97 | boundedClassParameters ',' boundedClassParameter - 97 boundedMethodParameter : IDENTIFIER - 98 | IDENTIFIER EXTENDS boundedclassidentifierlist + 98 boundedMethodParameter : IDENTIFIER + 99 | IDENTIFIER EXTENDS boundedclassidentifierlist - 99 boundedclassidentifierlist : referencetype - 100 | boundedclassidentifierlist '&' referencetype + 100 boundedclassidentifierlist : referencetype + 101 | boundedclassidentifierlist '&' referencetype - 101 boundedMethodParameters : boundedMethodParameter - 102 | boundedMethodParameters ',' boundedMethodParameter + 102 boundedMethodParameters : boundedMethodParameter + 103 | boundedMethodParameters ',' boundedMethodParameter - 103 methodheader : '<' boundedMethodParameters '>' type methoddeclarator - 104 | type methoddeclarator - 105 | modifiers type methoddeclarator - 106 | modifiers '<' boundedMethodParameters '>' type methoddeclarator - 107 | type methoddeclarator throws - 108 | '<' boundedMethodParameters '>' type methoddeclarator throws - 109 | modifiers type methoddeclarator throws - 110 | modifiers '<' boundedMethodParameters '>' type methoddeclarator throws - 111 | VOID methoddeclarator - 112 | modifiers VOID methoddeclarator - 113 | VOID methoddeclarator throws - 114 | modifiers VOID methoddeclarator throws - 115 | '<' boundedMethodParameters '>' VOID methoddeclarator - 116 | modifiers '<' boundedMethodParameters '>' VOID methoddeclarator - 117 | '<' boundedMethodParameters '>' VOID methoddeclarator throws - 118 | modifiers '<' boundedMethodParameters '>' VOID methoddeclarator throws - 119 | methoddeclarator - 120 | '<' boundedMethodParameters '>' methoddeclarator - 121 | modifiers methoddeclarator - 122 | methoddeclarator throws - 123 | modifiers methoddeclarator throws + 104 methodheader : '<' boundedMethodParameters '>' type methoddeclarator + 105 | type methoddeclarator + 106 | modifiers type methoddeclarator + 107 | modifiers '<' boundedMethodParameters '>' type methoddeclarator + 108 | type methoddeclarator throws + 109 | '<' boundedMethodParameters '>' type methoddeclarator throws + 110 | modifiers type methoddeclarator throws + 111 | modifiers '<' boundedMethodParameters '>' type methoddeclarator throws + 112 | VOID methoddeclarator + 113 | modifiers VOID methoddeclarator + 114 | VOID methoddeclarator throws + 115 | modifiers VOID methoddeclarator throws + 116 | '<' boundedMethodParameters '>' VOID methoddeclarator + 117 | modifiers '<' boundedMethodParameters '>' VOID methoddeclarator + 118 | '<' boundedMethodParameters '>' VOID methoddeclarator throws + 119 | modifiers '<' boundedMethodParameters '>' VOID methoddeclarator throws + 120 | methoddeclarator + 121 | '<' boundedMethodParameters '>' methoddeclarator + 122 | modifiers methoddeclarator + 123 | methoddeclarator throws + 124 | modifiers methoddeclarator throws - 124 type : primitivetype - 125 | primitivetype '[' ']' - 126 | referencetype - 127 | referencetype '[' ']' + 125 type : primitivetype + 126 | primitivetype '[' ']' + 127 | referencetype + 128 | referencetype '[' ']' - 128 variabledeclarators : variabledeclarator - 129 | variabledeclarators ',' variabledeclarator + 129 variabledeclarators : variabledeclarator + 130 | variabledeclarators ',' variabledeclarator - 130 methodbody : block + 131 methodbody : block - 131 blockstatements : blockstatement - 132 | blockstatements blockstatement + 132 blockstatements : blockstatement + 133 | blockstatements blockstatement - 133 formalparameterlist : formalparameter - 134 | formalparameterlist ',' formalparameter + 134 formalparameterlist : formalparameter + 135 | formalparameterlist ',' formalparameter - 135 explicitconstructorinvocation : THIS '(' ')' ';' - 136 | THIS '(' argumentlist ')' ';' + 136 explicitconstructorinvocation : THIS '(' ')' ';' + 137 | THIS '(' argumentlist ')' ';' - 137 classtypelist : classtype - 138 | classtypelist ',' classtype + 138 classtypelist : classtype + 139 | classtypelist ',' classtype - 139 methoddeclarator : IDENTIFIER '(' ')' - 140 | IDENTIFIER '(' formalparameterlist ')' + 140 methoddeclarator : IDENTIFIER '(' ')' + 141 | IDENTIFIER '(' formalparameterlist ')' - 141 primitivetype : BOOLEAN - 142 | numerictype + 142 primitivetype : BOOLEAN + 143 | numerictype - 143 referencetype : classorinterfacetype + 144 referencetype : classorinterfacetype - 144 variabledeclarator : variabledeclaratorid + 145 variabledeclarator : variabledeclaratorid - 145 blockstatement : localvariabledeclarationstatement - 146 | statement + 146 blockstatement : localvariabledeclarationstatement + 147 | statement - 147 formalparameter : type variabledeclaratorid - 148 | variabledeclaratorid + 148 formalparameter : type variabledeclaratorid + 149 | variabledeclaratorid - 149 argumentlist : expression - 150 | argumentlist ',' expression + 150 argumentlist : expression + 151 | argumentlist ',' expression - 151 numerictype : integraltype + 152 numerictype : integraltype - 152 variabledeclaratorid : IDENTIFIER + 153 variabledeclaratorid : IDENTIFIER - 153 variableinitializer : expression + 154 variableinitializer : expression - 154 localvariabledeclarationstatement : localvariabledeclaration ';' + 155 localvariabledeclarationstatement : localvariabledeclaration ';' - 155 statement : statementwithouttrailingsubstatement - 156 | ifthenstatement - 157 | ifthenelsestatement - 158 | whilestatement - 159 | forstatement + 156 statement : statementwithouttrailingsubstatement + 157 | ifthenstatement + 158 | ifthenelsestatement + 159 | whilestatement + 160 | forstatement - 160 expression : assignmentexpression - 161 | classinstancecreationexpression + 161 expression : assignmentexpression + 162 | classinstancecreationexpression - 162 integraltype : INT - 163 | CHAR + 163 integraltype : INT + 164 | CHAR - 164 localvariabledeclaration : type variabledeclarators - 165 | variabledeclarators + 165 localvariabledeclaration : type variabledeclarators + 166 | variabledeclarators - 166 statementwithouttrailingsubstatement : block - 167 | emptystatement - 168 | expressionstatement - 169 | returnstatement + 167 statementwithouttrailingsubstatement : block + 168 | emptystatement + 169 | expressionstatement + 170 | returnstatement - 170 ifthenstatement : IF '(' expression ')' statement + 171 ifthenstatement : IF '(' expression ')' statement - 171 ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE statement + 172 ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE statement - 172 whilestatement : WHILE '(' expression ')' statement + 173 whilestatement : WHILE '(' expression ')' statement - 173 forstatement : FOR '(' expression ';' expression ';' expression ')' statement - 174 | FOR '(' expression ';' expression ';' ')' statement - 175 | FOR '(' expression ';' ';' expression ')' statement - 176 | FOR '(' ';' expression ';' expression ')' statement - 177 | FOR '(' expression ';' ';' ')' statement - 178 | FOR '(' ';' expression ';' ')' statement - 179 | FOR '(' ';' ';' expression ')' statement - 180 | FOR '(' ';' ';' ')' statement + 174 forstatement : FOR '(' expression ';' expression ';' expression ')' statement + 175 | FOR '(' expression ';' expression ';' ')' statement + 176 | FOR '(' expression ';' ';' expression ')' statement + 177 | FOR '(' ';' expression ';' expression ')' statement + 178 | FOR '(' expression ';' ';' ')' statement + 179 | FOR '(' ';' expression ';' ')' statement + 180 | FOR '(' ';' ';' expression ')' statement + 181 | FOR '(' ';' ';' ')' statement - 181 assignmentexpression : conditionalexpression - 182 | assignment + 182 assignmentexpression : conditionalexpression + 183 | assignment - 183 emptystatement : ';' + 184 emptystatement : ';' - 184 expressionstatement : statementexpression ';' + 185 expressionstatement : statementexpression ';' - 185 returnstatement : RETURN ';' - 186 | RETURN expression ';' + 186 returnstatement : RETURN ';' + 187 | RETURN expression ';' - 187 statementnoshortif : statementwithouttrailingsubstatement - 188 | ifthenelsestatementnoshortif - 189 | whilestatementnoshortif + 188 statementnoshortif : statementwithouttrailingsubstatement + 189 | ifthenelsestatementnoshortif + 190 | whilestatementnoshortif - 190 conditionalexpression : conditionalorexpression + 191 conditionalexpression : conditionalorexpression - 191 assignment : lefthandside assignmentoperator assignmentexpression - 192 | lefthandside assignmentoperator classinstancecreationexpression + 192 assignment : lefthandside assignmentoperator assignmentexpression + 193 | lefthandside assignmentoperator classinstancecreationexpression - 193 statementexpression : assignment - 194 | preincrementexpression - 195 | predecrementexpression - 196 | postincrementexpression - 197 | postdecrementexpression - 198 | methodinvocation + 194 statementexpression : assignment + 195 | preincrementexpression + 196 | predecrementexpression + 197 | postincrementexpression + 198 | postdecrementexpression + 199 | methodinvocation - 199 ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif ELSE statementnoshortif + 200 ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif ELSE statementnoshortif - 200 whilestatementnoshortif : WHILE '(' expression ')' statementnoshortif + 201 whilestatementnoshortif : WHILE '(' expression ')' statementnoshortif - 201 conditionalorexpression : conditionalandexpression - 202 | conditionalorexpression LOGICALOR conditionalandexpression + 202 conditionalorexpression : conditionalandexpression + 203 | conditionalorexpression LOGICALOR conditionalandexpression - 203 lambdaassignmentoperator : LAMBDAASSIGNMENT + 204 lambdaassignmentoperator : LAMBDAASSIGNMENT - 204 lambdabody : block - 205 | expression + 205 lambdabody : block + 206 | expression - 206 lambdaexpressionparameter : '(' ')' - 207 | '(' formalparameterlist ')' + 207 lambdaexpressionparameter : '(' ')' + 208 | '(' formalparameterlist ')' - 208 lambdaexpression : lambdaexpressionparameter lambdaassignmentoperator lambdabody + 209 lambdaexpression : lambdaexpressionparameter lambdaassignmentoperator lambdabody - 209 lefthandside : name + 210 lefthandside : name - 210 assignmentoperator : '=' - 211 | TIMESEQUAL - 212 | DIVIDEEQUAL - 213 | MODULOEQUAL - 214 | PLUSEQUAL - 215 | MINUSEQUAL + 211 assignmentoperator : '=' + 212 | TIMESEQUAL + 213 | DIVIDEEQUAL + 214 | MODULOEQUAL + 215 | PLUSEQUAL + 216 | MINUSEQUAL - 216 preincrementexpression : INCREMENT unaryexpression + 217 preincrementexpression : INCREMENT unaryexpression - 217 predecrementexpression : DECREMENT unaryexpression + 218 predecrementexpression : DECREMENT unaryexpression - 218 postincrementexpression : postfixexpression INCREMENT + 219 postincrementexpression : postfixexpression INCREMENT - 219 postdecrementexpression : postfixexpression DECREMENT + 220 postdecrementexpression : postfixexpression DECREMENT - 220 methodinvocation : name '(' ')' - 221 | name '(' argumentlist ')' - 222 | primary '.' IDENTIFIER '(' ')' - 223 | primary '.' IDENTIFIER '(' argumentlist ')' + 221 methodinvocation : name '(' ')' + 222 | name '(' argumentlist ')' + 223 | primary '.' IDENTIFIER '(' ')' + 224 | primary '.' IDENTIFIER '(' argumentlist ')' - 224 classinstancecreationexpression : NEW classtype '(' ')' - 225 | NEW classtype '(' argumentlist ')' + 225 classinstancecreationexpression : NEW classtype '(' ')' + 226 | NEW classtype '(' argumentlist ')' - 226 conditionalandexpression : inclusiveorexpression - 227 | conditionalandexpression LOGICALAND inclusiveorexpression + 227 conditionalandexpression : inclusiveorexpression + 228 | conditionalandexpression LOGICALAND inclusiveorexpression - 228 unaryexpression : preincrementexpression - 229 | predecrementexpression - 230 | '+' unaryexpression - 231 | '-' unaryexpression - 232 | unaryexpressionnotplusminus + 229 unaryexpression : preincrementexpression + 230 | predecrementexpression + 231 | '+' unaryexpression + 232 | '-' unaryexpression + 233 | unaryexpressionnotplusminus - 233 postfixexpression : primary - 234 | name - 235 | postincrementexpression - 236 | postdecrementexpression + 234 postfixexpression : primary + 235 | name + 236 | postincrementexpression + 237 | postdecrementexpression - 237 primary : primarynonewarray + 238 primary : primarynonewarray - 238 inclusiveorexpression : exclusiveorexpression - 239 | inclusiveorexpression '|' exclusiveorexpression + 239 inclusiveorexpression : exclusiveorexpression + 240 | inclusiveorexpression '|' exclusiveorexpression - 240 primarynonewarray : literal - 241 | THIS - 242 | methodinvocation - 243 | lambdaexpression + 241 primarynonewarray : literal + 242 | THIS + 243 | methodinvocation + 244 | lambdaexpression - 244 unaryexpressionnotplusminus : postfixexpression - 245 | '!' unaryexpression - 246 | castexpression + 245 unaryexpressionnotplusminus : postfixexpression + 246 | '!' unaryexpression + 247 | castexpression - 247 exclusiveorexpression : andexpression - 248 | exclusiveorexpression '^' andexpression + 248 exclusiveorexpression : andexpression + 249 | exclusiveorexpression '^' andexpression - 249 literal : INTLITERAL - 250 | BOOLLITERAL - 251 | CHARLITERAL - 252 | STRINGLITERAL - 253 | LONGLITERAL - 254 | FLOATLITERAL - 255 | DOUBLELITERAL - 256 | JNULL + 250 literal : INTLITERAL + 251 | BOOLLITERAL + 252 | CHARLITERAL + 253 | STRINGLITERAL + 254 | LONGLITERAL + 255 | FLOATLITERAL + 256 | DOUBLELITERAL + 257 | JNULL - 257 castexpression : '(' primitivetype ')' unaryexpression + 258 castexpression : '(' primitivetype ')' unaryexpression - 258 andexpression : equalityexpression - 259 | andexpression '&' equalityexpression + 259 andexpression : equalityexpression + 260 | andexpression '&' equalityexpression - 260 equalityexpression : relationalexpression - 261 | equalityexpression EQUAL relationalexpression - 262 | equalityexpression NOTEQUAL relationalexpression + 261 equalityexpression : relationalexpression + 262 | equalityexpression EQUAL relationalexpression + 263 | equalityexpression NOTEQUAL relationalexpression - 263 relationalexpression : shiftexpression - 264 | relationalexpression '<' shiftexpression - 265 | relationalexpression '>' shiftexpression - 266 | relationalexpression LESSEQUAL shiftexpression - 267 | relationalexpression GREATEREQUAL shiftexpression - 268 | relationalexpression INSTANCEOF referencetype + 264 relationalexpression : shiftexpression + 265 | relationalexpression '<' shiftexpression + 266 | relationalexpression '>' shiftexpression + 267 | relationalexpression LESSEQUAL shiftexpression + 268 | relationalexpression GREATEREQUAL shiftexpression + 269 | relationalexpression INSTANCEOF referencetype - 269 shiftexpression : additiveexpression + 270 shiftexpression : additiveexpression - 270 additiveexpression : multiplicativeexpression - 271 | additiveexpression '+' multiplicativeexpression - 272 | additiveexpression '-' multiplicativeexpression + 271 additiveexpression : multiplicativeexpression + 272 | additiveexpression '+' multiplicativeexpression + 273 | additiveexpression '-' multiplicativeexpression - 273 multiplicativeexpression : unaryexpression - 274 | multiplicativeexpression '*' unaryexpression - 275 | multiplicativeexpression '/' unaryexpression - 276 | multiplicativeexpression '%' unaryexpression + 274 multiplicativeexpression : unaryexpression + 275 | multiplicativeexpression '*' unaryexpression + 276 | multiplicativeexpression '/' unaryexpression + 277 | multiplicativeexpression '%' unaryexpression state 0 $accept : . compilationunit $end (0) @@ -694,29 +695,29 @@ state 26 state 27 - boundedMethodParameter : IDENTIFIER . (97) - boundedMethodParameter : IDENTIFIER . EXTENDS boundedclassidentifierlist (98) + boundedMethodParameter : IDENTIFIER . (98) + boundedMethodParameter : IDENTIFIER . EXTENDS boundedclassidentifierlist (99) EXTENDS shift 74 - ',' reduce 97 - '>' reduce 97 + ',' reduce 98 + '>' reduce 98 state 28 - boundedClassParameter : boundedMethodParameter . (94) - - . reduce 94 - - -state 29 - boundedClassParameters : boundedClassParameter . (95) + boundedClassParameter : boundedMethodParameter . (95) . reduce 95 +state 29 + boundedClassParameters : boundedClassParameter . (96) + + . reduce 96 + + state 30 classidentifier : IDENTIFIER '<' boundedClassParameters . '>' (26) - boundedClassParameters : boundedClassParameters . ',' boundedClassParameter (96) + boundedClassParameters : boundedClassParameters . ',' boundedClassParameter (97) ',' shift 75 '>' shift 76 @@ -802,21 +803,21 @@ state 36 state 37 - primitivetype : BOOLEAN . (141) + primitivetype : BOOLEAN . (142) - . reduce 141 + . reduce 142 state 38 - integraltype : CHAR . (163) + integraltype : CHAR . (164) - . reduce 163 + . reduce 164 state 39 - integraltype : INT . (162) + integraltype : INT . (163) - . reduce 162 + . reduce 163 state 40 @@ -841,8 +842,8 @@ state 40 state 41 - methodheader : VOID . methoddeclarator (111) - methodheader : VOID . methoddeclarator throws (113) + methodheader : VOID . methoddeclarator (112) + methodheader : VOID . methoddeclarator throws (114) IDENTIFIER shift 81 . error @@ -853,25 +854,28 @@ state 41 42: shift/reduce conflict (shift 83, reduce 14) on '(' state 42 simplename : IDENTIFIER . (14) - methoddeclarator : IDENTIFIER . '(' ')' (139) - methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (140) - variabledeclaratorid : IDENTIFIER . (152) + methoddeclarator : IDENTIFIER . '(' ')' (140) + methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (141) + variabledeclaratorid : IDENTIFIER . (153) '(' shift 83 + BOOLEAN reduce 14 + CHAR reduce 14 + INT reduce 14 IDENTIFIER reduce 14 - ',' reduce 152 - ';' reduce 152 + ',' reduce 153 + ';' reduce 153 '<' reduce 14 - '=' reduce 152 + '=' reduce 153 '[' reduce 14 state 43 - methodheader : '<' . boundedMethodParameters '>' type methoddeclarator (103) - methodheader : '<' . boundedMethodParameters '>' type methoddeclarator throws (108) - methodheader : '<' . boundedMethodParameters '>' VOID methoddeclarator (115) - methodheader : '<' . boundedMethodParameters '>' VOID methoddeclarator throws (117) - methodheader : '<' . boundedMethodParameters '>' methoddeclarator (120) + methodheader : '<' . boundedMethodParameters '>' type methoddeclarator (104) + methodheader : '<' . boundedMethodParameters '>' type methoddeclarator throws (109) + methodheader : '<' . boundedMethodParameters '>' VOID methoddeclarator (116) + methodheader : '<' . boundedMethodParameters '>' VOID methoddeclarator throws (118) + methodheader : '<' . boundedMethodParameters '>' methoddeclarator (121) IDENTIFIER shift 27 . error @@ -893,7 +897,7 @@ state 45 state 46 - methoddeclaration : methodheader . methodbody (84) + methoddeclaration : methodheader . methodbody (85) '{' shift 79 . error @@ -909,11 +913,11 @@ state 47 state 48 - methodheader : methoddeclarator . (119) - methodheader : methoddeclarator . throws (122) + methodheader : methoddeclarator . (120) + methodheader : methoddeclarator . throws (123) THROWS shift 88 - '{' reduce 119 + '{' reduce 120 throws goto 89 @@ -974,8 +978,8 @@ state 51 state 52 - fielddeclaration : variabledeclarators . ';' (81) - variabledeclarators : variabledeclarators . ',' variabledeclarator (129) + fielddeclaration : variabledeclarators . ';' (82) + variabledeclarators : variabledeclarators . ',' variabledeclarator (130) ',' shift 92 ';' shift 93 @@ -983,35 +987,38 @@ state 52 state 53 - fielddeclaration : fielddeclarator . ';' (79) + fielddeclaration : fielddeclarator . ';' (80) ';' shift 94 . error state 54 - fielddeclarator : variabledeclarator . '=' expression (78) - variabledeclarators : variabledeclarator . (128) + fielddeclarator : variabledeclarator . '=' expression (79) + variabledeclarators : variabledeclarator . (129) '=' shift 95 - ',' reduce 128 - ';' reduce 128 + ',' reduce 129 + ';' reduce 129 state 55 - variabledeclarator : variabledeclaratorid . (144) + variabledeclarator : variabledeclaratorid . (145) - . reduce 144 + . reduce 145 state 56 classorinterfacetype : simplename . parameter (66) - constructordeclarator : simplename . '(' ')' (87) - constructordeclarator : simplename . '(' formalparameterlist ')' (88) + constructordeclarator : simplename . '(' ')' (88) + constructordeclarator : simplename . '(' formalparameterlist ')' (89) parameter : . (67) '<' shift 77 '(' shift 96 + BOOLEAN reduce 67 + CHAR reduce 67 + INT reduce 67 IDENTIFIER reduce 67 '[' reduce 67 @@ -1019,69 +1026,86 @@ state 56 state 57 - referencetype : classorinterfacetype . (143) + referencetype : classorinterfacetype . (144) + + . reduce 144 + + +state 58 + numerictype : integraltype . (152) + + . reduce 152 + + +state 59 + primitivetype : numerictype . (143) . reduce 143 -state 58 - numerictype : integraltype . (151) - - . reduce 151 - - -state 59 - primitivetype : numerictype . (142) - - . reduce 142 - - state 60 - type : primitivetype . (124) - type : primitivetype . '[' ']' (125) + type : primitivetype . (125) + type : primitivetype . '[' ']' (126) '[' shift 97 - IDENTIFIER reduce 124 + BOOLEAN reduce 125 + CHAR reduce 125 + INT reduce 125 + IDENTIFIER reduce 125 state 61 - type : referencetype . (126) - type : referencetype . '[' ']' (127) + type : referencetype . (127) + type : referencetype . '[' ']' (128) '[' shift 98 - IDENTIFIER reduce 126 + BOOLEAN reduce 127 + CHAR reduce 127 + INT reduce 127 + IDENTIFIER reduce 127 state 62 - fielddeclaration : type . fielddeclarator (80) - fielddeclaration : type . variabledeclarators ';' (82) - methodheader : type . methoddeclarator (104) - methodheader : type . methoddeclarator throws (107) + fielddeclarator : type . variabledeclarator '=' expression (78) + fielddeclaration : type . fielddeclarator (81) + fielddeclaration : type . variabledeclarators ';' (83) + methodheader : type . methoddeclarator (105) + methodheader : type . methoddeclarator throws (108) - IDENTIFIER shift 99 + BOOLEAN shift 37 + CHAR shift 38 + INT shift 39 + IDENTIFIER shift 42 . error - methoddeclarator goto 100 - variabledeclarators goto 101 - fielddeclarator goto 102 - variabledeclarator goto 54 + methoddeclarator goto 99 + variabledeclarators goto 100 + fielddeclarator goto 101 + variabledeclarator goto 102 variabledeclaratorid goto 55 + simplename goto 32 + classorinterfacetype goto 57 + integraltype goto 58 + numerictype goto 59 + primitivetype goto 60 + referencetype goto 61 + type goto 103 state 63 modifiers : modifiers . modifier (43) constructordeclaration : modifiers . constructordeclarator constructorbody (75) - fielddeclaration : modifiers . type variabledeclarators ';' (83) - methodheader : modifiers . type methoddeclarator (105) - methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator (106) - methodheader : modifiers . type methoddeclarator throws (109) - methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator throws (110) - methodheader : modifiers . VOID methoddeclarator (112) - methodheader : modifiers . VOID methoddeclarator throws (114) - methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator (116) - methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator throws (118) - methodheader : modifiers . methoddeclarator (121) - methodheader : modifiers . methoddeclarator throws (123) + fielddeclaration : modifiers . type variabledeclarators ';' (84) + methodheader : modifiers . type methoddeclarator (106) + methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator (107) + methodheader : modifiers . type methoddeclarator throws (110) + methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator throws (111) + methodheader : modifiers . VOID methoddeclarator (113) + methodheader : modifiers . VOID methoddeclarator throws (115) + methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator (117) + methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator throws (119) + methodheader : modifiers . methoddeclarator (122) + methodheader : modifiers . methoddeclarator throws (124) ABSTRACT shift 1 BOOLEAN shift 37 @@ -1092,21 +1116,21 @@ state 63 PROTECTED shift 5 PUBLIC shift 6 STATIC shift 7 - VOID shift 103 - IDENTIFIER shift 104 - '<' shift 105 + VOID shift 104 + IDENTIFIER shift 105 + '<' shift 106 . error - methoddeclarator goto 106 + methoddeclarator goto 107 simplename goto 56 classorinterfacetype goto 57 integraltype goto 58 numerictype goto 59 primitivetype goto 60 referencetype goto 61 - type goto 107 + type goto 108 modifier goto 17 - constructordeclarator goto 108 + constructordeclarator goto 109 state 64 @@ -1118,10 +1142,10 @@ state 64 state 65 constructordeclaration : constructordeclarator . constructorbody (74) - '{' shift 109 + '{' shift 110 . error - constructorbody goto 110 + constructorbody goto 111 state 66 @@ -1144,7 +1168,7 @@ state 68 '{' shift 22 . error - classbody goto 111 + classbody goto 112 state 69 @@ -1155,7 +1179,7 @@ state 69 simplename goto 32 classorinterfacetype goto 35 - interfacetype goto 112 + interfacetype goto 113 state 70 @@ -1178,8 +1202,8 @@ state 72 '{' shift 22 . error - classbody goto 113 - interfaces goto 114 + classbody goto 114 + interfaces goto 115 state 73 @@ -1190,29 +1214,29 @@ state 73 '{' shift 22 . error - classbody goto 115 + classbody goto 116 state 74 - boundedMethodParameter : IDENTIFIER EXTENDS . boundedclassidentifierlist (98) + boundedMethodParameter : IDENTIFIER EXTENDS . boundedclassidentifierlist (99) IDENTIFIER shift 31 . error simplename goto 32 classorinterfacetype goto 57 - referencetype goto 116 - boundedclassidentifierlist goto 117 + referencetype goto 117 + boundedclassidentifierlist goto 118 state 75 - boundedClassParameters : boundedClassParameters ',' . boundedClassParameter (96) + boundedClassParameters : boundedClassParameters ',' . boundedClassParameter (97) IDENTIFIER shift 27 . error boundedMethodParameter goto 28 - boundedClassParameter goto 118 + boundedClassParameter goto 119 state 76 @@ -1224,12 +1248,12 @@ state 76 state 77 parameter : '<' . paralist '>' (68) - IDENTIFIER shift 119 - '?' shift 120 + IDENTIFIER shift 120 + '?' shift 121 . error - paralist goto 121 - wildcardparameter goto 122 + paralist goto 122 + wildcardparameter goto 123 state 78 @@ -1239,74 +1263,74 @@ state 78 state 79 - block : '{' . '}' (85) - block : '{' . blockstatements '}' (86) + block : '{' . '}' (86) + block : '{' . blockstatements '}' (87) BOOLEAN shift 37 CHAR shift 38 - FOR shift 123 - IF shift 124 + FOR shift 124 + IF shift 125 INT shift 39 - RETURN shift 125 - THIS shift 126 - WHILE shift 127 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 136 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 + RETURN shift 126 + THIS shift 127 + WHILE shift 128 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 137 + INCREMENT shift 138 + DECREMENT shift 139 + ';' shift 140 '{' shift 79 - '}' shift 140 - '(' shift 141 + '}' shift 141 + '(' shift 142 . error - variabledeclarators goto 142 - variabledeclarator goto 143 + variabledeclarators goto 143 + variabledeclarator goto 144 variabledeclaratorid goto 55 - simplename goto 144 - qualifiedname goto 145 - name goto 146 + simplename goto 145 + qualifiedname goto 146 + name goto 147 classorinterfacetype goto 57 integraltype goto 58 numerictype goto 59 primitivetype goto 60 referencetype goto 61 - type goto 147 - block goto 148 - blockstatements goto 149 - localvariabledeclarationstatement goto 150 - localvariabledeclaration goto 151 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 164 - blockstatement goto 165 - statement goto 166 - whilestatement goto 167 - forstatement goto 168 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 + type goto 148 + block goto 149 + blockstatements goto 150 + localvariabledeclarationstatement goto 151 + localvariabledeclaration goto 152 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 157 + lambdaexpression goto 158 + statementexpression goto 159 + preincrementexpression goto 160 + predecrementexpression goto 161 + postincrementexpression goto 162 + postdecrementexpression goto 163 + expressionstatement goto 164 + statementwithouttrailingsubstatement goto 165 + blockstatement goto 166 + statement goto 167 + whilestatement goto 168 + forstatement goto 169 + ifthenstatement goto 170 + ifthenelsestatement goto 171 + emptystatement goto 172 + returnstatement goto 173 + assignment goto 174 + lefthandside goto 175 + methodinvocation goto 176 state 80 @@ -1316,93 +1340,93 @@ state 80 state 81 - methoddeclarator : IDENTIFIER . '(' ')' (139) - methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (140) + methoddeclarator : IDENTIFIER . '(' ')' (140) + methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (141) '(' shift 83 . error state 82 - methodheader : VOID methoddeclarator . (111) - methodheader : VOID methoddeclarator . throws (113) + methodheader : VOID methoddeclarator . (112) + methodheader : VOID methoddeclarator . throws (114) THROWS shift 88 - '{' reduce 111 + '{' reduce 112 - throws goto 176 + throws goto 177 state 83 - methoddeclarator : IDENTIFIER '(' . ')' (139) - methoddeclarator : IDENTIFIER '(' . formalparameterlist ')' (140) + methoddeclarator : IDENTIFIER '(' . ')' (140) + methoddeclarator : IDENTIFIER '(' . formalparameterlist ')' (141) BOOLEAN shift 37 CHAR shift 38 INT shift 39 - IDENTIFIER shift 136 - ')' shift 177 + IDENTIFIER shift 137 + ')' shift 178 . error - variabledeclaratorid goto 178 + variabledeclaratorid goto 179 simplename goto 32 classorinterfacetype goto 57 integraltype goto 58 numerictype goto 59 primitivetype goto 60 referencetype goto 61 - type goto 179 - formalparameter goto 180 - formalparameterlist goto 181 + type goto 180 + formalparameter goto 181 + formalparameterlist goto 182 state 84 - boundedMethodParameters : boundedMethodParameter . (101) + boundedMethodParameters : boundedMethodParameter . (102) - . reduce 101 + . reduce 102 state 85 - boundedMethodParameters : boundedMethodParameters . ',' boundedMethodParameter (102) - methodheader : '<' boundedMethodParameters . '>' type methoddeclarator (103) - methodheader : '<' boundedMethodParameters . '>' type methoddeclarator throws (108) - methodheader : '<' boundedMethodParameters . '>' VOID methoddeclarator (115) - methodheader : '<' boundedMethodParameters . '>' VOID methoddeclarator throws (117) - methodheader : '<' boundedMethodParameters . '>' methoddeclarator (120) + boundedMethodParameters : boundedMethodParameters . ',' boundedMethodParameter (103) + methodheader : '<' boundedMethodParameters . '>' type methoddeclarator (104) + methodheader : '<' boundedMethodParameters . '>' type methoddeclarator throws (109) + methodheader : '<' boundedMethodParameters . '>' VOID methoddeclarator (116) + methodheader : '<' boundedMethodParameters . '>' VOID methoddeclarator throws (118) + methodheader : '<' boundedMethodParameters . '>' methoddeclarator (121) - ',' shift 182 - '>' shift 183 + ',' shift 183 + '>' shift 184 . error state 86 - methodbody : block . (130) + methodbody : block . (131) - . reduce 130 + . reduce 131 state 87 - methoddeclaration : methodheader methodbody . (84) + methoddeclaration : methodheader methodbody . (85) - . reduce 84 + . reduce 85 state 88 - throws : THROWS . classtypelist (93) + throws : THROWS . classtypelist (94) IDENTIFIER shift 31 . error simplename goto 32 - classtype goto 184 + classtype goto 185 classorinterfacetype goto 34 - classtypelist goto 185 + classtypelist goto 186 state 89 - methodheader : methoddeclarator throws . (122) + methodheader : methoddeclarator throws . (123) - . reduce 122 + . reduce 123 state 90 @@ -1418,172 +1442,181 @@ state 91 state 92 - variabledeclarators : variabledeclarators ',' . variabledeclarator (129) + variabledeclarators : variabledeclarators ',' . variabledeclarator (130) - IDENTIFIER shift 186 + IDENTIFIER shift 187 . error - variabledeclarator goto 187 + variabledeclarator goto 188 variabledeclaratorid goto 55 state 93 - fielddeclaration : variabledeclarators ';' . (81) + fielddeclaration : variabledeclarators ';' . (82) - . reduce 81 + . reduce 82 state 94 - fielddeclaration : fielddeclarator ';' . (79) + fielddeclaration : fielddeclarator ';' . (80) - . reduce 79 + . reduce 80 state 95 - fielddeclarator : variabledeclarator '=' . expression (78) + fielddeclarator : variabledeclarator '=' . expression (79) - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 + NEW shift 189 + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 . error - simplename goto 193 - qualifiedname goto 145 - name goto 146 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 208 - lambdaexpression goto 157 - expression goto 209 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 214 - assignment goto 215 - lefthandside goto 174 - methodinvocation goto 216 - castexpression goto 217 + simplename goto 194 + qualifiedname goto 146 + name goto 147 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 200 + relationalexpression goto 201 + equalityexpression goto 202 + andexpression goto 203 + exclusiveorexpression goto 204 + inclusiveorexpression goto 205 + conditionalandexpression goto 206 + conditionalorexpression goto 207 + conditionalexpression goto 208 + assignmentexpression goto 209 + lambdaexpression goto 158 + expression goto 210 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + classinstancecreationexpression goto 215 + assignment goto 216 + lefthandside goto 175 + methodinvocation goto 217 + castexpression goto 218 state 96 - constructordeclarator : simplename '(' . ')' (87) - constructordeclarator : simplename '(' . formalparameterlist ')' (88) + constructordeclarator : simplename '(' . ')' (88) + constructordeclarator : simplename '(' . formalparameterlist ')' (89) BOOLEAN shift 37 CHAR shift 38 INT shift 39 - IDENTIFIER shift 136 - ')' shift 218 + IDENTIFIER shift 137 + ')' shift 219 . error - variabledeclaratorid goto 178 + variabledeclaratorid goto 179 simplename goto 32 classorinterfacetype goto 57 integraltype goto 58 numerictype goto 59 primitivetype goto 60 referencetype goto 61 - type goto 179 - formalparameter goto 180 - formalparameterlist goto 219 + type goto 180 + formalparameter goto 181 + formalparameterlist goto 220 state 97 - type : primitivetype '[' . ']' (125) - - ']' shift 220 - . error - - -state 98 - type : referencetype '[' . ']' (127) + type : primitivetype '[' . ']' (126) ']' shift 221 . error -state 99 - methoddeclarator : IDENTIFIER . '(' ')' (139) - methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (140) - variabledeclaratorid : IDENTIFIER . (152) +state 98 + type : referencetype '[' . ']' (128) - '(' shift 83 - ',' reduce 152 - ';' reduce 152 - '=' reduce 152 - - -state 100 - methodheader : type methoddeclarator . (104) - methodheader : type methoddeclarator . throws (107) - - THROWS shift 88 - '{' reduce 104 - - throws goto 222 - - -state 101 - fielddeclaration : type variabledeclarators . ';' (82) - variabledeclarators : variabledeclarators . ',' variabledeclarator (129) - - ',' shift 92 - ';' shift 223 + ']' shift 222 . error -state 102 - fielddeclaration : type fielddeclarator . (80) +state 99 + methodheader : type methoddeclarator . (105) + methodheader : type methoddeclarator . throws (108) - . reduce 80 + THROWS shift 88 + '{' reduce 105 + + throws goto 223 + + +state 100 + fielddeclaration : type variabledeclarators . ';' (83) + variabledeclarators : variabledeclarators . ',' variabledeclarator (130) + + ',' shift 92 + ';' shift 224 + . error + + +state 101 + fielddeclaration : type fielddeclarator . (81) + + . reduce 81 + + +state 102 + fielddeclarator : type variabledeclarator . '=' expression (78) + fielddeclarator : variabledeclarator . '=' expression (79) + variabledeclarators : variabledeclarator . (129) + + '=' shift 225 + ',' reduce 129 + ';' reduce 129 state 103 - methodheader : modifiers VOID . methoddeclarator (112) - methodheader : modifiers VOID . methoddeclarator throws (114) + fielddeclarator : type . variabledeclarator '=' expression (78) + + IDENTIFIER shift 187 + . error + + variabledeclarator goto 226 + variabledeclaratorid goto 55 + + +state 104 + methodheader : modifiers VOID . methoddeclarator (113) + methodheader : modifiers VOID . methoddeclarator throws (115) IDENTIFIER shift 81 . error - methoddeclarator goto 224 + methoddeclarator goto 227 -104: shift/reduce conflict (shift 83, reduce 14) on '(' -state 104 +105: shift/reduce conflict (shift 83, reduce 14) on '(' +state 105 simplename : IDENTIFIER . (14) - methoddeclarator : IDENTIFIER . '(' ')' (139) - methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (140) + methoddeclarator : IDENTIFIER . '(' ')' (140) + methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (141) '(' shift 83 IDENTIFIER reduce 14 @@ -1591,151 +1624,151 @@ state 104 '[' reduce 14 -state 105 - methodheader : modifiers '<' . boundedMethodParameters '>' type methoddeclarator (106) - methodheader : modifiers '<' . boundedMethodParameters '>' type methoddeclarator throws (110) - methodheader : modifiers '<' . boundedMethodParameters '>' VOID methoddeclarator (116) - methodheader : modifiers '<' . boundedMethodParameters '>' VOID methoddeclarator throws (118) +state 106 + methodheader : modifiers '<' . boundedMethodParameters '>' type methoddeclarator (107) + methodheader : modifiers '<' . boundedMethodParameters '>' type methoddeclarator throws (111) + methodheader : modifiers '<' . boundedMethodParameters '>' VOID methoddeclarator (117) + methodheader : modifiers '<' . boundedMethodParameters '>' VOID methoddeclarator throws (119) IDENTIFIER shift 27 . error boundedMethodParameter goto 84 - boundedMethodParameters goto 225 - - -state 106 - methodheader : modifiers methoddeclarator . (121) - methodheader : modifiers methoddeclarator . throws (123) - - THROWS shift 88 - '{' reduce 121 - - throws goto 226 + boundedMethodParameters goto 228 state 107 - fielddeclaration : modifiers type . variabledeclarators ';' (83) - methodheader : modifiers type . methoddeclarator (105) - methodheader : modifiers type . methoddeclarator throws (109) + methodheader : modifiers methoddeclarator . (122) + methodheader : modifiers methoddeclarator . throws (124) - IDENTIFIER shift 99 - . error + THROWS shift 88 + '{' reduce 122 - methoddeclarator goto 227 - variabledeclarators goto 228 - variabledeclarator goto 143 - variabledeclaratorid goto 55 + throws goto 229 state 108 - constructordeclaration : modifiers constructordeclarator . constructorbody (75) + fielddeclaration : modifiers type . variabledeclarators ';' (84) + methodheader : modifiers type . methoddeclarator (106) + methodheader : modifiers type . methoddeclarator throws (110) - '{' shift 109 + IDENTIFIER shift 230 . error - constructorbody goto 229 + methoddeclarator goto 231 + variabledeclarators goto 232 + variabledeclarator goto 144 + variabledeclaratorid goto 55 state 109 - constructorbody : '{' . '}' (89) - constructorbody : '{' . explicitconstructorinvocation '}' (90) - constructorbody : '{' . blockstatements '}' (91) - constructorbody : '{' . explicitconstructorinvocation blockstatements '}' (92) + constructordeclaration : modifiers constructordeclarator . constructorbody (75) + + '{' shift 110 + . error + + constructorbody goto 233 + + +state 110 + constructorbody : '{' . '}' (90) + constructorbody : '{' . explicitconstructorinvocation '}' (91) + constructorbody : '{' . blockstatements '}' (92) + constructorbody : '{' . explicitconstructorinvocation blockstatements '}' (93) BOOLEAN shift 37 CHAR shift 38 - FOR shift 123 - IF shift 124 + FOR shift 124 + IF shift 125 INT shift 39 - RETURN shift 125 - THIS shift 230 - WHILE shift 127 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 136 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 + RETURN shift 126 + THIS shift 234 + WHILE shift 128 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 137 + INCREMENT shift 138 + DECREMENT shift 139 + ';' shift 140 '{' shift 79 - '}' shift 231 - '(' shift 141 + '}' shift 235 + '(' shift 142 . error - variabledeclarators goto 142 - variabledeclarator goto 143 + variabledeclarators goto 143 + variabledeclarator goto 144 variabledeclaratorid goto 55 - simplename goto 144 - qualifiedname goto 145 - name goto 146 + simplename goto 145 + qualifiedname goto 146 + name goto 147 classorinterfacetype goto 57 integraltype goto 58 numerictype goto 59 primitivetype goto 60 referencetype goto 61 - type goto 147 - block goto 148 - blockstatements goto 232 - localvariabledeclarationstatement goto 150 - localvariabledeclaration goto 151 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 164 - blockstatement goto 165 - statement goto 166 - whilestatement goto 167 - forstatement goto 168 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 - explicitconstructorinvocation goto 233 + type goto 148 + block goto 149 + blockstatements goto 236 + localvariabledeclarationstatement goto 151 + localvariabledeclaration goto 152 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 157 + lambdaexpression goto 158 + statementexpression goto 159 + preincrementexpression goto 160 + predecrementexpression goto 161 + postincrementexpression goto 162 + postdecrementexpression goto 163 + expressionstatement goto 164 + statementwithouttrailingsubstatement goto 165 + blockstatement goto 166 + statement goto 167 + whilestatement goto 168 + forstatement goto 169 + ifthenstatement goto 170 + ifthenelsestatement goto 171 + emptystatement goto 172 + returnstatement goto 173 + assignment goto 174 + lefthandside goto 175 + methodinvocation goto 176 + explicitconstructorinvocation goto 237 -state 110 +state 111 constructordeclaration : constructordeclarator constructorbody . (74) . reduce 74 -state 111 +state 112 classdeclaration : CLASS classidentifier super interfaces classbody . (21) . reduce 21 -state 112 +state 113 interfaces : interfaces ',' interfacetype . (46) . reduce 46 -state 113 +state 114 classdeclaration : modifiers CLASS classidentifier super classbody . (18) . reduce 18 -state 114 +state 115 classdeclaration : modifiers CLASS classidentifier super interfaces . classbody (22) interfaces : interfaces . ',' interfacetype (46) @@ -1743,218 +1776,218 @@ state 114 '{' shift 22 . error - classbody goto 234 + classbody goto 238 -state 115 +state 116 classdeclaration : modifiers CLASS classidentifier interfaces classbody . (20) . reduce 20 -state 116 - boundedclassidentifierlist : referencetype . (99) - - . reduce 99 - - state 117 - boundedMethodParameter : IDENTIFIER EXTENDS boundedclassidentifierlist . (98) - boundedclassidentifierlist : boundedclassidentifierlist . '&' referencetype (100) + boundedclassidentifierlist : referencetype . (100) - '&' shift 235 - ',' reduce 98 - '>' reduce 98 + . reduce 100 state 118 - boundedClassParameters : boundedClassParameters ',' boundedClassParameter . (96) + boundedMethodParameter : IDENTIFIER EXTENDS boundedclassidentifierlist . (99) + boundedclassidentifierlist : boundedclassidentifierlist . '&' referencetype (101) - . reduce 96 + '&' shift 239 + ',' reduce 99 + '>' reduce 99 state 119 + boundedClassParameters : boundedClassParameters ',' boundedClassParameter . (97) + + . reduce 97 + + +state 120 paralist : IDENTIFIER . (31) paralist : IDENTIFIER . '<' paralist '>' (32) - '<' shift 236 + '<' shift 240 ',' reduce 31 '>' reduce 31 -state 120 +state 121 wildcardparameter : '?' . (37) wildcardparameter : '?' . EXTENDS referencetype (38) wildcardparameter : '?' . SUPER referencetype (39) - EXTENDS shift 237 - SUPER shift 238 + EXTENDS shift 241 + SUPER shift 242 ',' reduce 37 '>' reduce 37 -state 121 +state 122 paralist : paralist . ',' IDENTIFIER (34) paralist : paralist . ',' IDENTIFIER '<' paralist '>' (35) paralist : paralist . ',' wildcardparameter (36) parameter : '<' paralist . '>' (68) - ',' shift 239 - '>' shift 240 + ',' shift 243 + '>' shift 244 . error -state 122 +state 123 paralist : wildcardparameter . (33) . reduce 33 -state 123 - forstatement : FOR . '(' expression ';' expression ';' expression ')' statement (173) - forstatement : FOR . '(' expression ';' expression ';' ')' statement (174) - forstatement : FOR . '(' expression ';' ';' expression ')' statement (175) - forstatement : FOR . '(' ';' expression ';' expression ')' statement (176) - forstatement : FOR . '(' expression ';' ';' ')' statement (177) - forstatement : FOR . '(' ';' expression ';' ')' statement (178) - forstatement : FOR . '(' ';' ';' expression ')' statement (179) - forstatement : FOR . '(' ';' ';' ')' statement (180) - - '(' shift 241 - . error - - state 124 - ifthenstatement : IF . '(' expression ')' statement (170) - ifthenelsestatement : IF . '(' expression ')' statementnoshortif ELSE statement (171) - - '(' shift 242 - . error - - -state 125 - returnstatement : RETURN . ';' (185) - returnstatement : RETURN . expression ';' (186) - - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 243 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 208 - lambdaexpression goto 157 - expression goto 244 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 214 - assignment goto 215 - lefthandside goto 174 - methodinvocation goto 216 - castexpression goto 217 - - -state 126 - primarynonewarray : THIS . (241) - - . reduce 241 - - -state 127 - whilestatement : WHILE . '(' expression ')' statement (172) + forstatement : FOR . '(' expression ';' expression ';' expression ')' statement (174) + forstatement : FOR . '(' expression ';' expression ';' ')' statement (175) + forstatement : FOR . '(' expression ';' ';' expression ')' statement (176) + forstatement : FOR . '(' ';' expression ';' expression ')' statement (177) + forstatement : FOR . '(' expression ';' ';' ')' statement (178) + forstatement : FOR . '(' ';' expression ';' ')' statement (179) + forstatement : FOR . '(' ';' ';' expression ')' statement (180) + forstatement : FOR . '(' ';' ';' ')' statement (181) '(' shift 245 . error -state 128 - literal : INTLITERAL . (249) +state 125 + ifthenstatement : IF . '(' expression ')' statement (171) + ifthenelsestatement : IF . '(' expression ')' statementnoshortif ELSE statement (172) - . reduce 249 + '(' shift 246 + . error + + +state 126 + returnstatement : RETURN . ';' (186) + returnstatement : RETURN . expression ';' (187) + + NEW shift 189 + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + ';' shift 247 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 200 + relationalexpression goto 201 + equalityexpression goto 202 + andexpression goto 203 + exclusiveorexpression goto 204 + inclusiveorexpression goto 205 + conditionalandexpression goto 206 + conditionalorexpression goto 207 + conditionalexpression goto 208 + assignmentexpression goto 209 + lambdaexpression goto 158 + expression goto 248 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + classinstancecreationexpression goto 215 + assignment goto 216 + lefthandside goto 175 + methodinvocation goto 217 + castexpression goto 218 + + +state 127 + primarynonewarray : THIS . (242) + + . reduce 242 + + +state 128 + whilestatement : WHILE . '(' expression ')' statement (173) + + '(' shift 249 + . error state 129 - literal : LONGLITERAL . (253) - - . reduce 253 - - -state 130 - literal : DOUBLELITERAL . (255) - - . reduce 255 - - -state 131 - literal : FLOATLITERAL . (254) - - . reduce 254 - - -state 132 - literal : BOOLLITERAL . (250) + literal : INTLITERAL . (250) . reduce 250 -state 133 - literal : JNULL . (256) +state 130 + literal : LONGLITERAL . (254) + + . reduce 254 + + +state 131 + literal : DOUBLELITERAL . (256) . reduce 256 -state 134 - literal : CHARLITERAL . (251) +state 132 + literal : FLOATLITERAL . (255) + + . reduce 255 + + +state 133 + literal : BOOLLITERAL . (251) . reduce 251 +state 134 + literal : JNULL . (257) + + . reduce 257 + + state 135 - literal : STRINGLITERAL . (252) + literal : CHARLITERAL . (252) . reduce 252 state 136 + literal : STRINGLITERAL . (253) + + . reduce 253 + + +state 137 simplename : IDENTIFIER . (14) - variabledeclaratorid : IDENTIFIER . (152) + variabledeclaratorid : IDENTIFIER . (153) IDENTIFIER reduce 14 INCREMENT reduce 14 @@ -1964,146 +1997,146 @@ state 136 TIMESEQUAL reduce 14 DIVIDEEQUAL reduce 14 MODULOEQUAL reduce 14 - ',' reduce 152 - ';' reduce 152 + ',' reduce 153 + ';' reduce 153 '.' reduce 14 '<' reduce 14 '=' reduce 14 '(' reduce 14 - ')' reduce 152 + ')' reduce 153 '[' reduce 14 -state 137 - preincrementexpression : INCREMENT . unaryexpression (216) - - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 247 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 - - state 138 - predecrementexpression : DECREMENT . unaryexpression (217) + preincrementexpression : INCREMENT . unaryexpression (217) - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 . error - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 248 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 + simplename goto 194 + qualifiedname goto 146 + name goto 250 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 251 + lambdaexpression goto 158 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + methodinvocation goto 217 + castexpression goto 218 state 139 - emptystatement : ';' . (183) + predecrementexpression : DECREMENT . unaryexpression (218) - . reduce 183 + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 250 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 252 + lambdaexpression goto 158 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + methodinvocation goto 217 + castexpression goto 218 state 140 - block : '{' '}' . (85) + emptystatement : ';' . (184) - . reduce 85 + . reduce 184 state 141 - lambdaexpressionparameter : '(' . ')' (206) - lambdaexpressionparameter : '(' . formalparameterlist ')' (207) + block : '{' '}' . (86) + + . reduce 86 + + +state 142 + lambdaexpressionparameter : '(' . ')' (207) + lambdaexpressionparameter : '(' . formalparameterlist ')' (208) BOOLEAN shift 37 CHAR shift 38 INT shift 39 - IDENTIFIER shift 136 - ')' shift 249 + IDENTIFIER shift 137 + ')' shift 253 . error - variabledeclaratorid goto 178 + variabledeclaratorid goto 179 simplename goto 32 classorinterfacetype goto 57 integraltype goto 58 numerictype goto 59 primitivetype goto 60 referencetype goto 61 - type goto 179 - formalparameter goto 180 - formalparameterlist goto 250 - - -state 142 - variabledeclarators : variabledeclarators . ',' variabledeclarator (129) - localvariabledeclaration : variabledeclarators . (165) - - ',' shift 92 - ';' reduce 165 + type goto 180 + formalparameter goto 181 + formalparameterlist goto 254 state 143 - variabledeclarators : variabledeclarator . (128) + variabledeclarators : variabledeclarators . ',' variabledeclarator (130) + localvariabledeclaration : variabledeclarators . (166) - . reduce 128 + ',' shift 92 + ';' reduce 166 state 144 + variabledeclarators : variabledeclarator . (129) + + . reduce 129 + + +state 145 name : simplename . (9) classorinterfacetype : simplename . parameter (66) parameter : . (67) @@ -2125,22 +2158,192 @@ state 144 parameter goto 78 -state 145 +state 146 name : qualifiedname . (8) . reduce 8 -146: shift/reduce conflict (shift 251, reduce 234) on '.' -state 146 +147: shift/reduce conflict (shift 255, reduce 235) on '.' +state 147 qualifiedname : name . '.' IDENTIFIER (11) - lefthandside : name . (209) - methodinvocation : name . '(' ')' (220) - methodinvocation : name . '(' argumentlist ')' (221) - postfixexpression : name . (234) + lefthandside : name . (210) + methodinvocation : name . '(' ')' (221) + methodinvocation : name . '(' argumentlist ')' (222) + postfixexpression : name . (235) - '.' shift 251 - '(' shift 252 + '.' shift 255 + '(' shift 256 + ABSTRACT reduce 235 + BOOLEAN reduce 235 + CHAR reduce 235 + FINAL reduce 235 + INSTANCEOF reduce 235 + INT reduce 235 + PRIVATE reduce 235 + PROTECTED reduce 235 + PUBLIC reduce 235 + STATIC reduce 235 + VOID reduce 235 + IDENTIFIER reduce 235 + EQUAL reduce 235 + LESSEQUAL reduce 235 + GREATEREQUAL reduce 235 + NOTEQUAL reduce 235 + LOGICALOR reduce 235 + LOGICALAND reduce 235 + INCREMENT reduce 235 + DECREMENT reduce 235 + PLUSEQUAL reduce 210 + MINUSEQUAL reduce 210 + TIMESEQUAL reduce 210 + DIVIDEEQUAL reduce 210 + MODULOEQUAL reduce 210 + ',' reduce 235 + ';' reduce 235 + '*' reduce 235 + '<' reduce 235 + '>' reduce 235 + '}' reduce 235 + '=' reduce 210 + ')' reduce 235 + '&' reduce 235 + '+' reduce 235 + '-' reduce 235 + '|' reduce 235 + '^' reduce 235 + '/' reduce 235 + '%' reduce 235 + + +state 148 + localvariabledeclaration : type . variabledeclarators (165) + + IDENTIFIER shift 187 + . error + + variabledeclarators goto 257 + variabledeclarator goto 144 + variabledeclaratorid goto 55 + + +state 149 + statementwithouttrailingsubstatement : block . (167) + + . reduce 167 + + +state 150 + block : '{' blockstatements . '}' (87) + blockstatements : blockstatements . blockstatement (133) + + BOOLEAN shift 37 + CHAR shift 38 + FOR shift 124 + IF shift 125 + INT shift 39 + RETURN shift 126 + THIS shift 127 + WHILE shift 128 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 137 + INCREMENT shift 138 + DECREMENT shift 139 + ';' shift 140 + '{' shift 79 + '}' shift 258 + '(' shift 142 + . error + + variabledeclarators goto 143 + variabledeclarator goto 144 + variabledeclaratorid goto 55 + simplename goto 145 + qualifiedname goto 146 + name goto 147 + classorinterfacetype goto 57 + integraltype goto 58 + numerictype goto 59 + primitivetype goto 60 + referencetype goto 61 + type goto 148 + block goto 149 + localvariabledeclarationstatement goto 151 + localvariabledeclaration goto 152 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 157 + lambdaexpression goto 158 + statementexpression goto 159 + preincrementexpression goto 160 + predecrementexpression goto 161 + postincrementexpression goto 162 + postdecrementexpression goto 163 + expressionstatement goto 164 + statementwithouttrailingsubstatement goto 165 + blockstatement goto 259 + statement goto 167 + whilestatement goto 168 + forstatement goto 169 + ifthenstatement goto 170 + ifthenelsestatement goto 171 + emptystatement goto 172 + returnstatement goto 173 + assignment goto 174 + lefthandside goto 175 + methodinvocation goto 176 + + +state 151 + blockstatement : localvariabledeclarationstatement . (146) + + . reduce 146 + + +state 152 + localvariabledeclarationstatement : localvariabledeclaration . ';' (155) + + ';' shift 260 + . error + + +state 153 + lambdaexpression : lambdaexpressionparameter . lambdaassignmentoperator lambdabody (209) + + LAMBDAASSIGNMENT shift 261 + . error + + lambdaassignmentoperator goto 262 + + +state 154 + primarynonewarray : literal . (241) + + . reduce 241 + + +state 155 + primary : primarynonewarray . (238) + + . reduce 238 + + +156: shift/reduce conflict (shift 263, reduce 234) on '.' +state 156 + methodinvocation : primary . '.' IDENTIFIER '(' ')' (223) + methodinvocation : primary . '.' IDENTIFIER '(' argumentlist ')' (224) + postfixexpression : primary . (234) + + '.' shift 263 ABSTRACT reduce 234 BOOLEAN reduce 234 CHAR reduce 234 @@ -2161,18 +2364,12 @@ state 146 LOGICALAND reduce 234 INCREMENT reduce 234 DECREMENT reduce 234 - PLUSEQUAL reduce 209 - MINUSEQUAL reduce 209 - TIMESEQUAL reduce 209 - DIVIDEEQUAL reduce 209 - MODULOEQUAL reduce 209 ',' reduce 234 ';' reduce 234 '*' reduce 234 '<' reduce 234 '>' reduce 234 '}' reduce 234 - '=' reduce 209 ')' reduce 234 '&' reduce 234 '+' reduce 234 @@ -2183,216 +2380,43 @@ state 146 '%' reduce 234 -state 147 - localvariabledeclaration : type . variabledeclarators (164) - - IDENTIFIER shift 186 - . error - - variabledeclarators goto 253 - variabledeclarator goto 143 - variabledeclaratorid goto 55 - - -state 148 - statementwithouttrailingsubstatement : block . (166) - - . reduce 166 - - -state 149 - block : '{' blockstatements . '}' (86) - blockstatements : blockstatements . blockstatement (132) - - BOOLEAN shift 37 - CHAR shift 38 - FOR shift 123 - IF shift 124 - INT shift 39 - RETURN shift 125 - THIS shift 126 - WHILE shift 127 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 136 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 - '{' shift 79 - '}' shift 254 - '(' shift 141 - . error - - variabledeclarators goto 142 - variabledeclarator goto 143 - variabledeclaratorid goto 55 - simplename goto 144 - qualifiedname goto 145 - name goto 146 - classorinterfacetype goto 57 - integraltype goto 58 - numerictype goto 59 - primitivetype goto 60 - referencetype goto 61 - type goto 147 - block goto 148 - localvariabledeclarationstatement goto 150 - localvariabledeclaration goto 151 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 164 - blockstatement goto 255 - statement goto 166 - whilestatement goto 167 - forstatement goto 168 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 - - -state 150 - blockstatement : localvariabledeclarationstatement . (145) - - . reduce 145 - - -state 151 - localvariabledeclarationstatement : localvariabledeclaration . ';' (154) - - ';' shift 256 - . error - - -state 152 - lambdaexpression : lambdaexpressionparameter . lambdaassignmentoperator lambdabody (208) - - LAMBDAASSIGNMENT shift 257 - . error - - lambdaassignmentoperator goto 258 - - -state 153 - primarynonewarray : literal . (240) - - . reduce 240 - - -state 154 - primary : primarynonewarray . (237) - - . reduce 237 - - -155: shift/reduce conflict (shift 259, reduce 233) on '.' -state 155 - methodinvocation : primary . '.' IDENTIFIER '(' ')' (222) - methodinvocation : primary . '.' IDENTIFIER '(' argumentlist ')' (223) - postfixexpression : primary . (233) - - '.' shift 259 - ABSTRACT reduce 233 - BOOLEAN reduce 233 - CHAR reduce 233 - FINAL reduce 233 - INSTANCEOF reduce 233 - INT reduce 233 - PRIVATE reduce 233 - PROTECTED reduce 233 - PUBLIC reduce 233 - STATIC reduce 233 - VOID reduce 233 - IDENTIFIER reduce 233 - EQUAL reduce 233 - LESSEQUAL reduce 233 - GREATEREQUAL reduce 233 - NOTEQUAL reduce 233 - LOGICALOR reduce 233 - LOGICALAND reduce 233 - INCREMENT reduce 233 - DECREMENT reduce 233 - ',' reduce 233 - ';' reduce 233 - '*' reduce 233 - '<' reduce 233 - '>' reduce 233 - '}' reduce 233 - ')' reduce 233 - '&' reduce 233 - '+' reduce 233 - '-' reduce 233 - '|' reduce 233 - '^' reduce 233 - '/' reduce 233 - '%' reduce 233 - - -state 156 - postincrementexpression : postfixexpression . INCREMENT (218) - postdecrementexpression : postfixexpression . DECREMENT (219) - - INCREMENT shift 260 - DECREMENT shift 261 - . error - - state 157 - primarynonewarray : lambdaexpression . (243) + postincrementexpression : postfixexpression . INCREMENT (219) + postdecrementexpression : postfixexpression . DECREMENT (220) - . reduce 243 + INCREMENT shift 264 + DECREMENT shift 265 + . error state 158 - expressionstatement : statementexpression . ';' (184) + primarynonewarray : lambdaexpression . (244) - ';' shift 262 - . error + . reduce 244 state 159 - statementexpression : preincrementexpression . (194) + expressionstatement : statementexpression . ';' (185) - . reduce 194 + ';' shift 266 + . error state 160 - statementexpression : predecrementexpression . (195) + statementexpression : preincrementexpression . (195) . reduce 195 state 161 - statementexpression : postincrementexpression . (196) - postfixexpression : postincrementexpression . (235) + statementexpression : predecrementexpression . (196) - INCREMENT reduce 235 - DECREMENT reduce 235 - ';' reduce 196 + . reduce 196 state 162 - statementexpression : postdecrementexpression . (197) - postfixexpression : postdecrementexpression . (236) + statementexpression : postincrementexpression . (197) + postfixexpression : postincrementexpression . (236) INCREMENT reduce 236 DECREMENT reduce 236 @@ -2400,3118 +2424,436 @@ state 162 state 163 - statementwithouttrailingsubstatement : expressionstatement . (168) + statementexpression : postdecrementexpression . (198) + postfixexpression : postdecrementexpression . (237) - . reduce 168 + INCREMENT reduce 237 + DECREMENT reduce 237 + ';' reduce 198 state 164 - statement : statementwithouttrailingsubstatement . (155) + statementwithouttrailingsubstatement : expressionstatement . (169) - . reduce 155 + . reduce 169 state 165 - blockstatements : blockstatement . (131) + statement : statementwithouttrailingsubstatement . (156) - . reduce 131 + . reduce 156 state 166 - blockstatement : statement . (146) + blockstatements : blockstatement . (132) - . reduce 146 + . reduce 132 state 167 - statement : whilestatement . (158) + blockstatement : statement . (147) - . reduce 158 + . reduce 147 state 168 - statement : forstatement . (159) + statement : whilestatement . (159) . reduce 159 state 169 - statement : ifthenstatement . (156) + statement : forstatement . (160) - . reduce 156 + . reduce 160 state 170 - statement : ifthenelsestatement . (157) + statement : ifthenstatement . (157) . reduce 157 state 171 - statementwithouttrailingsubstatement : emptystatement . (167) + statement : ifthenelsestatement . (158) - . reduce 167 + . reduce 158 state 172 - statementwithouttrailingsubstatement : returnstatement . (169) + statementwithouttrailingsubstatement : emptystatement . (168) - . reduce 169 + . reduce 168 state 173 - statementexpression : assignment . (193) + statementwithouttrailingsubstatement : returnstatement . (170) - . reduce 193 + . reduce 170 state 174 - assignment : lefthandside . assignmentoperator assignmentexpression (191) - assignment : lefthandside . assignmentoperator classinstancecreationexpression (192) + statementexpression : assignment . (194) - PLUSEQUAL shift 263 - MINUSEQUAL shift 264 - TIMESEQUAL shift 265 - DIVIDEEQUAL shift 266 - MODULOEQUAL shift 267 - '=' shift 268 - . error - - assignmentoperator goto 269 + . reduce 194 state 175 - statementexpression : methodinvocation . (198) - primarynonewarray : methodinvocation . (242) + assignment : lefthandside . assignmentoperator assignmentexpression (192) + assignment : lefthandside . assignmentoperator classinstancecreationexpression (193) - INCREMENT reduce 242 - DECREMENT reduce 242 - ';' reduce 198 - '.' reduce 242 + PLUSEQUAL shift 267 + MINUSEQUAL shift 268 + TIMESEQUAL shift 269 + DIVIDEEQUAL shift 270 + MODULOEQUAL shift 271 + '=' shift 272 + . error + + assignmentoperator goto 273 state 176 - methodheader : VOID methoddeclarator throws . (113) + statementexpression : methodinvocation . (199) + primarynonewarray : methodinvocation . (243) - . reduce 113 + INCREMENT reduce 243 + DECREMENT reduce 243 + ';' reduce 199 + '.' reduce 243 state 177 - methoddeclarator : IDENTIFIER '(' ')' . (139) + methodheader : VOID methoddeclarator throws . (114) - . reduce 139 + . reduce 114 state 178 - formalparameter : variabledeclaratorid . (148) + methoddeclarator : IDENTIFIER '(' ')' . (140) - . reduce 148 + . reduce 140 state 179 - formalparameter : type . variabledeclaratorid (147) + formalparameter : variabledeclaratorid . (149) - IDENTIFIER shift 186 - . error - - variabledeclaratorid goto 270 + . reduce 149 state 180 - formalparameterlist : formalparameter . (133) + formalparameter : type . variabledeclaratorid (148) - . reduce 133 + IDENTIFIER shift 187 + . error + + variabledeclaratorid goto 274 state 181 - formalparameterlist : formalparameterlist . ',' formalparameter (134) - methoddeclarator : IDENTIFIER '(' formalparameterlist . ')' (140) + formalparameterlist : formalparameter . (134) - ',' shift 271 - ')' shift 272 - . error + . reduce 134 state 182 - boundedMethodParameters : boundedMethodParameters ',' . boundedMethodParameter (102) + formalparameterlist : formalparameterlist . ',' formalparameter (135) + methoddeclarator : IDENTIFIER '(' formalparameterlist . ')' (141) + + ',' shift 275 + ')' shift 276 + . error + + +state 183 + boundedMethodParameters : boundedMethodParameters ',' . boundedMethodParameter (103) IDENTIFIER shift 27 . error - boundedMethodParameter goto 273 + boundedMethodParameter goto 277 -state 183 - methodheader : '<' boundedMethodParameters '>' . type methoddeclarator (103) - methodheader : '<' boundedMethodParameters '>' . type methoddeclarator throws (108) - methodheader : '<' boundedMethodParameters '>' . VOID methoddeclarator (115) - methodheader : '<' boundedMethodParameters '>' . VOID methoddeclarator throws (117) - methodheader : '<' boundedMethodParameters '>' . methoddeclarator (120) +state 184 + methodheader : '<' boundedMethodParameters '>' . type methoddeclarator (104) + methodheader : '<' boundedMethodParameters '>' . type methoddeclarator throws (109) + methodheader : '<' boundedMethodParameters '>' . VOID methoddeclarator (116) + methodheader : '<' boundedMethodParameters '>' . VOID methoddeclarator throws (118) + methodheader : '<' boundedMethodParameters '>' . methoddeclarator (121) BOOLEAN shift 37 CHAR shift 38 INT shift 39 - VOID shift 274 - IDENTIFIER shift 104 + VOID shift 278 + IDENTIFIER shift 105 . error - methoddeclarator goto 275 + methoddeclarator goto 279 simplename goto 32 classorinterfacetype goto 57 integraltype goto 58 numerictype goto 59 primitivetype goto 60 referencetype goto 61 - type goto 276 - - -state 184 - classtypelist : classtype . (137) - - . reduce 137 + type goto 280 state 185 - throws : THROWS classtypelist . (93) - classtypelist : classtypelist . ',' classtype (138) + classtypelist : classtype . (138) - ',' shift 277 - '{' reduce 93 + . reduce 138 state 186 - variabledeclaratorid : IDENTIFIER . (152) + throws : THROWS classtypelist . (94) + classtypelist : classtypelist . ',' classtype (139) - . reduce 152 + ',' shift 281 + '{' reduce 94 state 187 - variabledeclarators : variabledeclarators ',' variabledeclarator . (129) + variabledeclaratorid : IDENTIFIER . (153) - . reduce 129 + . reduce 153 state 188 - classinstancecreationexpression : NEW . classtype '(' ')' (224) - classinstancecreationexpression : NEW . classtype '(' argumentlist ')' (225) + variabledeclarators : variabledeclarators ',' variabledeclarator . (130) + + . reduce 130 + + +state 189 + classinstancecreationexpression : NEW . classtype '(' ')' (225) + classinstancecreationexpression : NEW . classtype '(' argumentlist ')' (226) IDENTIFIER shift 31 . error simplename goto 32 - classtype goto 278 + classtype goto 282 classorinterfacetype goto 34 -state 189 - lambdaexpressionparameter : '(' . ')' (206) - lambdaexpressionparameter : '(' . formalparameterlist ')' (207) - castexpression : '(' . primitivetype ')' unaryexpression (257) +state 190 + lambdaexpressionparameter : '(' . ')' (207) + lambdaexpressionparameter : '(' . formalparameterlist ')' (208) + castexpression : '(' . primitivetype ')' unaryexpression (258) BOOLEAN shift 37 CHAR shift 38 INT shift 39 - IDENTIFIER shift 136 - ')' shift 249 + IDENTIFIER shift 137 + ')' shift 253 . error - variabledeclaratorid goto 178 + variabledeclaratorid goto 179 simplename goto 32 classorinterfacetype goto 57 integraltype goto 58 numerictype goto 59 - primitivetype goto 279 + primitivetype goto 283 referencetype goto 61 - type goto 179 - formalparameter goto 180 - formalparameterlist goto 250 - - -state 190 - unaryexpression : '+' . unaryexpression (230) - - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 280 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 + type goto 180 + formalparameter goto 181 + formalparameterlist goto 254 state 191 - unaryexpression : '-' . unaryexpression (231) + unaryexpression : '+' . unaryexpression (231) - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 . error - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 281 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 + simplename goto 194 + qualifiedname goto 146 + name goto 250 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 284 + lambdaexpression goto 158 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + methodinvocation goto 217 + castexpression goto 218 state 192 - unaryexpressionnotplusminus : '!' . unaryexpression (245) + unaryexpression : '-' . unaryexpression (232) - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 . error - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 282 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 + simplename goto 194 + qualifiedname goto 146 + name goto 250 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 285 + lambdaexpression goto 158 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + methodinvocation goto 217 + castexpression goto 218 state 193 + unaryexpressionnotplusminus : '!' . unaryexpression (246) + + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 250 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 286 + lambdaexpression goto 158 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + methodinvocation goto 217 + castexpression goto 218 + + +state 194 name : simplename . (9) . reduce 9 -194: shift/reduce conflict (shift 260, reduce 244) on INCREMENT -194: shift/reduce conflict (shift 261, reduce 244) on DECREMENT -state 194 - postincrementexpression : postfixexpression . INCREMENT (218) - postdecrementexpression : postfixexpression . DECREMENT (219) - unaryexpressionnotplusminus : postfixexpression . (244) - - INCREMENT shift 260 - DECREMENT shift 261 - ABSTRACT reduce 244 - BOOLEAN reduce 244 - CHAR reduce 244 - FINAL reduce 244 - INSTANCEOF reduce 244 - INT reduce 244 - PRIVATE reduce 244 - PROTECTED reduce 244 - PUBLIC reduce 244 - STATIC reduce 244 - VOID reduce 244 - IDENTIFIER reduce 244 - EQUAL reduce 244 - LESSEQUAL reduce 244 - GREATEREQUAL reduce 244 - NOTEQUAL reduce 244 - LOGICALOR reduce 244 - LOGICALAND reduce 244 - ',' reduce 244 - ';' reduce 244 - '.' reduce 244 - '*' reduce 244 - '<' reduce 244 - '>' reduce 244 - '}' reduce 244 - ')' reduce 244 - '&' reduce 244 - '+' reduce 244 - '-' reduce 244 - '|' reduce 244 - '^' reduce 244 - '/' reduce 244 - '%' reduce 244 - - +195: shift/reduce conflict (shift 264, reduce 245) on INCREMENT +195: shift/reduce conflict (shift 265, reduce 245) on DECREMENT state 195 - unaryexpression : unaryexpressionnotplusminus . (232) + postincrementexpression : postfixexpression . INCREMENT (219) + postdecrementexpression : postfixexpression . DECREMENT (220) + unaryexpressionnotplusminus : postfixexpression . (245) - . reduce 232 + INCREMENT shift 264 + DECREMENT shift 265 + ABSTRACT reduce 245 + BOOLEAN reduce 245 + CHAR reduce 245 + FINAL reduce 245 + INSTANCEOF reduce 245 + INT reduce 245 + PRIVATE reduce 245 + PROTECTED reduce 245 + PUBLIC reduce 245 + STATIC reduce 245 + VOID reduce 245 + IDENTIFIER reduce 245 + EQUAL reduce 245 + LESSEQUAL reduce 245 + GREATEREQUAL reduce 245 + NOTEQUAL reduce 245 + LOGICALOR reduce 245 + LOGICALAND reduce 245 + ',' reduce 245 + ';' reduce 245 + '.' reduce 245 + '*' reduce 245 + '<' reduce 245 + '>' reduce 245 + '}' reduce 245 + ')' reduce 245 + '&' reduce 245 + '+' reduce 245 + '-' reduce 245 + '|' reduce 245 + '^' reduce 245 + '/' reduce 245 + '%' reduce 245 state 196 - multiplicativeexpression : unaryexpression . (273) + unaryexpression : unaryexpressionnotplusminus . (233) - . reduce 273 + . reduce 233 -197: shift/reduce conflict (shift 283, reduce 270) on '*' -197: shift/reduce conflict (shift 284, reduce 270) on '/' -197: shift/reduce conflict (shift 285, reduce 270) on '%' state 197 - additiveexpression : multiplicativeexpression . (270) - multiplicativeexpression : multiplicativeexpression . '*' unaryexpression (274) - multiplicativeexpression : multiplicativeexpression . '/' unaryexpression (275) - multiplicativeexpression : multiplicativeexpression . '%' unaryexpression (276) - - '*' shift 283 - '/' shift 284 - '%' shift 285 - ABSTRACT reduce 270 - BOOLEAN reduce 270 - CHAR reduce 270 - FINAL reduce 270 - INSTANCEOF reduce 270 - INT reduce 270 - PRIVATE reduce 270 - PROTECTED reduce 270 - PUBLIC reduce 270 - STATIC reduce 270 - VOID reduce 270 - IDENTIFIER reduce 270 - EQUAL reduce 270 - LESSEQUAL reduce 270 - GREATEREQUAL reduce 270 - NOTEQUAL reduce 270 - LOGICALOR reduce 270 - LOGICALAND reduce 270 - INCREMENT reduce 270 - DECREMENT reduce 270 - ',' reduce 270 - ';' reduce 270 - '.' reduce 270 - '<' reduce 270 - '>' reduce 270 - '}' reduce 270 - ')' reduce 270 - '&' reduce 270 - '+' reduce 270 - '-' reduce 270 - '|' reduce 270 - '^' reduce 270 - - -198: shift/reduce conflict (shift 286, reduce 269) on '+' -198: shift/reduce conflict (shift 287, reduce 269) on '-' -state 198 - shiftexpression : additiveexpression . (269) - additiveexpression : additiveexpression . '+' multiplicativeexpression (271) - additiveexpression : additiveexpression . '-' multiplicativeexpression (272) - - '+' shift 286 - '-' shift 287 - ABSTRACT reduce 269 - BOOLEAN reduce 269 - CHAR reduce 269 - FINAL reduce 269 - INSTANCEOF reduce 269 - INT reduce 269 - PRIVATE reduce 269 - PROTECTED reduce 269 - PUBLIC reduce 269 - STATIC reduce 269 - VOID reduce 269 - IDENTIFIER reduce 269 - EQUAL reduce 269 - LESSEQUAL reduce 269 - GREATEREQUAL reduce 269 - NOTEQUAL reduce 269 - LOGICALOR reduce 269 - LOGICALAND reduce 269 - INCREMENT reduce 269 - DECREMENT reduce 269 - ',' reduce 269 - ';' reduce 269 - '.' reduce 269 - '*' reduce 269 - '<' reduce 269 - '>' reduce 269 - '}' reduce 269 - ')' reduce 269 - '&' reduce 269 - '|' reduce 269 - '^' reduce 269 - '/' reduce 269 - '%' reduce 269 - - -state 199 - relationalexpression : shiftexpression . (263) - - . reduce 263 - - -200: shift/reduce conflict (shift 288, reduce 260) on INSTANCEOF -200: shift/reduce conflict (shift 289, reduce 260) on LESSEQUAL -200: shift/reduce conflict (shift 290, reduce 260) on GREATEREQUAL -200: shift/reduce conflict (shift 291, reduce 260) on '<' -200: shift/reduce conflict (shift 292, reduce 260) on '>' -state 200 - equalityexpression : relationalexpression . (260) - relationalexpression : relationalexpression . '<' shiftexpression (264) - relationalexpression : relationalexpression . '>' shiftexpression (265) - relationalexpression : relationalexpression . LESSEQUAL shiftexpression (266) - relationalexpression : relationalexpression . GREATEREQUAL shiftexpression (267) - relationalexpression : relationalexpression . INSTANCEOF referencetype (268) - - INSTANCEOF shift 288 - LESSEQUAL shift 289 - GREATEREQUAL shift 290 - '<' shift 291 - '>' shift 292 - ABSTRACT reduce 260 - BOOLEAN reduce 260 - CHAR reduce 260 - FINAL reduce 260 - INT reduce 260 - PRIVATE reduce 260 - PROTECTED reduce 260 - PUBLIC reduce 260 - STATIC reduce 260 - VOID reduce 260 - IDENTIFIER reduce 260 - EQUAL reduce 260 - NOTEQUAL reduce 260 - LOGICALOR reduce 260 - LOGICALAND reduce 260 - INCREMENT reduce 260 - DECREMENT reduce 260 - ',' reduce 260 - ';' reduce 260 - '.' reduce 260 - '*' reduce 260 - '}' reduce 260 - ')' reduce 260 - '&' reduce 260 - '+' reduce 260 - '-' reduce 260 - '|' reduce 260 - '^' reduce 260 - '/' reduce 260 - '%' reduce 260 - - -201: shift/reduce conflict (shift 293, reduce 258) on EQUAL -201: shift/reduce conflict (shift 294, reduce 258) on NOTEQUAL -state 201 - andexpression : equalityexpression . (258) - equalityexpression : equalityexpression . EQUAL relationalexpression (261) - equalityexpression : equalityexpression . NOTEQUAL relationalexpression (262) - - EQUAL shift 293 - NOTEQUAL shift 294 - ABSTRACT reduce 258 - BOOLEAN reduce 258 - CHAR reduce 258 - FINAL reduce 258 - INSTANCEOF reduce 258 - INT reduce 258 - PRIVATE reduce 258 - PROTECTED reduce 258 - PUBLIC reduce 258 - STATIC reduce 258 - VOID reduce 258 - IDENTIFIER reduce 258 - LESSEQUAL reduce 258 - GREATEREQUAL reduce 258 - LOGICALOR reduce 258 - LOGICALAND reduce 258 - INCREMENT reduce 258 - DECREMENT reduce 258 - ',' reduce 258 - ';' reduce 258 - '.' reduce 258 - '*' reduce 258 - '<' reduce 258 - '>' reduce 258 - '}' reduce 258 - ')' reduce 258 - '&' reduce 258 - '+' reduce 258 - '-' reduce 258 - '|' reduce 258 - '^' reduce 258 - '/' reduce 258 - '%' reduce 258 - - -202: shift/reduce conflict (shift 295, reduce 247) on '&' -state 202 - exclusiveorexpression : andexpression . (247) - andexpression : andexpression . '&' equalityexpression (259) - - '&' shift 295 - ABSTRACT reduce 247 - BOOLEAN reduce 247 - CHAR reduce 247 - FINAL reduce 247 - INSTANCEOF reduce 247 - INT reduce 247 - PRIVATE reduce 247 - PROTECTED reduce 247 - PUBLIC reduce 247 - STATIC reduce 247 - VOID reduce 247 - IDENTIFIER reduce 247 - EQUAL reduce 247 - LESSEQUAL reduce 247 - GREATEREQUAL reduce 247 - NOTEQUAL reduce 247 - LOGICALOR reduce 247 - LOGICALAND reduce 247 - INCREMENT reduce 247 - DECREMENT reduce 247 - ',' reduce 247 - ';' reduce 247 - '.' reduce 247 - '*' reduce 247 - '<' reduce 247 - '>' reduce 247 - '}' reduce 247 - ')' reduce 247 - '+' reduce 247 - '-' reduce 247 - '|' reduce 247 - '^' reduce 247 - '/' reduce 247 - '%' reduce 247 - - -203: shift/reduce conflict (shift 296, reduce 238) on '^' -state 203 - inclusiveorexpression : exclusiveorexpression . (238) - exclusiveorexpression : exclusiveorexpression . '^' andexpression (248) - - '^' shift 296 - ABSTRACT reduce 238 - BOOLEAN reduce 238 - CHAR reduce 238 - FINAL reduce 238 - INSTANCEOF reduce 238 - INT reduce 238 - PRIVATE reduce 238 - PROTECTED reduce 238 - PUBLIC reduce 238 - STATIC reduce 238 - VOID reduce 238 - IDENTIFIER reduce 238 - EQUAL reduce 238 - LESSEQUAL reduce 238 - GREATEREQUAL reduce 238 - NOTEQUAL reduce 238 - LOGICALOR reduce 238 - LOGICALAND reduce 238 - INCREMENT reduce 238 - DECREMENT reduce 238 - ',' reduce 238 - ';' reduce 238 - '.' reduce 238 - '*' reduce 238 - '<' reduce 238 - '>' reduce 238 - '}' reduce 238 - ')' reduce 238 - '&' reduce 238 - '+' reduce 238 - '-' reduce 238 - '|' reduce 238 - '/' reduce 238 - '%' reduce 238 - - -204: shift/reduce conflict (shift 297, reduce 226) on '|' -state 204 - conditionalandexpression : inclusiveorexpression . (226) - inclusiveorexpression : inclusiveorexpression . '|' exclusiveorexpression (239) - - '|' shift 297 - ABSTRACT reduce 226 - BOOLEAN reduce 226 - CHAR reduce 226 - FINAL reduce 226 - INSTANCEOF reduce 226 - INT reduce 226 - PRIVATE reduce 226 - PROTECTED reduce 226 - PUBLIC reduce 226 - STATIC reduce 226 - VOID reduce 226 - IDENTIFIER reduce 226 - EQUAL reduce 226 - LESSEQUAL reduce 226 - GREATEREQUAL reduce 226 - NOTEQUAL reduce 226 - LOGICALOR reduce 226 - LOGICALAND reduce 226 - INCREMENT reduce 226 - DECREMENT reduce 226 - ',' reduce 226 - ';' reduce 226 - '.' reduce 226 - '*' reduce 226 - '<' reduce 226 - '>' reduce 226 - '}' reduce 226 - ')' reduce 226 - '&' reduce 226 - '+' reduce 226 - '-' reduce 226 - '^' reduce 226 - '/' reduce 226 - '%' reduce 226 - - -205: shift/reduce conflict (shift 298, reduce 201) on LOGICALAND -state 205 - conditionalorexpression : conditionalandexpression . (201) - conditionalandexpression : conditionalandexpression . LOGICALAND inclusiveorexpression (227) - - LOGICALAND shift 298 - ABSTRACT reduce 201 - BOOLEAN reduce 201 - CHAR reduce 201 - FINAL reduce 201 - INSTANCEOF reduce 201 - INT reduce 201 - PRIVATE reduce 201 - PROTECTED reduce 201 - PUBLIC reduce 201 - STATIC reduce 201 - VOID reduce 201 - IDENTIFIER reduce 201 - EQUAL reduce 201 - LESSEQUAL reduce 201 - GREATEREQUAL reduce 201 - NOTEQUAL reduce 201 - LOGICALOR reduce 201 - INCREMENT reduce 201 - DECREMENT reduce 201 - ',' reduce 201 - ';' reduce 201 - '.' reduce 201 - '*' reduce 201 - '<' reduce 201 - '>' reduce 201 - '}' reduce 201 - ')' reduce 201 - '&' reduce 201 - '+' reduce 201 - '-' reduce 201 - '|' reduce 201 - '^' reduce 201 - '/' reduce 201 - '%' reduce 201 - - -206: shift/reduce conflict (shift 299, reduce 190) on LOGICALOR -state 206 - conditionalexpression : conditionalorexpression . (190) - conditionalorexpression : conditionalorexpression . LOGICALOR conditionalandexpression (202) - - LOGICALOR shift 299 - ABSTRACT reduce 190 - BOOLEAN reduce 190 - CHAR reduce 190 - FINAL reduce 190 - INSTANCEOF reduce 190 - INT reduce 190 - PRIVATE reduce 190 - PROTECTED reduce 190 - PUBLIC reduce 190 - STATIC reduce 190 - VOID reduce 190 - IDENTIFIER reduce 190 - EQUAL reduce 190 - LESSEQUAL reduce 190 - GREATEREQUAL reduce 190 - NOTEQUAL reduce 190 - LOGICALAND reduce 190 - INCREMENT reduce 190 - DECREMENT reduce 190 - ',' reduce 190 - ';' reduce 190 - '.' reduce 190 - '*' reduce 190 - '<' reduce 190 - '>' reduce 190 - '}' reduce 190 - ')' reduce 190 - '&' reduce 190 - '+' reduce 190 - '-' reduce 190 - '|' reduce 190 - '^' reduce 190 - '/' reduce 190 - '%' reduce 190 - - -state 207 - assignmentexpression : conditionalexpression . (181) - - . reduce 181 - - -state 208 - expression : assignmentexpression . (160) - - . reduce 160 - - -state 209 - fielddeclarator : variabledeclarator '=' expression . (78) - - . reduce 78 - - -state 210 - unaryexpression : preincrementexpression . (228) - - . reduce 228 - - -state 211 - unaryexpression : predecrementexpression . (229) - - . reduce 229 - - -state 212 - postfixexpression : postincrementexpression . (235) - - . reduce 235 - - -state 213 - postfixexpression : postdecrementexpression . (236) - - . reduce 236 - - -state 214 - expression : classinstancecreationexpression . (161) - - . reduce 161 - - -state 215 - assignmentexpression : assignment . (182) - - . reduce 182 - - -state 216 - primarynonewarray : methodinvocation . (242) - - . reduce 242 - - -state 217 - unaryexpressionnotplusminus : castexpression . (246) - - . reduce 246 - - -state 218 - constructordeclarator : simplename '(' ')' . (87) - - . reduce 87 - - -state 219 - constructordeclarator : simplename '(' formalparameterlist . ')' (88) - formalparameterlist : formalparameterlist . ',' formalparameter (134) - - ',' shift 271 - ')' shift 300 - . error - - -state 220 - type : primitivetype '[' ']' . (125) - - . reduce 125 - - -state 221 - type : referencetype '[' ']' . (127) - - . reduce 127 - - -state 222 - methodheader : type methoddeclarator throws . (107) - - . reduce 107 - - -state 223 - fielddeclaration : type variabledeclarators ';' . (82) - - . reduce 82 - - -state 224 - methodheader : modifiers VOID methoddeclarator . (112) - methodheader : modifiers VOID methoddeclarator . throws (114) - - THROWS shift 88 - '{' reduce 112 - - throws goto 301 - - -state 225 - boundedMethodParameters : boundedMethodParameters . ',' boundedMethodParameter (102) - methodheader : modifiers '<' boundedMethodParameters . '>' type methoddeclarator (106) - methodheader : modifiers '<' boundedMethodParameters . '>' type methoddeclarator throws (110) - methodheader : modifiers '<' boundedMethodParameters . '>' VOID methoddeclarator (116) - methodheader : modifiers '<' boundedMethodParameters . '>' VOID methoddeclarator throws (118) - - ',' shift 182 - '>' shift 302 - . error - - -state 226 - methodheader : modifiers methoddeclarator throws . (123) - - . reduce 123 - - -state 227 - methodheader : modifiers type methoddeclarator . (105) - methodheader : modifiers type methoddeclarator . throws (109) - - THROWS shift 88 - '{' reduce 105 - - throws goto 303 - - -state 228 - fielddeclaration : modifiers type variabledeclarators . ';' (83) - variabledeclarators : variabledeclarators . ',' variabledeclarator (129) - - ',' shift 92 - ';' shift 304 - . error - - -state 229 - constructordeclaration : modifiers constructordeclarator constructorbody . (75) - - . reduce 75 - - -state 230 - explicitconstructorinvocation : THIS . '(' ')' ';' (135) - explicitconstructorinvocation : THIS . '(' argumentlist ')' ';' (136) - primarynonewarray : THIS . (241) - - '(' shift 305 - INCREMENT reduce 241 - DECREMENT reduce 241 - '.' reduce 241 - - -state 231 - constructorbody : '{' '}' . (89) - - . reduce 89 - - -state 232 - constructorbody : '{' blockstatements . '}' (91) - blockstatements : blockstatements . blockstatement (132) - - BOOLEAN shift 37 - CHAR shift 38 - FOR shift 123 - IF shift 124 - INT shift 39 - RETURN shift 125 - THIS shift 126 - WHILE shift 127 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 136 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 - '{' shift 79 - '}' shift 306 - '(' shift 141 - . error - - variabledeclarators goto 142 - variabledeclarator goto 143 - variabledeclaratorid goto 55 - simplename goto 144 - qualifiedname goto 145 - name goto 146 - classorinterfacetype goto 57 - integraltype goto 58 - numerictype goto 59 - primitivetype goto 60 - referencetype goto 61 - type goto 147 - block goto 148 - localvariabledeclarationstatement goto 150 - localvariabledeclaration goto 151 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 164 - blockstatement goto 255 - statement goto 166 - whilestatement goto 167 - forstatement goto 168 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 - - -state 233 - constructorbody : '{' explicitconstructorinvocation . '}' (90) - constructorbody : '{' explicitconstructorinvocation . blockstatements '}' (92) - - BOOLEAN shift 37 - CHAR shift 38 - FOR shift 123 - IF shift 124 - INT shift 39 - RETURN shift 125 - THIS shift 126 - WHILE shift 127 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 136 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 - '{' shift 79 - '}' shift 307 - '(' shift 141 - . error - - variabledeclarators goto 142 - variabledeclarator goto 143 - variabledeclaratorid goto 55 - simplename goto 144 - qualifiedname goto 145 - name goto 146 - classorinterfacetype goto 57 - integraltype goto 58 - numerictype goto 59 - primitivetype goto 60 - referencetype goto 61 - type goto 147 - block goto 148 - blockstatements goto 308 - localvariabledeclarationstatement goto 150 - localvariabledeclaration goto 151 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 164 - blockstatement goto 165 - statement goto 166 - whilestatement goto 167 - forstatement goto 168 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 - - -state 234 - classdeclaration : modifiers CLASS classidentifier super interfaces classbody . (22) - - . reduce 22 - - -state 235 - boundedclassidentifierlist : boundedclassidentifierlist '&' . referencetype (100) - - IDENTIFIER shift 31 - . error - - simplename goto 32 - classorinterfacetype goto 57 - referencetype goto 309 - - -state 236 - paralist : IDENTIFIER '<' . paralist '>' (32) - - IDENTIFIER shift 119 - '?' shift 120 - . error - - paralist goto 310 - wildcardparameter goto 122 - - -state 237 - wildcardparameter : '?' EXTENDS . referencetype (38) - - IDENTIFIER shift 31 - . error - - simplename goto 32 - classorinterfacetype goto 57 - referencetype goto 311 - - -state 238 - wildcardparameter : '?' SUPER . referencetype (39) - - IDENTIFIER shift 31 - . error - - simplename goto 32 - classorinterfacetype goto 57 - referencetype goto 312 - - -state 239 - paralist : paralist ',' . IDENTIFIER (34) - paralist : paralist ',' . IDENTIFIER '<' paralist '>' (35) - paralist : paralist ',' . wildcardparameter (36) - - IDENTIFIER shift 313 - '?' shift 120 - . error - - wildcardparameter goto 314 - - -state 240 - parameter : '<' paralist '>' . (68) - - . reduce 68 - - -state 241 - forstatement : FOR '(' . expression ';' expression ';' expression ')' statement (173) - forstatement : FOR '(' . expression ';' expression ';' ')' statement (174) - forstatement : FOR '(' . expression ';' ';' expression ')' statement (175) - forstatement : FOR '(' . ';' expression ';' expression ')' statement (176) - forstatement : FOR '(' . expression ';' ';' ')' statement (177) - forstatement : FOR '(' . ';' expression ';' ')' statement (178) - forstatement : FOR '(' . ';' ';' expression ')' statement (179) - forstatement : FOR '(' . ';' ';' ')' statement (180) - - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 315 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 208 - lambdaexpression goto 157 - expression goto 316 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 214 - assignment goto 215 - lefthandside goto 174 - methodinvocation goto 216 - castexpression goto 217 - - -state 242 - ifthenstatement : IF '(' . expression ')' statement (170) - ifthenelsestatement : IF '(' . expression ')' statementnoshortif ELSE statement (171) - - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 208 - lambdaexpression goto 157 - expression goto 317 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 214 - assignment goto 215 - lefthandside goto 174 - methodinvocation goto 216 - castexpression goto 217 - - -state 243 - returnstatement : RETURN ';' . (185) - - . reduce 185 - - -state 244 - returnstatement : RETURN expression . ';' (186) - - ';' shift 318 - . error - - -state 245 - whilestatement : WHILE '(' . expression ')' statement (172) - - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 208 - lambdaexpression goto 157 - expression goto 319 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 214 - assignment goto 215 - lefthandside goto 174 - methodinvocation goto 216 - castexpression goto 217 - - -246: shift/reduce conflict (shift 251, reduce 234) on '.' -state 246 - qualifiedname : name . '.' IDENTIFIER (11) - methodinvocation : name . '(' ')' (220) - methodinvocation : name . '(' argumentlist ')' (221) - postfixexpression : name . (234) - - '.' shift 251 - '(' shift 252 - ABSTRACT reduce 234 - BOOLEAN reduce 234 - CHAR reduce 234 - FINAL reduce 234 - INSTANCEOF reduce 234 - INT reduce 234 - PRIVATE reduce 234 - PROTECTED reduce 234 - PUBLIC reduce 234 - STATIC reduce 234 - VOID reduce 234 - IDENTIFIER reduce 234 - EQUAL reduce 234 - LESSEQUAL reduce 234 - GREATEREQUAL reduce 234 - NOTEQUAL reduce 234 - LOGICALOR reduce 234 - LOGICALAND reduce 234 - INCREMENT reduce 234 - DECREMENT reduce 234 - ',' reduce 234 - ';' reduce 234 - '*' reduce 234 - '<' reduce 234 - '>' reduce 234 - '}' reduce 234 - ')' reduce 234 - '&' reduce 234 - '+' reduce 234 - '-' reduce 234 - '|' reduce 234 - '^' reduce 234 - '/' reduce 234 - '%' reduce 234 - - -state 247 - preincrementexpression : INCREMENT unaryexpression . (216) - - . reduce 216 - - -state 248 - predecrementexpression : DECREMENT unaryexpression . (217) - - . reduce 217 - - -state 249 - lambdaexpressionparameter : '(' ')' . (206) - - . reduce 206 - - -state 250 - formalparameterlist : formalparameterlist . ',' formalparameter (134) - lambdaexpressionparameter : '(' formalparameterlist . ')' (207) - - ',' shift 271 - ')' shift 320 - . error - - -state 251 - qualifiedname : name '.' . IDENTIFIER (11) - - IDENTIFIER shift 321 - . error - - -state 252 - methodinvocation : name '(' . ')' (220) - methodinvocation : name '(' . argumentlist ')' (221) - - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - ')' shift 322 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 208 - lambdaexpression goto 157 - expression goto 323 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 214 - assignment goto 215 - lefthandside goto 174 - argumentlist goto 324 - methodinvocation goto 216 - castexpression goto 217 - - -state 253 - variabledeclarators : variabledeclarators . ',' variabledeclarator (129) - localvariabledeclaration : type variabledeclarators . (164) - - ',' shift 92 - ';' reduce 164 - - -state 254 - block : '{' blockstatements '}' . (86) - - . reduce 86 - - -state 255 - blockstatements : blockstatements blockstatement . (132) - - . reduce 132 - - -state 256 - localvariabledeclarationstatement : localvariabledeclaration ';' . (154) - - . reduce 154 - - -state 257 - lambdaassignmentoperator : LAMBDAASSIGNMENT . (203) - - . reduce 203 - - -state 258 - lambdaexpression : lambdaexpressionparameter lambdaassignmentoperator . lambdabody (208) - - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '{' shift 79 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - block goto 325 - lambdabody goto 326 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 208 - lambdaexpression goto 157 - expression goto 327 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 214 - assignment goto 215 - lefthandside goto 174 - methodinvocation goto 216 - castexpression goto 217 - - -state 259 - methodinvocation : primary '.' . IDENTIFIER '(' ')' (222) - methodinvocation : primary '.' . IDENTIFIER '(' argumentlist ')' (223) - - IDENTIFIER shift 328 - . error - - -state 260 - postincrementexpression : postfixexpression INCREMENT . (218) - - . reduce 218 - - -state 261 - postdecrementexpression : postfixexpression DECREMENT . (219) - - . reduce 219 - - -state 262 - expressionstatement : statementexpression ';' . (184) - - . reduce 184 - - -state 263 - assignmentoperator : PLUSEQUAL . (214) - - . reduce 214 - - -state 264 - assignmentoperator : MINUSEQUAL . (215) - - . reduce 215 - - -state 265 - assignmentoperator : TIMESEQUAL . (211) - - . reduce 211 - - -state 266 - assignmentoperator : DIVIDEEQUAL . (212) - - . reduce 212 - - -state 267 - assignmentoperator : MODULOEQUAL . (213) - - . reduce 213 - - -state 268 - assignmentoperator : '=' . (210) - - . reduce 210 - - -state 269 - assignment : lefthandside assignmentoperator . assignmentexpression (191) - assignment : lefthandside assignmentoperator . classinstancecreationexpression (192) - - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 329 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 330 - assignment goto 215 - lefthandside goto 174 - methodinvocation goto 216 - castexpression goto 217 - - -state 270 - formalparameter : type variabledeclaratorid . (147) - - . reduce 147 - - -state 271 - formalparameterlist : formalparameterlist ',' . formalparameter (134) - - BOOLEAN shift 37 - CHAR shift 38 - INT shift 39 - IDENTIFIER shift 136 - . error - - variabledeclaratorid goto 178 - simplename goto 32 - classorinterfacetype goto 57 - integraltype goto 58 - numerictype goto 59 - primitivetype goto 60 - referencetype goto 61 - type goto 179 - formalparameter goto 331 - - -state 272 - methoddeclarator : IDENTIFIER '(' formalparameterlist ')' . (140) - - . reduce 140 - - -state 273 - boundedMethodParameters : boundedMethodParameters ',' boundedMethodParameter . (102) - - . reduce 102 - - -state 274 - methodheader : '<' boundedMethodParameters '>' VOID . methoddeclarator (115) - methodheader : '<' boundedMethodParameters '>' VOID . methoddeclarator throws (117) - - IDENTIFIER shift 81 - . error - - methoddeclarator goto 332 - - -state 275 - methodheader : '<' boundedMethodParameters '>' methoddeclarator . (120) - - . reduce 120 - - -state 276 - methodheader : '<' boundedMethodParameters '>' type . methoddeclarator (103) - methodheader : '<' boundedMethodParameters '>' type . methoddeclarator throws (108) - - IDENTIFIER shift 81 - . error - - methoddeclarator goto 333 - - -state 277 - classtypelist : classtypelist ',' . classtype (138) - - IDENTIFIER shift 31 - . error - - simplename goto 32 - classtype goto 334 - classorinterfacetype goto 34 - - -state 278 - classinstancecreationexpression : NEW classtype . '(' ')' (224) - classinstancecreationexpression : NEW classtype . '(' argumentlist ')' (225) - - '(' shift 335 - . error - - -state 279 - type : primitivetype . (124) - type : primitivetype . '[' ']' (125) - castexpression : '(' primitivetype . ')' unaryexpression (257) - - ')' shift 336 - '[' shift 97 - IDENTIFIER reduce 124 - - -state 280 - unaryexpression : '+' unaryexpression . (230) - - . reduce 230 - - -state 281 - unaryexpression : '-' unaryexpression . (231) - - . reduce 231 - - -state 282 - unaryexpressionnotplusminus : '!' unaryexpression . (245) - - . reduce 245 - - -state 283 - multiplicativeexpression : multiplicativeexpression '*' . unaryexpression (274) - - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 337 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 - - -state 284 - multiplicativeexpression : multiplicativeexpression '/' . unaryexpression (275) - - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 338 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 - - -state 285 - multiplicativeexpression : multiplicativeexpression '%' . unaryexpression (276) - - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 339 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 - - -state 286 - additiveexpression : additiveexpression '+' . multiplicativeexpression (271) - - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 340 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 - - -state 287 - additiveexpression : additiveexpression '-' . multiplicativeexpression (272) - - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 341 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 - - -state 288 - relationalexpression : relationalexpression INSTANCEOF . referencetype (268) - - IDENTIFIER shift 31 - . error - - simplename goto 32 - classorinterfacetype goto 57 - referencetype goto 342 - - -state 289 - relationalexpression : relationalexpression LESSEQUAL . shiftexpression (266) - - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 343 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 - - -state 290 - relationalexpression : relationalexpression GREATEREQUAL . shiftexpression (267) - - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 344 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 - - -state 291 - relationalexpression : relationalexpression '<' . shiftexpression (264) - - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 345 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 - - -state 292 - relationalexpression : relationalexpression '>' . shiftexpression (265) - - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 346 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 - - -state 293 - equalityexpression : equalityexpression EQUAL . relationalexpression (261) - - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 347 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 - - -state 294 - equalityexpression : equalityexpression NOTEQUAL . relationalexpression (262) - - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 348 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 - - -state 295 - andexpression : andexpression '&' . equalityexpression (259) - - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 349 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 - - -state 296 - exclusiveorexpression : exclusiveorexpression '^' . andexpression (248) - - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 350 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 - - -state 297 - inclusiveorexpression : inclusiveorexpression '|' . exclusiveorexpression (239) - - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 351 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 - - -state 298 - conditionalandexpression : conditionalandexpression LOGICALAND . inclusiveorexpression (227) - - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 352 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 - - -state 299 - conditionalorexpression : conditionalorexpression LOGICALOR . conditionalandexpression (202) - - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 353 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 - - -state 300 - constructordeclarator : simplename '(' formalparameterlist ')' . (88) - - . reduce 88 - - -state 301 - methodheader : modifiers VOID methoddeclarator throws . (114) - - . reduce 114 - - -state 302 - methodheader : modifiers '<' boundedMethodParameters '>' . type methoddeclarator (106) - methodheader : modifiers '<' boundedMethodParameters '>' . type methoddeclarator throws (110) - methodheader : modifiers '<' boundedMethodParameters '>' . VOID methoddeclarator (116) - methodheader : modifiers '<' boundedMethodParameters '>' . VOID methoddeclarator throws (118) - - BOOLEAN shift 37 - CHAR shift 38 - INT shift 39 - VOID shift 354 - IDENTIFIER shift 31 - . error - - simplename goto 32 - classorinterfacetype goto 57 - integraltype goto 58 - numerictype goto 59 - primitivetype goto 60 - referencetype goto 61 - type goto 355 - - -state 303 - methodheader : modifiers type methoddeclarator throws . (109) - - . reduce 109 - - -state 304 - fielddeclaration : modifiers type variabledeclarators ';' . (83) - - . reduce 83 - - -state 305 - explicitconstructorinvocation : THIS '(' . ')' ';' (135) - explicitconstructorinvocation : THIS '(' . argumentlist ')' ';' (136) - - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - ')' shift 356 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 208 - lambdaexpression goto 157 - expression goto 323 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 214 - assignment goto 215 - lefthandside goto 174 - argumentlist goto 357 - methodinvocation goto 216 - castexpression goto 217 - - -state 306 - constructorbody : '{' blockstatements '}' . (91) - - . reduce 91 - - -state 307 - constructorbody : '{' explicitconstructorinvocation '}' . (90) - - . reduce 90 - - -state 308 - constructorbody : '{' explicitconstructorinvocation blockstatements . '}' (92) - blockstatements : blockstatements . blockstatement (132) - - BOOLEAN shift 37 - CHAR shift 38 - FOR shift 123 - IF shift 124 - INT shift 39 - RETURN shift 125 - THIS shift 126 - WHILE shift 127 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 136 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 - '{' shift 79 - '}' shift 358 - '(' shift 141 - . error - - variabledeclarators goto 142 - variabledeclarator goto 143 - variabledeclaratorid goto 55 - simplename goto 144 - qualifiedname goto 145 - name goto 146 - classorinterfacetype goto 57 - integraltype goto 58 - numerictype goto 59 - primitivetype goto 60 - referencetype goto 61 - type goto 147 - block goto 148 - localvariabledeclarationstatement goto 150 - localvariabledeclaration goto 151 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 164 - blockstatement goto 255 - statement goto 166 - whilestatement goto 167 - forstatement goto 168 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 - - -state 309 - boundedclassidentifierlist : boundedclassidentifierlist '&' referencetype . (100) - - . reduce 100 - - -state 310 - paralist : IDENTIFIER '<' paralist . '>' (32) - paralist : paralist . ',' IDENTIFIER (34) - paralist : paralist . ',' IDENTIFIER '<' paralist '>' (35) - paralist : paralist . ',' wildcardparameter (36) - - ',' shift 239 - '>' shift 359 - . error - - -state 311 - wildcardparameter : '?' EXTENDS referencetype . (38) - - . reduce 38 - - -state 312 - wildcardparameter : '?' SUPER referencetype . (39) - - . reduce 39 - - -state 313 - paralist : paralist ',' IDENTIFIER . (34) - paralist : paralist ',' IDENTIFIER . '<' paralist '>' (35) - - '<' shift 360 - ',' reduce 34 - '>' reduce 34 - - -state 314 - paralist : paralist ',' wildcardparameter . (36) - - . reduce 36 - - -state 315 - forstatement : FOR '(' ';' . expression ';' expression ')' statement (176) - forstatement : FOR '(' ';' . expression ';' ')' statement (178) - forstatement : FOR '(' ';' . ';' expression ')' statement (179) - forstatement : FOR '(' ';' . ';' ')' statement (180) - - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 361 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 208 - lambdaexpression goto 157 - expression goto 362 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 214 - assignment goto 215 - lefthandside goto 174 - methodinvocation goto 216 - castexpression goto 217 - - -state 316 - forstatement : FOR '(' expression . ';' expression ';' expression ')' statement (173) - forstatement : FOR '(' expression . ';' expression ';' ')' statement (174) - forstatement : FOR '(' expression . ';' ';' expression ')' statement (175) - forstatement : FOR '(' expression . ';' ';' ')' statement (177) - - ';' shift 363 - . error - - -state 317 - ifthenstatement : IF '(' expression . ')' statement (170) - ifthenelsestatement : IF '(' expression . ')' statementnoshortif ELSE statement (171) - - ')' shift 364 - . error - - -state 318 - returnstatement : RETURN expression ';' . (186) - - . reduce 186 - - -state 319 - whilestatement : WHILE '(' expression . ')' statement (172) - - ')' shift 365 - . error - - -state 320 - lambdaexpressionparameter : '(' formalparameterlist ')' . (207) - - . reduce 207 - - -state 321 - qualifiedname : name '.' IDENTIFIER . (11) - - . reduce 11 - - -state 322 - methodinvocation : name '(' ')' . (220) - - . reduce 220 - - -state 323 - argumentlist : expression . (149) - - . reduce 149 - - -state 324 - argumentlist : argumentlist . ',' expression (150) - methodinvocation : name '(' argumentlist . ')' (221) - - ',' shift 366 - ')' shift 367 - . error - - -state 325 - lambdabody : block . (204) - - . reduce 204 - - -state 326 - lambdaexpression : lambdaexpressionparameter lambdaassignmentoperator lambdabody . (208) - - . reduce 208 - - -state 327 - lambdabody : expression . (205) - - . reduce 205 - - -state 328 - methodinvocation : primary '.' IDENTIFIER . '(' ')' (222) - methodinvocation : primary '.' IDENTIFIER . '(' argumentlist ')' (223) - - '(' shift 368 - . error - - -state 329 - assignment : lefthandside assignmentoperator assignmentexpression . (191) - - . reduce 191 - - -state 330 - assignment : lefthandside assignmentoperator classinstancecreationexpression . (192) - - . reduce 192 - - -state 331 - formalparameterlist : formalparameterlist ',' formalparameter . (134) - - . reduce 134 - - -state 332 - methodheader : '<' boundedMethodParameters '>' VOID methoddeclarator . (115) - methodheader : '<' boundedMethodParameters '>' VOID methoddeclarator . throws (117) - - THROWS shift 88 - '{' reduce 115 - - throws goto 369 - - -state 333 - methodheader : '<' boundedMethodParameters '>' type methoddeclarator . (103) - methodheader : '<' boundedMethodParameters '>' type methoddeclarator . throws (108) - - THROWS shift 88 - '{' reduce 103 - - throws goto 370 - - -state 334 - classtypelist : classtypelist ',' classtype . (138) - - . reduce 138 - - -state 335 - classinstancecreationexpression : NEW classtype '(' . ')' (224) - classinstancecreationexpression : NEW classtype '(' . argumentlist ')' (225) - - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - ')' shift 371 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 208 - lambdaexpression goto 157 - expression goto 323 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 214 - assignment goto 215 - lefthandside goto 174 - argumentlist goto 372 - methodinvocation goto 216 - castexpression goto 217 - - -state 336 - castexpression : '(' primitivetype ')' . unaryexpression (257) - - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 373 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 - - -state 337 - multiplicativeexpression : multiplicativeexpression '*' unaryexpression . (274) + multiplicativeexpression : unaryexpression . (274) . reduce 274 -state 338 - multiplicativeexpression : multiplicativeexpression '/' unaryexpression . (275) +198: shift/reduce conflict (shift 287, reduce 271) on '*' +198: shift/reduce conflict (shift 288, reduce 271) on '/' +198: shift/reduce conflict (shift 289, reduce 271) on '%' +state 198 + additiveexpression : multiplicativeexpression . (271) + multiplicativeexpression : multiplicativeexpression . '*' unaryexpression (275) + multiplicativeexpression : multiplicativeexpression . '/' unaryexpression (276) + multiplicativeexpression : multiplicativeexpression . '%' unaryexpression (277) - . reduce 275 - - -state 339 - multiplicativeexpression : multiplicativeexpression '%' unaryexpression . (276) - - . reduce 276 - - -340: shift/reduce conflict (shift 283, reduce 271) on '*' -340: shift/reduce conflict (shift 284, reduce 271) on '/' -340: shift/reduce conflict (shift 285, reduce 271) on '%' -state 340 - additiveexpression : additiveexpression '+' multiplicativeexpression . (271) - multiplicativeexpression : multiplicativeexpression . '*' unaryexpression (274) - multiplicativeexpression : multiplicativeexpression . '/' unaryexpression (275) - multiplicativeexpression : multiplicativeexpression . '%' unaryexpression (276) - - '*' shift 283 - '/' shift 284 - '%' shift 285 + '*' shift 287 + '/' shift 288 + '%' shift 289 ABSTRACT reduce 271 BOOLEAN reduce 271 CHAR reduce 271 @@ -5546,100 +2888,74 @@ state 340 '^' reduce 271 -341: shift/reduce conflict (shift 283, reduce 272) on '*' -341: shift/reduce conflict (shift 284, reduce 272) on '/' -341: shift/reduce conflict (shift 285, reduce 272) on '%' -state 341 - additiveexpression : additiveexpression '-' multiplicativeexpression . (272) - multiplicativeexpression : multiplicativeexpression . '*' unaryexpression (274) - multiplicativeexpression : multiplicativeexpression . '/' unaryexpression (275) - multiplicativeexpression : multiplicativeexpression . '%' unaryexpression (276) +199: shift/reduce conflict (shift 290, reduce 270) on '+' +199: shift/reduce conflict (shift 291, reduce 270) on '-' +state 199 + shiftexpression : additiveexpression . (270) + additiveexpression : additiveexpression . '+' multiplicativeexpression (272) + additiveexpression : additiveexpression . '-' multiplicativeexpression (273) - '*' shift 283 - '/' shift 284 - '%' shift 285 - ABSTRACT reduce 272 - BOOLEAN reduce 272 - CHAR reduce 272 - FINAL reduce 272 - INSTANCEOF reduce 272 - INT reduce 272 - PRIVATE reduce 272 - PROTECTED reduce 272 - PUBLIC reduce 272 - STATIC reduce 272 - VOID reduce 272 - IDENTIFIER reduce 272 - EQUAL reduce 272 - LESSEQUAL reduce 272 - GREATEREQUAL reduce 272 - NOTEQUAL reduce 272 - LOGICALOR reduce 272 - LOGICALAND reduce 272 - INCREMENT reduce 272 - DECREMENT reduce 272 - ',' reduce 272 - ';' reduce 272 - '.' reduce 272 - '<' reduce 272 - '>' reduce 272 - '}' reduce 272 - ')' reduce 272 - '&' reduce 272 - '+' reduce 272 - '-' reduce 272 - '|' reduce 272 - '^' reduce 272 + '+' shift 290 + '-' shift 291 + ABSTRACT reduce 270 + BOOLEAN reduce 270 + CHAR reduce 270 + FINAL reduce 270 + INSTANCEOF reduce 270 + INT reduce 270 + PRIVATE reduce 270 + PROTECTED reduce 270 + PUBLIC reduce 270 + STATIC reduce 270 + VOID reduce 270 + IDENTIFIER reduce 270 + EQUAL reduce 270 + LESSEQUAL reduce 270 + GREATEREQUAL reduce 270 + NOTEQUAL reduce 270 + LOGICALOR reduce 270 + LOGICALAND reduce 270 + INCREMENT reduce 270 + DECREMENT reduce 270 + ',' reduce 270 + ';' reduce 270 + '.' reduce 270 + '*' reduce 270 + '<' reduce 270 + '>' reduce 270 + '}' reduce 270 + ')' reduce 270 + '&' reduce 270 + '|' reduce 270 + '^' reduce 270 + '/' reduce 270 + '%' reduce 270 -state 342 - relationalexpression : relationalexpression INSTANCEOF referencetype . (268) - - . reduce 268 - - -state 343 - relationalexpression : relationalexpression LESSEQUAL shiftexpression . (266) - - . reduce 266 - - -state 344 - relationalexpression : relationalexpression GREATEREQUAL shiftexpression . (267) - - . reduce 267 - - -state 345 - relationalexpression : relationalexpression '<' shiftexpression . (264) +state 200 + relationalexpression : shiftexpression . (264) . reduce 264 -state 346 - relationalexpression : relationalexpression '>' shiftexpression . (265) +201: shift/reduce conflict (shift 292, reduce 261) on INSTANCEOF +201: shift/reduce conflict (shift 293, reduce 261) on LESSEQUAL +201: shift/reduce conflict (shift 294, reduce 261) on GREATEREQUAL +201: shift/reduce conflict (shift 295, reduce 261) on '<' +201: shift/reduce conflict (shift 296, reduce 261) on '>' +state 201 + equalityexpression : relationalexpression . (261) + relationalexpression : relationalexpression . '<' shiftexpression (265) + relationalexpression : relationalexpression . '>' shiftexpression (266) + relationalexpression : relationalexpression . LESSEQUAL shiftexpression (267) + relationalexpression : relationalexpression . GREATEREQUAL shiftexpression (268) + relationalexpression : relationalexpression . INSTANCEOF referencetype (269) - . reduce 265 - - -347: shift/reduce conflict (shift 288, reduce 261) on INSTANCEOF -347: shift/reduce conflict (shift 289, reduce 261) on LESSEQUAL -347: shift/reduce conflict (shift 290, reduce 261) on GREATEREQUAL -347: shift/reduce conflict (shift 291, reduce 261) on '<' -347: shift/reduce conflict (shift 292, reduce 261) on '>' -state 347 - equalityexpression : equalityexpression EQUAL relationalexpression . (261) - relationalexpression : relationalexpression . '<' shiftexpression (264) - relationalexpression : relationalexpression . '>' shiftexpression (265) - relationalexpression : relationalexpression . LESSEQUAL shiftexpression (266) - relationalexpression : relationalexpression . GREATEREQUAL shiftexpression (267) - relationalexpression : relationalexpression . INSTANCEOF referencetype (268) - - INSTANCEOF shift 288 - LESSEQUAL shift 289 - GREATEREQUAL shift 290 - '<' shift 291 - '>' shift 292 + INSTANCEOF shift 292 + LESSEQUAL shift 293 + GREATEREQUAL shift 294 + '<' shift 295 + '>' shift 296 ABSTRACT reduce 261 BOOLEAN reduce 261 CHAR reduce 261 @@ -5672,65 +2988,15 @@ state 347 '%' reduce 261 -348: shift/reduce conflict (shift 288, reduce 262) on INSTANCEOF -348: shift/reduce conflict (shift 289, reduce 262) on LESSEQUAL -348: shift/reduce conflict (shift 290, reduce 262) on GREATEREQUAL -348: shift/reduce conflict (shift 291, reduce 262) on '<' -348: shift/reduce conflict (shift 292, reduce 262) on '>' -state 348 - equalityexpression : equalityexpression NOTEQUAL relationalexpression . (262) - relationalexpression : relationalexpression . '<' shiftexpression (264) - relationalexpression : relationalexpression . '>' shiftexpression (265) - relationalexpression : relationalexpression . LESSEQUAL shiftexpression (266) - relationalexpression : relationalexpression . GREATEREQUAL shiftexpression (267) - relationalexpression : relationalexpression . INSTANCEOF referencetype (268) +202: shift/reduce conflict (shift 297, reduce 259) on EQUAL +202: shift/reduce conflict (shift 298, reduce 259) on NOTEQUAL +state 202 + andexpression : equalityexpression . (259) + equalityexpression : equalityexpression . EQUAL relationalexpression (262) + equalityexpression : equalityexpression . NOTEQUAL relationalexpression (263) - INSTANCEOF shift 288 - LESSEQUAL shift 289 - GREATEREQUAL shift 290 - '<' shift 291 - '>' shift 292 - ABSTRACT reduce 262 - BOOLEAN reduce 262 - CHAR reduce 262 - FINAL reduce 262 - INT reduce 262 - PRIVATE reduce 262 - PROTECTED reduce 262 - PUBLIC reduce 262 - STATIC reduce 262 - VOID reduce 262 - IDENTIFIER reduce 262 - EQUAL reduce 262 - NOTEQUAL reduce 262 - LOGICALOR reduce 262 - LOGICALAND reduce 262 - INCREMENT reduce 262 - DECREMENT reduce 262 - ',' reduce 262 - ';' reduce 262 - '.' reduce 262 - '*' reduce 262 - '}' reduce 262 - ')' reduce 262 - '&' reduce 262 - '+' reduce 262 - '-' reduce 262 - '|' reduce 262 - '^' reduce 262 - '/' reduce 262 - '%' reduce 262 - - -349: shift/reduce conflict (shift 293, reduce 259) on EQUAL -349: shift/reduce conflict (shift 294, reduce 259) on NOTEQUAL -state 349 - andexpression : andexpression '&' equalityexpression . (259) - equalityexpression : equalityexpression . EQUAL relationalexpression (261) - equalityexpression : equalityexpression . NOTEQUAL relationalexpression (262) - - EQUAL shift 293 - NOTEQUAL shift 294 + EQUAL shift 297 + NOTEQUAL shift 298 ABSTRACT reduce 259 BOOLEAN reduce 259 CHAR reduce 259 @@ -5766,12 +3032,12 @@ state 349 '%' reduce 259 -350: shift/reduce conflict (shift 295, reduce 248) on '&' -state 350 - exclusiveorexpression : exclusiveorexpression '^' andexpression . (248) - andexpression : andexpression . '&' equalityexpression (259) +203: shift/reduce conflict (shift 299, reduce 248) on '&' +state 203 + exclusiveorexpression : andexpression . (248) + andexpression : andexpression . '&' equalityexpression (260) - '&' shift 295 + '&' shift 299 ABSTRACT reduce 248 BOOLEAN reduce 248 CHAR reduce 248 @@ -5808,12 +3074,12 @@ state 350 '%' reduce 248 -351: shift/reduce conflict (shift 296, reduce 239) on '^' -state 351 - inclusiveorexpression : inclusiveorexpression '|' exclusiveorexpression . (239) - exclusiveorexpression : exclusiveorexpression . '^' andexpression (248) +204: shift/reduce conflict (shift 300, reduce 239) on '^' +state 204 + inclusiveorexpression : exclusiveorexpression . (239) + exclusiveorexpression : exclusiveorexpression . '^' andexpression (249) - '^' shift 296 + '^' shift 300 ABSTRACT reduce 239 BOOLEAN reduce 239 CHAR reduce 239 @@ -5850,12 +3116,12 @@ state 351 '%' reduce 239 -352: shift/reduce conflict (shift 297, reduce 227) on '|' -state 352 - conditionalandexpression : conditionalandexpression LOGICALAND inclusiveorexpression . (227) - inclusiveorexpression : inclusiveorexpression . '|' exclusiveorexpression (239) +205: shift/reduce conflict (shift 301, reduce 227) on '|' +state 205 + conditionalandexpression : inclusiveorexpression . (227) + inclusiveorexpression : inclusiveorexpression . '|' exclusiveorexpression (240) - '|' shift 297 + '|' shift 301 ABSTRACT reduce 227 BOOLEAN reduce 227 CHAR reduce 227 @@ -5892,12 +3158,12 @@ state 352 '%' reduce 227 -353: shift/reduce conflict (shift 298, reduce 202) on LOGICALAND -state 353 - conditionalorexpression : conditionalorexpression LOGICALOR conditionalandexpression . (202) - conditionalandexpression : conditionalandexpression . LOGICALAND inclusiveorexpression (227) +206: shift/reduce conflict (shift 302, reduce 202) on LOGICALAND +state 206 + conditionalorexpression : conditionalandexpression . (202) + conditionalandexpression : conditionalandexpression . LOGICALAND inclusiveorexpression (228) - LOGICALAND shift 298 + LOGICALAND shift 302 ABSTRACT reduce 202 BOOLEAN reduce 202 CHAR reduce 202 @@ -5934,1708 +3200,4633 @@ state 353 '%' reduce 202 -state 354 - methodheader : modifiers '<' boundedMethodParameters '>' VOID . methoddeclarator (116) - methodheader : modifiers '<' boundedMethodParameters '>' VOID . methoddeclarator throws (118) +207: shift/reduce conflict (shift 303, reduce 191) on LOGICALOR +state 207 + conditionalexpression : conditionalorexpression . (191) + conditionalorexpression : conditionalorexpression . LOGICALOR conditionalandexpression (203) + + LOGICALOR shift 303 + ABSTRACT reduce 191 + BOOLEAN reduce 191 + CHAR reduce 191 + FINAL reduce 191 + INSTANCEOF reduce 191 + INT reduce 191 + PRIVATE reduce 191 + PROTECTED reduce 191 + PUBLIC reduce 191 + STATIC reduce 191 + VOID reduce 191 + IDENTIFIER reduce 191 + EQUAL reduce 191 + LESSEQUAL reduce 191 + GREATEREQUAL reduce 191 + NOTEQUAL reduce 191 + LOGICALAND reduce 191 + INCREMENT reduce 191 + DECREMENT reduce 191 + ',' reduce 191 + ';' reduce 191 + '.' reduce 191 + '*' reduce 191 + '<' reduce 191 + '>' reduce 191 + '}' reduce 191 + ')' reduce 191 + '&' reduce 191 + '+' reduce 191 + '-' reduce 191 + '|' reduce 191 + '^' reduce 191 + '/' reduce 191 + '%' reduce 191 + + +state 208 + assignmentexpression : conditionalexpression . (182) + + . reduce 182 + + +state 209 + expression : assignmentexpression . (161) + + . reduce 161 + + +state 210 + fielddeclarator : variabledeclarator '=' expression . (79) + + . reduce 79 + + +state 211 + unaryexpression : preincrementexpression . (229) + + . reduce 229 + + +state 212 + unaryexpression : predecrementexpression . (230) + + . reduce 230 + + +state 213 + postfixexpression : postincrementexpression . (236) + + . reduce 236 + + +state 214 + postfixexpression : postdecrementexpression . (237) + + . reduce 237 + + +state 215 + expression : classinstancecreationexpression . (162) + + . reduce 162 + + +state 216 + assignmentexpression : assignment . (183) + + . reduce 183 + + +state 217 + primarynonewarray : methodinvocation . (243) + + . reduce 243 + + +state 218 + unaryexpressionnotplusminus : castexpression . (247) + + . reduce 247 + + +state 219 + constructordeclarator : simplename '(' ')' . (88) + + . reduce 88 + + +state 220 + constructordeclarator : simplename '(' formalparameterlist . ')' (89) + formalparameterlist : formalparameterlist . ',' formalparameter (135) + + ',' shift 275 + ')' shift 304 + . error + + +state 221 + type : primitivetype '[' ']' . (126) + + . reduce 126 + + +state 222 + type : referencetype '[' ']' . (128) + + . reduce 128 + + +state 223 + methodheader : type methoddeclarator throws . (108) + + . reduce 108 + + +state 224 + fielddeclaration : type variabledeclarators ';' . (83) + + . reduce 83 + + +state 225 + fielddeclarator : type variabledeclarator '=' . expression (78) + fielddeclarator : variabledeclarator '=' . expression (79) + + NEW shift 189 + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 200 + relationalexpression goto 201 + equalityexpression goto 202 + andexpression goto 203 + exclusiveorexpression goto 204 + inclusiveorexpression goto 205 + conditionalandexpression goto 206 + conditionalorexpression goto 207 + conditionalexpression goto 208 + assignmentexpression goto 209 + lambdaexpression goto 158 + expression goto 305 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + classinstancecreationexpression goto 215 + assignment goto 216 + lefthandside goto 175 + methodinvocation goto 217 + castexpression goto 218 + + +state 226 + fielddeclarator : type variabledeclarator . '=' expression (78) + + '=' shift 306 + . error + + +state 227 + methodheader : modifiers VOID methoddeclarator . (113) + methodheader : modifiers VOID methoddeclarator . throws (115) + + THROWS shift 88 + '{' reduce 113 + + throws goto 307 + + +state 228 + boundedMethodParameters : boundedMethodParameters . ',' boundedMethodParameter (103) + methodheader : modifiers '<' boundedMethodParameters . '>' type methoddeclarator (107) + methodheader : modifiers '<' boundedMethodParameters . '>' type methoddeclarator throws (111) + methodheader : modifiers '<' boundedMethodParameters . '>' VOID methoddeclarator (117) + methodheader : modifiers '<' boundedMethodParameters . '>' VOID methoddeclarator throws (119) + + ',' shift 183 + '>' shift 308 + . error + + +state 229 + methodheader : modifiers methoddeclarator throws . (124) + + . reduce 124 + + +state 230 + methoddeclarator : IDENTIFIER . '(' ')' (140) + methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (141) + variabledeclaratorid : IDENTIFIER . (153) + + '(' shift 83 + ',' reduce 153 + ';' reduce 153 + + +state 231 + methodheader : modifiers type methoddeclarator . (106) + methodheader : modifiers type methoddeclarator . throws (110) + + THROWS shift 88 + '{' reduce 106 + + throws goto 309 + + +state 232 + fielddeclaration : modifiers type variabledeclarators . ';' (84) + variabledeclarators : variabledeclarators . ',' variabledeclarator (130) + + ',' shift 92 + ';' shift 310 + . error + + +state 233 + constructordeclaration : modifiers constructordeclarator constructorbody . (75) + + . reduce 75 + + +state 234 + explicitconstructorinvocation : THIS . '(' ')' ';' (136) + explicitconstructorinvocation : THIS . '(' argumentlist ')' ';' (137) + primarynonewarray : THIS . (242) + + '(' shift 311 + INCREMENT reduce 242 + DECREMENT reduce 242 + '.' reduce 242 + + +state 235 + constructorbody : '{' '}' . (90) + + . reduce 90 + + +state 236 + constructorbody : '{' blockstatements . '}' (92) + blockstatements : blockstatements . blockstatement (133) + + BOOLEAN shift 37 + CHAR shift 38 + FOR shift 124 + IF shift 125 + INT shift 39 + RETURN shift 126 + THIS shift 127 + WHILE shift 128 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 137 + INCREMENT shift 138 + DECREMENT shift 139 + ';' shift 140 + '{' shift 79 + '}' shift 312 + '(' shift 142 + . error + + variabledeclarators goto 143 + variabledeclarator goto 144 + variabledeclaratorid goto 55 + simplename goto 145 + qualifiedname goto 146 + name goto 147 + classorinterfacetype goto 57 + integraltype goto 58 + numerictype goto 59 + primitivetype goto 60 + referencetype goto 61 + type goto 148 + block goto 149 + localvariabledeclarationstatement goto 151 + localvariabledeclaration goto 152 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 157 + lambdaexpression goto 158 + statementexpression goto 159 + preincrementexpression goto 160 + predecrementexpression goto 161 + postincrementexpression goto 162 + postdecrementexpression goto 163 + expressionstatement goto 164 + statementwithouttrailingsubstatement goto 165 + blockstatement goto 259 + statement goto 167 + whilestatement goto 168 + forstatement goto 169 + ifthenstatement goto 170 + ifthenelsestatement goto 171 + emptystatement goto 172 + returnstatement goto 173 + assignment goto 174 + lefthandside goto 175 + methodinvocation goto 176 + + +state 237 + constructorbody : '{' explicitconstructorinvocation . '}' (91) + constructorbody : '{' explicitconstructorinvocation . blockstatements '}' (93) + + BOOLEAN shift 37 + CHAR shift 38 + FOR shift 124 + IF shift 125 + INT shift 39 + RETURN shift 126 + THIS shift 127 + WHILE shift 128 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 137 + INCREMENT shift 138 + DECREMENT shift 139 + ';' shift 140 + '{' shift 79 + '}' shift 313 + '(' shift 142 + . error + + variabledeclarators goto 143 + variabledeclarator goto 144 + variabledeclaratorid goto 55 + simplename goto 145 + qualifiedname goto 146 + name goto 147 + classorinterfacetype goto 57 + integraltype goto 58 + numerictype goto 59 + primitivetype goto 60 + referencetype goto 61 + type goto 148 + block goto 149 + blockstatements goto 314 + localvariabledeclarationstatement goto 151 + localvariabledeclaration goto 152 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 157 + lambdaexpression goto 158 + statementexpression goto 159 + preincrementexpression goto 160 + predecrementexpression goto 161 + postincrementexpression goto 162 + postdecrementexpression goto 163 + expressionstatement goto 164 + statementwithouttrailingsubstatement goto 165 + blockstatement goto 166 + statement goto 167 + whilestatement goto 168 + forstatement goto 169 + ifthenstatement goto 170 + ifthenelsestatement goto 171 + emptystatement goto 172 + returnstatement goto 173 + assignment goto 174 + lefthandside goto 175 + methodinvocation goto 176 + + +state 238 + classdeclaration : modifiers CLASS classidentifier super interfaces classbody . (22) + + . reduce 22 + + +state 239 + boundedclassidentifierlist : boundedclassidentifierlist '&' . referencetype (101) + + IDENTIFIER shift 31 + . error + + simplename goto 32 + classorinterfacetype goto 57 + referencetype goto 315 + + +state 240 + paralist : IDENTIFIER '<' . paralist '>' (32) + + IDENTIFIER shift 120 + '?' shift 121 + . error + + paralist goto 316 + wildcardparameter goto 123 + + +state 241 + wildcardparameter : '?' EXTENDS . referencetype (38) + + IDENTIFIER shift 31 + . error + + simplename goto 32 + classorinterfacetype goto 57 + referencetype goto 317 + + +state 242 + wildcardparameter : '?' SUPER . referencetype (39) + + IDENTIFIER shift 31 + . error + + simplename goto 32 + classorinterfacetype goto 57 + referencetype goto 318 + + +state 243 + paralist : paralist ',' . IDENTIFIER (34) + paralist : paralist ',' . IDENTIFIER '<' paralist '>' (35) + paralist : paralist ',' . wildcardparameter (36) + + IDENTIFIER shift 319 + '?' shift 121 + . error + + wildcardparameter goto 320 + + +state 244 + parameter : '<' paralist '>' . (68) + + . reduce 68 + + +state 245 + forstatement : FOR '(' . expression ';' expression ';' expression ')' statement (174) + forstatement : FOR '(' . expression ';' expression ';' ')' statement (175) + forstatement : FOR '(' . expression ';' ';' expression ')' statement (176) + forstatement : FOR '(' . ';' expression ';' expression ')' statement (177) + forstatement : FOR '(' . expression ';' ';' ')' statement (178) + forstatement : FOR '(' . ';' expression ';' ')' statement (179) + forstatement : FOR '(' . ';' ';' expression ')' statement (180) + forstatement : FOR '(' . ';' ';' ')' statement (181) + + NEW shift 189 + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + ';' shift 321 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 200 + relationalexpression goto 201 + equalityexpression goto 202 + andexpression goto 203 + exclusiveorexpression goto 204 + inclusiveorexpression goto 205 + conditionalandexpression goto 206 + conditionalorexpression goto 207 + conditionalexpression goto 208 + assignmentexpression goto 209 + lambdaexpression goto 158 + expression goto 322 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + classinstancecreationexpression goto 215 + assignment goto 216 + lefthandside goto 175 + methodinvocation goto 217 + castexpression goto 218 + + +state 246 + ifthenstatement : IF '(' . expression ')' statement (171) + ifthenelsestatement : IF '(' . expression ')' statementnoshortif ELSE statement (172) + + NEW shift 189 + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 200 + relationalexpression goto 201 + equalityexpression goto 202 + andexpression goto 203 + exclusiveorexpression goto 204 + inclusiveorexpression goto 205 + conditionalandexpression goto 206 + conditionalorexpression goto 207 + conditionalexpression goto 208 + assignmentexpression goto 209 + lambdaexpression goto 158 + expression goto 323 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + classinstancecreationexpression goto 215 + assignment goto 216 + lefthandside goto 175 + methodinvocation goto 217 + castexpression goto 218 + + +state 247 + returnstatement : RETURN ';' . (186) + + . reduce 186 + + +state 248 + returnstatement : RETURN expression . ';' (187) + + ';' shift 324 + . error + + +state 249 + whilestatement : WHILE '(' . expression ')' statement (173) + + NEW shift 189 + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 200 + relationalexpression goto 201 + equalityexpression goto 202 + andexpression goto 203 + exclusiveorexpression goto 204 + inclusiveorexpression goto 205 + conditionalandexpression goto 206 + conditionalorexpression goto 207 + conditionalexpression goto 208 + assignmentexpression goto 209 + lambdaexpression goto 158 + expression goto 325 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + classinstancecreationexpression goto 215 + assignment goto 216 + lefthandside goto 175 + methodinvocation goto 217 + castexpression goto 218 + + +250: shift/reduce conflict (shift 255, reduce 235) on '.' +state 250 + qualifiedname : name . '.' IDENTIFIER (11) + methodinvocation : name . '(' ')' (221) + methodinvocation : name . '(' argumentlist ')' (222) + postfixexpression : name . (235) + + '.' shift 255 + '(' shift 256 + ABSTRACT reduce 235 + BOOLEAN reduce 235 + CHAR reduce 235 + FINAL reduce 235 + INSTANCEOF reduce 235 + INT reduce 235 + PRIVATE reduce 235 + PROTECTED reduce 235 + PUBLIC reduce 235 + STATIC reduce 235 + VOID reduce 235 + IDENTIFIER reduce 235 + EQUAL reduce 235 + LESSEQUAL reduce 235 + GREATEREQUAL reduce 235 + NOTEQUAL reduce 235 + LOGICALOR reduce 235 + LOGICALAND reduce 235 + INCREMENT reduce 235 + DECREMENT reduce 235 + ',' reduce 235 + ';' reduce 235 + '*' reduce 235 + '<' reduce 235 + '>' reduce 235 + '}' reduce 235 + ')' reduce 235 + '&' reduce 235 + '+' reduce 235 + '-' reduce 235 + '|' reduce 235 + '^' reduce 235 + '/' reduce 235 + '%' reduce 235 + + +state 251 + preincrementexpression : INCREMENT unaryexpression . (217) + + . reduce 217 + + +state 252 + predecrementexpression : DECREMENT unaryexpression . (218) + + . reduce 218 + + +state 253 + lambdaexpressionparameter : '(' ')' . (207) + + . reduce 207 + + +state 254 + formalparameterlist : formalparameterlist . ',' formalparameter (135) + lambdaexpressionparameter : '(' formalparameterlist . ')' (208) + + ',' shift 275 + ')' shift 326 + . error + + +state 255 + qualifiedname : name '.' . IDENTIFIER (11) + + IDENTIFIER shift 327 + . error + + +state 256 + methodinvocation : name '(' . ')' (221) + methodinvocation : name '(' . argumentlist ')' (222) + + NEW shift 189 + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + ')' shift 328 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 200 + relationalexpression goto 201 + equalityexpression goto 202 + andexpression goto 203 + exclusiveorexpression goto 204 + inclusiveorexpression goto 205 + conditionalandexpression goto 206 + conditionalorexpression goto 207 + conditionalexpression goto 208 + assignmentexpression goto 209 + lambdaexpression goto 158 + expression goto 329 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + classinstancecreationexpression goto 215 + assignment goto 216 + lefthandside goto 175 + argumentlist goto 330 + methodinvocation goto 217 + castexpression goto 218 + + +state 257 + variabledeclarators : variabledeclarators . ',' variabledeclarator (130) + localvariabledeclaration : type variabledeclarators . (165) + + ',' shift 92 + ';' reduce 165 + + +state 258 + block : '{' blockstatements '}' . (87) + + . reduce 87 + + +state 259 + blockstatements : blockstatements blockstatement . (133) + + . reduce 133 + + +state 260 + localvariabledeclarationstatement : localvariabledeclaration ';' . (155) + + . reduce 155 + + +state 261 + lambdaassignmentoperator : LAMBDAASSIGNMENT . (204) + + . reduce 204 + + +state 262 + lambdaexpression : lambdaexpressionparameter lambdaassignmentoperator . lambdabody (209) + + NEW shift 189 + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '{' shift 79 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + block goto 331 + lambdabody goto 332 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 200 + relationalexpression goto 201 + equalityexpression goto 202 + andexpression goto 203 + exclusiveorexpression goto 204 + inclusiveorexpression goto 205 + conditionalandexpression goto 206 + conditionalorexpression goto 207 + conditionalexpression goto 208 + assignmentexpression goto 209 + lambdaexpression goto 158 + expression goto 333 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + classinstancecreationexpression goto 215 + assignment goto 216 + lefthandside goto 175 + methodinvocation goto 217 + castexpression goto 218 + + +state 263 + methodinvocation : primary '.' . IDENTIFIER '(' ')' (223) + methodinvocation : primary '.' . IDENTIFIER '(' argumentlist ')' (224) + + IDENTIFIER shift 334 + . error + + +state 264 + postincrementexpression : postfixexpression INCREMENT . (219) + + . reduce 219 + + +state 265 + postdecrementexpression : postfixexpression DECREMENT . (220) + + . reduce 220 + + +state 266 + expressionstatement : statementexpression ';' . (185) + + . reduce 185 + + +state 267 + assignmentoperator : PLUSEQUAL . (215) + + . reduce 215 + + +state 268 + assignmentoperator : MINUSEQUAL . (216) + + . reduce 216 + + +state 269 + assignmentoperator : TIMESEQUAL . (212) + + . reduce 212 + + +state 270 + assignmentoperator : DIVIDEEQUAL . (213) + + . reduce 213 + + +state 271 + assignmentoperator : MODULOEQUAL . (214) + + . reduce 214 + + +state 272 + assignmentoperator : '=' . (211) + + . reduce 211 + + +state 273 + assignment : lefthandside assignmentoperator . assignmentexpression (192) + assignment : lefthandside assignmentoperator . classinstancecreationexpression (193) + + NEW shift 189 + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 200 + relationalexpression goto 201 + equalityexpression goto 202 + andexpression goto 203 + exclusiveorexpression goto 204 + inclusiveorexpression goto 205 + conditionalandexpression goto 206 + conditionalorexpression goto 207 + conditionalexpression goto 208 + assignmentexpression goto 335 + lambdaexpression goto 158 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + classinstancecreationexpression goto 336 + assignment goto 216 + lefthandside goto 175 + methodinvocation goto 217 + castexpression goto 218 + + +state 274 + formalparameter : type variabledeclaratorid . (148) + + . reduce 148 + + +state 275 + formalparameterlist : formalparameterlist ',' . formalparameter (135) + + BOOLEAN shift 37 + CHAR shift 38 + INT shift 39 + IDENTIFIER shift 137 + . error + + variabledeclaratorid goto 179 + simplename goto 32 + classorinterfacetype goto 57 + integraltype goto 58 + numerictype goto 59 + primitivetype goto 60 + referencetype goto 61 + type goto 180 + formalparameter goto 337 + + +state 276 + methoddeclarator : IDENTIFIER '(' formalparameterlist ')' . (141) + + . reduce 141 + + +state 277 + boundedMethodParameters : boundedMethodParameters ',' boundedMethodParameter . (103) + + . reduce 103 + + +state 278 + methodheader : '<' boundedMethodParameters '>' VOID . methoddeclarator (116) + methodheader : '<' boundedMethodParameters '>' VOID . methoddeclarator throws (118) IDENTIFIER shift 81 . error - methoddeclarator goto 374 + methoddeclarator goto 338 -state 355 - methodheader : modifiers '<' boundedMethodParameters '>' type . methoddeclarator (106) - methodheader : modifiers '<' boundedMethodParameters '>' type . methoddeclarator throws (110) +state 279 + methodheader : '<' boundedMethodParameters '>' methoddeclarator . (121) + + . reduce 121 + + +state 280 + methodheader : '<' boundedMethodParameters '>' type . methoddeclarator (104) + methodheader : '<' boundedMethodParameters '>' type . methoddeclarator throws (109) IDENTIFIER shift 81 . error - methoddeclarator goto 375 + methoddeclarator goto 339 -state 356 - explicitconstructorinvocation : THIS '(' ')' . ';' (135) +state 281 + classtypelist : classtypelist ',' . classtype (139) - ';' shift 376 + IDENTIFIER shift 31 + . error + + simplename goto 32 + classtype goto 340 + classorinterfacetype goto 34 + + +state 282 + classinstancecreationexpression : NEW classtype . '(' ')' (225) + classinstancecreationexpression : NEW classtype . '(' argumentlist ')' (226) + + '(' shift 341 . error -state 357 - explicitconstructorinvocation : THIS '(' argumentlist . ')' ';' (136) - argumentlist : argumentlist . ',' expression (150) +state 283 + type : primitivetype . (125) + type : primitivetype . '[' ']' (126) + castexpression : '(' primitivetype . ')' unaryexpression (258) - ',' shift 366 - ')' shift 377 + ')' shift 342 + '[' shift 97 + IDENTIFIER reduce 125 + + +state 284 + unaryexpression : '+' unaryexpression . (231) + + . reduce 231 + + +state 285 + unaryexpression : '-' unaryexpression . (232) + + . reduce 232 + + +state 286 + unaryexpressionnotplusminus : '!' unaryexpression . (246) + + . reduce 246 + + +state 287 + multiplicativeexpression : multiplicativeexpression '*' . unaryexpression (275) + + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 . error + simplename goto 194 + qualifiedname goto 146 + name goto 250 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 343 + lambdaexpression goto 158 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + methodinvocation goto 217 + castexpression goto 218 -state 358 - constructorbody : '{' explicitconstructorinvocation blockstatements '}' . (92) + +state 288 + multiplicativeexpression : multiplicativeexpression '/' . unaryexpression (276) + + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 250 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 344 + lambdaexpression goto 158 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + methodinvocation goto 217 + castexpression goto 218 + + +state 289 + multiplicativeexpression : multiplicativeexpression '%' . unaryexpression (277) + + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 250 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 345 + lambdaexpression goto 158 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + methodinvocation goto 217 + castexpression goto 218 + + +state 290 + additiveexpression : additiveexpression '+' . multiplicativeexpression (272) + + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 250 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 346 + lambdaexpression goto 158 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + methodinvocation goto 217 + castexpression goto 218 + + +state 291 + additiveexpression : additiveexpression '-' . multiplicativeexpression (273) + + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 250 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 347 + lambdaexpression goto 158 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + methodinvocation goto 217 + castexpression goto 218 + + +state 292 + relationalexpression : relationalexpression INSTANCEOF . referencetype (269) + + IDENTIFIER shift 31 + . error + + simplename goto 32 + classorinterfacetype goto 57 + referencetype goto 348 + + +state 293 + relationalexpression : relationalexpression LESSEQUAL . shiftexpression (267) + + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 250 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 349 + lambdaexpression goto 158 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + methodinvocation goto 217 + castexpression goto 218 + + +state 294 + relationalexpression : relationalexpression GREATEREQUAL . shiftexpression (268) + + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 250 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 350 + lambdaexpression goto 158 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + methodinvocation goto 217 + castexpression goto 218 + + +state 295 + relationalexpression : relationalexpression '<' . shiftexpression (265) + + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 250 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 351 + lambdaexpression goto 158 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + methodinvocation goto 217 + castexpression goto 218 + + +state 296 + relationalexpression : relationalexpression '>' . shiftexpression (266) + + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 250 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 352 + lambdaexpression goto 158 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + methodinvocation goto 217 + castexpression goto 218 + + +state 297 + equalityexpression : equalityexpression EQUAL . relationalexpression (262) + + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 250 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 200 + relationalexpression goto 353 + lambdaexpression goto 158 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + methodinvocation goto 217 + castexpression goto 218 + + +state 298 + equalityexpression : equalityexpression NOTEQUAL . relationalexpression (263) + + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 250 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 200 + relationalexpression goto 354 + lambdaexpression goto 158 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + methodinvocation goto 217 + castexpression goto 218 + + +state 299 + andexpression : andexpression '&' . equalityexpression (260) + + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 250 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 200 + relationalexpression goto 201 + equalityexpression goto 355 + lambdaexpression goto 158 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + methodinvocation goto 217 + castexpression goto 218 + + +state 300 + exclusiveorexpression : exclusiveorexpression '^' . andexpression (249) + + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 250 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 200 + relationalexpression goto 201 + equalityexpression goto 202 + andexpression goto 356 + lambdaexpression goto 158 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + methodinvocation goto 217 + castexpression goto 218 + + +state 301 + inclusiveorexpression : inclusiveorexpression '|' . exclusiveorexpression (240) + + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 250 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 200 + relationalexpression goto 201 + equalityexpression goto 202 + andexpression goto 203 + exclusiveorexpression goto 357 + lambdaexpression goto 158 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + methodinvocation goto 217 + castexpression goto 218 + + +state 302 + conditionalandexpression : conditionalandexpression LOGICALAND . inclusiveorexpression (228) + + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 250 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 200 + relationalexpression goto 201 + equalityexpression goto 202 + andexpression goto 203 + exclusiveorexpression goto 204 + inclusiveorexpression goto 358 + lambdaexpression goto 158 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + methodinvocation goto 217 + castexpression goto 218 + + +state 303 + conditionalorexpression : conditionalorexpression LOGICALOR . conditionalandexpression (203) + + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 250 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 200 + relationalexpression goto 201 + equalityexpression goto 202 + andexpression goto 203 + exclusiveorexpression goto 204 + inclusiveorexpression goto 205 + conditionalandexpression goto 359 + lambdaexpression goto 158 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + methodinvocation goto 217 + castexpression goto 218 + + +state 304 + constructordeclarator : simplename '(' formalparameterlist ')' . (89) + + . reduce 89 + + +state 305 + fielddeclarator : type variabledeclarator '=' expression . (78) + fielddeclarator : variabledeclarator '=' expression . (79) + + ABSTRACT reduce 79 + BOOLEAN reduce 79 + CHAR reduce 79 + FINAL reduce 79 + INT reduce 79 + PRIVATE reduce 79 + PROTECTED reduce 79 + PUBLIC reduce 79 + STATIC reduce 79 + VOID reduce 79 + IDENTIFIER reduce 79 + ';' reduce 78 + '<' reduce 79 + '}' reduce 79 + + +state 306 + fielddeclarator : type variabledeclarator '=' . expression (78) + + NEW shift 189 + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 200 + relationalexpression goto 201 + equalityexpression goto 202 + andexpression goto 203 + exclusiveorexpression goto 204 + inclusiveorexpression goto 205 + conditionalandexpression goto 206 + conditionalorexpression goto 207 + conditionalexpression goto 208 + assignmentexpression goto 209 + lambdaexpression goto 158 + expression goto 360 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + classinstancecreationexpression goto 215 + assignment goto 216 + lefthandside goto 175 + methodinvocation goto 217 + castexpression goto 218 + + +state 307 + methodheader : modifiers VOID methoddeclarator throws . (115) + + . reduce 115 + + +state 308 + methodheader : modifiers '<' boundedMethodParameters '>' . type methoddeclarator (107) + methodheader : modifiers '<' boundedMethodParameters '>' . type methoddeclarator throws (111) + methodheader : modifiers '<' boundedMethodParameters '>' . VOID methoddeclarator (117) + methodheader : modifiers '<' boundedMethodParameters '>' . VOID methoddeclarator throws (119) + + BOOLEAN shift 37 + CHAR shift 38 + INT shift 39 + VOID shift 361 + IDENTIFIER shift 31 + . error + + simplename goto 32 + classorinterfacetype goto 57 + integraltype goto 58 + numerictype goto 59 + primitivetype goto 60 + referencetype goto 61 + type goto 362 + + +state 309 + methodheader : modifiers type methoddeclarator throws . (110) + + . reduce 110 + + +state 310 + fielddeclaration : modifiers type variabledeclarators ';' . (84) + + . reduce 84 + + +state 311 + explicitconstructorinvocation : THIS '(' . ')' ';' (136) + explicitconstructorinvocation : THIS '(' . argumentlist ')' ';' (137) + + NEW shift 189 + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + ')' shift 363 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 200 + relationalexpression goto 201 + equalityexpression goto 202 + andexpression goto 203 + exclusiveorexpression goto 204 + inclusiveorexpression goto 205 + conditionalandexpression goto 206 + conditionalorexpression goto 207 + conditionalexpression goto 208 + assignmentexpression goto 209 + lambdaexpression goto 158 + expression goto 329 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + classinstancecreationexpression goto 215 + assignment goto 216 + lefthandside goto 175 + argumentlist goto 364 + methodinvocation goto 217 + castexpression goto 218 + + +state 312 + constructorbody : '{' blockstatements '}' . (92) . reduce 92 +state 313 + constructorbody : '{' explicitconstructorinvocation '}' . (91) + + . reduce 91 + + +state 314 + constructorbody : '{' explicitconstructorinvocation blockstatements . '}' (93) + blockstatements : blockstatements . blockstatement (133) + + BOOLEAN shift 37 + CHAR shift 38 + FOR shift 124 + IF shift 125 + INT shift 39 + RETURN shift 126 + THIS shift 127 + WHILE shift 128 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 137 + INCREMENT shift 138 + DECREMENT shift 139 + ';' shift 140 + '{' shift 79 + '}' shift 365 + '(' shift 142 + . error + + variabledeclarators goto 143 + variabledeclarator goto 144 + variabledeclaratorid goto 55 + simplename goto 145 + qualifiedname goto 146 + name goto 147 + classorinterfacetype goto 57 + integraltype goto 58 + numerictype goto 59 + primitivetype goto 60 + referencetype goto 61 + type goto 148 + block goto 149 + localvariabledeclarationstatement goto 151 + localvariabledeclaration goto 152 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 157 + lambdaexpression goto 158 + statementexpression goto 159 + preincrementexpression goto 160 + predecrementexpression goto 161 + postincrementexpression goto 162 + postdecrementexpression goto 163 + expressionstatement goto 164 + statementwithouttrailingsubstatement goto 165 + blockstatement goto 259 + statement goto 167 + whilestatement goto 168 + forstatement goto 169 + ifthenstatement goto 170 + ifthenelsestatement goto 171 + emptystatement goto 172 + returnstatement goto 173 + assignment goto 174 + lefthandside goto 175 + methodinvocation goto 176 + + +state 315 + boundedclassidentifierlist : boundedclassidentifierlist '&' referencetype . (101) + + . reduce 101 + + +state 316 + paralist : IDENTIFIER '<' paralist . '>' (32) + paralist : paralist . ',' IDENTIFIER (34) + paralist : paralist . ',' IDENTIFIER '<' paralist '>' (35) + paralist : paralist . ',' wildcardparameter (36) + + ',' shift 243 + '>' shift 366 + . error + + +state 317 + wildcardparameter : '?' EXTENDS referencetype . (38) + + . reduce 38 + + +state 318 + wildcardparameter : '?' SUPER referencetype . (39) + + . reduce 39 + + +state 319 + paralist : paralist ',' IDENTIFIER . (34) + paralist : paralist ',' IDENTIFIER . '<' paralist '>' (35) + + '<' shift 367 + ',' reduce 34 + '>' reduce 34 + + +state 320 + paralist : paralist ',' wildcardparameter . (36) + + . reduce 36 + + +state 321 + forstatement : FOR '(' ';' . expression ';' expression ')' statement (177) + forstatement : FOR '(' ';' . expression ';' ')' statement (179) + forstatement : FOR '(' ';' . ';' expression ')' statement (180) + forstatement : FOR '(' ';' . ';' ')' statement (181) + + NEW shift 189 + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + ';' shift 368 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 200 + relationalexpression goto 201 + equalityexpression goto 202 + andexpression goto 203 + exclusiveorexpression goto 204 + inclusiveorexpression goto 205 + conditionalandexpression goto 206 + conditionalorexpression goto 207 + conditionalexpression goto 208 + assignmentexpression goto 209 + lambdaexpression goto 158 + expression goto 369 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + classinstancecreationexpression goto 215 + assignment goto 216 + lefthandside goto 175 + methodinvocation goto 217 + castexpression goto 218 + + +state 322 + forstatement : FOR '(' expression . ';' expression ';' expression ')' statement (174) + forstatement : FOR '(' expression . ';' expression ';' ')' statement (175) + forstatement : FOR '(' expression . ';' ';' expression ')' statement (176) + forstatement : FOR '(' expression . ';' ';' ')' statement (178) + + ';' shift 370 + . error + + +state 323 + ifthenstatement : IF '(' expression . ')' statement (171) + ifthenelsestatement : IF '(' expression . ')' statementnoshortif ELSE statement (172) + + ')' shift 371 + . error + + +state 324 + returnstatement : RETURN expression ';' . (187) + + . reduce 187 + + +state 325 + whilestatement : WHILE '(' expression . ')' statement (173) + + ')' shift 372 + . error + + +state 326 + lambdaexpressionparameter : '(' formalparameterlist ')' . (208) + + . reduce 208 + + +state 327 + qualifiedname : name '.' IDENTIFIER . (11) + + . reduce 11 + + +state 328 + methodinvocation : name '(' ')' . (221) + + . reduce 221 + + +state 329 + argumentlist : expression . (150) + + . reduce 150 + + +state 330 + argumentlist : argumentlist . ',' expression (151) + methodinvocation : name '(' argumentlist . ')' (222) + + ',' shift 373 + ')' shift 374 + . error + + +state 331 + lambdabody : block . (205) + + . reduce 205 + + +state 332 + lambdaexpression : lambdaexpressionparameter lambdaassignmentoperator lambdabody . (209) + + . reduce 209 + + +state 333 + lambdabody : expression . (206) + + . reduce 206 + + +state 334 + methodinvocation : primary '.' IDENTIFIER . '(' ')' (223) + methodinvocation : primary '.' IDENTIFIER . '(' argumentlist ')' (224) + + '(' shift 375 + . error + + +state 335 + assignment : lefthandside assignmentoperator assignmentexpression . (192) + + . reduce 192 + + +state 336 + assignment : lefthandside assignmentoperator classinstancecreationexpression . (193) + + . reduce 193 + + +state 337 + formalparameterlist : formalparameterlist ',' formalparameter . (135) + + . reduce 135 + + +state 338 + methodheader : '<' boundedMethodParameters '>' VOID methoddeclarator . (116) + methodheader : '<' boundedMethodParameters '>' VOID methoddeclarator . throws (118) + + THROWS shift 88 + '{' reduce 116 + + throws goto 376 + + +state 339 + methodheader : '<' boundedMethodParameters '>' type methoddeclarator . (104) + methodheader : '<' boundedMethodParameters '>' type methoddeclarator . throws (109) + + THROWS shift 88 + '{' reduce 104 + + throws goto 377 + + +state 340 + classtypelist : classtypelist ',' classtype . (139) + + . reduce 139 + + +state 341 + classinstancecreationexpression : NEW classtype '(' . ')' (225) + classinstancecreationexpression : NEW classtype '(' . argumentlist ')' (226) + + NEW shift 189 + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + ')' shift 378 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 200 + relationalexpression goto 201 + equalityexpression goto 202 + andexpression goto 203 + exclusiveorexpression goto 204 + inclusiveorexpression goto 205 + conditionalandexpression goto 206 + conditionalorexpression goto 207 + conditionalexpression goto 208 + assignmentexpression goto 209 + lambdaexpression goto 158 + expression goto 329 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + classinstancecreationexpression goto 215 + assignment goto 216 + lefthandside goto 175 + argumentlist goto 379 + methodinvocation goto 217 + castexpression goto 218 + + +state 342 + castexpression : '(' primitivetype ')' . unaryexpression (258) + + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 250 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 380 + lambdaexpression goto 158 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + methodinvocation goto 217 + castexpression goto 218 + + +state 343 + multiplicativeexpression : multiplicativeexpression '*' unaryexpression . (275) + + . reduce 275 + + +state 344 + multiplicativeexpression : multiplicativeexpression '/' unaryexpression . (276) + + . reduce 276 + + +state 345 + multiplicativeexpression : multiplicativeexpression '%' unaryexpression . (277) + + . reduce 277 + + +346: shift/reduce conflict (shift 287, reduce 272) on '*' +346: shift/reduce conflict (shift 288, reduce 272) on '/' +346: shift/reduce conflict (shift 289, reduce 272) on '%' +state 346 + additiveexpression : additiveexpression '+' multiplicativeexpression . (272) + multiplicativeexpression : multiplicativeexpression . '*' unaryexpression (275) + multiplicativeexpression : multiplicativeexpression . '/' unaryexpression (276) + multiplicativeexpression : multiplicativeexpression . '%' unaryexpression (277) + + '*' shift 287 + '/' shift 288 + '%' shift 289 + ABSTRACT reduce 272 + BOOLEAN reduce 272 + CHAR reduce 272 + FINAL reduce 272 + INSTANCEOF reduce 272 + INT reduce 272 + PRIVATE reduce 272 + PROTECTED reduce 272 + PUBLIC reduce 272 + STATIC reduce 272 + VOID reduce 272 + IDENTIFIER reduce 272 + EQUAL reduce 272 + LESSEQUAL reduce 272 + GREATEREQUAL reduce 272 + NOTEQUAL reduce 272 + LOGICALOR reduce 272 + LOGICALAND reduce 272 + INCREMENT reduce 272 + DECREMENT reduce 272 + ',' reduce 272 + ';' reduce 272 + '.' reduce 272 + '<' reduce 272 + '>' reduce 272 + '}' reduce 272 + ')' reduce 272 + '&' reduce 272 + '+' reduce 272 + '-' reduce 272 + '|' reduce 272 + '^' reduce 272 + + +347: shift/reduce conflict (shift 287, reduce 273) on '*' +347: shift/reduce conflict (shift 288, reduce 273) on '/' +347: shift/reduce conflict (shift 289, reduce 273) on '%' +state 347 + additiveexpression : additiveexpression '-' multiplicativeexpression . (273) + multiplicativeexpression : multiplicativeexpression . '*' unaryexpression (275) + multiplicativeexpression : multiplicativeexpression . '/' unaryexpression (276) + multiplicativeexpression : multiplicativeexpression . '%' unaryexpression (277) + + '*' shift 287 + '/' shift 288 + '%' shift 289 + ABSTRACT reduce 273 + BOOLEAN reduce 273 + CHAR reduce 273 + FINAL reduce 273 + INSTANCEOF reduce 273 + INT reduce 273 + PRIVATE reduce 273 + PROTECTED reduce 273 + PUBLIC reduce 273 + STATIC reduce 273 + VOID reduce 273 + IDENTIFIER reduce 273 + EQUAL reduce 273 + LESSEQUAL reduce 273 + GREATEREQUAL reduce 273 + NOTEQUAL reduce 273 + LOGICALOR reduce 273 + LOGICALAND reduce 273 + INCREMENT reduce 273 + DECREMENT reduce 273 + ',' reduce 273 + ';' reduce 273 + '.' reduce 273 + '<' reduce 273 + '>' reduce 273 + '}' reduce 273 + ')' reduce 273 + '&' reduce 273 + '+' reduce 273 + '-' reduce 273 + '|' reduce 273 + '^' reduce 273 + + +state 348 + relationalexpression : relationalexpression INSTANCEOF referencetype . (269) + + . reduce 269 + + +state 349 + relationalexpression : relationalexpression LESSEQUAL shiftexpression . (267) + + . reduce 267 + + +state 350 + relationalexpression : relationalexpression GREATEREQUAL shiftexpression . (268) + + . reduce 268 + + +state 351 + relationalexpression : relationalexpression '<' shiftexpression . (265) + + . reduce 265 + + +state 352 + relationalexpression : relationalexpression '>' shiftexpression . (266) + + . reduce 266 + + +353: shift/reduce conflict (shift 292, reduce 262) on INSTANCEOF +353: shift/reduce conflict (shift 293, reduce 262) on LESSEQUAL +353: shift/reduce conflict (shift 294, reduce 262) on GREATEREQUAL +353: shift/reduce conflict (shift 295, reduce 262) on '<' +353: shift/reduce conflict (shift 296, reduce 262) on '>' +state 353 + equalityexpression : equalityexpression EQUAL relationalexpression . (262) + relationalexpression : relationalexpression . '<' shiftexpression (265) + relationalexpression : relationalexpression . '>' shiftexpression (266) + relationalexpression : relationalexpression . LESSEQUAL shiftexpression (267) + relationalexpression : relationalexpression . GREATEREQUAL shiftexpression (268) + relationalexpression : relationalexpression . INSTANCEOF referencetype (269) + + INSTANCEOF shift 292 + LESSEQUAL shift 293 + GREATEREQUAL shift 294 + '<' shift 295 + '>' shift 296 + ABSTRACT reduce 262 + BOOLEAN reduce 262 + CHAR reduce 262 + FINAL reduce 262 + INT reduce 262 + PRIVATE reduce 262 + PROTECTED reduce 262 + PUBLIC reduce 262 + STATIC reduce 262 + VOID reduce 262 + IDENTIFIER reduce 262 + EQUAL reduce 262 + NOTEQUAL reduce 262 + LOGICALOR reduce 262 + LOGICALAND reduce 262 + INCREMENT reduce 262 + DECREMENT reduce 262 + ',' reduce 262 + ';' reduce 262 + '.' reduce 262 + '*' reduce 262 + '}' reduce 262 + ')' reduce 262 + '&' reduce 262 + '+' reduce 262 + '-' reduce 262 + '|' reduce 262 + '^' reduce 262 + '/' reduce 262 + '%' reduce 262 + + +354: shift/reduce conflict (shift 292, reduce 263) on INSTANCEOF +354: shift/reduce conflict (shift 293, reduce 263) on LESSEQUAL +354: shift/reduce conflict (shift 294, reduce 263) on GREATEREQUAL +354: shift/reduce conflict (shift 295, reduce 263) on '<' +354: shift/reduce conflict (shift 296, reduce 263) on '>' +state 354 + equalityexpression : equalityexpression NOTEQUAL relationalexpression . (263) + relationalexpression : relationalexpression . '<' shiftexpression (265) + relationalexpression : relationalexpression . '>' shiftexpression (266) + relationalexpression : relationalexpression . LESSEQUAL shiftexpression (267) + relationalexpression : relationalexpression . GREATEREQUAL shiftexpression (268) + relationalexpression : relationalexpression . INSTANCEOF referencetype (269) + + INSTANCEOF shift 292 + LESSEQUAL shift 293 + GREATEREQUAL shift 294 + '<' shift 295 + '>' shift 296 + ABSTRACT reduce 263 + BOOLEAN reduce 263 + CHAR reduce 263 + FINAL reduce 263 + INT reduce 263 + PRIVATE reduce 263 + PROTECTED reduce 263 + PUBLIC reduce 263 + STATIC reduce 263 + VOID reduce 263 + IDENTIFIER reduce 263 + EQUAL reduce 263 + NOTEQUAL reduce 263 + LOGICALOR reduce 263 + LOGICALAND reduce 263 + INCREMENT reduce 263 + DECREMENT reduce 263 + ',' reduce 263 + ';' reduce 263 + '.' reduce 263 + '*' reduce 263 + '}' reduce 263 + ')' reduce 263 + '&' reduce 263 + '+' reduce 263 + '-' reduce 263 + '|' reduce 263 + '^' reduce 263 + '/' reduce 263 + '%' reduce 263 + + +355: shift/reduce conflict (shift 297, reduce 260) on EQUAL +355: shift/reduce conflict (shift 298, reduce 260) on NOTEQUAL +state 355 + andexpression : andexpression '&' equalityexpression . (260) + equalityexpression : equalityexpression . EQUAL relationalexpression (262) + equalityexpression : equalityexpression . NOTEQUAL relationalexpression (263) + + EQUAL shift 297 + NOTEQUAL shift 298 + ABSTRACT reduce 260 + BOOLEAN reduce 260 + CHAR reduce 260 + FINAL reduce 260 + INSTANCEOF reduce 260 + INT reduce 260 + PRIVATE reduce 260 + PROTECTED reduce 260 + PUBLIC reduce 260 + STATIC reduce 260 + VOID reduce 260 + IDENTIFIER reduce 260 + LESSEQUAL reduce 260 + GREATEREQUAL reduce 260 + LOGICALOR reduce 260 + LOGICALAND reduce 260 + INCREMENT reduce 260 + DECREMENT reduce 260 + ',' reduce 260 + ';' reduce 260 + '.' reduce 260 + '*' reduce 260 + '<' reduce 260 + '>' reduce 260 + '}' reduce 260 + ')' reduce 260 + '&' reduce 260 + '+' reduce 260 + '-' reduce 260 + '|' reduce 260 + '^' reduce 260 + '/' reduce 260 + '%' reduce 260 + + +356: shift/reduce conflict (shift 299, reduce 249) on '&' +state 356 + exclusiveorexpression : exclusiveorexpression '^' andexpression . (249) + andexpression : andexpression . '&' equalityexpression (260) + + '&' shift 299 + ABSTRACT reduce 249 + BOOLEAN reduce 249 + CHAR reduce 249 + FINAL reduce 249 + INSTANCEOF reduce 249 + INT reduce 249 + PRIVATE reduce 249 + PROTECTED reduce 249 + PUBLIC reduce 249 + STATIC reduce 249 + VOID reduce 249 + IDENTIFIER reduce 249 + EQUAL reduce 249 + LESSEQUAL reduce 249 + GREATEREQUAL reduce 249 + NOTEQUAL reduce 249 + LOGICALOR reduce 249 + LOGICALAND reduce 249 + INCREMENT reduce 249 + DECREMENT reduce 249 + ',' reduce 249 + ';' reduce 249 + '.' reduce 249 + '*' reduce 249 + '<' reduce 249 + '>' reduce 249 + '}' reduce 249 + ')' reduce 249 + '+' reduce 249 + '-' reduce 249 + '|' reduce 249 + '^' reduce 249 + '/' reduce 249 + '%' reduce 249 + + +357: shift/reduce conflict (shift 300, reduce 240) on '^' +state 357 + inclusiveorexpression : inclusiveorexpression '|' exclusiveorexpression . (240) + exclusiveorexpression : exclusiveorexpression . '^' andexpression (249) + + '^' shift 300 + ABSTRACT reduce 240 + BOOLEAN reduce 240 + CHAR reduce 240 + FINAL reduce 240 + INSTANCEOF reduce 240 + INT reduce 240 + PRIVATE reduce 240 + PROTECTED reduce 240 + PUBLIC reduce 240 + STATIC reduce 240 + VOID reduce 240 + IDENTIFIER reduce 240 + EQUAL reduce 240 + LESSEQUAL reduce 240 + GREATEREQUAL reduce 240 + NOTEQUAL reduce 240 + LOGICALOR reduce 240 + LOGICALAND reduce 240 + INCREMENT reduce 240 + DECREMENT reduce 240 + ',' reduce 240 + ';' reduce 240 + '.' reduce 240 + '*' reduce 240 + '<' reduce 240 + '>' reduce 240 + '}' reduce 240 + ')' reduce 240 + '&' reduce 240 + '+' reduce 240 + '-' reduce 240 + '|' reduce 240 + '/' reduce 240 + '%' reduce 240 + + +358: shift/reduce conflict (shift 301, reduce 228) on '|' +state 358 + conditionalandexpression : conditionalandexpression LOGICALAND inclusiveorexpression . (228) + inclusiveorexpression : inclusiveorexpression . '|' exclusiveorexpression (240) + + '|' shift 301 + ABSTRACT reduce 228 + BOOLEAN reduce 228 + CHAR reduce 228 + FINAL reduce 228 + INSTANCEOF reduce 228 + INT reduce 228 + PRIVATE reduce 228 + PROTECTED reduce 228 + PUBLIC reduce 228 + STATIC reduce 228 + VOID reduce 228 + IDENTIFIER reduce 228 + EQUAL reduce 228 + LESSEQUAL reduce 228 + GREATEREQUAL reduce 228 + NOTEQUAL reduce 228 + LOGICALOR reduce 228 + LOGICALAND reduce 228 + INCREMENT reduce 228 + DECREMENT reduce 228 + ',' reduce 228 + ';' reduce 228 + '.' reduce 228 + '*' reduce 228 + '<' reduce 228 + '>' reduce 228 + '}' reduce 228 + ')' reduce 228 + '&' reduce 228 + '+' reduce 228 + '-' reduce 228 + '^' reduce 228 + '/' reduce 228 + '%' reduce 228 + + +359: shift/reduce conflict (shift 302, reduce 203) on LOGICALAND state 359 + conditionalorexpression : conditionalorexpression LOGICALOR conditionalandexpression . (203) + conditionalandexpression : conditionalandexpression . LOGICALAND inclusiveorexpression (228) + + LOGICALAND shift 302 + ABSTRACT reduce 203 + BOOLEAN reduce 203 + CHAR reduce 203 + FINAL reduce 203 + INSTANCEOF reduce 203 + INT reduce 203 + PRIVATE reduce 203 + PROTECTED reduce 203 + PUBLIC reduce 203 + STATIC reduce 203 + VOID reduce 203 + IDENTIFIER reduce 203 + EQUAL reduce 203 + LESSEQUAL reduce 203 + GREATEREQUAL reduce 203 + NOTEQUAL reduce 203 + LOGICALOR reduce 203 + INCREMENT reduce 203 + DECREMENT reduce 203 + ',' reduce 203 + ';' reduce 203 + '.' reduce 203 + '*' reduce 203 + '<' reduce 203 + '>' reduce 203 + '}' reduce 203 + ')' reduce 203 + '&' reduce 203 + '+' reduce 203 + '-' reduce 203 + '|' reduce 203 + '^' reduce 203 + '/' reduce 203 + '%' reduce 203 + + +state 360 + fielddeclarator : type variabledeclarator '=' expression . (78) + + . reduce 78 + + +state 361 + methodheader : modifiers '<' boundedMethodParameters '>' VOID . methoddeclarator (117) + methodheader : modifiers '<' boundedMethodParameters '>' VOID . methoddeclarator throws (119) + + IDENTIFIER shift 81 + . error + + methoddeclarator goto 381 + + +state 362 + methodheader : modifiers '<' boundedMethodParameters '>' type . methoddeclarator (107) + methodheader : modifiers '<' boundedMethodParameters '>' type . methoddeclarator throws (111) + + IDENTIFIER shift 81 + . error + + methoddeclarator goto 382 + + +state 363 + explicitconstructorinvocation : THIS '(' ')' . ';' (136) + + ';' shift 383 + . error + + +state 364 + explicitconstructorinvocation : THIS '(' argumentlist . ')' ';' (137) + argumentlist : argumentlist . ',' expression (151) + + ',' shift 373 + ')' shift 384 + . error + + +state 365 + constructorbody : '{' explicitconstructorinvocation blockstatements '}' . (93) + + . reduce 93 + + +state 366 paralist : IDENTIFIER '<' paralist '>' . (32) . reduce 32 -state 360 +state 367 paralist : paralist ',' IDENTIFIER '<' . paralist '>' (35) - IDENTIFIER shift 119 - '?' shift 120 + IDENTIFIER shift 120 + '?' shift 121 . error - paralist goto 378 - wildcardparameter goto 122 - - -state 361 - forstatement : FOR '(' ';' ';' . expression ')' statement (179) - forstatement : FOR '(' ';' ';' . ')' statement (180) - - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - ')' shift 379 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 208 - lambdaexpression goto 157 - expression goto 380 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 214 - assignment goto 215 - lefthandside goto 174 - methodinvocation goto 216 - castexpression goto 217 - - -state 362 - forstatement : FOR '(' ';' expression . ';' expression ')' statement (176) - forstatement : FOR '(' ';' expression . ';' ')' statement (178) - - ';' shift 381 - . error - - -state 363 - forstatement : FOR '(' expression ';' . expression ';' expression ')' statement (173) - forstatement : FOR '(' expression ';' . expression ';' ')' statement (174) - forstatement : FOR '(' expression ';' . ';' expression ')' statement (175) - forstatement : FOR '(' expression ';' . ';' ')' statement (177) - - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 382 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 208 - lambdaexpression goto 157 - expression goto 383 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 214 - assignment goto 215 - lefthandside goto 174 - methodinvocation goto 216 - castexpression goto 217 - - -state 364 - ifthenstatement : IF '(' expression ')' . statement (170) - ifthenelsestatement : IF '(' expression ')' . statementnoshortif ELSE statement (171) - - FOR shift 123 - IF shift 384 - RETURN shift 125 - THIS shift 126 - WHILE shift 385 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 - '{' shift 79 - '(' shift 141 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - block goto 148 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 386 - statement goto 387 - statementnoshortif goto 388 - whilestatement goto 167 - forstatement goto 168 - whilestatementnoshortif goto 389 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - ifthenelsestatementnoshortif goto 390 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 - - -state 365 - whilestatement : WHILE '(' expression ')' . statement (172) - - FOR shift 123 - IF shift 124 - RETURN shift 125 - THIS shift 126 - WHILE shift 127 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 - '{' shift 79 - '(' shift 141 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - block goto 148 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 164 - statement goto 391 - whilestatement goto 167 - forstatement goto 168 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 - - -state 366 - argumentlist : argumentlist ',' . expression (150) - - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 208 - lambdaexpression goto 157 - expression goto 392 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 214 - assignment goto 215 - lefthandside goto 174 - methodinvocation goto 216 - castexpression goto 217 - - -state 367 - methodinvocation : name '(' argumentlist ')' . (221) - - . reduce 221 + paralist goto 385 + wildcardparameter goto 123 state 368 - methodinvocation : primary '.' IDENTIFIER '(' . ')' (222) - methodinvocation : primary '.' IDENTIFIER '(' . argumentlist ')' (223) + forstatement : FOR '(' ';' ';' . expression ')' statement (180) + forstatement : FOR '(' ';' ';' . ')' statement (181) - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 + NEW shift 189 + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - ')' shift 393 - '+' shift 190 - '-' shift 191 - '!' shift 192 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + ')' shift 386 + '+' shift 191 + '-' shift 192 + '!' shift 193 . error - simplename goto 193 - qualifiedname goto 145 - name goto 146 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 208 - lambdaexpression goto 157 - expression goto 323 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 214 - assignment goto 215 - lefthandside goto 174 - argumentlist goto 394 - methodinvocation goto 216 - castexpression goto 217 + simplename goto 194 + qualifiedname goto 146 + name goto 147 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 200 + relationalexpression goto 201 + equalityexpression goto 202 + andexpression goto 203 + exclusiveorexpression goto 204 + inclusiveorexpression goto 205 + conditionalandexpression goto 206 + conditionalorexpression goto 207 + conditionalexpression goto 208 + assignmentexpression goto 209 + lambdaexpression goto 158 + expression goto 387 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + classinstancecreationexpression goto 215 + assignment goto 216 + lefthandside goto 175 + methodinvocation goto 217 + castexpression goto 218 state 369 - methodheader : '<' boundedMethodParameters '>' VOID methoddeclarator throws . (117) + forstatement : FOR '(' ';' expression . ';' expression ')' statement (177) + forstatement : FOR '(' ';' expression . ';' ')' statement (179) - . reduce 117 + ';' shift 388 + . error state 370 - methodheader : '<' boundedMethodParameters '>' type methoddeclarator throws . (108) + forstatement : FOR '(' expression ';' . expression ';' expression ')' statement (174) + forstatement : FOR '(' expression ';' . expression ';' ')' statement (175) + forstatement : FOR '(' expression ';' . ';' expression ')' statement (176) + forstatement : FOR '(' expression ';' . ';' ')' statement (178) - . reduce 108 + NEW shift 189 + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + ';' shift 389 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 200 + relationalexpression goto 201 + equalityexpression goto 202 + andexpression goto 203 + exclusiveorexpression goto 204 + inclusiveorexpression goto 205 + conditionalandexpression goto 206 + conditionalorexpression goto 207 + conditionalexpression goto 208 + assignmentexpression goto 209 + lambdaexpression goto 158 + expression goto 390 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + classinstancecreationexpression goto 215 + assignment goto 216 + lefthandside goto 175 + methodinvocation goto 217 + castexpression goto 218 state 371 - classinstancecreationexpression : NEW classtype '(' ')' . (224) + ifthenstatement : IF '(' expression ')' . statement (171) + ifthenelsestatement : IF '(' expression ')' . statementnoshortif ELSE statement (172) - . reduce 224 + FOR shift 124 + IF shift 391 + RETURN shift 126 + THIS shift 127 + WHILE shift 392 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + ';' shift 140 + '{' shift 79 + '(' shift 142 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + block goto 149 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 157 + lambdaexpression goto 158 + statementexpression goto 159 + preincrementexpression goto 160 + predecrementexpression goto 161 + postincrementexpression goto 162 + postdecrementexpression goto 163 + expressionstatement goto 164 + statementwithouttrailingsubstatement goto 393 + statement goto 394 + statementnoshortif goto 395 + whilestatement goto 168 + forstatement goto 169 + whilestatementnoshortif goto 396 + ifthenstatement goto 170 + ifthenelsestatement goto 171 + ifthenelsestatementnoshortif goto 397 + emptystatement goto 172 + returnstatement goto 173 + assignment goto 174 + lefthandside goto 175 + methodinvocation goto 176 state 372 - argumentlist : argumentlist . ',' expression (150) - classinstancecreationexpression : NEW classtype '(' argumentlist . ')' (225) + whilestatement : WHILE '(' expression ')' . statement (173) - ',' shift 366 - ')' shift 395 + FOR shift 124 + IF shift 125 + RETURN shift 126 + THIS shift 127 + WHILE shift 128 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + ';' shift 140 + '{' shift 79 + '(' shift 142 . error + simplename goto 194 + qualifiedname goto 146 + name goto 147 + block goto 149 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 157 + lambdaexpression goto 158 + statementexpression goto 159 + preincrementexpression goto 160 + predecrementexpression goto 161 + postincrementexpression goto 162 + postdecrementexpression goto 163 + expressionstatement goto 164 + statementwithouttrailingsubstatement goto 165 + statement goto 398 + whilestatement goto 168 + forstatement goto 169 + ifthenstatement goto 170 + ifthenelsestatement goto 171 + emptystatement goto 172 + returnstatement goto 173 + assignment goto 174 + lefthandside goto 175 + methodinvocation goto 176 + state 373 - castexpression : '(' primitivetype ')' unaryexpression . (257) + argumentlist : argumentlist ',' . expression (151) - . reduce 257 + NEW shift 189 + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 200 + relationalexpression goto 201 + equalityexpression goto 202 + andexpression goto 203 + exclusiveorexpression goto 204 + inclusiveorexpression goto 205 + conditionalandexpression goto 206 + conditionalorexpression goto 207 + conditionalexpression goto 208 + assignmentexpression goto 209 + lambdaexpression goto 158 + expression goto 399 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + classinstancecreationexpression goto 215 + assignment goto 216 + lefthandside goto 175 + methodinvocation goto 217 + castexpression goto 218 state 374 - methodheader : modifiers '<' boundedMethodParameters '>' VOID methoddeclarator . (116) - methodheader : modifiers '<' boundedMethodParameters '>' VOID methoddeclarator . throws (118) + methodinvocation : name '(' argumentlist ')' . (222) - THROWS shift 88 - '{' reduce 116 - - throws goto 396 + . reduce 222 state 375 - methodheader : modifiers '<' boundedMethodParameters '>' type methoddeclarator . (106) - methodheader : modifiers '<' boundedMethodParameters '>' type methoddeclarator . throws (110) + methodinvocation : primary '.' IDENTIFIER '(' . ')' (223) + methodinvocation : primary '.' IDENTIFIER '(' . argumentlist ')' (224) - THROWS shift 88 - '{' reduce 106 + NEW shift 189 + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + ')' shift 400 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error - throws goto 397 + simplename goto 194 + qualifiedname goto 146 + name goto 147 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 200 + relationalexpression goto 201 + equalityexpression goto 202 + andexpression goto 203 + exclusiveorexpression goto 204 + inclusiveorexpression goto 205 + conditionalandexpression goto 206 + conditionalorexpression goto 207 + conditionalexpression goto 208 + assignmentexpression goto 209 + lambdaexpression goto 158 + expression goto 329 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + classinstancecreationexpression goto 215 + assignment goto 216 + lefthandside goto 175 + argumentlist goto 401 + methodinvocation goto 217 + castexpression goto 218 state 376 - explicitconstructorinvocation : THIS '(' ')' ';' . (135) + methodheader : '<' boundedMethodParameters '>' VOID methoddeclarator throws . (118) - . reduce 135 + . reduce 118 state 377 - explicitconstructorinvocation : THIS '(' argumentlist ')' . ';' (136) + methodheader : '<' boundedMethodParameters '>' type methoddeclarator throws . (109) - ';' shift 398 - . error + . reduce 109 state 378 + classinstancecreationexpression : NEW classtype '(' ')' . (225) + + . reduce 225 + + +state 379 + argumentlist : argumentlist . ',' expression (151) + classinstancecreationexpression : NEW classtype '(' argumentlist . ')' (226) + + ',' shift 373 + ')' shift 402 + . error + + +state 380 + castexpression : '(' primitivetype ')' unaryexpression . (258) + + . reduce 258 + + +state 381 + methodheader : modifiers '<' boundedMethodParameters '>' VOID methoddeclarator . (117) + methodheader : modifiers '<' boundedMethodParameters '>' VOID methoddeclarator . throws (119) + + THROWS shift 88 + '{' reduce 117 + + throws goto 403 + + +state 382 + methodheader : modifiers '<' boundedMethodParameters '>' type methoddeclarator . (107) + methodheader : modifiers '<' boundedMethodParameters '>' type methoddeclarator . throws (111) + + THROWS shift 88 + '{' reduce 107 + + throws goto 404 + + +state 383 + explicitconstructorinvocation : THIS '(' ')' ';' . (136) + + . reduce 136 + + +state 384 + explicitconstructorinvocation : THIS '(' argumentlist ')' . ';' (137) + + ';' shift 405 + . error + + +state 385 paralist : paralist . ',' IDENTIFIER (34) paralist : paralist . ',' IDENTIFIER '<' paralist '>' (35) paralist : paralist ',' IDENTIFIER '<' paralist . '>' (35) paralist : paralist . ',' wildcardparameter (36) - ',' shift 239 - '>' shift 399 - . error - - -state 379 - forstatement : FOR '(' ';' ';' ')' . statement (180) - - FOR shift 123 - IF shift 124 - RETURN shift 125 - THIS shift 126 - WHILE shift 127 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 - '{' shift 79 - '(' shift 141 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - block goto 148 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 164 - statement goto 400 - whilestatement goto 167 - forstatement goto 168 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 - - -state 380 - forstatement : FOR '(' ';' ';' expression . ')' statement (179) - - ')' shift 401 - . error - - -state 381 - forstatement : FOR '(' ';' expression ';' . expression ')' statement (176) - forstatement : FOR '(' ';' expression ';' . ')' statement (178) - - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - ')' shift 402 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 208 - lambdaexpression goto 157 - expression goto 403 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 214 - assignment goto 215 - lefthandside goto 174 - methodinvocation goto 216 - castexpression goto 217 - - -state 382 - forstatement : FOR '(' expression ';' ';' . expression ')' statement (175) - forstatement : FOR '(' expression ';' ';' . ')' statement (177) - - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - ')' shift 404 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 208 - lambdaexpression goto 157 - expression goto 405 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 214 - assignment goto 215 - lefthandside goto 174 - methodinvocation goto 216 - castexpression goto 217 - - -state 383 - forstatement : FOR '(' expression ';' expression . ';' expression ')' statement (173) - forstatement : FOR '(' expression ';' expression . ';' ')' statement (174) - - ';' shift 406 - . error - - -state 384 - ifthenstatement : IF . '(' expression ')' statement (170) - ifthenelsestatement : IF . '(' expression ')' statementnoshortif ELSE statement (171) - ifthenelsestatementnoshortif : IF . '(' expression ')' statementnoshortif ELSE statementnoshortif (199) - - '(' shift 407 - . error - - -state 385 - whilestatement : WHILE . '(' expression ')' statement (172) - whilestatementnoshortif : WHILE . '(' expression ')' statementnoshortif (200) - - '(' shift 408 + ',' shift 243 + '>' shift 406 . error state 386 - statement : statementwithouttrailingsubstatement . (155) - statementnoshortif : statementwithouttrailingsubstatement . (187) + forstatement : FOR '(' ';' ';' ')' . statement (181) - BOOLEAN reduce 155 - CHAR reduce 155 - ELSE reduce 187 - FOR reduce 155 - IF reduce 155 - INT reduce 155 - RETURN reduce 155 - THIS reduce 155 - WHILE reduce 155 - INTLITERAL reduce 155 - LONGLITERAL reduce 155 - DOUBLELITERAL reduce 155 - FLOATLITERAL reduce 155 - BOOLLITERAL reduce 155 - JNULL reduce 155 - CHARLITERAL reduce 155 - STRINGLITERAL reduce 155 - IDENTIFIER reduce 155 - INCREMENT reduce 155 - DECREMENT reduce 155 - ';' reduce 155 - '{' reduce 155 - '}' reduce 155 - '(' reduce 155 + FOR shift 124 + IF shift 125 + RETURN shift 126 + THIS shift 127 + WHILE shift 128 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + ';' shift 140 + '{' shift 79 + '(' shift 142 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + block goto 149 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 157 + lambdaexpression goto 158 + statementexpression goto 159 + preincrementexpression goto 160 + predecrementexpression goto 161 + postincrementexpression goto 162 + postdecrementexpression goto 163 + expressionstatement goto 164 + statementwithouttrailingsubstatement goto 165 + statement goto 407 + whilestatement goto 168 + forstatement goto 169 + ifthenstatement goto 170 + ifthenelsestatement goto 171 + emptystatement goto 172 + returnstatement goto 173 + assignment goto 174 + lefthandside goto 175 + methodinvocation goto 176 state 387 - ifthenstatement : IF '(' expression ')' statement . (170) + forstatement : FOR '(' ';' ';' expression . ')' statement (180) - . reduce 170 - - -state 388 - ifthenelsestatement : IF '(' expression ')' statementnoshortif . ELSE statement (171) - - ELSE shift 409 + ')' shift 408 . error +state 388 + forstatement : FOR '(' ';' expression ';' . expression ')' statement (177) + forstatement : FOR '(' ';' expression ';' . ')' statement (179) + + NEW shift 189 + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + ')' shift 409 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 200 + relationalexpression goto 201 + equalityexpression goto 202 + andexpression goto 203 + exclusiveorexpression goto 204 + inclusiveorexpression goto 205 + conditionalandexpression goto 206 + conditionalorexpression goto 207 + conditionalexpression goto 208 + assignmentexpression goto 209 + lambdaexpression goto 158 + expression goto 410 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + classinstancecreationexpression goto 215 + assignment goto 216 + lefthandside goto 175 + methodinvocation goto 217 + castexpression goto 218 + + state 389 - statementnoshortif : whilestatementnoshortif . (189) + forstatement : FOR '(' expression ';' ';' . expression ')' statement (176) + forstatement : FOR '(' expression ';' ';' . ')' statement (178) + + NEW shift 189 + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + ')' shift 411 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 200 + relationalexpression goto 201 + equalityexpression goto 202 + andexpression goto 203 + exclusiveorexpression goto 204 + inclusiveorexpression goto 205 + conditionalandexpression goto 206 + conditionalorexpression goto 207 + conditionalexpression goto 208 + assignmentexpression goto 209 + lambdaexpression goto 158 + expression goto 412 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + classinstancecreationexpression goto 215 + assignment goto 216 + lefthandside goto 175 + methodinvocation goto 217 + castexpression goto 218 + + +state 390 + forstatement : FOR '(' expression ';' expression . ';' expression ')' statement (174) + forstatement : FOR '(' expression ';' expression . ';' ')' statement (175) + + ';' shift 413 + . error + + +state 391 + ifthenstatement : IF . '(' expression ')' statement (171) + ifthenelsestatement : IF . '(' expression ')' statementnoshortif ELSE statement (172) + ifthenelsestatementnoshortif : IF . '(' expression ')' statementnoshortif ELSE statementnoshortif (200) + + '(' shift 414 + . error + + +state 392 + whilestatement : WHILE . '(' expression ')' statement (173) + whilestatementnoshortif : WHILE . '(' expression ')' statementnoshortif (201) + + '(' shift 415 + . error + + +state 393 + statement : statementwithouttrailingsubstatement . (156) + statementnoshortif : statementwithouttrailingsubstatement . (188) + + BOOLEAN reduce 156 + CHAR reduce 156 + ELSE reduce 188 + FOR reduce 156 + IF reduce 156 + INT reduce 156 + RETURN reduce 156 + THIS reduce 156 + WHILE reduce 156 + INTLITERAL reduce 156 + LONGLITERAL reduce 156 + DOUBLELITERAL reduce 156 + FLOATLITERAL reduce 156 + BOOLLITERAL reduce 156 + JNULL reduce 156 + CHARLITERAL reduce 156 + STRINGLITERAL reduce 156 + IDENTIFIER reduce 156 + INCREMENT reduce 156 + DECREMENT reduce 156 + ';' reduce 156 + '{' reduce 156 + '}' reduce 156 + '(' reduce 156 + + +state 394 + ifthenstatement : IF '(' expression ')' statement . (171) + + . reduce 171 + + +state 395 + ifthenelsestatement : IF '(' expression ')' statementnoshortif . ELSE statement (172) + + ELSE shift 416 + . error + + +state 396 + statementnoshortif : whilestatementnoshortif . (190) + + . reduce 190 + + +state 397 + statementnoshortif : ifthenelsestatementnoshortif . (189) . reduce 189 -state 390 - statementnoshortif : ifthenelsestatementnoshortif . (188) - - . reduce 188 - - -state 391 - whilestatement : WHILE '(' expression ')' statement . (172) - - . reduce 172 - - -state 392 - argumentlist : argumentlist ',' expression . (150) - - . reduce 150 - - -state 393 - methodinvocation : primary '.' IDENTIFIER '(' ')' . (222) - - . reduce 222 - - -state 394 - argumentlist : argumentlist . ',' expression (150) - methodinvocation : primary '.' IDENTIFIER '(' argumentlist . ')' (223) - - ',' shift 366 - ')' shift 410 - . error - - -state 395 - classinstancecreationexpression : NEW classtype '(' argumentlist ')' . (225) - - . reduce 225 - - -state 396 - methodheader : modifiers '<' boundedMethodParameters '>' VOID methoddeclarator throws . (118) - - . reduce 118 - - -state 397 - methodheader : modifiers '<' boundedMethodParameters '>' type methoddeclarator throws . (110) - - . reduce 110 - - state 398 - explicitconstructorinvocation : THIS '(' argumentlist ')' ';' . (136) + whilestatement : WHILE '(' expression ')' statement . (173) - . reduce 136 + . reduce 173 state 399 + argumentlist : argumentlist ',' expression . (151) + + . reduce 151 + + +state 400 + methodinvocation : primary '.' IDENTIFIER '(' ')' . (223) + + . reduce 223 + + +state 401 + argumentlist : argumentlist . ',' expression (151) + methodinvocation : primary '.' IDENTIFIER '(' argumentlist . ')' (224) + + ',' shift 373 + ')' shift 417 + . error + + +state 402 + classinstancecreationexpression : NEW classtype '(' argumentlist ')' . (226) + + . reduce 226 + + +state 403 + methodheader : modifiers '<' boundedMethodParameters '>' VOID methoddeclarator throws . (119) + + . reduce 119 + + +state 404 + methodheader : modifiers '<' boundedMethodParameters '>' type methoddeclarator throws . (111) + + . reduce 111 + + +state 405 + explicitconstructorinvocation : THIS '(' argumentlist ')' ';' . (137) + + . reduce 137 + + +state 406 paralist : paralist ',' IDENTIFIER '<' paralist '>' . (35) . reduce 35 -state 400 - forstatement : FOR '(' ';' ';' ')' statement . (180) +state 407 + forstatement : FOR '(' ';' ';' ')' statement . (181) + + . reduce 181 + + +state 408 + forstatement : FOR '(' ';' ';' expression ')' . statement (180) + + FOR shift 124 + IF shift 125 + RETURN shift 126 + THIS shift 127 + WHILE shift 128 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + ';' shift 140 + '{' shift 79 + '(' shift 142 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + block goto 149 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 157 + lambdaexpression goto 158 + statementexpression goto 159 + preincrementexpression goto 160 + predecrementexpression goto 161 + postincrementexpression goto 162 + postdecrementexpression goto 163 + expressionstatement goto 164 + statementwithouttrailingsubstatement goto 165 + statement goto 418 + whilestatement goto 168 + forstatement goto 169 + ifthenstatement goto 170 + ifthenelsestatement goto 171 + emptystatement goto 172 + returnstatement goto 173 + assignment goto 174 + lefthandside goto 175 + methodinvocation goto 176 + + +state 409 + forstatement : FOR '(' ';' expression ';' ')' . statement (179) + + FOR shift 124 + IF shift 125 + RETURN shift 126 + THIS shift 127 + WHILE shift 128 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + ';' shift 140 + '{' shift 79 + '(' shift 142 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + block goto 149 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 157 + lambdaexpression goto 158 + statementexpression goto 159 + preincrementexpression goto 160 + predecrementexpression goto 161 + postincrementexpression goto 162 + postdecrementexpression goto 163 + expressionstatement goto 164 + statementwithouttrailingsubstatement goto 165 + statement goto 419 + whilestatement goto 168 + forstatement goto 169 + ifthenstatement goto 170 + ifthenelsestatement goto 171 + emptystatement goto 172 + returnstatement goto 173 + assignment goto 174 + lefthandside goto 175 + methodinvocation goto 176 + + +state 410 + forstatement : FOR '(' ';' expression ';' expression . ')' statement (177) + + ')' shift 420 + . error + + +state 411 + forstatement : FOR '(' expression ';' ';' ')' . statement (178) + + FOR shift 124 + IF shift 125 + RETURN shift 126 + THIS shift 127 + WHILE shift 128 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + ';' shift 140 + '{' shift 79 + '(' shift 142 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + block goto 149 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 157 + lambdaexpression goto 158 + statementexpression goto 159 + preincrementexpression goto 160 + predecrementexpression goto 161 + postincrementexpression goto 162 + postdecrementexpression goto 163 + expressionstatement goto 164 + statementwithouttrailingsubstatement goto 165 + statement goto 421 + whilestatement goto 168 + forstatement goto 169 + ifthenstatement goto 170 + ifthenelsestatement goto 171 + emptystatement goto 172 + returnstatement goto 173 + assignment goto 174 + lefthandside goto 175 + methodinvocation goto 176 + + +state 412 + forstatement : FOR '(' expression ';' ';' expression . ')' statement (176) + + ')' shift 422 + . error + + +state 413 + forstatement : FOR '(' expression ';' expression ';' . expression ')' statement (174) + forstatement : FOR '(' expression ';' expression ';' . ')' statement (175) + + NEW shift 189 + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + ')' shift 423 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 200 + relationalexpression goto 201 + equalityexpression goto 202 + andexpression goto 203 + exclusiveorexpression goto 204 + inclusiveorexpression goto 205 + conditionalandexpression goto 206 + conditionalorexpression goto 207 + conditionalexpression goto 208 + assignmentexpression goto 209 + lambdaexpression goto 158 + expression goto 424 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + classinstancecreationexpression goto 215 + assignment goto 216 + lefthandside goto 175 + methodinvocation goto 217 + castexpression goto 218 + + +state 414 + ifthenstatement : IF '(' . expression ')' statement (171) + ifthenelsestatement : IF '(' . expression ')' statementnoshortif ELSE statement (172) + ifthenelsestatementnoshortif : IF '(' . expression ')' statementnoshortif ELSE statementnoshortif (200) + + NEW shift 189 + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 200 + relationalexpression goto 201 + equalityexpression goto 202 + andexpression goto 203 + exclusiveorexpression goto 204 + inclusiveorexpression goto 205 + conditionalandexpression goto 206 + conditionalorexpression goto 207 + conditionalexpression goto 208 + assignmentexpression goto 209 + lambdaexpression goto 158 + expression goto 425 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + classinstancecreationexpression goto 215 + assignment goto 216 + lefthandside goto 175 + methodinvocation goto 217 + castexpression goto 218 + + +state 415 + whilestatement : WHILE '(' . expression ')' statement (173) + whilestatementnoshortif : WHILE '(' . expression ')' statementnoshortif (201) + + NEW shift 189 + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 200 + relationalexpression goto 201 + equalityexpression goto 202 + andexpression goto 203 + exclusiveorexpression goto 204 + inclusiveorexpression goto 205 + conditionalandexpression goto 206 + conditionalorexpression goto 207 + conditionalexpression goto 208 + assignmentexpression goto 209 + lambdaexpression goto 158 + expression goto 426 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + classinstancecreationexpression goto 215 + assignment goto 216 + lefthandside goto 175 + methodinvocation goto 217 + castexpression goto 218 + + +state 416 + ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE . statement (172) + + FOR shift 124 + IF shift 125 + RETURN shift 126 + THIS shift 127 + WHILE shift 128 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + ';' shift 140 + '{' shift 79 + '(' shift 142 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + block goto 149 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 157 + lambdaexpression goto 158 + statementexpression goto 159 + preincrementexpression goto 160 + predecrementexpression goto 161 + postincrementexpression goto 162 + postdecrementexpression goto 163 + expressionstatement goto 164 + statementwithouttrailingsubstatement goto 165 + statement goto 427 + whilestatement goto 168 + forstatement goto 169 + ifthenstatement goto 170 + ifthenelsestatement goto 171 + emptystatement goto 172 + returnstatement goto 173 + assignment goto 174 + lefthandside goto 175 + methodinvocation goto 176 + + +state 417 + methodinvocation : primary '.' IDENTIFIER '(' argumentlist ')' . (224) + + . reduce 224 + + +state 418 + forstatement : FOR '(' ';' ';' expression ')' statement . (180) . reduce 180 -state 401 - forstatement : FOR '(' ';' ';' expression ')' . statement (179) - - FOR shift 123 - IF shift 124 - RETURN shift 125 - THIS shift 126 - WHILE shift 127 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 - '{' shift 79 - '(' shift 141 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - block goto 148 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 164 - statement goto 411 - whilestatement goto 167 - forstatement goto 168 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 - - -state 402 - forstatement : FOR '(' ';' expression ';' ')' . statement (178) - - FOR shift 123 - IF shift 124 - RETURN shift 125 - THIS shift 126 - WHILE shift 127 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 - '{' shift 79 - '(' shift 141 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - block goto 148 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 164 - statement goto 412 - whilestatement goto 167 - forstatement goto 168 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 - - -state 403 - forstatement : FOR '(' ';' expression ';' expression . ')' statement (176) - - ')' shift 413 - . error - - -state 404 - forstatement : FOR '(' expression ';' ';' ')' . statement (177) - - FOR shift 123 - IF shift 124 - RETURN shift 125 - THIS shift 126 - WHILE shift 127 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 - '{' shift 79 - '(' shift 141 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - block goto 148 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 164 - statement goto 414 - whilestatement goto 167 - forstatement goto 168 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 - - -state 405 - forstatement : FOR '(' expression ';' ';' expression . ')' statement (175) - - ')' shift 415 - . error - - -state 406 - forstatement : FOR '(' expression ';' expression ';' . expression ')' statement (173) - forstatement : FOR '(' expression ';' expression ';' . ')' statement (174) - - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - ')' shift 416 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 208 - lambdaexpression goto 157 - expression goto 417 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 214 - assignment goto 215 - lefthandside goto 174 - methodinvocation goto 216 - castexpression goto 217 - - -state 407 - ifthenstatement : IF '(' . expression ')' statement (170) - ifthenelsestatement : IF '(' . expression ')' statementnoshortif ELSE statement (171) - ifthenelsestatementnoshortif : IF '(' . expression ')' statementnoshortif ELSE statementnoshortif (199) - - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 208 - lambdaexpression goto 157 - expression goto 418 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 214 - assignment goto 215 - lefthandside goto 174 - methodinvocation goto 216 - castexpression goto 217 - - -state 408 - whilestatement : WHILE '(' . expression ')' statement (172) - whilestatementnoshortif : WHILE '(' . expression ')' statementnoshortif (200) - - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 208 - lambdaexpression goto 157 - expression goto 419 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 214 - assignment goto 215 - lefthandside goto 174 - methodinvocation goto 216 - castexpression goto 217 - - -state 409 - ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE . statement (171) - - FOR shift 123 - IF shift 124 - RETURN shift 125 - THIS shift 126 - WHILE shift 127 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 - '{' shift 79 - '(' shift 141 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - block goto 148 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 164 - statement goto 420 - whilestatement goto 167 - forstatement goto 168 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 - - -state 410 - methodinvocation : primary '.' IDENTIFIER '(' argumentlist ')' . (223) - - . reduce 223 - - -state 411 - forstatement : FOR '(' ';' ';' expression ')' statement . (179) +state 419 + forstatement : FOR '(' ';' expression ';' ')' statement . (179) . reduce 179 -state 412 - forstatement : FOR '(' ';' expression ';' ')' statement . (178) +state 420 + forstatement : FOR '(' ';' expression ';' expression ')' . statement (177) + + FOR shift 124 + IF shift 125 + RETURN shift 126 + THIS shift 127 + WHILE shift 128 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + ';' shift 140 + '{' shift 79 + '(' shift 142 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + block goto 149 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 157 + lambdaexpression goto 158 + statementexpression goto 159 + preincrementexpression goto 160 + predecrementexpression goto 161 + postincrementexpression goto 162 + postdecrementexpression goto 163 + expressionstatement goto 164 + statementwithouttrailingsubstatement goto 165 + statement goto 428 + whilestatement goto 168 + forstatement goto 169 + ifthenstatement goto 170 + ifthenelsestatement goto 171 + emptystatement goto 172 + returnstatement goto 173 + assignment goto 174 + lefthandside goto 175 + methodinvocation goto 176 + + +state 421 + forstatement : FOR '(' expression ';' ';' ')' statement . (178) . reduce 178 -state 413 - forstatement : FOR '(' ';' expression ';' expression ')' . statement (176) +state 422 + forstatement : FOR '(' expression ';' ';' expression ')' . statement (176) - FOR shift 123 - IF shift 124 - RETURN shift 125 - THIS shift 126 - WHILE shift 127 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 + FOR shift 124 + IF shift 125 + RETURN shift 126 + THIS shift 127 + WHILE shift 128 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 + INCREMENT shift 138 + DECREMENT shift 139 + ';' shift 140 '{' shift 79 - '(' shift 141 + '(' shift 142 . error - simplename goto 193 - qualifiedname goto 145 - name goto 146 - block goto 148 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 164 - statement goto 421 - whilestatement goto 167 - forstatement goto 168 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 + simplename goto 194 + qualifiedname goto 146 + name goto 147 + block goto 149 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 157 + lambdaexpression goto 158 + statementexpression goto 159 + preincrementexpression goto 160 + predecrementexpression goto 161 + postincrementexpression goto 162 + postdecrementexpression goto 163 + expressionstatement goto 164 + statementwithouttrailingsubstatement goto 165 + statement goto 429 + whilestatement goto 168 + forstatement goto 169 + ifthenstatement goto 170 + ifthenelsestatement goto 171 + emptystatement goto 172 + returnstatement goto 173 + assignment goto 174 + lefthandside goto 175 + methodinvocation goto 176 -state 414 - forstatement : FOR '(' expression ';' ';' ')' statement . (177) +state 423 + forstatement : FOR '(' expression ';' expression ';' ')' . statement (175) + + FOR shift 124 + IF shift 125 + RETURN shift 126 + THIS shift 127 + WHILE shift 128 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + ';' shift 140 + '{' shift 79 + '(' shift 142 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + block goto 149 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 157 + lambdaexpression goto 158 + statementexpression goto 159 + preincrementexpression goto 160 + predecrementexpression goto 161 + postincrementexpression goto 162 + postdecrementexpression goto 163 + expressionstatement goto 164 + statementwithouttrailingsubstatement goto 165 + statement goto 430 + whilestatement goto 168 + forstatement goto 169 + ifthenstatement goto 170 + ifthenelsestatement goto 171 + emptystatement goto 172 + returnstatement goto 173 + assignment goto 174 + lefthandside goto 175 + methodinvocation goto 176 + + +state 424 + forstatement : FOR '(' expression ';' expression ';' expression . ')' statement (174) + + ')' shift 431 + . error + + +state 425 + ifthenstatement : IF '(' expression . ')' statement (171) + ifthenelsestatement : IF '(' expression . ')' statementnoshortif ELSE statement (172) + ifthenelsestatementnoshortif : IF '(' expression . ')' statementnoshortif ELSE statementnoshortif (200) + + ')' shift 432 + . error + + +state 426 + whilestatement : WHILE '(' expression . ')' statement (173) + whilestatementnoshortif : WHILE '(' expression . ')' statementnoshortif (201) + + ')' shift 433 + . error + + +state 427 + ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE statement . (172) + + . reduce 172 + + +state 428 + forstatement : FOR '(' ';' expression ';' expression ')' statement . (177) . reduce 177 -state 415 - forstatement : FOR '(' expression ';' ';' expression ')' . statement (175) - - FOR shift 123 - IF shift 124 - RETURN shift 125 - THIS shift 126 - WHILE shift 127 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 - '{' shift 79 - '(' shift 141 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - block goto 148 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 164 - statement goto 422 - whilestatement goto 167 - forstatement goto 168 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 - - -state 416 - forstatement : FOR '(' expression ';' expression ';' ')' . statement (174) - - FOR shift 123 - IF shift 124 - RETURN shift 125 - THIS shift 126 - WHILE shift 127 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 - '{' shift 79 - '(' shift 141 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - block goto 148 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 164 - statement goto 423 - whilestatement goto 167 - forstatement goto 168 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 - - -state 417 - forstatement : FOR '(' expression ';' expression ';' expression . ')' statement (173) - - ')' shift 424 - . error - - -state 418 - ifthenstatement : IF '(' expression . ')' statement (170) - ifthenelsestatement : IF '(' expression . ')' statementnoshortif ELSE statement (171) - ifthenelsestatementnoshortif : IF '(' expression . ')' statementnoshortif ELSE statementnoshortif (199) - - ')' shift 425 - . error - - -state 419 - whilestatement : WHILE '(' expression . ')' statement (172) - whilestatementnoshortif : WHILE '(' expression . ')' statementnoshortif (200) - - ')' shift 426 - . error - - -state 420 - ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE statement . (171) - - . reduce 171 - - -state 421 - forstatement : FOR '(' ';' expression ';' expression ')' statement . (176) +state 429 + forstatement : FOR '(' expression ';' ';' expression ')' statement . (176) . reduce 176 -state 422 - forstatement : FOR '(' expression ';' ';' expression ')' statement . (175) +state 430 + forstatement : FOR '(' expression ';' expression ';' ')' statement . (175) . reduce 175 -state 423 - forstatement : FOR '(' expression ';' expression ';' ')' statement . (174) +state 431 + forstatement : FOR '(' expression ';' expression ';' expression ')' . statement (174) + + FOR shift 124 + IF shift 125 + RETURN shift 126 + THIS shift 127 + WHILE shift 128 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + ';' shift 140 + '{' shift 79 + '(' shift 142 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + block goto 149 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 157 + lambdaexpression goto 158 + statementexpression goto 159 + preincrementexpression goto 160 + predecrementexpression goto 161 + postincrementexpression goto 162 + postdecrementexpression goto 163 + expressionstatement goto 164 + statementwithouttrailingsubstatement goto 165 + statement goto 434 + whilestatement goto 168 + forstatement goto 169 + ifthenstatement goto 170 + ifthenelsestatement goto 171 + emptystatement goto 172 + returnstatement goto 173 + assignment goto 174 + lefthandside goto 175 + methodinvocation goto 176 + + +state 432 + ifthenstatement : IF '(' expression ')' . statement (171) + ifthenelsestatement : IF '(' expression ')' . statementnoshortif ELSE statement (172) + ifthenelsestatementnoshortif : IF '(' expression ')' . statementnoshortif ELSE statementnoshortif (200) + + FOR shift 124 + IF shift 391 + RETURN shift 126 + THIS shift 127 + WHILE shift 392 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + ';' shift 140 + '{' shift 79 + '(' shift 142 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + block goto 149 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 157 + lambdaexpression goto 158 + statementexpression goto 159 + preincrementexpression goto 160 + predecrementexpression goto 161 + postincrementexpression goto 162 + postdecrementexpression goto 163 + expressionstatement goto 164 + statementwithouttrailingsubstatement goto 393 + statement goto 394 + statementnoshortif goto 435 + whilestatement goto 168 + forstatement goto 169 + whilestatementnoshortif goto 396 + ifthenstatement goto 170 + ifthenelsestatement goto 171 + ifthenelsestatementnoshortif goto 397 + emptystatement goto 172 + returnstatement goto 173 + assignment goto 174 + lefthandside goto 175 + methodinvocation goto 176 + + +state 433 + whilestatement : WHILE '(' expression ')' . statement (173) + whilestatementnoshortif : WHILE '(' expression ')' . statementnoshortif (201) + + FOR shift 124 + IF shift 391 + RETURN shift 126 + THIS shift 127 + WHILE shift 392 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + ';' shift 140 + '{' shift 79 + '(' shift 142 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + block goto 149 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 157 + lambdaexpression goto 158 + statementexpression goto 159 + preincrementexpression goto 160 + predecrementexpression goto 161 + postincrementexpression goto 162 + postdecrementexpression goto 163 + expressionstatement goto 164 + statementwithouttrailingsubstatement goto 393 + statement goto 398 + statementnoshortif goto 436 + whilestatement goto 168 + forstatement goto 169 + whilestatementnoshortif goto 396 + ifthenstatement goto 170 + ifthenelsestatement goto 171 + ifthenelsestatementnoshortif goto 397 + emptystatement goto 172 + returnstatement goto 173 + assignment goto 174 + lefthandside goto 175 + methodinvocation goto 176 + + +state 434 + forstatement : FOR '(' expression ';' expression ';' expression ')' statement . (174) . reduce 174 -state 424 - forstatement : FOR '(' expression ';' expression ';' expression ')' . statement (173) +state 435 + ifthenelsestatement : IF '(' expression ')' statementnoshortif . ELSE statement (172) + ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif . ELSE statementnoshortif (200) - FOR shift 123 - IF shift 124 - RETURN shift 125 - THIS shift 126 - WHILE shift 127 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 - '{' shift 79 - '(' shift 141 + ELSE shift 437 . error - simplename goto 193 - qualifiedname goto 145 - name goto 146 - block goto 148 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 164 + +state 436 + whilestatementnoshortif : WHILE '(' expression ')' statementnoshortif . (201) + + . reduce 201 + + +state 437 + ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE . statement (172) + ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif ELSE . statementnoshortif (200) + + FOR shift 124 + IF shift 391 + RETURN shift 126 + THIS shift 127 + WHILE shift 392 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + ';' shift 140 + '{' shift 79 + '(' shift 142 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + block goto 149 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 157 + lambdaexpression goto 158 + statementexpression goto 159 + preincrementexpression goto 160 + predecrementexpression goto 161 + postincrementexpression goto 162 + postdecrementexpression goto 163 + expressionstatement goto 164 + statementwithouttrailingsubstatement goto 393 statement goto 427 - whilestatement goto 167 - forstatement goto 168 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 + statementnoshortif goto 438 + whilestatement goto 168 + forstatement goto 169 + whilestatementnoshortif goto 396 + ifthenstatement goto 170 + ifthenelsestatement goto 171 + ifthenelsestatementnoshortif goto 397 + emptystatement goto 172 + returnstatement goto 173 + assignment goto 174 + lefthandside goto 175 + methodinvocation goto 176 -state 425 - ifthenstatement : IF '(' expression ')' . statement (170) - ifthenelsestatement : IF '(' expression ')' . statementnoshortif ELSE statement (171) - ifthenelsestatementnoshortif : IF '(' expression ')' . statementnoshortif ELSE statementnoshortif (199) - - FOR shift 123 - IF shift 384 - RETURN shift 125 - THIS shift 126 - WHILE shift 385 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 - '{' shift 79 - '(' shift 141 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - block goto 148 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 386 - statement goto 387 - statementnoshortif goto 428 - whilestatement goto 167 - forstatement goto 168 - whilestatementnoshortif goto 389 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - ifthenelsestatementnoshortif goto 390 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 - - -state 426 - whilestatement : WHILE '(' expression ')' . statement (172) - whilestatementnoshortif : WHILE '(' expression ')' . statementnoshortif (200) - - FOR shift 123 - IF shift 384 - RETURN shift 125 - THIS shift 126 - WHILE shift 385 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 - '{' shift 79 - '(' shift 141 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - block goto 148 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 386 - statement goto 391 - statementnoshortif goto 429 - whilestatement goto 167 - forstatement goto 168 - whilestatementnoshortif goto 389 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - ifthenelsestatementnoshortif goto 390 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 - - -state 427 - forstatement : FOR '(' expression ';' expression ';' expression ')' statement . (173) - - . reduce 173 - - -state 428 - ifthenelsestatement : IF '(' expression ')' statementnoshortif . ELSE statement (171) - ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif . ELSE statementnoshortif (199) - - ELSE shift 430 - . error - - -state 429 - whilestatementnoshortif : WHILE '(' expression ')' statementnoshortif . (200) +state 438 + ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif ELSE statementnoshortif . (200) . reduce 200 -state 430 - ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE . statement (171) - ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif ELSE . statementnoshortif (199) - - FOR shift 123 - IF shift 384 - RETURN shift 125 - THIS shift 126 - WHILE shift 385 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 - '{' shift 79 - '(' shift 141 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - block goto 148 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 386 - statement goto 420 - statementnoshortif goto 431 - whilestatement goto 167 - forstatement goto 168 - whilestatementnoshortif goto 389 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - ifthenelsestatementnoshortif goto 390 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 - - -state 431 - ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif ELSE statementnoshortif . (199) - - . reduce 199 - - Rules never reduced: packagedeclaration : PACKAGE name ';' (2) importdeclarations : importdeclaration (3) @@ -7659,35 +7850,35 @@ Rules never reduced: interfacememberdeclaration : abstractmethoddeclaration (70) constantdeclaration : modifiers type IDENTIFIER '=' expression ';' (76) abstractmethoddeclaration : methodheader ';' (77) - variableinitializer : expression (153) + variableinitializer : expression (154) State 32 contains 1 shift/reduce conflict. State 42 contains 1 shift/reduce conflict. -State 104 contains 1 shift/reduce conflict. -State 146 contains 1 shift/reduce conflict. -State 155 contains 1 shift/reduce conflict. -State 194 contains 2 shift/reduce conflicts. -State 197 contains 3 shift/reduce conflicts. -State 198 contains 2 shift/reduce conflicts. -State 200 contains 5 shift/reduce conflicts. -State 201 contains 2 shift/reduce conflicts. -State 202 contains 1 shift/reduce conflict. +State 105 contains 1 shift/reduce conflict. +State 147 contains 1 shift/reduce conflict. +State 156 contains 1 shift/reduce conflict. +State 195 contains 2 shift/reduce conflicts. +State 198 contains 3 shift/reduce conflicts. +State 199 contains 2 shift/reduce conflicts. +State 201 contains 5 shift/reduce conflicts. +State 202 contains 2 shift/reduce conflicts. State 203 contains 1 shift/reduce conflict. State 204 contains 1 shift/reduce conflict. State 205 contains 1 shift/reduce conflict. State 206 contains 1 shift/reduce conflict. -State 246 contains 1 shift/reduce conflict. -State 340 contains 3 shift/reduce conflicts. -State 341 contains 3 shift/reduce conflicts. -State 347 contains 5 shift/reduce conflicts. -State 348 contains 5 shift/reduce conflicts. -State 349 contains 2 shift/reduce conflicts. -State 350 contains 1 shift/reduce conflict. -State 351 contains 1 shift/reduce conflict. -State 352 contains 1 shift/reduce conflict. -State 353 contains 1 shift/reduce conflict. +State 207 contains 1 shift/reduce conflict. +State 250 contains 1 shift/reduce conflict. +State 346 contains 3 shift/reduce conflicts. +State 347 contains 3 shift/reduce conflicts. +State 353 contains 5 shift/reduce conflicts. +State 354 contains 5 shift/reduce conflicts. +State 355 contains 2 shift/reduce conflicts. +State 356 contains 1 shift/reduce conflict. +State 357 contains 1 shift/reduce conflict. +State 358 contains 1 shift/reduce conflict. +State 359 contains 1 shift/reduce conflict. 97 terminals, 116 nonterminals -277 grammar rules, 432 states +278 grammar rules, 439 states From 9d361072e3e0ced27c53d3abb6dbdd136cd4e5c5 Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Tue, 18 Mar 2014 14:26:07 +0100 Subject: [PATCH 23/79] =?UTF-8?q?Test=20angef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test/plugindevelopment/OverloadingInsertTest.java | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 test/plugindevelopment/OverloadingInsertTest.java diff --git a/test/plugindevelopment/OverloadingInsertTest.java b/test/plugindevelopment/OverloadingInsertTest.java new file mode 100644 index 000000000..5843d4247 --- /dev/null +++ b/test/plugindevelopment/OverloadingInsertTest.java @@ -0,0 +1,5 @@ +package plugindevelopment; + +public class OverloadingInsertTest { + +} From d4b9ea9a73d90162b566ac665cb53f9f2dd83695 Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Tue, 18 Mar 2014 20:18:57 +0100 Subject: [PATCH 24/79] =?UTF-8?q?ConstuctorAssumption=20angef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/mycompiler/MyCompiler.java | 7 +- src/mycompiler/SourceFile.java | 9 +- src/mycompiler/SyntaxTreeNode.java | 2 +- src/mycompiler/myclass/Class.java | 14 ++- src/mycompiler/myclass/Constructor.java | 15 ++- src/mycompiler/myclass/FieldDeclaration.java | 4 +- src/mycompiler/myclass/FormalParameter.java | 3 +- src/mycompiler/myclass/Method.java | 2 +- src/mycompiler/myclass/UsedId.java | 2 +- src/mycompiler/mystatement/Block.java | 3 +- .../mystatement/LambdaExpression.java | 4 +- src/mycompiler/mystatement/MethodCall.java | 1 - src/mycompiler/mystatement/This.java | 3 +- src/mycompiler/mytest/LambdaTest.java | 2 +- .../TypeinferenceResultSet.java | 2 +- src/typinferenz/OderConstraint.java | 4 +- src/typinferenz/SingleConstraint.java | 1 + src/typinferenz/UndConstraint.java | 10 +- .../assumptions/CopyOfTypeAssumptions.java | 3 +- .../assumptions/TypeAssumptions.java | 25 +++- .../TypinferenzException.java | 2 +- src/userinterface/ConsoleInterface.java | 3 +- .../test/lambda/OverloadingTest.jav | 4 +- .../test/lambda/testResults/LambdaTest.log | 115 +++--------------- .../TestAbstractInferenceTest.java | 3 - .../OverloadingInsertTest.java | 47 ++++++- test/plugindevelopment/TypeInsertTester.java | 6 +- 27 files changed, 144 insertions(+), 152 deletions(-) rename src/typinferenz/{ => exceptions}/TypinferenzException.java (92%) diff --git a/src/mycompiler/MyCompiler.java b/src/mycompiler/MyCompiler.java index 7d511bb4e..a373f7e62 100755 --- a/src/mycompiler/MyCompiler.java +++ b/src/mycompiler/MyCompiler.java @@ -42,9 +42,10 @@ import org.apache.log4j.xml.DOMConfigurator; import com.sun.corba.se.spi.orbutil.fsm.Guard.Result; import com.sun.org.apache.xerces.internal.impl.xs.identity.Field; -import typinferenz.TypinferenzException; // ino.end import typinferenz.assumptions.TypeAssumptions; +import typinferenz.exceptions.ParserException; +import typinferenz.exceptions.TypinferenzException; @@ -752,8 +753,8 @@ public class MyCompiler implements MyCompilerAPI try { srcFile = (SourceFile) parser.yyparse( scanner ); } catch (IOException | yyException e) { - // TODO Auto-generated catch block e.printStackTrace(); + if(e instanceof yyException)throw new ParserException((yyException)e); } ////////////////////////////////////// // Postprocessing: @@ -786,7 +787,6 @@ public class MyCompiler implements MyCompilerAPI } reader.close(); } catch (IOException e) { - // TODO Auto-generated catch block e.printStackTrace(); } @@ -812,7 +812,6 @@ public class MyCompiler implements MyCompilerAPI reader.close(); gesamterSrc += fileData.toString() + "\n"; // Alle Dateien nacheinander hintereinander anhängen... } catch (Exception e) { - // TODO Auto-generated catch block e.printStackTrace(); throw new TypinferenzException("Die übergebenen Dateien konnten nicht zum Parsen eingelesen werden."); } diff --git a/src/mycompiler/SourceFile.java b/src/mycompiler/SourceFile.java index 0eb90859d..41bdf5067 100755 --- a/src/mycompiler/SourceFile.java +++ b/src/mycompiler/SourceFile.java @@ -43,9 +43,9 @@ import sun.reflect.generics.reflectiveObjects.TypeVariableImpl; import typinferenz.ConstraintsSet; import typinferenz.FunN; import typinferenz.ResultSet; -import typinferenz.TypinferenzException; import typinferenz.UndConstraint; import typinferenz.assumptions.TypeAssumptions; +import typinferenz.exceptions.TypinferenzException; @@ -741,7 +741,7 @@ public class SourceFile TypeAssumptions basics; - basics = this.makeBasicAssumptions(); //TODO: Diese Funktion ändern, dass nur noch TypeAssumptions zurückgegeben werden. Diese sind wichtig, da hier die Standard-Library von Java als Assumptions generiert wird. + basics = this.makeBasicAssumptions(); //A.addElement(basics); //auskommentiert von Andreas Stadelmeier @@ -1376,7 +1376,9 @@ public class SourceFile return foo; */ - return new TypeAssumptions(null); //TODO: Diese TypeAssumptions mit basic-Assumptions füllen + TypeAssumptions ret = new TypeAssumptions(); + + return ret; //TODO: Diese TypeAssumptions mit basic-Assumptions füllen } // ino.end @@ -1515,7 +1517,6 @@ public class SourceFile @Override public SyntaxTreeNode getParent() { - // TODO Auto-generated method stub return null; } diff --git a/src/mycompiler/SyntaxTreeNode.java b/src/mycompiler/SyntaxTreeNode.java index 91249ef9a..54dd0a743 100644 --- a/src/mycompiler/SyntaxTreeNode.java +++ b/src/mycompiler/SyntaxTreeNode.java @@ -2,7 +2,7 @@ package mycompiler; import java.util.Vector; -import typinferenz.TypinferenzException; +import typinferenz.exceptions.TypinferenzException; import mycompiler.myclass.Class; public abstract class SyntaxTreeNode { diff --git a/src/mycompiler/myclass/Class.java b/src/mycompiler/myclass/Class.java index 35f9dbfee..ac2c923d6 100755 --- a/src/mycompiler/myclass/Class.java +++ b/src/mycompiler/myclass/Class.java @@ -57,15 +57,16 @@ import org.apache.log4j.Logger; + import sun.reflect.generics.reflectiveObjects.NotImplementedException; import typinferenz.ConstraintsSet; import typinferenz.JavaCodeResult; import typinferenz.OderConstraint; import typinferenz.ResultSet; -import typinferenz.TypinferenzException; import typinferenz.UndConstraint; import typinferenz.FunN; import typinferenz.assumptions.TypeAssumptions; +import typinferenz.exceptions.TypinferenzException; @@ -1156,11 +1157,6 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface JavaCodeResult classBodyCode = new JavaCodeResult(); if(this.modifiers!=null)classBodyCode.attach(this.modifiers.printJavaCode(reconstructionResult.getUnifiedConstraints())).attach(" "); - - if(superclassid == null || superclassid.get_Name().size()<1){ - int superclassidOffset = superclassid == null ? 0 : superclassid.getOffset(); - superclassid = new UsedId("Object", superclassidOffset); - } classBodyCode.attach(this.name + " extends ").attach(superclassid.printJavaCode(reconstructionResult.getUnifiedConstraints())).attach("\n"); @@ -1262,6 +1258,12 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface public void parserPostProcessing(SyntaxTreeNode parent) { super.parserPostProcessing(parent); + //Wenn keine Superklasse, dann erbt die Klasse zwangsweise von Object: + if(superclassid == null || superclassid.get_Name().size()<1){ + int superclassidOffset = superclassid == null ? 0 : superclassid.getOffset(); + superclassid = new UsedId("Object", superclassidOffset); + } + //Alle Methoden auf Konstruktoren durchsuchen und diese umwandeln: Vector tempFields = new Vector(); for(Field f : this.getFields()){ diff --git a/src/mycompiler/myclass/Constructor.java b/src/mycompiler/myclass/Constructor.java index 2eb1259e9..543e813df 100644 --- a/src/mycompiler/myclass/Constructor.java +++ b/src/mycompiler/myclass/Constructor.java @@ -15,8 +15,10 @@ import typinferenz.ConstraintsSet; import typinferenz.JavaCodeResult; import typinferenz.ResultSet; import typinferenz.SingleConstraint; -import typinferenz.TypinferenzException; +import typinferenz.assumptions.ConstructorAssumption; +import typinferenz.assumptions.MethodAssumption; import typinferenz.assumptions.TypeAssumptions; +import typinferenz.exceptions.TypinferenzException; public class Constructor extends Method { private Method methode; @@ -238,10 +240,17 @@ public class Constructor extends Method { @Override public TypeAssumptions createTypeAssumptions(Class classmember) { - - return this.methode.createTypeAssumptions(classmember); + Class parentClass = this.getParentClass(); + TypeAssumptions ret = new TypeAssumptions(); + ret.addConstructorAssumption(new ConstructorAssumption(this, parentClass)); + return ret; } + @Override + public SyntaxTreeNode getParent(){ + return this.methode.getParent(); + } + @Override public void parserPostProcessing(SyntaxTreeNode parent) { diff --git a/src/mycompiler/myclass/FieldDeclaration.java b/src/mycompiler/myclass/FieldDeclaration.java index 51f4afd45..60ef42ca8 100644 --- a/src/mycompiler/myclass/FieldDeclaration.java +++ b/src/mycompiler/myclass/FieldDeclaration.java @@ -7,9 +7,9 @@ import typinferenz.JavaCodeResult; import typinferenz.OderConstraint; import typinferenz.ResultSet; import typinferenz.SingleConstraint; -import typinferenz.TypinferenzException; import typinferenz.assumptions.FieldAssumption; import typinferenz.assumptions.TypeAssumptions; +import typinferenz.exceptions.TypinferenzException; import mycompiler.SyntaxTreeNode; import mycompiler.mybytecode.ClassFile; import mycompiler.myexception.JVMCodeException; @@ -75,7 +75,7 @@ public class FieldDeclaration extends Field{ ////////////////////////////// TypeAssumptions assumptions = new TypeAssumptions(); /* - * TODO: Der Feld-Assumption muss ein TPH als Typ hinzugefügt werden, falls er Typlos initialisiert wurde. Dies kann auch der Type-Algorithmus der Inst/FieldVar - Klasse machen. + * Der Feld-Assumption muss ein TPH als Typ hinzugefügt werden, falls er Typlos initialisiert wurde. Dies kann auch der Type-Algorithmus der Inst/FieldVar - Klasse machen. * Wird das Feld mit einem Typ initialisiert so muss dieser auch in die Assumptions. */ if(this.getType() == null)throw new TypinferenzException("Der Typ eines Feldes darf nicht null sein"); diff --git a/src/mycompiler/myclass/FormalParameter.java b/src/mycompiler/myclass/FormalParameter.java index e49dbef24..853356b7b 100755 --- a/src/mycompiler/myclass/FormalParameter.java +++ b/src/mycompiler/myclass/FormalParameter.java @@ -22,12 +22,13 @@ import org.apache.log4j.Logger; + import sun.reflect.generics.reflectiveObjects.NotImplementedException; import typinferenz.JavaCodeResult; import typinferenz.ResultSet; import typinferenz.Typeable; import typinferenz.TypeInsertable; -import typinferenz.TypinferenzException; +import typinferenz.exceptions.TypinferenzException; // ino.class.FormalParameter.23391.declaration public class FormalParameter extends SyntaxTreeNode implements ITypeReplacementListener, Typeable, TypeInsertable diff --git a/src/mycompiler/myclass/Method.java b/src/mycompiler/myclass/Method.java index 7de29dc7c..f770a0662 100755 --- a/src/mycompiler/myclass/Method.java +++ b/src/mycompiler/myclass/Method.java @@ -563,7 +563,7 @@ public class Method extends Field implements IItemWithOffset, TypeInsertable @Override public JavaCodeResult printJavaCode(ResultSet resultSet) { JavaCodeResult ret = new JavaCodeResult(); - ret.attach(this.getType().printJavaCode(resultSet)).attach(" ").attach(this.get_Method_Name()).attach("()\n"); //TODO: hier müssen auch noch die Parameter ausgegeben werden! + ret.attach(this.getType().printJavaCode(resultSet)).attach(" ").attach(this.get_Method_Name()).attach("(").attach(this.getParameterList().printJavaCode(resultSet)).attach(")\n"); ret.attach(this.block.printJavaCode(resultSet)); return ret; diff --git a/src/mycompiler/myclass/UsedId.java b/src/mycompiler/myclass/UsedId.java index a16db852a..b6f022da4 100755 --- a/src/mycompiler/myclass/UsedId.java +++ b/src/mycompiler/myclass/UsedId.java @@ -7,7 +7,7 @@ import java.util.Vector; import typinferenz.JavaCodeResult; import typinferenz.ResultSet; -import typinferenz.TypinferenzException; +import typinferenz.exceptions.TypinferenzException; import mycompiler.IItemWithOffset; import mycompiler.mybytecode.JVMCode; import mycompiler.mytype.Type; diff --git a/src/mycompiler/mystatement/Block.java b/src/mycompiler/mystatement/Block.java index a4b6ea16a..9546246d6 100755 --- a/src/mycompiler/mystatement/Block.java +++ b/src/mycompiler/mystatement/Block.java @@ -32,14 +32,15 @@ import org.apache.log4j.Logger; + import sun.reflect.generics.reflectiveObjects.NotImplementedException; import typinferenz.JavaCodeResult; import typinferenz.SingleConstraint; import typinferenz.ConstraintsSet; import typinferenz.FreshTypeVariable; import typinferenz.ResultSet; -import typinferenz.TypinferenzException; import typinferenz.assumptions.TypeAssumptions; +import typinferenz.exceptions.TypinferenzException; diff --git a/src/mycompiler/mystatement/LambdaExpression.java b/src/mycompiler/mystatement/LambdaExpression.java index c5a24d0d2..d3181b844 100755 --- a/src/mycompiler/mystatement/LambdaExpression.java +++ b/src/mycompiler/mystatement/LambdaExpression.java @@ -10,9 +10,9 @@ import typinferenz.FreshTypeVariable; import typinferenz.FunN; import typinferenz.ResultSet; import typinferenz.Typeable; -import typinferenz.TypinferenzException; import typinferenz.assumptions.ParameterAssumption; import typinferenz.assumptions.TypeAssumptions; +import typinferenz.exceptions.TypinferenzException; import mycompiler.SyntaxTreeNode; import mycompiler.mybytecode.ClassFile; import mycompiler.mybytecode.CodeAttribute; @@ -124,7 +124,7 @@ public class LambdaExpression extends Expr{ public ConstraintsSet TYPEExpr(TypeAssumptions assumptions) { ConstraintsSet ret = new ConstraintsSet(); //Die Assumptions für die Parameter der LambdaExpression - TypeAssumptions ArgumentAssumptions = new TypeAssumptions(assumptions.getThisValue().getName()); + TypeAssumptions ArgumentAssumptions = new TypeAssumptions(this.getParentClass().getName()); Vector paramTypes = new Vector(); for(FormalParameter param : params.formalparameter){ diff --git a/src/mycompiler/mystatement/MethodCall.java b/src/mycompiler/mystatement/MethodCall.java index fcebc7744..6b9d2eb7b 100755 --- a/src/mycompiler/mystatement/MethodCall.java +++ b/src/mycompiler/mystatement/MethodCall.java @@ -664,7 +664,6 @@ public class MethodCall extends Expr */ @Override public ConstraintsSet TYPEExpr(TypeAssumptions assumptions) { - //TODO hier muss unterschieden werden zwischen einem Konstruktor und einer Methode. //Hier der Ablauf für einen Methodenaufruf: ConstraintsSet ret = new ConstraintsSet(); //Der Return-Type des MEthodenaufrufs ist zunächst unbekannt: diff --git a/src/mycompiler/mystatement/This.java b/src/mycompiler/mystatement/This.java index 04c0bf918..39aa5f07b 100755 --- a/src/mycompiler/mystatement/This.java +++ b/src/mycompiler/mystatement/This.java @@ -170,7 +170,8 @@ public class This extends Expr public ConstraintsSet TYPEExpr(TypeAssumptions assumptions) { ConstraintsSet ret = new ConstraintsSet(); //this.set_Type(new); - this.setType(assumptions.getThisValue());//Die Assumption für this als TypeVariable setzen. + //this.setType(assumptions.getThisValue());//Die Assumption für this als TypeVariable setzen. + this.setType(new RefType(this.getParentClass().getName(),0)); return ret; } diff --git a/src/mycompiler/mytest/LambdaTest.java b/src/mycompiler/mytest/LambdaTest.java index 519886f7e..7bde818d4 100755 --- a/src/mycompiler/mytest/LambdaTest.java +++ b/src/mycompiler/mytest/LambdaTest.java @@ -15,8 +15,8 @@ import org.apache.log4j.Logger; import org.apache.log4j.PatternLayout; import org.apache.log4j.SimpleLayout; -import typinferenz.TypinferenzException; import typinferenz.assumptions.TypeAssumptions; +import typinferenz.exceptions.TypinferenzException; import mycompiler.MyCompiler; import mycompiler.MyCompilerAPI; import mycompiler.mytype.Type; diff --git a/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java b/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java index 933e89853..a5b8b121c 100755 --- a/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java +++ b/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java @@ -11,8 +11,8 @@ import typinferenz.ConstraintsSet; import typinferenz.ResultSet; import typinferenz.TypeInsertPoint; import typinferenz.TypeInsertSet; -import typinferenz.TypinferenzException; import typinferenz.assumptions.TypeAssumptions; +import typinferenz.exceptions.TypinferenzException; import mycompiler.mytype.GenericTypeVar; import mycompiler.mytype.Pair; import mycompiler.mytype.RefType; diff --git a/src/typinferenz/OderConstraint.java b/src/typinferenz/OderConstraint.java index d6a198c89..61aff4fe0 100755 --- a/src/typinferenz/OderConstraint.java +++ b/src/typinferenz/OderConstraint.java @@ -59,8 +59,8 @@ public class OderConstraint{ @Override public String toString(){ String ret = "["; - for(Pair p : this.getConstraintPairs()){ - ret += p.toString()+ ", "; + for(UndConstraint p : this.getUndConstraints()){ + ret += p.toString()+ "| "; } return ret+"]"; } diff --git a/src/typinferenz/SingleConstraint.java b/src/typinferenz/SingleConstraint.java index e15b921b3..c365e0aff 100755 --- a/src/typinferenz/SingleConstraint.java +++ b/src/typinferenz/SingleConstraint.java @@ -2,6 +2,7 @@ package typinferenz; import java.util.Vector; +import typinferenz.exceptions.TypinferenzException; import mycompiler.mytype.Pair; import mycompiler.mytype.RefType; import mycompiler.mytype.Type; diff --git a/src/typinferenz/UndConstraint.java b/src/typinferenz/UndConstraint.java index ceb4e3881..f5dc88084 100755 --- a/src/typinferenz/UndConstraint.java +++ b/src/typinferenz/UndConstraint.java @@ -27,9 +27,15 @@ public class UndConstraint extends OderConstraint { return ret; } + @Override public String toString(){ - String ret = super.toString(); - return ret.replace(',', '|'); + //String ret = super.toString(); + //return ret.replace('|', ','); + String ret = "["; + for(Pair p : this.getConstraintPairs()){ + ret += p.toString()+ ", "; + } + return ret+"]"; } } diff --git a/src/typinferenz/assumptions/CopyOfTypeAssumptions.java b/src/typinferenz/assumptions/CopyOfTypeAssumptions.java index d18d26233..53672cac8 100644 --- a/src/typinferenz/assumptions/CopyOfTypeAssumptions.java +++ b/src/typinferenz/assumptions/CopyOfTypeAssumptions.java @@ -5,7 +5,7 @@ import java.util.Vector; import sun.reflect.generics.reflectiveObjects.NotImplementedException; import typinferenz.FunN; -import typinferenz.TypinferenzException; +import typinferenz.exceptions.TypinferenzException; import mycompiler.mytype.GenericTypeVar; import mycompiler.mytype.RefType; import mycompiler.mytype.Type; @@ -155,6 +155,7 @@ public class CopyOfTypeAssumptions implements Iterable { } //TODO: Dann die lokalen Variablen // ... (noch nicht implementiert) + //und zuletzt die Felder der Klasse in dessen Namensraum sich dieses AssumptionSet befindet. for(CTypeAssumption ass : this.getInstVarAssumptions()){ if(ass.getIdentifier().equals(variableName))return ass.getAssumedType(); diff --git a/src/typinferenz/assumptions/TypeAssumptions.java b/src/typinferenz/assumptions/TypeAssumptions.java index 3c1ce434f..b718fa27a 100755 --- a/src/typinferenz/assumptions/TypeAssumptions.java +++ b/src/typinferenz/assumptions/TypeAssumptions.java @@ -1,14 +1,16 @@ package typinferenz.assumptions; import java.util.Iterator; + import mycompiler.myclass.Class; + import java.util.Vector; import sun.reflect.generics.reflectiveObjects.NotImplementedException; import typinferenz.FunN; import typinferenz.FunNInterface; import typinferenz.FunNMethod; -import typinferenz.TypinferenzException; +import typinferenz.exceptions.TypinferenzException; import mycompiler.mytype.GenericTypeVar; import mycompiler.mytype.RefType; import mycompiler.mytype.Type; @@ -46,6 +48,7 @@ public class TypeAssumptions { private Vector methodAssumptions = new Vector(); + private Vector constructorAssumptions = new Vector(); private Vector fieldAssumptions = new Vector(); private Vector localVarAssumptions = new Vector(); private Vector parameterAssumptions = new Vector(); @@ -67,7 +70,12 @@ public class TypeAssumptions { public void addMethodAssumption(MethodAssumption mAss){ this.methodAssumptions.add(mAss); } - + + public void addConstructorAssumption( + ConstructorAssumption constructorAssumption) { + this.constructorAssumptions.add(constructorAssumption); + } + public void addFieldAssumption(FieldAssumption ass){ this.fieldAssumptions.add(ass); } @@ -87,10 +95,11 @@ public class TypeAssumptions { */ public Vector getFieldVars(String withName){ //TODO: Implementieren - return null; + return new Vector(); } public Type getTypeOfFieldVar(String withName, Class inClass){ + //TODO: Implementieren return null; } @@ -100,7 +109,8 @@ public class TypeAssumptions { * @return */ public Vector getMethods(String withName){ - return null; + //TODO: Implementieren + return new Vector(); } /** @@ -109,6 +119,7 @@ public class TypeAssumptions { * @return */ public Type getTypeOfLocalVar(String withName){ + //TODO: Implementieren return null; } @@ -243,9 +254,13 @@ public class TypeAssumptions { return ret; } - public Type getThisValue() { + @Deprecated + public Type getThisValue2() { + if(thisClassName == null)throw new TypinferenzException("Kein Wert für this vorhanden, in diesem Kontext"); return new RefType(thisClassName, 0); } + + } diff --git a/src/typinferenz/TypinferenzException.java b/src/typinferenz/exceptions/TypinferenzException.java similarity index 92% rename from src/typinferenz/TypinferenzException.java rename to src/typinferenz/exceptions/TypinferenzException.java index aa0e082fd..0146c4be8 100755 --- a/src/typinferenz/TypinferenzException.java +++ b/src/typinferenz/exceptions/TypinferenzException.java @@ -1,4 +1,4 @@ -package typinferenz; +package typinferenz.exceptions; /** * Eine RuntimeException, welche bei einem Fehler während des Typinferenzalgorithmus ausgelöst wird. diff --git a/src/userinterface/ConsoleInterface.java b/src/userinterface/ConsoleInterface.java index 045f95321..4e1c43602 100755 --- a/src/userinterface/ConsoleInterface.java +++ b/src/userinterface/ConsoleInterface.java @@ -8,7 +8,8 @@ import java.util.Vector; import mycompiler.MyCompiler; import mycompiler.MyCompilerAPI; import mycompiler.mytypereconstruction.TypeinferenceResultSet; -import typinferenz.TypinferenzException; +import typinferenz.exceptions.TypinferenzException; + import java.util.*; import org.apache.log4j.Logger; diff --git a/test/mycompiler/test/lambda/OverloadingTest.jav b/test/mycompiler/test/lambda/OverloadingTest.jav index bed6f9604..bdcba2bc6 100755 --- a/test/mycompiler/test/lambda/OverloadingTest.jav +++ b/test/mycompiler/test/lambda/OverloadingTest.jav @@ -2,7 +2,7 @@ class OverloadingTest{ var; - public Object clone(){ + public clone(){ return this; } @@ -14,7 +14,7 @@ class OverloadingTest{ class OverloadingTest2{ - public Object clone(){ + public clone(){ return this; } diff --git a/test/mycompiler/test/lambda/testResults/LambdaTest.log b/test/mycompiler/test/lambda/testResults/LambdaTest.log index 2e4150980..aff7b5262 100644 --- a/test/mycompiler/test/lambda/testResults/LambdaTest.log +++ b/test/mycompiler/test/lambda/testResults/LambdaTest.log @@ -1,123 +1,36 @@ -Class DEBUG [Typeinference] Erstellte Assumptions: this: MatrixMethod Assumptions: -[MethodAssumption: Matrix null { []] +Class DEBUG [Typeinference] Erstellte Assumptions: this: ThisTestMethod Assumptions: +[] FieldVar Assumptions: -[typinferenz.assumptions.FieldAssumption@15502c5e] +[typinferenz.assumptions.FieldAssumption@6d657803] LocalVar Assumptions: [] Parameter Assumptions: [] -Block DEBUG [Typeinference] Prozessing statement: null Return null (( [ f, ]) -> null { [null Return null (f.apply( [ null (this(null)), m, ]))]) -Block DEBUG [Typeinference] Prozessing statement: null Return null (f.apply( [ null (this(null)), m, ])) -Block DEBUG [Typeinference] Prozessing statement: TPH K Return TPH G (f: TPH E.apply( [ Matrix (this(null)), m: TPH C, ])) -Block DEBUG [Typeinference] Prozessing statement: TPH L Return TPH F (( [ TPH E f, ]) -> TPH K { [TPH K Return TPH G (f: TPH E.apply( [ Matrix (this(null)), m: TPH C, ]))]) Class DEBUG [Typeinference] Erstellte Constraints: TPH A < TPH A -[(TPH H <. TPH G), (Matrix <. TPH I), (TPH C <. TPH J), (TPH E <. FunN), ] -TPH G < TPH K -Fun1< TPH K, TPH E > < TPH F -TPH F < TPH L -Fun1< TPH L, TPH C > < TPH D -TPH D < TPH A +ThisTest < TPH A -SourceFile DEBUG [Typeinference] Karthesisches Produkt der Constraints: [[(TPH A <. TPH A), (TPH H <. TPH G), (Matrix <. TPH I), (TPH C <. TPH J), (TPH E <. FunN), (TPH G <. TPH K), (Fun1< TPH K, TPH E > <. TPH F), (TPH F <. TPH L), (Fun1< TPH L, TPH C > <. TPH D), (TPH D <. TPH A)]] -SourceFile DEBUG [Typeinference] Unifiziertes Ergebnis: [[(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Matrix), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< Vector< GTV Integer > >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< ? extends Vector< GTV Integer > >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< ? extends Vector< ? super GTV Integer > >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< ? super Vector< GTV Integer > >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< ? super Matrix >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)]] +SourceFile DEBUG [Typeinference] Karthesisches Produkt der Constraints: [[(TPH A <. TPH A), (ThisTest <. TPH A)]] +SourceFile DEBUG [Typeinference] Unifiziertes Ergebnis: [[(TPH A = ThisTest)], [(TPH A = Object)]] SourceFile DEBUG [Typeinference] JavaFiles: -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Matrix), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH A = ThisTest)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class ThisTest extends Object { -Fun1, C> op = (C m) -> { -return (FunN f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() +ThisTest thisVar = this; +ThisTest ThisTest() { } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< Vector< GTV Integer > >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH A = Object)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class ThisTest extends Object { -Fun1, C> op = (C m) -> { -return (FunN f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< ? extends Vector< GTV Integer > >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1, C> op = (C m) -> { -return (FunN f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1, C> op = (C m) -> { -return (FunN f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< ? extends Vector< ? super GTV Integer > >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1, C> op = (C m) -> { -return (FunN f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< ? super Vector< GTV Integer > >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1, C> op = (C m) -> { -return (FunN f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< ? super Matrix >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1, C> op = (C m) -> { -return (FunN f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() +Object thisVar = this; +ThisTest ThisTest() { } } diff --git a/test/mycompiler/test/notUsedAnymore/TestAbstractInferenceTest.java b/test/mycompiler/test/notUsedAnymore/TestAbstractInferenceTest.java index e373a052c..a3d26b7e7 100755 --- a/test/mycompiler/test/notUsedAnymore/TestAbstractInferenceTest.java +++ b/test/mycompiler/test/notUsedAnymore/TestAbstractInferenceTest.java @@ -7,9 +7,6 @@ import mycompiler.mytypereconstruction.typeassumption.CLocalVarTypeAssumption; import mycompiler.mytypereconstruction.typeassumption.CMethodTypeAssumption; -/*TODO: -*/ - public class TestAbstractInferenceTest extends AbstractInferenceTestOLD_2 { private final static String TESTEDCLASSNAME="TestAbstractInferenceTest"; diff --git a/test/plugindevelopment/OverloadingInsertTest.java b/test/plugindevelopment/OverloadingInsertTest.java index 5843d4247..49f99f3f5 100644 --- a/test/plugindevelopment/OverloadingInsertTest.java +++ b/test/plugindevelopment/OverloadingInsertTest.java @@ -1,5 +1,50 @@ package plugindevelopment; -public class OverloadingInsertTest { +import java.io.File; +import java.io.IOException; +import java.util.Vector; +import junit.framework.TestCase; +import mycompiler.MyCompiler; +import mycompiler.MyCompilerAPI; +import mycompiler.myparser.JavaParser.yyException; +import mycompiler.mytypereconstruction.TypeinferenceResultSet; + +import org.junit.Test; + +import typinferenz.TypeInsertSet; + +public class OverloadingInsertTest { + private static final String TEST_FILE = "OverloadingInsertTest.jav"; + + @Test + public void run(){ + this.test(this.TEST_FILE); + } + + public static void test(String sourceFileToInfere){ + String inferedSource = ""; + MyCompilerAPI compiler = MyCompiler.getAPI(); + try { + compiler.parse(new File(TypeInsertTester.rootDirectory + sourceFileToInfere)); + Vector results = compiler.typeReconstruction(); + //TestCase.assertTrue("Es darf nicht mehr als eine Lösungsmöglichkeit geben und nicht "+results.size(), results.size()==1); + for(TypeinferenceResultSet result : results){ + Vector points = result.getTypeInsertionPoints(); + TestCase.assertTrue("Es muss mindestens ein TypeInsertSet vorhanden sein", points.size()>0); + for(TypeInsertSet point : points){ + TestCase.assertTrue("Es muss mindestens ein TypeInsertPoint vorhanden sein", point.points.size()>0); + if(point.points.size()>0){ + inferedSource = point.insertAllTypes(TypeInsertTester.getFileContent(TypeInsertTester.rootDirectory + sourceFileToInfere)); + System.out.println(inferedSource); + } + } + } + + } catch (IOException | yyException e) { + e.printStackTrace(); + TestCase.fail(); + } + } + } diff --git a/test/plugindevelopment/TypeInsertTester.java b/test/plugindevelopment/TypeInsertTester.java index 4e8d42ae6..febaa105b 100644 --- a/test/plugindevelopment/TypeInsertTester.java +++ b/test/plugindevelopment/TypeInsertTester.java @@ -39,7 +39,7 @@ public class TypeInsertTester{ inferencelog.addAppender(logAppender); //Bei den Tests wird der Log auch in System.out geschrieben. } } - private static final String rootDirectory = System.getProperty("user.dir")+"/test/plugindevelopment/"; + static final String rootDirectory = System.getProperty("user.dir")+"/test/plugindevelopment/"; public static void test(String sourceFileToInfere, String solutionFile){ String inferedSource = ""; @@ -47,7 +47,7 @@ public class TypeInsertTester{ try { compiler.parse(new File(rootDirectory + sourceFileToInfere)); Vector results = compiler.typeReconstruction(); - TestCase.assertTrue("Es darf nicht mehr als eine Lösungsmöglichkeit geben", results.size()==1); + TestCase.assertTrue("Es darf nicht mehr als eine Lösungsmöglichkeit geben und nicht "+results.size(), results.size()==1); for(TypeinferenceResultSet result : results){ Vector points = result.getTypeInsertionPoints(); TestCase.assertTrue("Es muss mindestens ein TypeInsertSet vorhanden sein", points.size()>0); @@ -68,7 +68,7 @@ public class TypeInsertTester{ } //Source: https://stackoverflow.com/questions/326390/how-to-create-a-java-string-from-the-contents-of-a-file - private static String getFileContent(String path)throws IOException + static String getFileContent(String path)throws IOException { byte[] encoded = Files.readAllBytes(Paths.get(path)); return StandardCharsets.UTF_8.decode(ByteBuffer.wrap(encoded)).toString(); From 38698d04fdd58bfef376d72260acbf4e4393a9eb Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Tue, 18 Mar 2014 20:19:13 +0100 Subject: [PATCH 25/79] =?UTF-8?q?ConstuctorAssumption=20angef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../assumptions/ConstructorAssumption.java | 14 +++++++++++++ .../exceptions/ParserException.java | 16 +++++++++++++++ .../OverloadingInsertTest.jav | 20 +++++++++++++++++++ 3 files changed, 50 insertions(+) create mode 100644 src/typinferenz/assumptions/ConstructorAssumption.java create mode 100644 src/typinferenz/exceptions/ParserException.java create mode 100644 test/plugindevelopment/OverloadingInsertTest.jav diff --git a/src/typinferenz/assumptions/ConstructorAssumption.java b/src/typinferenz/assumptions/ConstructorAssumption.java new file mode 100644 index 000000000..934af3d8c --- /dev/null +++ b/src/typinferenz/assumptions/ConstructorAssumption.java @@ -0,0 +1,14 @@ +package typinferenz.assumptions; + +import mycompiler.myclass.Class; +import mycompiler.myclass.Field; +import mycompiler.myclass.Method; + +public class ConstructorAssumption extends MethodAssumption{ + + public ConstructorAssumption(Method assumedMethod, Class parentClass) { + super(assumedMethod, parentClass); + } + + +} diff --git a/src/typinferenz/exceptions/ParserException.java b/src/typinferenz/exceptions/ParserException.java new file mode 100644 index 000000000..70102c11f --- /dev/null +++ b/src/typinferenz/exceptions/ParserException.java @@ -0,0 +1,16 @@ +package typinferenz.exceptions; + +import mycompiler.myparser.JavaParser.yyException; + + +public class ParserException extends TypinferenzException { + + public ParserException(String message) { + super(message); + } + + public ParserException(yyException exc){ + super("Parserfehler"); + } + +} diff --git a/test/plugindevelopment/OverloadingInsertTest.jav b/test/plugindevelopment/OverloadingInsertTest.jav new file mode 100644 index 000000000..5952fe38d --- /dev/null +++ b/test/plugindevelopment/OverloadingInsertTest.jav @@ -0,0 +1,20 @@ +class OverloadingInsertTest{ + + var; + + overload(){ + return this; + } +} + +class Overloading2{ + var2; + + methode(){ + return var2.overload(); + } + + overload(){ + return this; + } +} \ No newline at end of file From 7defd01db88e55133e74e981ef29384b50c89144 Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Wed, 19 Mar 2014 15:14:50 +0100 Subject: [PATCH 26/79] =?UTF-8?q?=C3=84nderungen=20an=20typeReconstruction?= =?UTF-8?q?=20in=20SourceFile.=20Die=20Constraints=20aller=20Klassen=20ein?= =?UTF-8?q?er=20SourceFile=20werden=20nun=20gemeinsam=20Unifiziert=20und?= =?UTF-8?q?=20jede=20Klasse=20aus=20dem=20SourceFile=20erh=C3=A4lt=20das?= =?UTF-8?q?=20selbe=20ResultSet.=20Tests=20angef=C3=BCgt.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/mycompiler/SourceFile.java | 165 +++++++++--------- src/mycompiler/myclass/Class.java | 18 +- src/mycompiler/myclass/Constructor.java | 48 +++++ src/mycompiler/myclass/Method.java | 9 + src/mycompiler/mytype/TypePlaceholder.java | 11 ++ .../TypeinferenceResultSet.java | 2 +- .../assumptions/MethodAssumption.java | 12 ++ .../assumptions/TypeAssumptions.java | 15 +- .../test/lambda/testResults/LambdaTest.log | 115 ++++++++++-- test/plugindevelopment/FunNInsertTest.jav | 12 ++ test/plugindevelopment/FunNInsertTest.java | 18 ++ .../MultipleTypesInsertTester.java | 46 +++++ .../OverloadingInsertTest.java | 33 +--- 13 files changed, 369 insertions(+), 135 deletions(-) create mode 100644 test/plugindevelopment/FunNInsertTest.jav create mode 100644 test/plugindevelopment/FunNInsertTest.java create mode 100644 test/plugindevelopment/MultipleTypesInsertTester.java diff --git a/src/mycompiler/SourceFile.java b/src/mycompiler/SourceFile.java index 41bdf5067..49ac32c7a 100755 --- a/src/mycompiler/SourceFile.java +++ b/src/mycompiler/SourceFile.java @@ -646,89 +646,96 @@ public class SourceFile globalAssumptions.add(klasse.getPublicFieldAssumptions()); } + ConstraintsSet oderConstraints = new ConstraintsSet(); //Alle Constraints der in dieser SourceFile enthaltenen Klassen sammeln: for(Class klasse : KlassenVektor){ - ConstraintsSet oderConstraints = klasse.typeReconstruction(finiteClosure, globalAssumptions); - - //Die Constraints in Pair's umwandeln (Karthesisches Produkt bilden): - Vector> xConstraints = new Vector>();// = oderConstraints.getConstraints(); - for(Vector uC:oderConstraints.getConstraints()){ //mit dem getConstraints-Aufruf wird das Karthesische Produkt erzeugt. - Vector cons = new Vector(); - for(UndConstraint undCons:uC){ - cons.addAll(undCons.getConstraintPairs()); - } - xConstraints.add(cons); - } - typinferenzLog.debug("Karthesisches Produkt der Constraints: "+xConstraints); - - ////////////////////////////// - // Unifizierung der Constraints: - ////////////////////////////// - for(Vector constraints : xConstraints){ - //Alle durch das Karthesische Produkt entstandenen Möglichkeiten durchgehen: - Vector> result = new Vector>(); - - //Alle FunN-Typen werden per clone-methode in RefTypes verwandelt. (Die clone Methode in FunN darf nicht überschrieben werden. - for(Pair p : constraints){ - if(p.TA1 instanceof FunN){ - p.TA1 = p.TA1.clone(); - } - if(p.TA2 instanceof FunN){ - p.TA2 = p.TA2.clone(); - } - } - - //Erst die Unifizierung erstellen: - Vector constraintsClone = (Vector)constraints.clone(); - Vector> unifyResult = Unify.unify(constraintsClone, finiteClosure); - //Dann den Ergebnissen anfügen - result.addAll(unifyResult); - - // Debugoutput:Vector> - typinferenzLog.debug("Unifiziertes Ergebnis: "+result); - - /* - // Prüfe ob eindeutige Lösung: - if(result.size()>1 && !Unify.hasSolvedForm(result.elementAt(0))){ - - typinferenzLog.debug("Keine eindeutige Lösung!"); - - }else if(result.size()>1){ - - //Replace TPH: - for(Pair res : result.elementAt(0)){ - if(res.OperatorEqual()){ - if(res.TA1 instanceof TypePlaceholder)((TypePlaceholder)res.TA1).fireReplaceTypeEvent(new CReplaceTypeEvent(res.TA1, res.TA2)); - } - } - } - */ - //typinferenzLog.debug(); - //typinferenzLog.debug(supportData.getFiniteClosure()); - //typinferenzLog.debug("Typinformationen: \n"+this.getTypeInformation(this.getMethodList(), fieldInitializers)); - - typinferenzLog.debug("\nJavaFiles:\n"); - - //typinferenzLog.debug(this.printJavaCode(new ResultSet(new Vector()))); - - - //Der Unifikationsalgorithmus kann wiederum auch mehrere Lösungen errechnen, diese werden im folgenden durchlaufen: - for(Vector resultSet : result){ - //Add Result set as a new ReconstructionResult to ret: - TypeinferenceResultSet reconstructionResult = new TypeinferenceResultSet(klasse, constraints, new ResultSet(resultSet)); - ret.add(reconstructionResult); - - //ResultSet res = new ResultSet(resultSet); - typinferenzLog.debug("JavaFile für ResultSet "+reconstructionResult+"\n"); - typinferenzLog.debug(klasse.printJavaCode(reconstructionResult)); - - } - - } - - + oderConstraints.add(klasse.typeReconstruction(finiteClosure, globalAssumptions)); } + //////////////// + //Karthesisches Produkt bilden: + //////////////// + //Die Constraints in Pair's umwandeln (Karthesisches Produkt bilden): + Vector> xConstraints = new Vector>();// = oderConstraints.getConstraints(); + for(Vector uC:oderConstraints.getConstraints()){ //mit dem getConstraints-Aufruf wird das Karthesische Produkt erzeugt. + Vector cons = new Vector(); + for(UndConstraint undCons:uC){ + cons.addAll(undCons.getConstraintPairs()); + } + xConstraints.add(cons); + } + typinferenzLog.debug("Karthesisches Produkt der Constraints: "+xConstraints); + + ////////////////////////////// + // Unifizierung der Constraints: + ////////////////////////////// + for(Vector constraints : xConstraints){ + //Alle durch das Karthesische Produkt entstandenen Möglichkeiten durchgehen: + Vector> result = new Vector>(); + + //Alle FunN-Typen werden per clone-methode in RefTypes verwandelt. (Die clone Methode in FunN darf nicht überschrieben werden. + for(Pair p : constraints){ + if(p.TA1 instanceof FunN){ + p.TA1 = p.TA1.clone(); + } + if(p.TA2 instanceof FunN){ + p.TA2 = p.TA2.clone(); + } + } + + //Erst die Unifizierung erstellen: + Vector constraintsClone = (Vector)constraints.clone(); + Vector> unifyResult = Unify.unify(constraintsClone, finiteClosure); + //Dann den Ergebnissen anfügen + result.addAll(unifyResult); + + // Debugoutput:Vector> + typinferenzLog.debug("Unifiziertes Ergebnis: "+result); + + /* + // Prüfe ob eindeutige Lösung: + if(result.size()>1 && !Unify.hasSolvedForm(result.elementAt(0))){ + + typinferenzLog.debug("Keine eindeutige Lösung!"); + + }else if(result.size()>1){ + + //Replace TPH: + for(Pair res : result.elementAt(0)){ + if(res.OperatorEqual()){ + if(res.TA1 instanceof TypePlaceholder)((TypePlaceholder)res.TA1).fireReplaceTypeEvent(new CReplaceTypeEvent(res.TA1, res.TA2)); + } + } + } + */ + //typinferenzLog.debug(); + //typinferenzLog.debug(supportData.getFiniteClosure()); + //typinferenzLog.debug("Typinformationen: \n"+this.getTypeInformation(this.getMethodList(), fieldInitializers)); + + typinferenzLog.debug("\nJavaFiles:\n"); + + //typinferenzLog.debug(this.printJavaCode(new ResultSet(new Vector()))); + + + //Für jede Klasse in diesem SourceFile gilt das selbe ResultSet: + for(Class klasse : this.KlassenVektor){ + //Der Unifikationsalgorithmus kann wiederum auch mehrere Lösungen errechnen, diese werden im folgenden durchlaufen: + for(Vector resultSet : result){ + //Add Result set as a new ReconstructionResult to ret: + TypeinferenceResultSet reconstructionResult = new TypeinferenceResultSet(klasse, constraints, new ResultSet(resultSet)); + ret.add(reconstructionResult); + + //ResultSet res = new ResultSet(resultSet); + typinferenzLog.debug("JavaFile für ResultSet "+reconstructionResult+"\n"); + typinferenzLog.debug(klasse.printJavaCode(reconstructionResult)); + + } + } + + + } + + return ret; /* // HOTI: Nur zur Info.Ich habe den Loglevel auf Info geschaltet, damit diff --git a/src/mycompiler/myclass/Class.java b/src/mycompiler/myclass/Class.java index ac2c923d6..b6d492527 100755 --- a/src/mycompiler/myclass/Class.java +++ b/src/mycompiler/myclass/Class.java @@ -630,10 +630,11 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface // @author A10023 - Andreas Stadelmeier: ////////////////////////////// //Erzeuge Assumptions: - TypeAssumptions assumptions = this.getTypeAssumptions(); - //-- + TypeAssumptions assumptions = this.getPrivateFieldAssumptions(); + //Globale Assumptions anfügen: assumptions.add(globalAssumptions); - + + typinferenzLog.debug("Erstellte Assumptions: "+assumptions); /* //Generiere Liste mit Expressions, welche zur Initialisierung von Feldern verwendet werden. Vector fieldInitializers = new Vector(); @@ -816,11 +817,11 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface */ /** - * Die Funktion ist erst nach dem Aufruf von getMethodList() nutzbar. - * Ermittelt alle Felder und Methoden der Klasse und Erstellt eine Assumption für diese. + * Ermittelt alle privaten Felder und Methoden der Klasse und Erstellt eine Assumption für diese. + * Bemerkung: Momentan werden noch alle Felder dieser Klasse zurückgegeben. * @return Die erstellten TypeAssumptions */ - private TypeAssumptions getTypeAssumptions() { + private TypeAssumptions getPrivateFieldAssumptions() { if(this.typeAssumptions != null)return this.typeAssumptions; //Das sorgt dafür, dass die Assumptions nur einmalig generiert werden. TypeAssumptions assumptions = new TypeAssumptions(this.getName()); //this.getMethodList(); //Diese Funktion muss zuerst ausgeführt werden. @@ -839,9 +840,6 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface // assumptions.addMethodAssumption(new RefType(this.getName(),0), "", new RefType(this.getName(),0), new Vector()); //} - - typinferenzLog.debug("Erstellte Assumptions: "+assumptions); - this.typeAssumptions = assumptions; //Diese müssen anschließend nicht wieder generiert werden. return assumptions; } @@ -1247,7 +1245,7 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface * @return */ public TypeAssumptions getPublicFieldAssumptions() { - TypeAssumptions ret = this.getTypeAssumptions(); + TypeAssumptions ret = this.getPrivateFieldAssumptions(); for(Field f : this.getFields()){ ret.add(f.createTypeAssumptions(this)); } diff --git a/src/mycompiler/myclass/Constructor.java b/src/mycompiler/myclass/Constructor.java index 543e813df..b7c3d7892 100644 --- a/src/mycompiler/myclass/Constructor.java +++ b/src/mycompiler/myclass/Constructor.java @@ -273,6 +273,54 @@ public class Constructor extends Method { public Type getType() { return this.methode.getType(); } + + + @Override + public boolean equals(Object obj) { + return this.methode.equals(obj); + } + + + @Override + public void set_DeclId(DeclId did) { + this.methode.set_DeclId(did); + } + + + @Override + public Vector get_Name() { + return this.methode.get_Name(); + } + + + @Override + public Vector getDeclIdVector() { + return this.methode.getDeclIdVector(); + } + + + @Override + public void setDeclIdVector(Vector vDeclId) { + this.methode.setDeclIdVector(vDeclId); + } + + + @Override + public String getIdentifier() { + return this.methode.getIdentifier(); + } + + + @Override + public String getDescription() { + return this.methode.getDescription(); + } + + + @Override + public Class getParentClass() { + return this.methode.getParentClass(); + } } diff --git a/src/mycompiler/myclass/Method.java b/src/mycompiler/myclass/Method.java index f770a0662..7fa63b752 100755 --- a/src/mycompiler/myclass/Method.java +++ b/src/mycompiler/myclass/Method.java @@ -702,5 +702,14 @@ public class Method extends Field implements IItemWithOffset, TypeInsertable return ret; } + @Override + public boolean equals(Object obj){ + if(!(obj instanceof Method))return false; + Method equals = (Method) obj; + if(!this.returntype.equals(equals.returntype))return false; + if(!this.parameterlist.equals(equals.parameterlist))return false; + return super.equals(obj); + } + } // ino.end diff --git a/src/mycompiler/mytype/TypePlaceholder.java b/src/mycompiler/mytype/TypePlaceholder.java index c1ef7abd5..e68c75ae4 100755 --- a/src/mycompiler/mytype/TypePlaceholder.java +++ b/src/mycompiler/mytype/TypePlaceholder.java @@ -6,6 +6,7 @@ package mycompiler.mytype; import java.util.Hashtable; import java.util.Iterator; import java.util.Vector; +import java.util.logging.Logger; import typinferenz.JavaCodeResult; import typinferenz.ResultSet; @@ -512,6 +513,16 @@ public class TypePlaceholder extends Type implements IReplaceTypeEventProvider return equalType.printJavaCode(resultSet); } + /** + * Berechnet die InsertPoints dieses TypePlaceholders. + * Alle an diesem TypePlaceholder registrierten ITypeReplacementListener werden darauf kontrolliert, + * ob sie von TypeInsertable erben. + * Diese ergeben zusammen mit den Informationen aus dem übergebenen ResultSet einen TypeInsertPoint. + * Mehrere TypeInsertPoint's ergeben ein TypeInsertSet. + * @param result Das ResultSet das den einzusetzenden Typ für diesen TPH enthält. + * @return + * @see TypeInsertPoint + */ public TypeInsertSet getTypeInsertPoints(ResultSet result) { TypeInsertSet ret = new TypeInsertSet(); for(ITypeReplacementListener ti : this.m_ReplacementListeners){ diff --git a/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java b/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java index a5b8b121c..21b53ebe3 100755 --- a/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java +++ b/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java @@ -29,7 +29,7 @@ import mycompiler.mytypereconstruction.typeassumptionkey.CTypeAssumptionKey; // ino.class.CTypeReconstructionResult.27238.description type=javadoc /** * Diese Container-Klasse kapselt alle Ergebniswerte f�r eine m�gliche - * Typkombination aller Klassen und deren Methoden sowie lokalen Variablen. Eine + * Typkombination einer Klasse und deren Methoden sowie lokalen Variablen. Eine * Instanz dieser Klasse steht f�r genau eine m�gliche Typkombination.
* Objekte dieser Klasse werden vom Typrekonstruktionsalgorithmus �ber die * Compiler-API zur�ckgegeben. diff --git a/src/typinferenz/assumptions/MethodAssumption.java b/src/typinferenz/assumptions/MethodAssumption.java index b1036cf45..e767b8033 100644 --- a/src/typinferenz/assumptions/MethodAssumption.java +++ b/src/typinferenz/assumptions/MethodAssumption.java @@ -43,4 +43,16 @@ public class MethodAssumption extends FieldAssumption { return "MethodAssumption: "+this.method.toString(); } + @Override + public boolean equals(Object obj){ + if(!(obj instanceof MethodAssumption))return false; + MethodAssumption equals = (MethodAssumption)obj; + if(equals.method==null)return false; + if(equals.parentClass==null)return false; + if(!(equals.method.equals(this.method)))return false; + if(!(equals.parentClass.equals(this.parentClass)))return false; + + return true; + } + } diff --git a/src/typinferenz/assumptions/TypeAssumptions.java b/src/typinferenz/assumptions/TypeAssumptions.java index b718fa27a..5ff0bf1b7 100755 --- a/src/typinferenz/assumptions/TypeAssumptions.java +++ b/src/typinferenz/assumptions/TypeAssumptions.java @@ -68,7 +68,7 @@ public class TypeAssumptions { } public void addMethodAssumption(MethodAssumption mAss){ - this.methodAssumptions.add(mAss); + if(!this.methodAssumptions.contains(mAss))this.methodAssumptions.add(mAss); } public void addConstructorAssumption( @@ -93,12 +93,13 @@ public class TypeAssumptions { * @param withName * @return */ - public Vector getFieldVars(String withName){ + @Deprecated + public Vector getFieldVars2(String withName){ //TODO: Implementieren return new Vector(); } - - public Type getTypeOfFieldVar(String withName, Class inClass){ + @Deprecated + public Type getTypeOfFieldVar2(String withName, Class inClass){ //TODO: Implementieren return null; } @@ -108,7 +109,8 @@ public class TypeAssumptions { * @param withName * @return */ - public Vector getMethods(String withName){ + @Deprecated + public Vector getMethods2(String withName){ //TODO: Implementieren return new Vector(); } @@ -118,7 +120,8 @@ public class TypeAssumptions { * @param withName * @return */ - public Type getTypeOfLocalVar(String withName){ + @Deprecated + public Type getTypeOfLocalVar2(String withName){ //TODO: Implementieren return null; } diff --git a/test/mycompiler/test/lambda/testResults/LambdaTest.log b/test/mycompiler/test/lambda/testResults/LambdaTest.log index aff7b5262..e7be789d3 100644 --- a/test/mycompiler/test/lambda/testResults/LambdaTest.log +++ b/test/mycompiler/test/lambda/testResults/LambdaTest.log @@ -1,36 +1,123 @@ -Class DEBUG [Typeinference] Erstellte Assumptions: this: ThisTestMethod Assumptions: +Class DEBUG [Typeinference] Erstellte Assumptions: this: MatrixMethod Assumptions: [] FieldVar Assumptions: -[typinferenz.assumptions.FieldAssumption@6d657803] +[typinferenz.assumptions.FieldAssumption@193d22b1, typinferenz.assumptions.FieldAssumption@7cb09f68, typinferenz.assumptions.FieldAssumption@193d22b1, typinferenz.assumptions.FieldAssumption@7cb09f68] LocalVar Assumptions: [] Parameter Assumptions: [] -Class DEBUG [Typeinference] Erstellte Constraints: TPH A < TPH A -ThisTest < TPH A +Block DEBUG [Typeinference] Prozessing statement: null Return null (( [ f, ]) -> null { [null Return null (f.apply( [ null (this(null)), m, ]))]) +Block DEBUG [Typeinference] Prozessing statement: null Return null (f.apply( [ null (this(null)), m, ])) +Block DEBUG [Typeinference] Prozessing statement: TPH BW Return TPH BS (f: TPH BQ.apply( [ Matrix (this(null)), m: TPH BO, ])) +Block DEBUG [Typeinference] Prozessing statement: TPH BX Return TPH BR (( [ TPH BQ f, ]) -> TPH BW { [TPH BW Return TPH BS (f: TPH BQ.apply( [ Matrix (this(null)), m: TPH BO, ]))]) +Class DEBUG [Typeinference] Erstellte Constraints: TPH BM < TPH BM +[[(TPH BT <. TPH BS), (Matrix <. TPH BU), (TPH BO <. TPH BV), (TPH BQ <. FunN), ]| ] +TPH BS < TPH BW +Fun1< TPH BW, TPH BQ > < TPH BR +TPH BR < TPH BX +Fun1< TPH BX, TPH BO > < TPH BP +TPH BP < TPH BM -SourceFile DEBUG [Typeinference] Karthesisches Produkt der Constraints: [[(TPH A <. TPH A), (ThisTest <. TPH A)]] -SourceFile DEBUG [Typeinference] Unifiziertes Ergebnis: [[(TPH A = ThisTest)], [(TPH A = Object)]] +SourceFile DEBUG [Typeinference] Karthesisches Produkt der Constraints: [[(TPH BM <. TPH BM), (TPH BT <. TPH BS), (Matrix <. TPH BU), (TPH BO <. TPH BV), (TPH BQ <. FunN), (TPH BS <. TPH BW), (Fun1< TPH BW, TPH BQ > <. TPH BR), (TPH BR <. TPH BX), (Fun1< TPH BX, TPH BO > <. TPH BP), (TPH BP <. TPH BM)]] +SourceFile DEBUG [Typeinference] Unifiziertes Ergebnis: [[(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, FunN >), (TPH BM = Fun1< Fun1< TPH BW, FunN >, TPH BO >), (TPH BU = Matrix), (TPH BQ = FunN), (TPH BR = Fun1< TPH BW, FunN >), (TPH BP = Fun1< Fun1< TPH BW, FunN >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, FunN >), (TPH BM = Fun1< Fun1< TPH BW, FunN >, TPH BO >), (TPH BU = Vector< Vector< GTV Integer > >), (TPH BQ = FunN), (TPH BR = Fun1< TPH BW, FunN >), (TPH BP = Fun1< Fun1< TPH BW, FunN >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, FunN >), (TPH BM = Fun1< Fun1< TPH BW, FunN >, TPH BO >), (TPH BU = Vector< ? extends Vector< GTV Integer > >), (TPH BQ = FunN), (TPH BR = Fun1< TPH BW, FunN >), (TPH BP = Fun1< Fun1< TPH BW, FunN >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, FunN >), (TPH BM = Fun1< Fun1< TPH BW, FunN >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH BQ = FunN), (TPH BR = Fun1< TPH BW, FunN >), (TPH BP = Fun1< Fun1< TPH BW, FunN >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, FunN >), (TPH BM = Fun1< Fun1< TPH BW, FunN >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? super GTV Integer > >), (TPH BQ = FunN), (TPH BR = Fun1< TPH BW, FunN >), (TPH BP = Fun1< Fun1< TPH BW, FunN >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, FunN >), (TPH BM = Fun1< Fun1< TPH BW, FunN >, TPH BO >), (TPH BU = Vector< ? super Vector< GTV Integer > >), (TPH BQ = FunN), (TPH BR = Fun1< TPH BW, FunN >), (TPH BP = Fun1< Fun1< TPH BW, FunN >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, FunN >), (TPH BM = Fun1< Fun1< TPH BW, FunN >, TPH BO >), (TPH BU = Vector< ? super Matrix >), (TPH BQ = FunN), (TPH BR = Fun1< TPH BW, FunN >), (TPH BP = Fun1< Fun1< TPH BW, FunN >, TPH BO >)]] SourceFile DEBUG [Typeinference] JavaFiles: -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH A = ThisTest)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, FunN >), (TPH BM = Fun1< Fun1< TPH BW, FunN >, TPH BO >), (TPH BU = Matrix), (TPH BQ = FunN), (TPH BR = Fun1< TPH BW, FunN >), (TPH BP = Fun1< Fun1< TPH BW, FunN >, TPH BO >)] -SourceFile DEBUG [Typeinference] class ThisTest extends Object +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -ThisTest thisVar = this; -ThisTest ThisTest() +Fun1, BO> op = (BO m) -> { +return (FunN f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() { } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH A = Object)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, FunN >), (TPH BM = Fun1< Fun1< TPH BW, FunN >, TPH BO >), (TPH BU = Vector< Vector< GTV Integer > >), (TPH BQ = FunN), (TPH BR = Fun1< TPH BW, FunN >), (TPH BP = Fun1< Fun1< TPH BW, FunN >, TPH BO >)] -SourceFile DEBUG [Typeinference] class ThisTest extends Object +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Object thisVar = this; -ThisTest ThisTest() +Fun1, BO> op = (BO m) -> { +return (FunN f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, FunN >), (TPH BM = Fun1< Fun1< TPH BW, FunN >, TPH BO >), (TPH BU = Vector< ? extends Vector< GTV Integer > >), (TPH BQ = FunN), (TPH BR = Fun1< TPH BW, FunN >), (TPH BP = Fun1< Fun1< TPH BW, FunN >, TPH BO >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1, BO> op = (BO m) -> { +return (FunN f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, FunN >), (TPH BM = Fun1< Fun1< TPH BW, FunN >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH BQ = FunN), (TPH BR = Fun1< TPH BW, FunN >), (TPH BP = Fun1< Fun1< TPH BW, FunN >, TPH BO >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1, BO> op = (BO m) -> { +return (FunN f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, FunN >), (TPH BM = Fun1< Fun1< TPH BW, FunN >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? super GTV Integer > >), (TPH BQ = FunN), (TPH BR = Fun1< TPH BW, FunN >), (TPH BP = Fun1< Fun1< TPH BW, FunN >, TPH BO >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1, BO> op = (BO m) -> { +return (FunN f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, FunN >), (TPH BM = Fun1< Fun1< TPH BW, FunN >, TPH BO >), (TPH BU = Vector< ? super Vector< GTV Integer > >), (TPH BQ = FunN), (TPH BR = Fun1< TPH BW, FunN >), (TPH BP = Fun1< Fun1< TPH BW, FunN >, TPH BO >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1, BO> op = (BO m) -> { +return (FunN f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, FunN >), (TPH BM = Fun1< Fun1< TPH BW, FunN >, TPH BO >), (TPH BU = Vector< ? super Matrix >), (TPH BQ = FunN), (TPH BR = Fun1< TPH BW, FunN >), (TPH BP = Fun1< Fun1< TPH BW, FunN >, TPH BO >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1, BO> op = (BO m) -> { +return (FunN f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() { } } diff --git a/test/plugindevelopment/FunNInsertTest.jav b/test/plugindevelopment/FunNInsertTest.jav new file mode 100644 index 000000000..1709ff2e5 --- /dev/null +++ b/test/plugindevelopment/FunNInsertTest.jav @@ -0,0 +1,12 @@ +class FunNInsertTest{ + + Object1 var1; + Object2 var2; + Object3 var3; + op = (a) -> (b) -> (c) -> { + var1 = a; + var2 = b; + var3 = c; + }; + +} \ No newline at end of file diff --git a/test/plugindevelopment/FunNInsertTest.java b/test/plugindevelopment/FunNInsertTest.java new file mode 100644 index 000000000..bf6cabeb8 --- /dev/null +++ b/test/plugindevelopment/FunNInsertTest.java @@ -0,0 +1,18 @@ +package plugindevelopment; + +import java.util.Vector; + +import org.junit.Test; + +public class FunNInsertTest { + + private static final String TEST_FILE = "FunNInsertTest.jav"; + + @Test + public void run(){ + Vector mustContain = new Vector(); + mustContain.add("Fun1, Object2>, Object1> op"); + MultipleTypesInsertTester.test(this.TEST_FILE, mustContain); + } + +} diff --git a/test/plugindevelopment/MultipleTypesInsertTester.java b/test/plugindevelopment/MultipleTypesInsertTester.java new file mode 100644 index 000000000..818c955ba --- /dev/null +++ b/test/plugindevelopment/MultipleTypesInsertTester.java @@ -0,0 +1,46 @@ +package plugindevelopment; + +import java.io.File; +import java.io.IOException; +import java.util.Vector; + +import junit.framework.TestCase; +import mycompiler.MyCompiler; +import mycompiler.MyCompilerAPI; +import mycompiler.myparser.JavaParser.yyException; +import mycompiler.mytypereconstruction.TypeinferenceResultSet; +import typinferenz.TypeInsertSet; + +public class MultipleTypesInsertTester { + + public static void test(String sourceFileToInfere, Vector mustContain){ + String gesamterSrc = ""; + String inferedSource = ""; + MyCompilerAPI compiler = MyCompiler.getAPI(); + try { + compiler.parse(new File(TypeInsertTester.rootDirectory + sourceFileToInfere)); + Vector results = compiler.typeReconstruction(); + //TestCase.assertTrue("Es darf nicht mehr als eine Lösungsmöglichkeit geben und nicht "+results.size(), results.size()==1); + for(TypeinferenceResultSet result : results){ + Vector points = result.getTypeInsertionPoints(); + //TestCase.assertTrue("Es muss mindestens ein TypeInsertSet vorhanden sein", points.size()>0); + for(TypeInsertSet point : points){ + //TestCase.assertTrue("Es muss mindestens ein TypeInsertPoint vorhanden sein", point.points.size()>0); + if(point.points.size()>0){ + inferedSource = point.insertAllTypes(TypeInsertTester.getFileContent(TypeInsertTester.rootDirectory + sourceFileToInfere)); + System.out.println(inferedSource); + gesamterSrc += inferedSource; + } + } + } + + } catch (IOException | yyException e) { + e.printStackTrace(); + TestCase.fail(); + } + for(String containString : mustContain){ + TestCase.assertTrue("\""+containString+"\" muss in den inferierten Lösungen vorkommen",gesamterSrc.contains(containString)); + } + } + +} diff --git a/test/plugindevelopment/OverloadingInsertTest.java b/test/plugindevelopment/OverloadingInsertTest.java index 49f99f3f5..845d9f3b1 100644 --- a/test/plugindevelopment/OverloadingInsertTest.java +++ b/test/plugindevelopment/OverloadingInsertTest.java @@ -19,32 +19,15 @@ public class OverloadingInsertTest { @Test public void run(){ - this.test(this.TEST_FILE); + Vector mustContain = new Vector(); + mustContain.add("Overloading2 methode"); + mustContain.add("Overloading2 overload"); + mustContain.add("Overloading2 var2"); + mustContain.add("OverloadingInsertTest methode"); + mustContain.add("OverloadingInsertTest overload"); + mustContain.add("OverloadingInsertTest var2"); + MultipleTypesInsertTester.test(this.TEST_FILE, mustContain); } - public static void test(String sourceFileToInfere){ - String inferedSource = ""; - MyCompilerAPI compiler = MyCompiler.getAPI(); - try { - compiler.parse(new File(TypeInsertTester.rootDirectory + sourceFileToInfere)); - Vector results = compiler.typeReconstruction(); - //TestCase.assertTrue("Es darf nicht mehr als eine Lösungsmöglichkeit geben und nicht "+results.size(), results.size()==1); - for(TypeinferenceResultSet result : results){ - Vector points = result.getTypeInsertionPoints(); - TestCase.assertTrue("Es muss mindestens ein TypeInsertSet vorhanden sein", points.size()>0); - for(TypeInsertSet point : points){ - TestCase.assertTrue("Es muss mindestens ein TypeInsertPoint vorhanden sein", point.points.size()>0); - if(point.points.size()>0){ - inferedSource = point.insertAllTypes(TypeInsertTester.getFileContent(TypeInsertTester.rootDirectory + sourceFileToInfere)); - System.out.println(inferedSource); - } - } - } - - } catch (IOException | yyException e) { - e.printStackTrace(); - TestCase.fail(); - } - } } From 947be154ea788f4d8b2cdc2bacc4c4d35ef32650 Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Thu, 20 Mar 2014 02:42:44 +0100 Subject: [PATCH 27/79] Fehler behoben --- src/mycompiler/mystatement/LocalVarDecl.java | 11 ++-- .../test/lambda/testResults/LambdaTest.log | 66 +++++++++---------- test/plugindevelopment/FunNInsertTest.jav | 6 ++ 3 files changed, 43 insertions(+), 40 deletions(-) diff --git a/src/mycompiler/mystatement/LocalVarDecl.java b/src/mycompiler/mystatement/LocalVarDecl.java index d4502a160..3f5a6e08b 100755 --- a/src/mycompiler/mystatement/LocalVarDecl.java +++ b/src/mycompiler/mystatement/LocalVarDecl.java @@ -67,9 +67,6 @@ public class LocalVarDecl extends Statement implements TypeInsertable // ino.attribute.declid.25548.declaration private Vector declid = new Vector(); // ino.end - // ino.attribute.type.25551.declaration - private Type declType; - // ino.end // ino.attribute.paralist.25554.declaration private Vector paralist = null; // ino.end @@ -351,8 +348,8 @@ public class LocalVarDecl extends Statement implements TypeInsertable } if(e.getOldType().equals(this.getType())){ inferencelog.debug("Ersetze Typ in LocalVarDecl \""+this.get_Name()+"\"\n"); - if(declType instanceof TypePlaceholder){ - ((TypePlaceholder)declType).removeReplacementListener(this); + if(this.getType() instanceof TypePlaceholder){ + ((TypePlaceholder)this.getType()).removeReplacementListener(this); } this.setType(e.getNewType()); } @@ -416,8 +413,8 @@ public class LocalVarDecl extends Statement implements TypeInsertable // ino.end // ino.method.toString.25617.body { - if(declType == null)return "no type " + declid.toString(); - return declType.toString() + " " + declid.toString(); + if(this.getType() == null)return "no type " + declid.toString(); + return this.getType().toString() + " " + declid.toString(); } // ino.end // ino.method.wandleRefTypeAttributes2GenericAttributes.25620.definition diff --git a/test/mycompiler/test/lambda/testResults/LambdaTest.log b/test/mycompiler/test/lambda/testResults/LambdaTest.log index c581c3b04..fe82ed399 100644 --- a/test/mycompiler/test/lambda/testResults/LambdaTest.log +++ b/test/mycompiler/test/lambda/testResults/LambdaTest.log @@ -1,7 +1,7 @@ Class DEBUG [Typeinference] Erstellte Assumptions: this: MatrixMethod Assumptions: [] FieldVar Assumptions: -[typinferenz.assumptions.FieldAssumption@4e64fca0, typinferenz.assumptions.FieldAssumption@48059495, typinferenz.assumptions.FieldAssumption@4e64fca0, typinferenz.assumptions.FieldAssumption@48059495] +[typinferenz.assumptions.FieldAssumption@4dd290b5, typinferenz.assumptions.FieldAssumption@3b1a82fd, typinferenz.assumptions.FieldAssumption@4dd290b5, typinferenz.assumptions.FieldAssumption@3b1a82fd] LocalVar Assumptions: [] Parameter Assumptions: @@ -9,26 +9,26 @@ Parameter Assumptions: Block DEBUG [Typeinference] Prozessing statement: null Return null (( [ f, ]) -> null { [null Return null (f.apply( [ null (this(null)), m, ]))]) Block DEBUG [Typeinference] Prozessing statement: null Return null (f.apply( [ null (this(null)), m, ])) -Block DEBUG [Typeinference] Prozessing statement: TPH BW Return TPH BS (f: TPH BQ.apply( [ Matrix (this(null)), m: TPH BO, ])) -Block DEBUG [Typeinference] Prozessing statement: TPH BX Return TPH BR (( [ TPH BQ f, ]) -> TPH BW { [TPH BW Return TPH BS (f: TPH BQ.apply( [ Matrix (this(null)), m: TPH BO, ]))]) -Class DEBUG [Typeinference] Erstellte Constraints: TPH BM < TPH BM -[[(TPH BT <. TPH BS), (Matrix <. TPH BU), (TPH BO <. TPH BV), (TPH BQ <. FunN), ]| ] -TPH BS < TPH BW -Fun1< TPH BW, TPH BQ > < TPH BR -TPH BR < TPH BX -Fun1< TPH BX, TPH BO > < TPH BP -TPH BP < TPH BM +Block DEBUG [Typeinference] Prozessing statement: TPH K Return TPH G (f: TPH E.apply( [ Matrix (this(null)), m: TPH C, ])) +Block DEBUG [Typeinference] Prozessing statement: TPH L Return TPH F (( [ TPH E f, ]) -> TPH K { [TPH K Return TPH G (f: TPH E.apply( [ Matrix (this(null)), m: TPH C, ]))]) +Class DEBUG [Typeinference] Erstellte Constraints: TPH A < TPH A +[[(TPH H <. TPH G), (Matrix <. TPH I), (TPH C <. TPH J), (TPH E <. FunN), ]| ] +TPH G < TPH K +Fun1< TPH K, TPH E > < TPH F +TPH F < TPH L +Fun1< TPH L, TPH C > < TPH D +TPH D < TPH A -SourceFile DEBUG [Typeinference] Karthesisches Produkt der Constraints: [[(TPH BM <. TPH BM), (TPH BT <. TPH BS), (Matrix <. TPH BU), (TPH BO <. TPH BV), (TPH BQ <. FunN), (TPH BS <. TPH BW), (Fun1< TPH BW, TPH BQ > <. TPH BR), (TPH BR <. TPH BX), (Fun1< TPH BX, TPH BO > <. TPH BP), (TPH BP <. TPH BM)]] -SourceFile DEBUG [Typeinference] Unifiziertes Ergebnis: [[(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, FunN >), (TPH BM = Fun1< Fun1< TPH BW, FunN >, TPH BO >), (TPH BU = Matrix), (TPH BQ = FunN), (TPH BR = Fun1< TPH BW, FunN >), (TPH BP = Fun1< Fun1< TPH BW, FunN >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, FunN >), (TPH BM = Fun1< Fun1< TPH BW, FunN >, TPH BO >), (TPH BU = Vector< Vector< GTV Integer > >), (TPH BQ = FunN), (TPH BR = Fun1< TPH BW, FunN >), (TPH BP = Fun1< Fun1< TPH BW, FunN >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, FunN >), (TPH BM = Fun1< Fun1< TPH BW, FunN >, TPH BO >), (TPH BU = Vector< ? extends Vector< GTV Integer > >), (TPH BQ = FunN), (TPH BR = Fun1< TPH BW, FunN >), (TPH BP = Fun1< Fun1< TPH BW, FunN >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, FunN >), (TPH BM = Fun1< Fun1< TPH BW, FunN >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH BQ = FunN), (TPH BR = Fun1< TPH BW, FunN >), (TPH BP = Fun1< Fun1< TPH BW, FunN >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, FunN >), (TPH BM = Fun1< Fun1< TPH BW, FunN >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? super GTV Integer > >), (TPH BQ = FunN), (TPH BR = Fun1< TPH BW, FunN >), (TPH BP = Fun1< Fun1< TPH BW, FunN >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, FunN >), (TPH BM = Fun1< Fun1< TPH BW, FunN >, TPH BO >), (TPH BU = Vector< ? super Vector< GTV Integer > >), (TPH BQ = FunN), (TPH BR = Fun1< TPH BW, FunN >), (TPH BP = Fun1< Fun1< TPH BW, FunN >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, FunN >), (TPH BM = Fun1< Fun1< TPH BW, FunN >, TPH BO >), (TPH BU = Vector< ? super Matrix >), (TPH BQ = FunN), (TPH BR = Fun1< TPH BW, FunN >), (TPH BP = Fun1< Fun1< TPH BW, FunN >, TPH BO >)]] +SourceFile DEBUG [Typeinference] Karthesisches Produkt der Constraints: [[(TPH A <. TPH A), (TPH H <. TPH G), (Matrix <. TPH I), (TPH C <. TPH J), (TPH E <. FunN), (TPH G <. TPH K), (Fun1< TPH K, TPH E > <. TPH F), (TPH F <. TPH L), (Fun1< TPH L, TPH C > <. TPH D), (TPH D <. TPH A)]] +SourceFile DEBUG [Typeinference] Unifiziertes Ergebnis: [[(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Matrix), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< Vector< GTV Integer > >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< ? extends Vector< GTV Integer > >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< ? extends Vector< ? super GTV Integer > >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< ? super Vector< GTV Integer > >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< ? super Matrix >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)]] SourceFile DEBUG [Typeinference] JavaFiles: -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, FunN >), (TPH BM = Fun1< Fun1< TPH BW, FunN >, TPH BO >), (TPH BU = Matrix), (TPH BQ = FunN), (TPH BR = Fun1< TPH BW, FunN >), (TPH BP = Fun1< Fun1< TPH BW, FunN >, TPH BO >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Matrix), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1, BO> op = (BO m) -> { +Fun1, C> op = (C m) -> { return (FunN f) -> { return f.apply(this, m);; }; @@ -38,11 +38,11 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, FunN >), (TPH BM = Fun1< Fun1< TPH BW, FunN >, TPH BO >), (TPH BU = Vector< Vector< GTV Integer > >), (TPH BQ = FunN), (TPH BR = Fun1< TPH BW, FunN >), (TPH BP = Fun1< Fun1< TPH BW, FunN >, TPH BO >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< Vector< GTV Integer > >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1, BO> op = (BO m) -> { +Fun1, C> op = (C m) -> { return (FunN f) -> { return f.apply(this, m);; }; @@ -52,11 +52,11 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, FunN >), (TPH BM = Fun1< Fun1< TPH BW, FunN >, TPH BO >), (TPH BU = Vector< ? extends Vector< GTV Integer > >), (TPH BQ = FunN), (TPH BR = Fun1< TPH BW, FunN >), (TPH BP = Fun1< Fun1< TPH BW, FunN >, TPH BO >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< ? extends Vector< GTV Integer > >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1, BO> op = (BO m) -> { +Fun1, C> op = (C m) -> { return (FunN f) -> { return f.apply(this, m);; }; @@ -66,11 +66,11 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, FunN >), (TPH BM = Fun1< Fun1< TPH BW, FunN >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH BQ = FunN), (TPH BR = Fun1< TPH BW, FunN >), (TPH BP = Fun1< Fun1< TPH BW, FunN >, TPH BO >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1, BO> op = (BO m) -> { +Fun1, C> op = (C m) -> { return (FunN f) -> { return f.apply(this, m);; }; @@ -80,11 +80,11 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, FunN >), (TPH BM = Fun1< Fun1< TPH BW, FunN >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? super GTV Integer > >), (TPH BQ = FunN), (TPH BR = Fun1< TPH BW, FunN >), (TPH BP = Fun1< Fun1< TPH BW, FunN >, TPH BO >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< ? extends Vector< ? super GTV Integer > >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1, BO> op = (BO m) -> { +Fun1, C> op = (C m) -> { return (FunN f) -> { return f.apply(this, m);; }; @@ -94,11 +94,11 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, FunN >), (TPH BM = Fun1< Fun1< TPH BW, FunN >, TPH BO >), (TPH BU = Vector< ? super Vector< GTV Integer > >), (TPH BQ = FunN), (TPH BR = Fun1< TPH BW, FunN >), (TPH BP = Fun1< Fun1< TPH BW, FunN >, TPH BO >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< ? super Vector< GTV Integer > >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1, BO> op = (BO m) -> { +Fun1, C> op = (C m) -> { return (FunN f) -> { return f.apply(this, m);; }; @@ -108,11 +108,11 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, FunN >), (TPH BM = Fun1< Fun1< TPH BW, FunN >, TPH BO >), (TPH BU = Vector< ? super Matrix >), (TPH BQ = FunN), (TPH BR = Fun1< TPH BW, FunN >), (TPH BP = Fun1< Fun1< TPH BW, FunN >, TPH BO >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< ? super Matrix >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1, BO> op = (BO m) -> { +Fun1, C> op = (C m) -> { return (FunN f) -> { return f.apply(this, m);; }; diff --git a/test/plugindevelopment/FunNInsertTest.jav b/test/plugindevelopment/FunNInsertTest.jav index 1709ff2e5..b2b38cbe6 100644 --- a/test/plugindevelopment/FunNInsertTest.jav +++ b/test/plugindevelopment/FunNInsertTest.jav @@ -9,4 +9,10 @@ class FunNInsertTest{ var3 = c; }; + o2p = () -> (a, b, c) -> { + var1 = a; + var2 = b; + var3 = c; + }; + } \ No newline at end of file From ddb9ef6d7dc1ecdfd707bd48d0f6468c00e32318 Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Thu, 20 Mar 2014 11:35:57 +0100 Subject: [PATCH 28/79] Fehlerhaftes RefType erstellen von Klassen gefixt --- src/mycompiler/myclass/Class.java | 2 + src/mycompiler/myclass/Constructor.java | 2 +- src/mycompiler/mystatement/This.java | 2 +- src/typinferenz/FunN.java | 3 + src/typinferenz/FunNInterface.java | 10 +- src/typinferenz/Overloading.java | 1 + .../assumptions/MethodAssumption.java | 2 +- .../assumptions/TypeAssumptions.java | 2 +- .../test/lambda/testResults/LambdaTest.log | 115 +----------------- 9 files changed, 17 insertions(+), 122 deletions(-) diff --git a/src/mycompiler/myclass/Class.java b/src/mycompiler/myclass/Class.java index 2ac0d8667..fdb1940db 100755 --- a/src/mycompiler/myclass/Class.java +++ b/src/mycompiler/myclass/Class.java @@ -58,11 +58,13 @@ import org.apache.log4j.Logger; + import sun.reflect.generics.reflectiveObjects.NotImplementedException; import typinferenz.ConstraintsSet; import typinferenz.JavaCodeResult; import typinferenz.OderConstraint; import typinferenz.ResultSet; +import typinferenz.Typeable; import typinferenz.UndConstraint; import typinferenz.FunN; import typinferenz.assumptions.TypeAssumptions; diff --git a/src/mycompiler/myclass/Constructor.java b/src/mycompiler/myclass/Constructor.java index b7c3d7892..80e0ff486 100644 --- a/src/mycompiler/myclass/Constructor.java +++ b/src/mycompiler/myclass/Constructor.java @@ -31,7 +31,7 @@ public class Constructor extends Method { super(methode.getOffset()); this.methode = methode; this.setDeclIdVector(methode.getDeclIdVector()); - this.methode.setType(new RefType(this.methode.getParentClass().getName(),0)); + this.methode.setType(this.methode.getParentClass().getType()); } diff --git a/src/mycompiler/mystatement/This.java b/src/mycompiler/mystatement/This.java index 39aa5f07b..d83e85d3d 100755 --- a/src/mycompiler/mystatement/This.java +++ b/src/mycompiler/mystatement/This.java @@ -171,7 +171,7 @@ public class This extends Expr ConstraintsSet ret = new ConstraintsSet(); //this.set_Type(new); //this.setType(assumptions.getThisValue());//Die Assumption für this als TypeVariable setzen. - this.setType(new RefType(this.getParentClass().getName(),0)); + this.setType(this.getParentClass().getType()); return ret; } diff --git a/src/typinferenz/FunN.java b/src/typinferenz/FunN.java index 890a16f54..5b636c305 100755 --- a/src/typinferenz/FunN.java +++ b/src/typinferenz/FunN.java @@ -21,6 +21,9 @@ import mycompiler.mytypereconstruction.typeassumption.CMethodTypeAssumption; * "interface FunN { R apply(T1 arg1, T2 arg2, ... , TN argN); }" * @author A10023 - Andreas Stadelmeier * + * Bemerkung: + * FunN ist ein RefType. Der RefType ist nicht mit einem FunNInterface verbunden. + * */ public class FunN extends RefType implements ITypeReplacementListener{ diff --git a/src/typinferenz/FunNInterface.java b/src/typinferenz/FunNInterface.java index 2141951c1..269f9aa10 100644 --- a/src/typinferenz/FunNInterface.java +++ b/src/typinferenz/FunNInterface.java @@ -2,10 +2,12 @@ package typinferenz; import mycompiler.myclass.Class; + public class FunNInterface extends Class{ - - public FunNInterface() { - super("FunN"); +//TODO: Diese Klasse sollte eigentlich von Interface erben + + public FunNInterface(int parameterCount) { + super("Fun"+parameterCount); } - + } diff --git a/src/typinferenz/Overloading.java b/src/typinferenz/Overloading.java index c961ec46a..3eceb2dfe 100755 --- a/src/typinferenz/Overloading.java +++ b/src/typinferenz/Overloading.java @@ -76,6 +76,7 @@ public class Overloading{ //Ein Constraint für den Receiver der Methode (falls vorhanden)... //ret.add(new Constraint(methodCall.get_Receiver().get_Expr().getTypeVariable(), new RefType(assumption.getClassName(), null, 0))); if(methodCall.get_Receiver() != null && methodCall.get_Receiver().get_Expr() != null) + //TODO: FunN-MethodAssumption darf keine Klasse (Class) als ParentClass besitzen. Denn der Typ der Klasse steht noch nicht fest (bisher ist es immer "FunN"). methodConstraint.addConstraint(methodCall.get_Receiver().get_Expr().getType(), methodAssumption.getParentClassType()); //ret.add(new Constraint(methodCall.get_Receiver().get_Expr().getTypeVariable(), new RefType(assumption.getClassName(), parameterAssumptions, 0))); diff --git a/src/typinferenz/assumptions/MethodAssumption.java b/src/typinferenz/assumptions/MethodAssumption.java index e767b8033..2097b538b 100644 --- a/src/typinferenz/assumptions/MethodAssumption.java +++ b/src/typinferenz/assumptions/MethodAssumption.java @@ -35,7 +35,7 @@ public class MethodAssumption extends FieldAssumption { } public Type getParentClassType() { - return new RefType(this.parentClass.getName(),0); + return this.parentClass.getType(); } diff --git a/src/typinferenz/assumptions/TypeAssumptions.java b/src/typinferenz/assumptions/TypeAssumptions.java index 5ff0bf1b7..34c36673b 100755 --- a/src/typinferenz/assumptions/TypeAssumptions.java +++ b/src/typinferenz/assumptions/TypeAssumptions.java @@ -148,7 +148,7 @@ public class TypeAssumptions { //Falls es sich um die apply-Methode eines FunN-Interface handelt: if(methodName.equals("apply")){ //Ein Workaround für den Typinferenzalgorithmus TODO: Das hier rausnehmen. //CMethodTypeAssumption funNAssumption = new FunN(parameterCount).toCMethodTypeAssumption(); - MethodAssumption funNAssumption = new MethodAssumption(new FunNMethod(parameterCount), new FunNInterface()); + MethodAssumption funNAssumption = new MethodAssumption(new FunNMethod(parameterCount), new FunNInterface(parameterCount)); ret.add(funNAssumption); } if(ret.size()==0)throw new TypinferenzException("Eine Methode "+methodName+" ist in den Assumptions nicht vorhanden"); diff --git a/test/mycompiler/test/lambda/testResults/LambdaTest.log b/test/mycompiler/test/lambda/testResults/LambdaTest.log index fe82ed399..f0067523e 100644 --- a/test/mycompiler/test/lambda/testResults/LambdaTest.log +++ b/test/mycompiler/test/lambda/testResults/LambdaTest.log @@ -1,7 +1,7 @@ Class DEBUG [Typeinference] Erstellte Assumptions: this: MatrixMethod Assumptions: [] FieldVar Assumptions: -[typinferenz.assumptions.FieldAssumption@4dd290b5, typinferenz.assumptions.FieldAssumption@3b1a82fd, typinferenz.assumptions.FieldAssumption@4dd290b5, typinferenz.assumptions.FieldAssumption@3b1a82fd] +[typinferenz.assumptions.FieldAssumption@45eb96fc, typinferenz.assumptions.FieldAssumption@6e059e40, typinferenz.assumptions.FieldAssumption@45eb96fc, typinferenz.assumptions.FieldAssumption@6e059e40] LocalVar Assumptions: [] Parameter Assumptions: @@ -9,116 +9,3 @@ Parameter Assumptions: Block DEBUG [Typeinference] Prozessing statement: null Return null (( [ f, ]) -> null { [null Return null (f.apply( [ null (this(null)), m, ]))]) Block DEBUG [Typeinference] Prozessing statement: null Return null (f.apply( [ null (this(null)), m, ])) -Block DEBUG [Typeinference] Prozessing statement: TPH K Return TPH G (f: TPH E.apply( [ Matrix (this(null)), m: TPH C, ])) -Block DEBUG [Typeinference] Prozessing statement: TPH L Return TPH F (( [ TPH E f, ]) -> TPH K { [TPH K Return TPH G (f: TPH E.apply( [ Matrix (this(null)), m: TPH C, ]))]) -Class DEBUG [Typeinference] Erstellte Constraints: TPH A < TPH A -[[(TPH H <. TPH G), (Matrix <. TPH I), (TPH C <. TPH J), (TPH E <. FunN), ]| ] -TPH G < TPH K -Fun1< TPH K, TPH E > < TPH F -TPH F < TPH L -Fun1< TPH L, TPH C > < TPH D -TPH D < TPH A - -SourceFile DEBUG [Typeinference] Karthesisches Produkt der Constraints: [[(TPH A <. TPH A), (TPH H <. TPH G), (Matrix <. TPH I), (TPH C <. TPH J), (TPH E <. FunN), (TPH G <. TPH K), (Fun1< TPH K, TPH E > <. TPH F), (TPH F <. TPH L), (Fun1< TPH L, TPH C > <. TPH D), (TPH D <. TPH A)]] -SourceFile DEBUG [Typeinference] Unifiziertes Ergebnis: [[(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Matrix), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< Vector< GTV Integer > >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< ? extends Vector< GTV Integer > >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< ? extends Vector< ? super GTV Integer > >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< ? super Vector< GTV Integer > >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< ? super Matrix >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)]] -SourceFile DEBUG [Typeinference] -JavaFiles: - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Matrix), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1, C> op = (C m) -> { -return (FunN f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< Vector< GTV Integer > >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1, C> op = (C m) -> { -return (FunN f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< ? extends Vector< GTV Integer > >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1, C> op = (C m) -> { -return (FunN f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1, C> op = (C m) -> { -return (FunN f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< ? extends Vector< ? super GTV Integer > >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1, C> op = (C m) -> { -return (FunN f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< ? super Vector< GTV Integer > >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1, C> op = (C m) -> { -return (FunN f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< ? super Matrix >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1, C> op = (C m) -> { -return (FunN f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - From f16a9345eb00cc48bedcdb065ae34a4d4cdf0cda Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Thu, 20 Mar 2014 11:49:37 +0100 Subject: [PATCH 29/79] Fehler in Overloading im Bezug auf FunNInterface behoben --- src/typinferenz/FunNInterface.java | 9 +- src/typinferenz/Overloading.java | 7 +- .../assumptions/TypeAssumptions.java | 9 +- .../test/lambda/testResults/LambdaTest.log | 1095 ++++++++++++++++- 4 files changed, 1112 insertions(+), 8 deletions(-) diff --git a/src/typinferenz/FunNInterface.java b/src/typinferenz/FunNInterface.java index 269f9aa10..3b8f2a560 100644 --- a/src/typinferenz/FunNInterface.java +++ b/src/typinferenz/FunNInterface.java @@ -1,13 +1,18 @@ package typinferenz; +import java.util.Vector; + +import mycompiler.mytype.*; import mycompiler.myclass.Class; +import mycompiler.mytype.TypePlaceholder; public class FunNInterface extends Class{ //TODO: Diese Klasse sollte eigentlich von Interface erben - public FunNInterface(int parameterCount) { - super("Fun"+parameterCount); + public FunNInterface(Vector parameter) { + super("Fun"+parameter.size()); + this.set_ParaList(parameter); } } diff --git a/src/typinferenz/Overloading.java b/src/typinferenz/Overloading.java index 3eceb2dfe..bcfd04b10 100755 --- a/src/typinferenz/Overloading.java +++ b/src/typinferenz/Overloading.java @@ -4,6 +4,7 @@ import java.util.Vector; import typinferenz.assumptions.MethodAssumption; import typinferenz.assumptions.TypeAssumptions; +import mycompiler.mystatement.Expr; import mycompiler.mystatement.MethodCall; import mycompiler.mytype.RefType; import mycompiler.mytype.Type; @@ -55,7 +56,11 @@ public class Overloading{ */ public OderConstraint generateConsstraints(){ OderConstraint ret = new OderConstraint(); - for(MethodAssumption methodAssumption : assumptions.getMethodAssumptions(methodCall.getName(), methodCall.getArgumentList().size())){ + Vector parameterList = new Vector(); + for(Expr argument : methodCall.getArgumentList().expr){ + parameterList.add(argument.getType()); + } + for(MethodAssumption methodAssumption : assumptions.getMethodAssumptions(methodCall.getName(), parameterList)){ if(!(this.type instanceof TypePlaceholder) && !this.type.equals(methodAssumption.getAssumedType()))break; UndConstraint methodConstraint = new UndConstraint(); //Ein Constraint für den ReturnType der Methode... diff --git a/src/typinferenz/assumptions/TypeAssumptions.java b/src/typinferenz/assumptions/TypeAssumptions.java index 34c36673b..4b00afae2 100755 --- a/src/typinferenz/assumptions/TypeAssumptions.java +++ b/src/typinferenz/assumptions/TypeAssumptions.java @@ -134,10 +134,11 @@ public class TypeAssumptions { /** * Sucht nach Assumptions zu einer Methode mit dem Namen methodName und parameterCount Parametern. * @param methodName - * @param parameterCount Anzahl der Parameter der gesuchten Methoden-Assumption - * @return + * @param parameter Die Parameter, welche die Methode verarbeiten soll + * @return Alle Methoden in den Assumptions, welche eine Parameterliste der Länge der übergebenen Parameterliste (parameter) verarbeiten können. */ - public Vector getMethodAssumptions(String methodName, int parameterCount){ + public Vector getMethodAssumptions(String methodName, Vector parameter){ + int parameterCount = parameter.size(); Vector ret = new Vector(); for(MethodAssumption ass : this.methodAssumptions){ if(ass.getMethodName().equals(methodName) && ass.getParaCount() == parameterCount){ @@ -148,7 +149,7 @@ public class TypeAssumptions { //Falls es sich um die apply-Methode eines FunN-Interface handelt: if(methodName.equals("apply")){ //Ein Workaround für den Typinferenzalgorithmus TODO: Das hier rausnehmen. //CMethodTypeAssumption funNAssumption = new FunN(parameterCount).toCMethodTypeAssumption(); - MethodAssumption funNAssumption = new MethodAssumption(new FunNMethod(parameterCount), new FunNInterface(parameterCount)); + MethodAssumption funNAssumption = new MethodAssumption(new FunNMethod(parameterCount), new FunNInterface(parameter)); ret.add(funNAssumption); } if(ret.size()==0)throw new TypinferenzException("Eine Methode "+methodName+" ist in den Assumptions nicht vorhanden"); diff --git a/test/mycompiler/test/lambda/testResults/LambdaTest.log b/test/mycompiler/test/lambda/testResults/LambdaTest.log index f0067523e..4ff499a22 100644 --- a/test/mycompiler/test/lambda/testResults/LambdaTest.log +++ b/test/mycompiler/test/lambda/testResults/LambdaTest.log @@ -1,7 +1,7 @@ Class DEBUG [Typeinference] Erstellte Assumptions: this: MatrixMethod Assumptions: [] FieldVar Assumptions: -[typinferenz.assumptions.FieldAssumption@45eb96fc, typinferenz.assumptions.FieldAssumption@6e059e40, typinferenz.assumptions.FieldAssumption@45eb96fc, typinferenz.assumptions.FieldAssumption@6e059e40] +[typinferenz.assumptions.FieldAssumption@2c8df9a0, typinferenz.assumptions.FieldAssumption@1cff8e3a, typinferenz.assumptions.FieldAssumption@2c8df9a0, typinferenz.assumptions.FieldAssumption@1cff8e3a] LocalVar Assumptions: [] Parameter Assumptions: @@ -9,3 +9,1096 @@ Parameter Assumptions: Block DEBUG [Typeinference] Prozessing statement: null Return null (( [ f, ]) -> null { [null Return null (f.apply( [ null (this(null)), m, ]))]) Block DEBUG [Typeinference] Prozessing statement: null Return null (f.apply( [ null (this(null)), m, ])) +Block DEBUG [Typeinference] Prozessing statement: TPH K Return TPH G (f: TPH E.apply( [ Matrix (this(null)), m: TPH C, ])) +Block DEBUG [Typeinference] Prozessing statement: TPH L Return TPH F (( [ TPH E f, ]) -> TPH K { [TPH K Return TPH G (f: TPH E.apply( [ Matrix (this(null)), m: TPH C, ]))]) +Class DEBUG [Typeinference] Erstellte Constraints: TPH A < TPH A +[[(TPH H <. TPH G), (Matrix <. TPH I), (TPH C <. TPH J), (TPH E <. Fun2< Matrix, TPH C >), ]| ] +TPH G < TPH K +Fun1< TPH K, TPH E > < TPH F +TPH F < TPH L +Fun1< TPH L, TPH C > < TPH D +TPH D < TPH A + +SourceFile DEBUG [Typeinference] Karthesisches Produkt der Constraints: [[(TPH A <. TPH A), (TPH H <. TPH G), (Matrix <. TPH I), (TPH C <. TPH J), (TPH E <. Fun2< Matrix, TPH C >), (TPH G <. TPH K), (Fun1< TPH K, TPH E > <. TPH F), (TPH F <. TPH L), (Fun1< TPH L, TPH C > <. TPH D), (TPH D <. TPH A)]] +SourceFile DEBUG [Typeinference] Unifiziertes Ergebnis: [[(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Matrix), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, Fun2< Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Matrix), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >, TPH C >), (TPH I = Matrix), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Matrix), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Matrix), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >, TPH C >), (TPH I = Matrix), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >, TPH C >), (TPH I = Matrix), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Matrix), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >, TPH C >), (TPH I = Matrix), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >, TPH C >), (TPH I = Matrix), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? super Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? super Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Matrix), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? super Fun2< Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, Fun2< Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >, TPH C >), (TPH I = Vector< Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >, TPH C >), (TPH I = Vector< Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >, TPH C >), (TPH I = Vector< Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? super Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? super Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? super Fun2< Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, Fun2< Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? super Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? super Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? super Fun2< Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, Fun2< Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? super Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? super Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? super Fun2< Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? super GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, Fun2< Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? super GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? super GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? super GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? super GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? super GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? super GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? super GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? super GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? super GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? super Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? super Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? super GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? super Fun2< Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? super Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, Fun2< Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? super Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? super Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? super Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? super Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? super Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? super Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? super Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >, TPH C >), (TPH I = Vector< ? super Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? super Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? super Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? super Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? super Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? super Fun2< Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? super Matrix >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, Fun2< Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? super Matrix >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? super Matrix >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? super Matrix >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? super Matrix >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? super Matrix >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? super Matrix >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? super Matrix >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >, TPH C >), (TPH I = Vector< ? super Matrix >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? super Matrix >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? super Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? super Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? super Matrix >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? super Fun2< Matrix, TPH C > >, TPH C >)]] +SourceFile DEBUG [Typeinference] +JavaFiles: + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Matrix), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, Fun2< Matrix, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Matrix), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >, TPH C >), (TPH I = Matrix), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Matrix), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1 >, TPH C >>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Matrix), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1 >, TPH C >>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >, TPH C >), (TPH I = Matrix), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1 >, TPH C >>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >, TPH C >), (TPH I = Matrix), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1 >, TPH C >>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Matrix), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1 >, TPH C >>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >, TPH C >), (TPH I = Matrix), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1, TPH C >>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >, TPH C >), (TPH I = Matrix), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? super Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? super Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Matrix), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? super Fun2< Matrix, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, Fun2< Matrix, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >, TPH C >), (TPH I = Vector< Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1 >, TPH C >>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1 >, TPH C >>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1 >, TPH C >>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1 >, TPH C >>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1 >, TPH C >>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >, TPH C >), (TPH I = Vector< Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1, TPH C >>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >, TPH C >), (TPH I = Vector< Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? super Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? super Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? super Fun2< Matrix, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, Fun2< Matrix, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1 >, TPH C >>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1 >, TPH C >>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1 >, TPH C >>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1 >, TPH C >>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1 >, TPH C >>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1, TPH C >>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? super Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? super Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? super Fun2< Matrix, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, Fun2< Matrix, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1 >, TPH C >>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1 >, TPH C >>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1 >, TPH C >>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1 >, TPH C >>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1 >, TPH C >>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1, TPH C >>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? super Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? super Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? super Fun2< Matrix, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? super GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, Fun2< Matrix, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? super GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? super GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? super GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1 >, TPH C >>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? super GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1 >, TPH C >>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? super GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1 >, TPH C >>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? super GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1 >, TPH C >>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? super GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1 >, TPH C >>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? super GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1, TPH C >>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? super GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? super Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? super Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? super GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? super Fun2< Matrix, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? super Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, Fun2< Matrix, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? super Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? super Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? super Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1 >, TPH C >>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? super Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1 >, TPH C >>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? super Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1 >, TPH C >>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? super Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1 >, TPH C >>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? super Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1 >, TPH C >>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >, TPH C >), (TPH I = Vector< ? super Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1, TPH C >>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? super Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? super Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? super Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? super Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? super Fun2< Matrix, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? super Matrix >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, Fun2< Matrix, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? super Matrix >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? super Matrix >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? super Matrix >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1 >, TPH C >>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? super Matrix >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1 >, TPH C >>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? super Matrix >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1 >, TPH C >>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? super Matrix >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1 >, TPH C >>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? super Matrix >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1 >, TPH C >>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >, TPH C >), (TPH I = Vector< ? super Matrix >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1, TPH C >>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? super Matrix >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? super Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? super Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? super Matrix >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? super Fun2< Matrix, TPH C > >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1>, C> op = (C m) -> { +return (Fun2 f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + From 7031839f529955973333a9bbdf2e2b5ff5adc77a Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Fri, 21 Mar 2014 16:34:16 +0100 Subject: [PATCH 30/79] =?UTF-8?q?TypeInsertSet.equals()=20verbessert.=20Ty?= =?UTF-8?q?pinferenceResult.getTypeInsertPoints()=20liefert=20keine=20dopp?= =?UTF-8?q?elten=20InsertSets=20mehr=20zur=C3=BCck?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TypeinferenceResultSet.java | 3 +- src/typinferenz/ResultSet.java | 4 + test/plugindevelopment/TRMEqualTest.java | 108 ++++++++++++++++++ test/plugindevelopment/TypeInsertTester.java | 2 +- .../{ => TypeInsertTests}/FunNInsertTest.jav | 0 .../{ => TypeInsertTests}/FunNInsertTest.java | 2 +- .../MultipleTypesInsertTester.java | 9 +- .../TypeInsertTests/MutlitpleTestCases.java | 18 +++ .../OverloadingInsertTest.jav | 0 .../OverloadingInsertTest.java | 2 +- .../TypeInsertTests/Test1.jav | 25 ++++ 11 files changed, 166 insertions(+), 7 deletions(-) create mode 100644 test/plugindevelopment/TRMEqualTest.java rename test/plugindevelopment/{ => TypeInsertTests}/FunNInsertTest.jav (100%) rename test/plugindevelopment/{ => TypeInsertTests}/FunNInsertTest.java (89%) rename test/plugindevelopment/{ => TypeInsertTests}/MultipleTypesInsertTester.java (83%) create mode 100644 test/plugindevelopment/TypeInsertTests/MutlitpleTestCases.java rename test/plugindevelopment/{ => TypeInsertTests}/OverloadingInsertTest.jav (100%) rename test/plugindevelopment/{ => TypeInsertTests}/OverloadingInsertTest.java (95%) create mode 100644 test/plugindevelopment/TypeInsertTests/Test1.jav diff --git a/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java b/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java index 9d7a2c473..a28154552 100755 --- a/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java +++ b/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java @@ -115,7 +115,8 @@ public class TypeinferenceResultSet Vector ret = new Vector(); for(Pair p : constraints){ for(TypePlaceholder tph : p.getTypePlaceholder()){ - ret.add(tph.getTypeInsertPoints(this.unifiedConstraints)); + TypeInsertSet toAdd = tph.getTypeInsertPoints(this.unifiedConstraints); + if(!ret.contains(toAdd))ret.add(toAdd); } } return ret; diff --git a/src/typinferenz/ResultSet.java b/src/typinferenz/ResultSet.java index 274bf02d5..ac4ab89df 100755 --- a/src/typinferenz/ResultSet.java +++ b/src/typinferenz/ResultSet.java @@ -71,4 +71,8 @@ public class ResultSet implements Iterable { return this.getResultSet().toString(); } + @Override + public boolean equals(Object obj){ + return true; + } } diff --git a/test/plugindevelopment/TRMEqualTest.java b/test/plugindevelopment/TRMEqualTest.java new file mode 100644 index 000000000..a847e8d36 --- /dev/null +++ b/test/plugindevelopment/TRMEqualTest.java @@ -0,0 +1,108 @@ +package plugindevelopment; + +import static org.junit.Assert.*; + +import java.io.File; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.util.Vector; + +import org.junit.Test; + +import junit.framework.TestCase; +import mycompiler.MyCompiler; +import mycompiler.MyCompilerAPI; +import mycompiler.myparser.JavaParser.yyException; +import mycompiler.mytype.Pair; +import mycompiler.mytype.Pair.PairOperator; +import mycompiler.mytype.RefType; +import mycompiler.mytype.Type; +import mycompiler.mytype.TypePlaceholder; +import mycompiler.mytypereconstruction.TypeinferenceResultSet; +import mycompiler.mytypereconstruction.replacementlistener.CReplaceTypeEvent; +import typinferenz.ResultSet; +import typinferenz.TypeInsertSet; +import typinferenz.TypeInsertable; + +public class TRMEqualTest { + Vector replaceSet = new Vector(); + TestNode node; + TypePlaceholder tph; + + + public void initTRMEqualTest(){ + node = new TestNode(); + tph = TypePlaceholder.fresh(node); + node.setType(tph); + } + + @Test + public void test(){ + initTRMEqualTest(); + assertTrue("Zu Beginn ist das Set leer",replaceSet.size()==0); + addTestNode("Typ1"); + assertTrue("Nach dem Anfügen eines Type muss das Set 1 Element enthalten",replaceSet.size()==1); + addTestNode("Typ2"); + assertTrue("Nach dem Anfügen eines weiteren Typs muss das Set 2 Elemente enthalten",replaceSet.size()==2); + addTestNode("Typ1"); + assertTrue("Nach dem Anfügen des selben Typs wie zuvor muss das Set immer noch 2 Element enthalten. Und nicht "+replaceSet.size(),replaceSet.size()==2); + } + private void addTestNode(String type){ + + Vector resultContent = new Vector(); + Pair pair = new Pair(tph,new RefType(type,0)); + pair.SetOperator(PairOperator.Equal); + resultContent.add(pair); + ResultSet resultSet = new ResultSet(resultContent); + TypeInsertSet toAdd = tph.getTypeInsertPoints(resultSet); + System.out.println("Füge hinzu: "+toAdd); + if(!replaceSet.contains(toAdd))replaceSet.add(toAdd); + } +} + +class TestNode implements TypeInsertable{ + + @Override + public void replaceType(CReplaceTypeEvent e) { + // TODO Auto-generated method stub + + } + + @Override + public int getTypeLineNumber() { + // TODO Auto-generated method stub + return 0; + } + + @Override + public void setType(Type typ) { + // TODO Auto-generated method stub + + } + + @Override + public Type getType() { + // TODO Auto-generated method stub + return null; + } + + @Override + public int getOffset() { + // TODO Auto-generated method stub + return 0; + } + + @Override + public void setOffset(int offset) { + // TODO Auto-generated method stub + + } + + @Override + public String getIdentifier() { + // TODO Auto-generated method stub + return null; + } + +} + diff --git a/test/plugindevelopment/TypeInsertTester.java b/test/plugindevelopment/TypeInsertTester.java index febaa105b..7cb863b93 100644 --- a/test/plugindevelopment/TypeInsertTester.java +++ b/test/plugindevelopment/TypeInsertTester.java @@ -68,7 +68,7 @@ public class TypeInsertTester{ } //Source: https://stackoverflow.com/questions/326390/how-to-create-a-java-string-from-the-contents-of-a-file - static String getFileContent(String path)throws IOException + public static String getFileContent(String path)throws IOException { byte[] encoded = Files.readAllBytes(Paths.get(path)); return StandardCharsets.UTF_8.decode(ByteBuffer.wrap(encoded)).toString(); diff --git a/test/plugindevelopment/FunNInsertTest.jav b/test/plugindevelopment/TypeInsertTests/FunNInsertTest.jav similarity index 100% rename from test/plugindevelopment/FunNInsertTest.jav rename to test/plugindevelopment/TypeInsertTests/FunNInsertTest.jav diff --git a/test/plugindevelopment/FunNInsertTest.java b/test/plugindevelopment/TypeInsertTests/FunNInsertTest.java similarity index 89% rename from test/plugindevelopment/FunNInsertTest.java rename to test/plugindevelopment/TypeInsertTests/FunNInsertTest.java index bf6cabeb8..161e4e80e 100644 --- a/test/plugindevelopment/FunNInsertTest.java +++ b/test/plugindevelopment/TypeInsertTests/FunNInsertTest.java @@ -1,4 +1,4 @@ -package plugindevelopment; +package plugindevelopment.TypeInsertTests; import java.util.Vector; diff --git a/test/plugindevelopment/MultipleTypesInsertTester.java b/test/plugindevelopment/TypeInsertTests/MultipleTypesInsertTester.java similarity index 83% rename from test/plugindevelopment/MultipleTypesInsertTester.java rename to test/plugindevelopment/TypeInsertTests/MultipleTypesInsertTester.java index 818c955ba..1861c5ec8 100644 --- a/test/plugindevelopment/MultipleTypesInsertTester.java +++ b/test/plugindevelopment/TypeInsertTests/MultipleTypesInsertTester.java @@ -1,9 +1,10 @@ -package plugindevelopment; +package plugindevelopment.TypeInsertTests; import java.io.File; import java.io.IOException; import java.util.Vector; +import plugindevelopment.TypeInsertTester; import junit.framework.TestCase; import mycompiler.MyCompiler; import mycompiler.MyCompilerAPI; @@ -13,12 +14,14 @@ import typinferenz.TypeInsertSet; public class MultipleTypesInsertTester { + public final static String rootDirectory = System.getProperty("user.dir")+"/test/plugindevelopment/TypeInsertTests/"; + public static void test(String sourceFileToInfere, Vector mustContain){ String gesamterSrc = ""; String inferedSource = ""; MyCompilerAPI compiler = MyCompiler.getAPI(); try { - compiler.parse(new File(TypeInsertTester.rootDirectory + sourceFileToInfere)); + compiler.parse(new File(rootDirectory + sourceFileToInfere)); Vector results = compiler.typeReconstruction(); //TestCase.assertTrue("Es darf nicht mehr als eine Lösungsmöglichkeit geben und nicht "+results.size(), results.size()==1); for(TypeinferenceResultSet result : results){ @@ -27,7 +30,7 @@ public class MultipleTypesInsertTester { for(TypeInsertSet point : points){ //TestCase.assertTrue("Es muss mindestens ein TypeInsertPoint vorhanden sein", point.points.size()>0); if(point.points.size()>0){ - inferedSource = point.insertAllTypes(TypeInsertTester.getFileContent(TypeInsertTester.rootDirectory + sourceFileToInfere)); + inferedSource = point.insertAllTypes(TypeInsertTester.getFileContent(rootDirectory + sourceFileToInfere)); System.out.println(inferedSource); gesamterSrc += inferedSource; } diff --git a/test/plugindevelopment/TypeInsertTests/MutlitpleTestCases.java b/test/plugindevelopment/TypeInsertTests/MutlitpleTestCases.java new file mode 100644 index 000000000..5df8575ac --- /dev/null +++ b/test/plugindevelopment/TypeInsertTests/MutlitpleTestCases.java @@ -0,0 +1,18 @@ +package plugindevelopment.TypeInsertTests; + +import java.util.Vector; + +import org.junit.Test; + +public class MutlitpleTestCases { + + private static final String TEST_FILE = "Test1.jav"; + + @Test + public void test1(){ + Vector mustContain = new Vector(); + mustContain.add("OverloadingTest testMethode"); + MultipleTypesInsertTester.test(this.TEST_FILE, mustContain); + } + +} diff --git a/test/plugindevelopment/OverloadingInsertTest.jav b/test/plugindevelopment/TypeInsertTests/OverloadingInsertTest.jav similarity index 100% rename from test/plugindevelopment/OverloadingInsertTest.jav rename to test/plugindevelopment/TypeInsertTests/OverloadingInsertTest.jav diff --git a/test/plugindevelopment/OverloadingInsertTest.java b/test/plugindevelopment/TypeInsertTests/OverloadingInsertTest.java similarity index 95% rename from test/plugindevelopment/OverloadingInsertTest.java rename to test/plugindevelopment/TypeInsertTests/OverloadingInsertTest.java index 845d9f3b1..1347e703d 100644 --- a/test/plugindevelopment/OverloadingInsertTest.java +++ b/test/plugindevelopment/TypeInsertTests/OverloadingInsertTest.java @@ -1,4 +1,4 @@ -package plugindevelopment; +package plugindevelopment.TypeInsertTests; import java.io.File; import java.io.IOException; diff --git a/test/plugindevelopment/TypeInsertTests/Test1.jav b/test/plugindevelopment/TypeInsertTests/Test1.jav new file mode 100644 index 000000000..4f7f56612 --- /dev/null +++ b/test/plugindevelopment/TypeInsertTests/Test1.jav @@ -0,0 +1,25 @@ +class OverloadingTest{ + + OverloadingTest var; + + + clone(){ + return this; + } + + testMethode(var2){ + var.clone(); + return var.clone(); + } + +} + +class OverloadingTest2{ + + String var = "test"; + + OverloadingTest2 clone(){ + return this; + } + +} \ No newline at end of file From fae741c658d9e8fa33ed44192109b81ad863a70b Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Mon, 24 Mar 2014 13:59:21 +0100 Subject: [PATCH 31/79] Fehler in der TypeInsertSet.equals() methode behoben --- src/typinferenz/TypeInsertSet.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/typinferenz/TypeInsertSet.java b/src/typinferenz/TypeInsertSet.java index 2b26de0e5..db1c8866c 100644 --- a/src/typinferenz/TypeInsertSet.java +++ b/src/typinferenz/TypeInsertSet.java @@ -56,6 +56,7 @@ public class TypeInsertSet { public boolean equals(Object obj){ if(! (obj instanceof TypeInsertSet))return false; TypeInsertSet equals = (TypeInsertSet) obj; + if(points.size()!=equals.points.size())return false; for(TypeInsertPoint point : points){ //Jeder TypeInsertPoint muss auch in equals vorkommen: if(!equals.points.contains(point))return false; From 9990892e5bb6a15eec2177db17c3715439074c14 Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Mon, 24 Mar 2014 15:07:02 +0100 Subject: [PATCH 32/79] Librarys pushen --- lib/junit-4.0.jar | Bin 0 -> 105601 bytes lib/log4j-1.2.12.jar | Bin 0 -> 358085 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100755 lib/junit-4.0.jar create mode 100755 lib/log4j-1.2.12.jar diff --git a/lib/junit-4.0.jar b/lib/junit-4.0.jar new file mode 100755 index 0000000000000000000000000000000000000000..b20406924aea8096dbf9105ae4ebfd9df2a56d1b GIT binary patch literal 105601 zcma&Nb9f+6+Af@lZQHhO+fF8#*tTukwr$%sCYo?!`^&t$@9zHg?Ah=1b#-6;$6eJ` zPd&V=T3!kW7!u&mr2s6?{68;$e?R~L1IUOd3(!c&iqd_I0|3bX9SRO0{{_{-b^pzmZJcNxQXWMkpdlDJnT;Q3{;O+(YldL^>uwQ=>5ZOWh)SG9^UZL{LRYDLO=; zaNow?GrP69w*6x~008lBa(@~6p9#@A7&$tcS(`Y}{qMN{PaNo<@jF?YIsOag{}jXD zG0e2|{{nmQ{_7_Z{?V0@tD}*%gPD!>zkd1O;qd=}8{6w!8M)ZlTl`DsB>%P)F#kZ? zJ6T&B+5Zdl-#h*%)bVQ|PG|J=ad$j-^g!STNd4(tEY@_*#=-x~f|pnuNg|5uK<{|RoTZ*6AlWU24? zwYvXhcK@-hwT+{hv6;cYw?(M@s~#c#hwuJ#THpY;UwRjlM`e)lwKk##006{a_Z0wC_ZS9SW9lA0V95z}Je1F;;egv4jq|XtbY&AJBx!Yow z*k!Dm9q8h6z_-QAEBL|!SXK0NL-`g8hb4mlI7#8sV(11zjo2Eh9_@Ma{e6lwS+o7_ zet%)p)ARc4v8TJIJ&Q-T%jfl>CCA5~`A7>Up~@eG9G>EM42gWID7E|bnXD{1;Z*J; zBTa%5WygoHH7>&n7L-()CISZh7UtU<$Q`rcY^C}gUgJ)zNmHuGC4qpTeOf)YDUG#o zEVNbX?n%k8J>ZB=a?9Ecb|Mh9fOP9gqHm<`Ld_##FS4Fr6K*y0n1we0BLrZDb|bMy1yP z3TqTZcGU^NqN^}4=uOHndsZaUz(y|0p~_YNb|lb6|K0GMG(>G`4+rM*#Z4pEY*Fw$E7%Jm@YYyovAl9d*WOc3Ts)TIzhN__(uf z6xq9m51Tc5s*F%%4q1B_^(2NrsgBUw6;~~%tb;qCm$yL7(S_?U+N-8-y`00r6WezH zdGM7i19-)}VuMBn)z0CcFMx0>@4J|bfP{K^+F@Vm`uNKZxrJ1Ivk{78QL#M*r#b#2 zMWM`rdPTs*_;9v~as~-6Fj_KcX08)ZKijaet1y|tK0<5N(l*4N+MLw3Y?Wp3KI0c2 zc!yz3i_&_BvsPtOG%W~U6nBaNMJ|tpS!uU(tg*o3fLD0|3I(0A9Z`@mGDjYTzj3bX z)oB-9RAg6!mu_u9VEEO#06CJEpA$SSve})xwukWRGhlMRJC}tjaz_7^*23g9s>s4I z5l_D_d=r`rMk{Q+FK0Hi?cSaG6W<6{8rzh{(%T)1g3s1?yHy7e1smqB@7pUZg{`*7 zF{D#n6GZICZpcYDhdPfp*(Btt*`{^)W`<*`=A<>07$<~|1i?H?p~Wa}+P#;uR zLI!J-X@0Oa`y6whK|VvsN8_RcCfo<)<^ks;=*lz;kQ~w((G*gZS}N{NIcQAHjSu|u z<$@~6N+stq9N9hh=)9OB<6K6}%`Wq~xe`b|TuGHT2%r-++sAxM91=Y~@z48yGE&)VF*-F1>&fGIZe+~m=63T%!u!A|~ ze*GMF^o&j4$CNH+?`0px$CES>bFgHcEM4$=cVM+M%b}aNNGsXiky=Q)8$n=j{h+rp zb2Gs4#^Z%MZ&=*0rdZR55=N z?UoBmg47Ila$Vdj-ea4*{Q4uI@J&T-j@=)u#@EPI9TY-0O@>#zv`2)r+603+8%j%L z^GLfDgi~d6MKCxvF_DzvAsL;0{oyFHr3Fi^?UHBevrkW#s17=aLlE|dnX1>#$7%Do zHW?#SFBJVVqM#T=-INdPPCV|$fvE4G$)ZivspITODyqT4W+;B^$7b6_GT2A->)%Ih zeWEPgCrV4bF+{Pu*e2r>u|`cO)U=td-}qr@q>Zg zqXgR_6yl&(Cpk1Sss@oySUn5x&!v6L8;CEQKY0xDex9AVt#jBzH5aBnU9D+?j2@tj zw_{R*T8)Qnfy`80N{$cf61UtPmYvgdWR$L-TZM#XN%53hOLAN0;E6 zp=v2093#e9N2Sb!;&gxt6Y(fPmNF|oAZ8vHNtS4H$gHaz#hKOe@TTlZT5>AbIVg)# zL-VVm8aNpvPq!QKywn22xaHU@qb(3g9J2KPr3M=lMuKa3_OPsXdR|`fTp+QUVg@0+ zsOvFmX9KkEOE=CbaO`JuWq1*PI_TpU>wiFrhMehT;1Adm+As{6(7 z)9Dm8DrB}P@iBf)MO_H3I68vv5>u2QJU@${?v%UHzpc*~W6O;8x%eF$wc<@eHact@ zum@`@Yi#0v>qMe3HtMI<2kxYj8Fpw<%mDFOTT$H$yXaFA+{pnsu9p&X^x`Atz2%ll zBU~kf!ID)*Cr`hx4lPRxvTV;c1hFiWM3lb$LBjwjt02OCn$fAb>?T30v%V&UD6_rR z10f=e$9CIEYzr-fKh4u|TsLOI#>V*I?0>Q_L#tr;Y?9(T3fu^VmEz~DV5T$+rD$qD zOG{utoTpR2*Dx!~sDQaX6f-SEMK3UOjQ%TKG*BsGiZ{kB&8IZYK3wQ_+F;sDEc{2j z371kLpm>44OG!BVc7ee?!@E<#{Kr4 z^XVWkraWSlT)Bn#Jl`Sg+{y|lWF@hya5;4OI;Hpx!}6+7WW%tE06DDDI;BQKQAVqI z*(q*n@5CV@HFGySxRTV*Qk)`JzIp{uq-gvCI7v zFp4q!%&xyRMS+*hSgA5vjVKP%jMgMj`%FHUYwLw&KE%1K0Ql8eA+WDo2f&G$hswy7 zSqI4SU8vZpr=Qog=Gq_c=AdijDTFCzX22Kh87F$qa`PJM6{9#|i<3r!gY1TWBE_@?RIoTstdujH;@5jmx z{o9+a<^;!~MPwg1jD=e}=htO0Y@?rZsh8TjJYdG(Thp+)vA*|s?0o)jefGEH_7Y15 z72_KK05Bi`0O5a4Zk^2jmfCtL^vMp;LwBj2@+tq4R%Z)5Znh+Q0E)y?M8RyCNE}Ss zkM!oHScebkABsOe`noy{0`~y$MDEpC#`&&-WVSQ{t^jdo2rEh3wnGBaitErkED>qVWItH*%UQbw1 z%*49eZTKux=OfTJ)7ugv=yJr;L!IicV|5pVmRb87hTrNfco5e06uy*+6&&GhZDrcai99QD4an^J)QH_j|G=$ z>3!FxqUXm3iZww{-0dSI&%x6J91cKHto3lz-{FX+XSFR=Wyfa|#&v~;Bu5R;(v?v% zoFK$yufgH0BmhZ3F^{Nu)8=GOF(5fNYcIgpJM)X>=ntOAp5~)z9kbr*w{%L6jXO#l zWZ47XELKnNDAIO_9IYKVhXr1MG~61w7FTtci-&C@`f?u(4RC~)e)m8+PeCr>lbg6e zB3Vr1;j$g{w@j4RBYUzlz2?TaN0E*Xb;O9Y-4WxJ+#D`LeN-6X;T>L#e17|@SmuDj zy?lWH08+ll0Prud7}{7H(K@<1TB*p`Y>GnjZ1{cx)rAOlTv5tq00^v$oU>!~3Sfab zJ3zXpCXt)f7ho6}8)`tj{S>lq#1rt)f*BLLxsK}qsL%|YEd%URx%x<0x&}E0m|l5K z$?l$(Me8t$`R;Mf(EIxRa^;G#hnmdH7&==C$Q5t&oSa|)-6z% zZbx%LHS78@yPz#R7Rom~r_l9f__q6wZOyxHkVd<|k$WGVM@TmYEKY0A*hJCbQ}Y1> z?>cXoQ~I8*XrY63#U>B0vNq+oQ4VR;u}R6D+bC7Ucnp0MoIkRUU$X$STb)&s`QeWD zUo2{*N3Geun*!#1@`P;BI?>mbZ z(W0G;aQtl2bdHY><7_}(t3umX&Ng&_D|YcCo{O}Ctfa1&vI+<6E}Gte4X>N_|DDaqI@@WXpyg|s?t4zmy>HqS1j zi)W#d;mhI^mzD-5+UF{8*d!Ef@2$u40e*%$6oCSRwcZxMHzdcwhns6WOiy>FJsO+5 zpFKX}0f4S9C>YpI--sJ`KP85dC)p*w&<&?$hR2CF6lfdw;~bYVshfC?zsHJ|e2|L+ z=g>3P^A}s^m_t{Da~r9r-po#o_RUgUUm|(a@(z!Ieg6hwKrT%<&rQ5Iti8BFD7iY! zBr$gcec8TrcMDNNxXNK%dO3nr2OgXpW?@QhF%%dLVx+@X2R`5%j76G$OmC`_w1_z_ z-Z?fSC(O7TRP-v z-905{h#h6Yf>0dD^`J0Z2Q=pr4$9;1nCBGAtw2t3?wrapwNw;XttCt5kD@vGLQxwe z(%s}ycZpZdDytf{f%+D%fM4fRdLG~By2)qRPArf$3Ng9VNu-RFV6FA5u4)RDmZ8AQ zYNK5wl4$jP21H?U>X-|sZqO_ry_1JU6bAB-=qA$Vp>nvrDraX}!^IA;^sr(+^_?VD zVICtU!H!WOH4s27=fO|M{2u>Jf#OEAF0;Or2kpzplm0&_(BIT2OZiL@NdozU6Ad(Y zE)bl$He5hKNS^TQlonJ0x)y7ypR&~Gd4z!3aFspJ*u9f``s0R81yaR&iPx8IAFK4p zF_@S?aK6yIc!A^RuT0(&KJSk!K3@rLdUynJ8_?dQrKJ~l1YX{k0suO@7E zNz70P=;eZCp4T8xmD`UomJifpEgQna!Yaxj%^k{b3dqN)&fsiB@KcdIsG%t47W2Z$ zTd2^Eki?SFRA>Qc74uqkY88XYluP5z_jTtSZ(N&^W#Ri!nN&C?taP&(6jtkW=h{oo zZ1zFr=dW(b7n;tj+FBsEb27M)X}EMv6SaD;jC?|_51SL&34mGUge>B@N3n_gpC7>6 zmggi4*IxO`tEw3j;|`lqv*RQ# zHV#Ybrzq*8#e5RdYYn4qmvq;yEjn0#JFDMRREC)^k(Eh_jwa05a&+|&o8Fd0{rG{V zV=cpRW@B8T^3975_WU}?sv z6y;3d@MNK33W)8q@iO@YnZ4|^7B^I>;A1&R;d5i3u^#12Y1*Cj0pBxzlQq3FI4%g2 z*a|V3oTY*~AS$(%A&Hwufs2g9jWFvkcrpZ;C($SQwbYV_XxSjpS(*G)P~~cUy-bnY zXy1~4p$$A0YCkD9Ws~bz81#sEC@D2`(X__~&vHcikV8J<@b`dO(h!8w=`A5f@%Yd^ z+u}?8;Rk$Z%JXx+-eV|2Pk}F`RN*-gL`VNk!VBcD5kiDd_ig5@X21sl03iBL2Cisi zYozaJWcVjW{LQ+(ls06M6p(dF7G*KOAd4CSMMQ-yBjn*b?GC-D&CSR^=M)frPX7j%HBA2YBdk5kUDLQq#Xp&#S`M&ZPK)E zZ?;y2s6awiu!TVgR##wqrm9ihdq`GgWEbi*O=2<7YH-pAo38CB;esX_qWYDI7ItSO zt~;3!*Z_pm@!l8YqT;}Qe=%wZB}k>xM{gZ({E93CPS)9|@&|1Y+_BZ*Z(S zU3<_8ErFy7nTASu_!GZ%{x^>IZ#rbh>tQ39$L~o}K0s>nE#Ej+dc`lO5Iu4<$r1SC?>Z=_Ds!oj zED#)PDYWp*aU#TybJ&N^A49S8nDx_40qHFp20QxM9$0{2A2@oQhvjp zN!7={1w84>wqE!zdw~Ah=KHfr^nYYbf9ycm=xc{a-_geY?*c1<~*w~3(pLd7hMn=OIP-xrv=1M;J+xS;7dAaI? zyUU>`C(}NkkIy^k6>^N#0lKq^8M0)IPcpY;Kf7cnQue4CcW4lufqp@+yw*V`8oQM@gIl{z$61p|o*c{c6Cx~Yz5uU;4U$%k*=oJP((4ij?lHP;1xj0NrZs@|we z`#vK&tIjGpgR+?Z;Lk!6BwE?Gu}mh*n7!Vd7%znKhBoTaNB#a;OdXxy{6^**MPWIC zeF~TizpEZy1``~swN>SX2Zm@ii9G}>+j6?I_V1IgOkS0GpH?Z7%< zm)urFWc;KUd6Nkvix;nCU6^nAUbZ)5insTicXqyUvf?V5eC@K4G2x1%J=*5$F$|#+k_J6Z)FGU@t1%70njl|->)nQ*eWa?4{DSp8m zh41htnPuYuH{CE)g~2i=4c|VJnf#e}pMc&JqFt1Nx#z|{a+%PfCE zcsUyVlxwXn6+~zwD607Sq9ZkEzqh|Lf`gh~od?JY4v~Tv%|s{_Z%JgDUMM{lnA&mj5;SRyM@N_9q&ZN z(yYXzw%oOi4o2Aq?l`iXK;Efn9m{lDY87$IxnP=lj79F5O6)7o23z+amU@oX#4fRI zt#&QP=7D>v#{MWO*Il|NKFJ-R7cLS%_W?lMc#}}z5h8Bd{RrfmJR$EaYpJ4RToLGU zqz~aUOu0#cL!JFK;+y*U$1pI(W{EknDUp|Q&a4bh)MZK0(EEBaRbv>Bg38UIvwxxR z{wRts-!bbSMS=WsJ^24sQU2z3k`iYAxSio13GEK_1XeSMMj5RaFmWW|MW~cqUCr27 zK*2_2yUli})>h|6-Gy#cv{?SV|M5D*lCbP?wZHCvPqX!;Wi|PHK3_xi@^a!*1};T# zhdIjWTBI2&q#Jf2rJWd*-R6OX)GD0v#p{;`%A)jnVb<;V*3RQbHsU3=CaRUaSQfo^ zDfv63W=r9zY=YB+rPR`gB0f|0a3`D!XAZ^Bq8H|c$_0f_cB(txm5>uPf-Y42#zK(; zpSpPqEFVYeH+J)~F-#sQmV}eaG;`12^1_4JWW_Q?d^y)(nVLS>r&Z;tjO_Sc3{@M9 zO0cv3y+V0He!`(YfkNiPq$!las*!AmQY!1NzL6CW2I7p#EU-=bw57758D`DL8D~6? z73az}r`D06J5-lCKBlWKgubRoUhD)V9<_!}7XhpkSl{NcjnLQ}&VTu%}+dZ>GRT4Nbi*G{cfbj1sujh=SJq_b;pZ9^Kk6 z_kK|NDZJmcOVjh)8P{td3!>Q=WWut>PH!UrGRlAWm~*+VPdq0t<98LkGt|c0HpTeQ zrjz!!ST|DF6=UKh1=?yS!%qA+fUxl@#xJ zIbPlqHoS>X-p9$Y$tj$ZdJCuNskWoH$IG6Xee3Fvqaw91QDJEc=)hwA|CYk{X z2WID9$#XL^xe|l2$dqy5sV%DuHZ4SB`$D6M-iuW|(b>vn_TUzX8)i@!aLTjB;2+*M z@@)c4X34o6bFPfb2{<^RMa>yNVX3+0r7WhT&Z%YWpH-X_j2(Ms0#F4Pb8O%@88>Dg zlo7j7m<3AYU1`eP9QAp8tpjrYhZxEtw|VTA!$|&sv_u$-T$oZNQwU>BR=&A60#qEx zGlNxy_;YYgq9i?|xsvHbrp-}E3`i&Fk8}*B!H2FVpaK(HJp5FEg{!m0%HxvHW)w?y z(Z1%Zni&s9d8EgvXa}WCx3oOa$9X8ARfV9`($ZrnM)-V7<^;6jfbEYaG5UKm3p>W`59s4w~y zy444c09&ODvNe&{0#WV^v9*P>xm(mnSfN10u~+gfyzZ2~!dYs`+IRC^8VjyeR)njwt$+0#J zNQ9L0Vn$EyyySIlaAZ|Dgn6znpW9D_uP2*i+o1Q1|dyUO6bTy3I5!m*4+FM877YfvZst4b+L)$YguRGMp z7Q1*K>sh+v6nbkgw8i&NZ_=&I4@?gtn}C6CDh|+k3}cNLs->S6MoIy7;+YjmYY%Ae zqNw?ty>6kO7P*YH?pG~nK2;(SFak_M2?rgaAs7cEHFz|0me4F$Qcp<%v#Pl?N2h`i zmVy%o6Bf}4Y>5SJN`y&_d!C`%V!V*zc_0sZcfiCl9PZ@=eeqC92QugbyT)N69PQf> zDnOA#Ao2}`fK*GSrQo7BtK;%h>~1_W3L0q<^Nguwbh+h=%1Pt$Gu~aCh z+*uYeo@(A<$qxiSn`+GBG;Tzs{P=lAsAIoZ=6VJ=!Hc*xLo5@_ut|O68YnebWQMYH zBS~h~A^3iaLfNtEm=;-l2%*Uv%_k@`#bKTquNCMjT%}&GMX&%G9!2kf6~9gU%fgBw ztCD0^97?ERwuu?J6Pg$k2SQ})X!4t zv3I^}mN}2dw~B$>Afy)RiOq%rIJ~qG8BjzS6P5r+!IWMuX0HvYr}Ou(A4dCv*vT}q z9(I8nI;A`-|mtCp)w~2zc3KV%&v6gYYK^wY?cGqwk>CRIqyt zGTg8{!ccrGL#@k$Re@ZX)_V=VUUBs}A@(^Lg= zWnb!*&S;+8I!gW7NqPb+uYNbSgZ|{P!8pZ?kLt0} zB7up-JmDy7&?n@MuUa7^b74@6AvoYQEtP85hLdX72k`NG>g^?_TLjuJq9kQC^>(P zXt<6MdHM?GQNJ~6PSWbB7gV~*ujs0R%xYv+BOM>HK&y4lD*5MyysDOUQyp8R=dx9J z`-d2NKWRu%7HUm?Thf-FDv(uBk!K8a>L1|T)lag8qtqt-RbwrlAiAV_HzD)%a5t|7 zEYC{gIujA@gHQRZfD-Kdk^!t|{AdS943-ud5893gu@)SnQ~(eaE!Ad4?;NvIC&NbR z5aeC-^!=gdubdgjo*R+uSE5e)#S>8eUo)_;!>*$GW|l^VBKG$G%M?V(>qr3#AoHx$ zL`~ID%bZh$$_Eg;GY8fN{wM>p_$iiUX}J}&*5s`wCkXfM>#gi)f&zS&=hyb#;ez9F zdgXD1%$EsUT^v5T*x|d#IT?-d4b3dw`2>9;r=s6awDE*}iz*;10+CYLp$b!v{+vpN zYpT4_GQ?~ur_rI23@X4aMEkB@IHFy#>Z?P>s9ywvhk|vcDY2H!I)deBkwsC&HyW#} zq{!I6COV!i$?pTu-Q(r${SlzRlXpE;q(x>ZiLtpp*YbqO*)s281H`F(=FQqgTP*{r zutHyVm80{c(`M7h=#dj#W4|K+ix?2nTnl1&FWVQG8?atTa5zqtKWg?B169>$9EE{l^?RowyRl z=^IPVHZVpQCx@V*Uy(=_oS7HW79fpyLPswtST zdbqHJsW9;98xJV_3u-vcwzM6SM^g!pJnfx=Zq7J@`FXRQ#x(`RTWEM}Dj_M9rlrRC z%;c?7&h8E~X^$r^sCi3QP9H3m>Km$o2CheO zLC#r&z?~xvkQakhr{;AUvOEa~6zU#@o&d;z*!yO;LYb^L+JD(*_M7#`(rJi9G5%a7 za%i{He5maN*#aKX5b)I6rgs<=t21n`LdiH{pJuac-$Knuz(zwz8kA7n%oSEtXtA7FyBO9;XnuciiI#Ux|g>d5PBA&E9YI%Mg|oV2MJP zffzB1rd_#49kJTX<7l3MY8G6@ktlj7+-GFOZg^5}^fVG-D|;-sTr^clg1&|rDQOi0 zI!G)}bQIn0{{V`f8C-+y(_fo&Vco&xJ#r0n+q)}kU1+(133&Xh(%BikfYt4&b}q9t zI>~;b*`h_ugh$l}<|l4mEReC7MjT-RQlYmiT z>xyqqK0Plh-oL=HU&24;79K9ap4mK3r+$Kprn^QFSsFsA!wN3Yyz~l|7wzvc53TUF zjiKTp-LwsKy_yHY7RGz%lhgENj#(7ixHF!Av{}$PmV%2-Jb8|@2+`z9>XND!xH%Dp zd&ecN;&;ZY%9?|@6CF4^ju~ENfXC4p*`YddO7!l4fSQ#g+n5zr&?FZF^9mltbb7zW zjsB*{DNB}`xJ?F(OCchD6YrEd-I3-)sN+hSU&C+(3TBGo834bF{)}ry)K4j$f&Lj~ zX>$CkuZ+%StFH+jKs*^aC_3baIr~jQj4f$h$em8$q##h=J^qCuOlSju%-k2Ll{k!B zWT?%Tj3OLrl_(n;q*ahObot<;_m{^x4OS>rtP&B5b`eX~?UWk5Qs35t@k^PWwdU^+ zUtPP**`GfLg>J%@*cQy04liagWUPiyQSQe`aS6D^7-XLk0=Z;H(Mnkrrg9_7RAr)h z^V7jq@+Qo=_xhAsJjpBo6%{Tyi-EIfUj#H+<8rhIY6-o|{ry+v_hPPU@~GTnn16Pj zaiVzF-9J`oF^3Gj*q`N;h9gW@5$S}uC(?cc*9I>! zW1fMJg#h$U2FS@XV;6(FdbZl!Rx{UhOj>2Q0{f2)QNltS-V<^FZjqo zu!O7D|K3rRF74a7G_^@OPTRv|y?JMYwVs}eZd<0RF&Sj{=KDssC_ohq)GF8;_pRqmt~U7o zi~QjNWRMY$nu6`Zcf}9>_HcseUXcXrW!{`<#boP)+I;(Xu4Nij6(U= zYxxYvIgo1yB|LeW&eG}8gUTQ5rEZthDFkYtH5caH-L^X0B&+_Z|qXZ|Vs z)FEoZX+4`xTq9!_<-A1>Yqzl4F1)_lEqoXeqh7#rl2cMPPI+w{N)n-k%pl6XIgImp ze%dPaHra9!hjLZ*Y6wCh=^sU<8Y*FA)I;>BDu;old<~dJfQu<~(9{3KO@Z@(I+s zNveGP$;SL=TSvf9-}dVttiQ9XDi#h4qR2d0WD1taz#)rnfDnnw3ix|*is3Tkz@|bn zru(t;Y~gWH{&9*tdh0(2!BPo=cZGcTeUw8y)WR8>Aun8sbRY!yBJlHmfc;jMKR+E|&Tvo#%Y|B(hWQI+A+?DE^Z zR9{}N5^0j&FQCckl_I19h6)_`=9h~pi!$=4YG%7dP@D~t%#r7qdLD9BGeTSSIh1rV zPmlHRkSB}ruu>w6x>i#;T$l)*k0S+T0s~2iv1)1kHi?zKlwPMrD$2F=XZd6Av_3Ql zOb+Vsx5CBUTZTEibigsNdAsf$3W`Hzm0aD{hT(6sh`4Twj! z+3u+i4m~0z_ssH}h18c0VL-8fKufJ!Ar-m@!Q-q{wLnezP1v+~g?`*PpK!Ec6RqM& zLZFO5-zWrj)LmYgo`Z4ZTPSXaZB_O#RY725FP!Kc&0(o*JmJ@bzzV51Req~bIdZ2Y zU8+&tK-!2`?iBaNfAINkb_R6M6Vu-k3;_x?^5WvFi9IJ?Ux?-{&`-$r-iog1Q6$y2 z=0|T^g*k2J(I}0umA*{VP9UYqY}__S5@vjK4T4fSK2`a0w59i^B^I>+DG5&)DoCv0 zZhsfj+Nf`9F?-HagYX)ux_zwTp~5X{%(;pP&N;D|?ZdyOx|j<|c@2ofpF^R$sd$hH znX$>UI7>l~;kY3eS^?M+dxlrcEb2++Jvh#B{zjRuQs{szw`vQCXUVlD(Zj&CANY zSkt|`SERim+Tk?oH@)tUwlKOJiYRR-`KXyvN(OK8GQ#6UZHX(3LdoZT*Y-m+i4Qdy zZJ#;9@Td%unxpl|i5B9cYnE;W#%0?IqlK364?q!ZO-2@ml#Hhfw~)aED?}ryJ<aCnA**C>{rshF~`iUu?G^hEqu0!BN@#u@E;ZKn40=da~ zP)*Te(H~0KbkWIgDP+1-MKf4H5j2f7KGGW;+ECq|Y5^8C^L|SnvaK0dfzTDa)uvAGBdn z{Xzm}z&>K}3?iQ9H7yQ;l%f@jp9xaqN>*}{0U(Q z??h~k2#@UC4#crFkcn&Qjwg*Ll9Aci0oFK0GM50zv0p!$ri-0ZF1xMLP#ZQ{$E(*E z7hT#P8ksxt7242zO{J|t;scK%gh;&bvX*C2Rz(yY)MgcL)sE%fh3`TfhXCFy?m#gr zfS+S!F|)?7W9ZRGL#|S(gMswYhXC%N1SD(n7D@Va1T!l18vP~QNhniofPEz7rM^As zEmeWi%F&5W9Dj*dh8fSCd5$xE3^Ez(T8(_O#p!7d>y3Pj>D!0-(UV2g6IS47HH|mh zNzn}HHkd9oIU&3dt6paRGT&eAW4XbW%=)Wzwu1%$p#FchkH5!BRV_6nHRO-zZ~6Md z!a;j^6GsFMR-y2jKKA5!kua94+~H_s8A7eq_>(h|$@5 z87#bcW725bp>mNoHdaAr0pvP5aKfN_apvVE>{_#H!=F8-SV?|vwCCyA(Z<9^@-PTRhnrEZT+l7TdVJ&s`+n$oJFN>gn4xP zgwfH~q>?&NN$tYA4oWjVUS^k(hmD{-=86L{>uo{QG^QCdVC*+FIgq729E+NcR%kl) z$9+`YDfSDOq1JP&%F}mqrZh6<-hh>hAiH@CsDe{#F3$3ARzJeTT6oV|@)@xWc!-?L z2I)|on8`m&rQBCWrpKkpPmlQx4=*#4eV z>d?L@&T&nYS>+IW5lIQdag)CHJ5~AMe%;sU#2fbDUR`b~GuZ|5G=)tExXC+S3W;7+ z$!x#GI=hD8h1yqw%>`?r@vN2$fmf0e)E+X;lyE>~RR!IA+c{}#&6ON6cWjuO8xhVs zHeRf)x?e9}IZ&{Y>BU@PhCM7gq5#B{QPt)HWhH&rC%5$#A|HGmMV-#mT(m=Bt*Fwz zJ?wp?|4CzcBnzZwcX9Il9ddAy(fKXBI47##`a^8e7%3-e)u6ER_?SyVBTbEv*TP`J zR9B^fsh@ucl9xZ?x(h}wx2bT`%-J{n`>dl$)a%5>=v-mX#^H+M(p}~kEuI8 z!V1lyh#KD}Y1FCMIhML2m0VP9-NWnAk{Q^ikFF4hWtZMUlb6#wTs3xZABx<6bV-TR z?W)jt$m~4$eBM&9b4)mr2OI1-p!Hy8U=DrLpj! zQtya}Y1y$)Ywdxt%VQaYx&6dOi2A`dJUbI+n><52yfPR|ITA~W(2`T5`IBWfM-aUoDZs#E=n0?vFFwP)!<#dZ$JU^P55&F6L zJhbGakjyaTao9g^)|rO)!rlz*^_V_ScO7@Y`qhUKKhEM^L=NK@E`=GF5M-XJO-?b> z|Hs!mKZXJ%Tf(tz^ zQD}V3g7iE!2wlLoSG*~jfZXzFMKA^|zf~r`-KCG{7txjBYA%bIy1WXI|D}r|KroK# z0XM7vZH0JcB-jwX!#3nIf3ZWP)X3@^y_t0I2{vH@Z^fU~Q^Fui;EyQ?e5p=7!5=12 z9mhRo_0-m&*;{x1TYjxq!1^-@8;PS5Y4bea=B0>V$q1H1dR)5k0rLHXDkXG4ypupn zfBEtMmGAg3ZX0Shrcv4tVCeZ-g#QC@kax6mHZgKGFtq+>+;RQ2Tj2!*0}}$na|I(6 z1v{&p@0>*XY|J0rT)h9txBmQ{{}I1<7(ZB;sq6}dCJN?XIan|JnK{_$?DJhnoeM(* z>;)(cO9b2yVv0cooMI*7Xel6J>Z{AZ1x!X1NG~WQE~?$SMk!>i|R03(=UAW3biod9p#n@8%6|ZBrDdVjjPH z>)8QFMS>#rSKhU|-Wx7vK zwe2LGeAw!#0oK}SS8*UU9+}PvXLFedQlLhUi$m%M&yVlLB@j7;h7m#vVGw%){?BW| zcv!iD^5^S=^`mn050RDs&KUZKHUGFE{tuwDaY9x>@wH7SwP>eNhYD6CP^Ph%M-uV& z2U3I*C!rCCF8aOCy4AQryH+cq$&ZM7DAUV!8%S4xk8?qO&Nf2K~FS3=|<#ZxSkzU*G8Csow3 zn0Oqlr7v-3X+~M3VL`_Y^!JDwl=7ep1!7TTWD%0Zu=G!yxZe6aG7&CNwhX6DGlVjT z7Cc02$E3kj4AdfdX+RGY5HyPW-T_-VS>yI(9pTiuS||+mY-HIm;L`ljCSv?ZL^79gr|qxD8{VY;rh zV$H+eo&#ZNsbUwVxcgt!wd8W@-=!w9lJ!L`S5V9SGsGp0k6(p}+y%9X9~#tU1XEjm4T9Q)5B=Nvs`!4~R5@+i}6-^c+A-^RYx07XzZAj2F+E9qm92EOGP;{)9BK zqZlEZP6+{1`UXp-uE9^~XS&r8l@tjdKx5f?3^b&#e~qY`J?1ECYu!}@(3_dk5oxwe z5V9Xf4M#231d)1>J38Hii?kXGbFpjUf!3eR&lH^0^{p^#;8OU}Yz-|O0=tFlAu3x+ z`GpvUnU8Y9bJ8vwgj2}R<(rzDBdJ*?R(Ng6`cVFJF)Hxjt$|q z-4*KfnUBPid}(?398jNimfp70>5DA z_hX|Pi7T!M#^wy)MowGjclDdsobp@kj%&G_56%7AXu$_)>;y&}vyfA6c(K55^3PP` zKE?gJ=+LLaGe2p`ut=DrlIG;yvHWkV^4;SP|FVBJL+vZzR7%!=5@*+cod+B(Sd z81(aIos8H?$<3Y{116J=M3IG}Ho9nCnS%AQ852)6e+1KOlfdY zl4ornfZx+Nj&9~7PY(L#H+ku^0rFJGVFCGTuhr(jll*`#2)+Ia%`t7;2h=@d|3u5O zQ!=E11V&M>nmV$9_!s#8HjBeopi8!s-tCGCI!qxj%BQy&@=d|}h`=o~~TJLaF z1cXj^e^h2;El%r;gB(t;(vZ=ZQ+CA$VoTr(hSM5PHyN2B3b)WeWya?cukxZTf=7`v z>Zi2%z!K$;iDPQJlPYitT}iDl{~(zcu2<)RbpTAn(M4Q~J#_Ob?38H+wH;e2Xl*N4h;c z1KOD7YF=S_lr_vnod3t%EENvD>Jz7HL?NUx%fM5+(DDjreR^F5xtS_kt{bMI%Aq8e zMYy_Y`5QmX%Y-1Pb192=)hb7lKf*Y(?M)vHUBYXN<(@`~Eh>iOGspOh?s{tndREKv z6y5O@@no?y(Sn-QS6yE_jp>WpE%HdS@f2dB`Bbm*)hinJGKgO%;;zr8YMR*{%W zKY4a`@c$VL{Nt7R&$^C^l^n7H0#6Hy);Umsygc512Yhb0-8nRhH_c0~;O&N@twWvb zm@5_O7YUzvK1tl*V9gi#LE4pK9qk`ISF@YROeUvm>Gy|~mKy+CLz0lN{#ny1L$9`Y ztFEPu=yy`JSrxnO`Uw`b5d;dy?BsQ7f2QHbOQtr(`2X` z9kUL`=kC%L?u|0?#|*z&?~*3fWf&gk1=2yA;4x)(O>82&G$-Fh@cQ=-g($xkjDV65ORb>=<*)i6Af*Y= z2MYV=5C~zkd+9;9XSV~YRjXiWq?N!z=&5yd(Wa@O4!*}I&JRf(!f9$=b2@VZfl$|Z zRwx}`ES_EknvsJlTbs!^Wh3TWp36(#F}t?2pV6+zsi$Z0l}E!u5{NQ(g}0gL!w&NM zGyOfdcL8i5`{T_}cTj?Kz(!#No&k&RMthC86;5+S8wA8ggh-3m5)`&pe)lvGMveWl z1xNhMyVR!YVms*Ds)gvlstoS&sWBuc&$Ph(O0!hyh+lcRN_El+W&T4_a*X!3lP1H> zcqc>#ibqzllJ!ed1R=?$7&S@fm`hX+TzGQeL(?Q^(8bJE-?(1SBGOM}#*FVTc}|x! z$lJ@MnI@7B#x6R$nlF}I!f!j+Skc#IfS*JWL&+)wiPHJtH_cO;_r17H1ZHQtYh`MU_e=>z*eaUa}TugClk-c$YID*gI@ z;67;!ryt$L|5NmGiLJ8*Vn7f!^S8I>N0B7vC1B1hrT7&tpOyG4Y};O{bz&%ax%<|R z;st;g$^ai!0Y%%L*lPPSTJ9u==r<-F5i`U={(PI1Ykv2O{vne_or{Gnu2nJwO}|oJ zw~8X=XI!TZ)HbJ}n8{j27-Ih;$0waZ_IBx#?xcW?WVYOL&}xHJQc4p2-VyERiHiYE z#6%PvxnAgs1L6fWLC{=Ql3^=(T8A= zY?aPn(^G(_+0G6u4DEk0%XBgq*XEH%86o6BwP1BgE2PX8_%D#**q#`5;k(6=4_J( z&w3uHlco_1G&u6!0WYAj2{)j{#BxnUy@Q*3HhbVRGRKSHZdNu>??zZd4kp$<@DTN) z!_01`Bg&MiYZ{TiIrHHF51|JTTM$_Rp6q+xGa&5cM#JoE4h;E}9&h#*E?q9gqh7MhXP{O{oVqP0Pjnkd#O8mx& zyAV2+NBB1l@gXekNUiG~sxJR;$bG?7l~EMg>vMMrKb0|bMTc} zW=g~o-y_SJ^&YF0vCjx) zbD5NM*=$#s2c06O>kUPj22)tB0@a^Wr5*AF>;Cd5ow>7hrbfQHam4gU@IEXFRiZYg zeY84B=S)HkSRrBV2?&D-Vv3ITc2tVuRv3upS~H!|pX~hm5Q4c(*;O+!le29YJm2Bb zLai|+PO4?*%fj_MyvjLD^UG>3n=#<0+I=iG14+{^RbEc>J0}~MICJ!pDtd|M7y}AO z8q75eN?ep!mUk8yWJ4K6a#VQzLD62s(3m(Y4nSmSY0x1|MT?9U(_{K~5DFn;zdb|^ z%*+Ygmzf=*fdVtk7_5F%zvm&cw;R-6xQ^hCG;Rr&k;kO#R@1-DSB*GJ?%{1n&K=j=M|U`YYo&GmnjCF+0C`T> z?J!{|F>JLcok$%~SImZqNr{!vL=@OmeV$CKMk&V>@xVlx-GyCydB;{W(CYyCU~blRQBs0J+tVXe~?A1V%)AS>7-{`1R`4 z9STOELPKTDw-ZqUdw<~}TV!YH*n9R3`;w968mh#q-`;p2E^9YEnnXe);sC3eDj2J~ zLjcs1$9Bgbqx#^z9{!Vm*WVu6m#Z`3ubJ})!puB;K95m~Hm7yH1MapZ&8yi57$wWS z^UkoU#&f5Ut4(<*Gg6dcBP!h6wY0RKB}3FDY{;ZLJ+uQRUv0 zWU+F4oW&$Q6RexSzzpTe)|;q^-pfuFEDuRXLW4Y|*2BG~&CtwUc8JN-CcUNehaj4$ zmh7AM-gq3SOBA}(^h8x@!S#ua8mw7+=0sX_0-e_URE#tG=){_xbE=|(b-Qx2)A64G zkhZRLI3gs z@t4ovGp^OvmZ&(-WVQxo`>dQNwt4SLkIE%JOK1G~drC0lBi9*{2fDoANkw?;XGLGU zzHfIXFa-WO;!2)uMeSz5@8p0!dsT-UJpy)E9C$Jxh(0ZdIZ|*tf`+gIh}^Q`;4Aj( zyM3on?Vbfz?((~K?&g$9IJyG^u(4VrAj#kFGnARMMYi~^^NaMbxcls)PDr8w1Qz3= zgk~l5Wx2RRE4L6VFv!YiB@*L!9wR}&FJF83v)5pZ!wJO98D(OLK-&DE31*i4GlwJL z?=eUa$5;g5hbSSgwb83w=|SWfoJ<9;cX@ntBT6KPC94IZxXjld=ZRzrI8_x*ap+!wPHUH zEKcpm_x*{LOm4ILj_ntkH%_nF3+Ns34<;qyP*NhV%ay0ySLDwsV#a-BVUd#Y>)$7H z@ieu1WCr)llqcrN6VHYa*|!ZZBm)`qhKMI0Z`~)NuqWZTlp|Ji_{&;7LlWO|+qLlL z@Rl+=Ib&u?ZIXnS#x<=Z6#$MaN((vsivZ;lW+=wom@A4e2ERhS69FOi$$$;%Nx$nx ziX|1>Csu{gA3QHcWb7?oGP&lU)PNtsB0Y z-2v`&`_eX1xxi-c7{Z9#3fGrs>4B60;Ail-F^FuP{5C3kd}_vd&r2cCR|Qyf83Di#N&?44 zvU;AnaQKupJhi(E6J}99+fp-^B2lG|8j66O@{=3#BvsHJ((#_Bf0qyYM-!tm;^Jl0 z4-jkqsa_ENKc3+KP$cqE(4qqt_$f2fPPkII^ytllkc>y5?-voqC8kK?6B93Bu~?fW zr0MLNNkH7~g1;#2Us`g@;~h`7d7p6YWO{tN`vBJllc4Jaon5F`lsa1oOKk@q7d!v5 zQI1j}hSs9R=@%yB*Z8UEZina2#xIAHioK3EwW1dBpPH6oVHRa@1!e0DZFvP9CG8yT zq%C3fQG}w`!%N>3VDsQHo<8px{-$5|C$<<MGzFE25Y#O5MG(la5uw} zNI~)zzA3pF2f~VEX8P(v6hRZsm$;zfwtoo6;9ic07p-;_>pEy|Q;6Jkoqy!{Qa_=| z^rgarK8HHKio2HttkE)tyz)xI&qgfY<)RudQz{|)Ya|q#{{~VTy zgbt7h!v@**LB{(T4S%mo|B`G26P{0Q?SoD`gC=kcg(LV3<$VaKdaBliKH^pGKS8xn zhdLuF+)rBh2TS4q|Lx^}p{XJbXm>3$4_`m2dX!hWD zzrWyOjHJ4(dRMhs=c~foax-3jtGT za+J=lDh!3*(XS)I8aDOMdmLk^2R1_kw8)s{BdAWMV3t)sayd ziZycggTRFfoGTONO&=3Ag94u~GiKJf=hB1`3hkmx&*R8axDhT%MPx!ij}TH_)+J{+ zWt|PwZFgXgo3M|JtgzK?QV*$v)CyRwoORtE#b`xIp8;;j4HAxh>J#4NPb`v21N1 zRv95&gsi}+k@l>Lp@L3c9s}!IgUK7vPo%TR%C<2650q6X9SA78iyDJTU+*-!CMpN5 zB_((`=E?6RCx;;&gWV5t9dobMrtm!pJ!7jj{x!buV}jxdEVsJ*CL$|+uo`7`LE{O| zndIp4aOb>bAuxL3`B|!GFa>#Yom=xdUnK}01NBxF&UwT#ha{JLO)JBzbkknsPduUZXh3ZPxpUqZ zuuh6FHZ-@C6j)%t0I$??reF4xlEik~8B*e1x(Y}~3dKiTAs7!45)0~02ox9|F+_sL zmT=<+=d}&_b>-Fc-mN@gZm1T!9FoBf_}fIX-xLQc42vAyVZooJ{vr@kl5#~Dv&-d| z^Klm`Pbw0qV5SR0irQ9Rx&8!#^V)dyw+7s!0A!?OR}0!wVt>)BbL4p~ca7L(M@Nt1 zE{)Ii$0v_m21EN_*m*Gr$yW6!DYUh%b`7}uvC_wHmPeqmqdy5hFdvB0;{!vFGPwiT zH4cA^I*QSzurp?kYZ+wrUKvgrf#Ho*Zn;%6B%BFPXEsui%2-m}JXaHXcI$cb+3dn( z%d20$*vj33EY{uf&Jb!ypVc6t)Lk-x@kTVD$V?1FF`3d@utl1fOx3!BS&W>(c;o32 zI4Hj2zINh_k4;)Rt(~3w@6dU_K?D0yOhQcXMKM+e76eU+YvWir?gx- zc2+B@j2va^G5F?b8|a?)LK#B)=m5j^gp>Xl2BA_3c6O75!pVUh37c3br%UvT;o&C@UiO9jjXUTkL7{1%<-Zf&Z0}2{B`z1Ov4+|A;RpMH?<+=B zI!YUsLL-kbV+YhBBHKe%$+;sbm}?31f&G=mMNG@(42!3E`^!0}oJCnaI1Dr*BG#Z3 zs$Q5TDUI2V25du=UVn`btT8dzNv)WkhOi;VF#|1K>-Geo&Y~>uJV{_W)xv3gQr)AE zkrFqqi|xH1+Hxt}vCaZpHL6pxg0wA_CbvblN}ejPJQz~m_II8p$($f}w-)5~^l7Li zlXA!Y5Vzu`=C5u+;|FW$f9SxQny&iUw{lfQ=_`)zaka{-BcZH zSn81^#@~&te-&O=`{9>NO0Nwg){HcRwMC=12yq~Ys&tJ@Wh@(FHzW@$Ke`iHntE^G z-qFjXmX>qdE5m}aac7E2VO=b%f_%bGFE<#Nkd^fbf^$MSEb@4{*H9IIhJ z7?WuZFMbe>)^G`hX= zLhn#FN4xsr`G`3*zB`>p%oy&nZ!aI6EC$i>k}ixmc;)Cpcg6!9{IUV()BGr@Q|j() zC0^HHQ|`7!^Q+yRzn~+IR|S>rmAeuAz#ahG?CnW8JHhQNn0QE76+0wtHH{4e$Y^zB zid*kro0yBDszu$X#r1KA1Z(w0cy}Oi(+lpX4eY2HCR+VdQWtTsiz-snww-<9eBJ2Z<=dz7vfNCooz@&xP2T1(-#Q4>)lYNZ$Zo@~r*DmqqfX?}9dVht; z;~HxhT1qmm(!5N;YokM(tCfJA78cQ2xFB*X}W z)ya@}n7w5J`#GqsIh)I-@fX$#Vzlna+?M%nB*Cn3S>ho9ftTZ`Q_HHwt;Nirtcb%B z>gX`g6pM=A?HuaJaax8Y_Af!K^2$r+WuKazH2H8f^C<8WF`Us52_b)wtDIVG_EB`1 zxI?)}_e<Yo zeti=ybbwdu!fc_J6vHU-!YnB8<{cI18LUgdNgLq0qsi`ny6CJ%CB|($l4&g?=PG}w z37IdxHHlu5KaP5V$}UuSX5^LItB?&@tMnCRQsb!TE~c`j>b@Sn#!g3-=$4qgFdRIq z3HIJW;e6qCW*;W@!T-@-P7Oxym&7ju%zwP}!7 zl5s`^8UFZDJ+*q|v%fwep;omNz;~N`1zE1ke7g4lt!W|AZf-NRF%mCItR&LNp5LR~ zH;j?yID3t>y5F%#sCfoE)L?`8ZHH>;JD|u+oSocjYgEm3-~?V z9sgLHon}<^9tnO{OT{sX^_>ZK0)M;$z*ZT-66t_FjO5vTN;msW=P69*Dnd65&k`ZI z8Hbp`)k(!ZjK4=qD6+|>Z+5-I^qSE=vr7hbnN3usV|FVQj1A8INEK{!;=BGbd`I4*VY=dkIm9Y8uo<&!o%)Fu>(2i*>02v1 zAJaa96#jksn5#_E`;^9GR`vcj;%iKSK4`>X`^y)fh?uW>c)ZNuO`PzKnIccVE^?6l0~uARB%q<&cgb(XBianTD$r93XNs+nK zQ&<^TwH#u3KIF=h155>3w=&&<=Z4wvZ&9;|t^QLfTygfi(R{z&l{vP%+@hxiu zPkS(`nv8==l=dt)adI2!NKKJ*h%L7>3gGuZw+G;{O^t98=}JE7NIq6u8;9dgKZ~JT z%Og3v&2!Dwkgrc(aE+qc{I1F8+_~KuK)Ht@F?1 zsc52q&kp=^_>|xeQ|W)#Y5w=@s()taH6gu~|7LxEGA2wK-?PW>i32eJa>S2;_5qP1 zToc8DNd98Z?I-qt1Wrg}zkvm8%0{WlSJBeylovKiYDQd_uvGPG)l%J>xL&jE*s$e$ zvajmca&hyrZra)T?n?7WgQ1nuKmPt2x%v2t{)V>mzP+yyZcOYs%)=?>2;Gm1)xeJs z`{h~b>oYsc9N9St*N5=|E)guTL3iC01dg5X{Kbj=;Uv>ms0H zZ6Z8I7t$&_GwGWJBhNxHwp3G%kpok5?H(pH+(jc(aW?+^(wZI`_eL4ENd2Dea$Sqax7E>2gfMks?^A3WUVW@FDu)^~*80nAGv`5yR4H z0bog0Yuro9OmnR zXU3Xs4ndK6#^a=)8}BkeIn3}0@!6t8kWJ*X9M1l(P58y*dt4Yq9Ut?{GIw_xhO7wtx1YxrBgHK%Sj+$ zEowxdk;Qw2Qbd7m9;DSG%3~O}nQgz=>!GHH(w@?+D@i6nI6MfUoe3JZ#&FJAi4R;s z6z{p~%QH{4i_+AO1q-qK06LWMt1H0SuC~QZi5gABwW32%z_lQ2?8{Z`ejOnWv;IZ!+K_}ynN92=Ui*yDGoy+zb(7fC)SP=E8>$|bk7j)l zJk-YDVWH;&U1LWLeE49mzo{v_fvpOKl)n@j^5w!*CZFddJjL_N1w?a}PMsbh7GdGw zfc&MKzC#z0)d?QE0hGzpSqvjbm_4-#(TDmR6H>B+ViFs$sJtIhmfTOzjKAbja9LQk(7rr#NE2RrMyeNQvWP$fVwIG>b@JbPd#1fed zh3V5M1qaQmFS4vj>5jgy7_6u)$B^fy1lteMn5$C5uq+X0sh-21qq?;qcO>@2m~(eY zuCKePKMx7*CJd&Ei0gc$Nu9ZO2*#}X;p<@}+eh(wMtuzm`9Qgpd7Vsr3@#P@s((Ki4pu|TWl(Sf3dfloA>M*0`}-4T3?l+(MDsX_bm5F z1pmqOQo*9cXSu8;bAD`YO<->MX!M4z4o=xrDylD4XDSL7Rz;t_kluQqP3o|MS0hIrRI*bX}-o^7QxloUiXbg zN!BJN^FuGnR}P=wRh<~^k^vV%*IDDWlLCMI#66V^ZP2Jy9@hNQPi|+w!c0$g33_;pqm4pIeW1ZBmz_uATqLR8ZOOH!1dzgaqY=vJrccyz5I5`*7_2 zZ3Jh7*rpasj!@QOc}tB{yzjpk}!*qE7 z`FMe?oYcUtDW+zR2TxQ<`&9f0QRzmkq&Ej4(Gxt70r*FB-D65Vd;3^ACR+03`U*N@ zUVpWQSD$}%)l<)ZGYTi5tbDu@lnuI>+nd0nCm3k?FdIV~_uM4C0P`jxEK z50^*=$t^dEdKUtQ&QIXY7WJXbTRCM?OxIU={errp!xpRjVDW~(J&^SEO z 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

cqwtsX*$^R{21{uNce>=uW*j)Pyh8 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 literal 0 HcmV?d00001 diff --git a/lib/log4j-1.2.12.jar b/lib/log4j-1.2.12.jar new file mode 100755 index 0000000000000000000000000000000000000000..9b5a720088596bf7baed37a28423ea8cca210f84 GIT binary patch literal 358085 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

)w5j{Wr>ZU!|(1{t>&^&~}gA=Nu;v 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[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 z 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 QNXuz*=E}{o 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

wS0 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 literal 0 HcmV?d00001 From 157c83d9a4d9fb06a9e4e55d1465da1304e97e15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Pl=C3=BCmicke?= Date: Mon, 24 Mar 2014 15:32:13 +0100 Subject: [PATCH 33/79] Anpassungen fuer jvmdisassembler --- .classpath | 1 + src/mycompiler/mybytecode/ClassFile.java | 103 ++++--------------- src/mycompiler/mybytecode/CodeAttribute.java | 29 ++++-- src/mycompiler/mybytecode/SignatureInfo.java | 9 +- 4 files changed, 46 insertions(+), 96 deletions(-) diff --git a/.classpath b/.classpath index 20f5e9156..8799920f2 100755 --- a/.classpath +++ b/.classpath @@ -6,5 +6,6 @@ + diff --git a/src/mycompiler/mybytecode/ClassFile.java b/src/mycompiler/mybytecode/ClassFile.java index 661eae1b1..e77d959ca 100755 --- a/src/mycompiler/mybytecode/ClassFile.java +++ b/src/mycompiler/mybytecode/ClassFile.java @@ -1,15 +1,16 @@ +//key_vector funktioniert nicht PL 14-03-21 +//muss angeschaut werden + + // ino.module.ClassFile.8531.package package mycompiler.mybytecode; // ino.end // ino.module.ClassFile.8531.import -import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; -import java.io.OutputStream; import java.lang.reflect.Array; import java.util.Vector; - import mycompiler.myclass.ParameterList; import mycompiler.myclass.UsedId; import mycompiler.MyCompiler; @@ -19,7 +20,6 @@ import mycompiler.mystatement.Assign; import mycompiler.mystatement.Block; import mycompiler.mytype.Type; import mycompiler.SourceFile; - import org.apache.log4j.Logger; // ino.end @@ -38,7 +38,6 @@ public class ClassFile // ino.end // ino.class.ClassFile.21492.body { - //Beschreibung des Classfiles: http://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html#jvms-4.4 public boolean hamaAload0 = false; //hama: f�gt in Konstruktor und set Methode ein aload_0 ein wird f�r StoreSomethingParmCon ben�tigt // ino.attribute.codegenlog.21495.decldescription type=line @@ -55,10 +54,10 @@ public class ClassFile private static int magic = 0xcafebabe; // ino.end // ino.attribute.minor_version.21501.declaration - private static short minor_version = 0; + public static short minor_version = 0; // ino.end // ino.attribute.major_version.21504.declaration - private static short major_version = 0x31; + public static short major_version = 0x31; // ino.end // ino.attribute.constant_pool.21507.declaration @@ -92,7 +91,7 @@ public class ClassFile private Vector class_block = new Vector(); // ino.end // ino.attribute.class_name.21537.declaration - private String class_name = new String(); + private String class_name = new String("OUTPUT");//DEFAULTWERT PL 14-03-21 eingefuegt // ino.end // ino.attribute.super_class_name.21540.declaration private String super_class_name = new String(); @@ -638,6 +637,11 @@ public class ClassFile // ino.method.set_attributes.21624.body { this.attributes = t; } // ino.end + + public void set_class_name(String cn) { + this.class_name = cn; + } + // ino.method.set_constructor_founded.21627.definition public void set_constructor_founded(boolean t) // ino.end @@ -729,7 +733,8 @@ public class ClassFile codegenlog.info("Generieren der Klasse: " + class_name); // Datei vorbereiten - File file = new File(MyCompiler.getAPI().getOutputDir() + //File file = new File(MyCompiler.getAPI().getOutputDir() + File file = new File ("/Users/pl/forschung/PIZZA+/JVM_Generics/Testfiles/" + class_name + ".class"); FileOutputStream f = new FileOutputStream(file); @@ -799,7 +804,7 @@ public class ClassFile // ino.end // ino.method.writeInt.21669.definition - public void writeInt(OutputStream f, int i) + public void writeInt(FileOutputStream f, int i) throws IOException // ino.end // ino.method.writeInt.21669.body @@ -812,7 +817,7 @@ public class ClassFile // ino.end // ino.method.writeShort.21672.definition - public void writeShort(OutputStream f, short i) + public void writeShort(FileOutputStream f, short i) throws IOException // ino.end // ino.method.writeShort.21672.body @@ -823,7 +828,7 @@ public class ClassFile // ino.end // ino.method.writeByte.21675.definition - public void writeByte(OutputStream f, byte i) + public void writeByte(FileOutputStream f, byte i) throws IOException // ino.end // ino.method.writeByte.21675.body @@ -833,7 +838,7 @@ public class ClassFile // ino.end // ino.method.writeByteArray.21678.definition - public void writeByteArray(OutputStream f, byte[] b) + public void writeByteArray(FileOutputStream f, byte[] b) throws IOException // ino.end // ino.method.writeByteArray.21678.body @@ -841,78 +846,6 @@ public class ClassFile for(int i = 0; i < Array.getLength(b); i++) f.write(b[i]); } // ino.end - - public byte[] getBytecode() { - ByteArrayOutputStream f = new ByteArrayOutputStream(); - try { - // Schreiben der Header-Infos - writeInt(f, magic); - - writeShort(f, minor_version); - writeShort(f, major_version); - codegenlog.debug("Header: magic=" + Integer.toHexString(magic)); - codegenlog.debug("Header: minor_version=" + minor_version); - codegenlog.debug("Header: major_version=" + major_version); - codegenlog.info("Verarbeite Konstanten-Pool: " + (constant_pool.size()+1)); - - // Constant-Pool verarbeiten - writeShort(f, (short)(constant_pool.size() + 1)); - for(int i = 0; i < constant_pool.size(); i++) - { - codegenlog.debug((i+1) +". " + - constant_pool.elementAt(i).toString()); - constant_pool.elementAt(i).codegen(this, f); - } - - // Informationen ueber die Klasse selbst verarbeiten - writeShort(f, access_flags); - writeShort(f, this_class); - writeShort(f, super_class); - codegenlog.debug("Klasseninfos: access_flags=" + access_flags); - codegenlog.debug("Klasseninfos: this_class=" + this_class); - codegenlog.debug("Klasseninfos: super_class=" + super_class); - - // Interfaces verarbeiten - codegenlog.info("Verarbeite Interfaces: " + interfaces.size()); - writeShort(f, (short)interfaces.size()); - for (int i=0; i local_type_vector = new Vector(); // ino.end + + short max_stack; + public CodeAttribute() { + super(); + } + // ino.method.CodeAttribute.21700.definition public CodeAttribute(String class_name, short acc_flags) // ino.end @@ -204,9 +213,11 @@ public class CodeAttribute extends Attribute // ino.end // ino.method.get_attributes_length.21748.body { - int ret = 12; + int ret = 8;//2(max_stack)+2(max_locals)+4(code_length) ret += code_vector.size(); + ret += 2; //exception table length ret += (exception_tables.size() * 8); + ret += 2; //Attribute_count for (int i = 0; i < attributes.size(); i++) ret += attributes.elementAt(i) .get_attributes_length(); @@ -232,15 +243,20 @@ public class CodeAttribute extends Attribute } // ino.end + public void set_max_stack(short ms) { + max_stack = ms; + } + + // ino.method.codegen.21757.definition - @Override - public void codegen(ClassFile classfile, OutputStream f) + public void codegen(ClassFile classfile, FileOutputStream f) throws JVMCodeException, IOException // ino.end // ino.method.codegen.21757.body { int attributes_length = this.get_attributes_length(); - short max_stack = calculate_max_stack(); + //PL 14-03-21: muss wieder einkommentiert werden + //short max_stack = calculate_max_stack(); classfile.writeShort(f, get_attribute_name_index()); classfile.writeInt(f, attributes_length); classfile.writeShort(f, max_stack); @@ -281,6 +297,7 @@ public class CodeAttribute extends Attribute // ino.end // ino.method.calculate_max_stack.21760.definition + //PL 14-03-21: Diese Methode duerfte nicht stimmen private short calculate_max_stack() throws JVMCodeException // ino.end diff --git a/src/mycompiler/mybytecode/SignatureInfo.java b/src/mycompiler/mybytecode/SignatureInfo.java index 049665eb7..bb6842691 100755 --- a/src/mycompiler/mybytecode/SignatureInfo.java +++ b/src/mycompiler/mybytecode/SignatureInfo.java @@ -5,9 +5,7 @@ package mycompiler.mybytecode; // ino.module.SignatureInfo.8550.import import java.io.FileOutputStream; import java.io.IOException; -import java.io.OutputStream; import java.util.Vector; - import mycompiler.myclass.ParameterList; import mycompiler.myclass.UsedId; import mycompiler.myexception.JVMCodeException; @@ -15,7 +13,6 @@ import mycompiler.mytype.BoundedGenericTypeVar; import mycompiler.mytype.GenericTypeVar; import mycompiler.mytype.RefType; import mycompiler.mytype.Type; - import org.apache.log4j.Logger; // ino.end @@ -46,6 +43,9 @@ public class SignatureInfo extends Attribute // ino.end + public SignatureInfo(short sid) { + signatureID = sid; + } // ino.method.SignatureInfo.22978.defdescription type=javadoc /** * Konstruktor fuer die Signatur einer Klasse bzw. eines Interfaces. @@ -178,8 +178,7 @@ public class SignatureInfo extends Attribute // ino.end // ino.method.codegen.22987.definition - @Override - public void codegen(ClassFile classfile, OutputStream f) + public void codegen(ClassFile classfile, FileOutputStream f) throws JVMCodeException, IOException // ino.end // ino.method.codegen.22987.body From c738e5c0def432d0702cf9ebf631f111b87b16aa Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Mon, 24 Mar 2014 18:01:26 +0100 Subject: [PATCH 34/79] =?UTF-8?q?FileOutputStream=20zu=20OutputStream=20ge?= =?UTF-8?q?=C3=A4ndert?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .classpath | 1 - src/mycompiler/mybytecode/ClassFile.java | 11 +++++++---- src/mycompiler/mybytecode/CodeAttribute.java | 9 +++++++++ src/mycompiler/mybytecode/SignatureInfo.java | 11 +++++++++++ 4 files changed, 27 insertions(+), 5 deletions(-) diff --git a/.classpath b/.classpath index 8799920f2..20f5e9156 100755 --- a/.classpath +++ b/.classpath @@ -6,6 +6,5 @@ - diff --git a/src/mycompiler/mybytecode/ClassFile.java b/src/mycompiler/mybytecode/ClassFile.java index e77d959ca..619c8aed0 100755 --- a/src/mycompiler/mybytecode/ClassFile.java +++ b/src/mycompiler/mybytecode/ClassFile.java @@ -9,8 +9,10 @@ package mycompiler.mybytecode; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; +import java.io.OutputStream; import java.lang.reflect.Array; import java.util.Vector; + import mycompiler.myclass.ParameterList; import mycompiler.myclass.UsedId; import mycompiler.MyCompiler; @@ -20,6 +22,7 @@ import mycompiler.mystatement.Assign; import mycompiler.mystatement.Block; import mycompiler.mytype.Type; import mycompiler.SourceFile; + import org.apache.log4j.Logger; // ino.end @@ -804,7 +807,7 @@ public class ClassFile // ino.end // ino.method.writeInt.21669.definition - public void writeInt(FileOutputStream f, int i) + public void writeInt(OutputStream f, int i) throws IOException // ino.end // ino.method.writeInt.21669.body @@ -817,7 +820,7 @@ public class ClassFile // ino.end // ino.method.writeShort.21672.definition - public void writeShort(FileOutputStream f, short i) + public void writeShort(OutputStream f, short i) throws IOException // ino.end // ino.method.writeShort.21672.body @@ -828,7 +831,7 @@ public class ClassFile // ino.end // ino.method.writeByte.21675.definition - public void writeByte(FileOutputStream f, byte i) + public void writeByte(OutputStream f, byte i) throws IOException // ino.end // ino.method.writeByte.21675.body @@ -838,7 +841,7 @@ public class ClassFile // ino.end // ino.method.writeByteArray.21678.definition - public void writeByteArray(FileOutputStream f, byte[] b) + public void writeByteArray(OutputStream f, byte[] b) throws IOException // ino.end // ino.method.writeByteArray.21678.body diff --git a/src/mycompiler/mybytecode/CodeAttribute.java b/src/mycompiler/mybytecode/CodeAttribute.java index 0807568c7..86997fdc3 100755 --- a/src/mycompiler/mybytecode/CodeAttribute.java +++ b/src/mycompiler/mybytecode/CodeAttribute.java @@ -10,8 +10,11 @@ package mycompiler.mybytecode; // ino.module.CodeAttribute.8532.import import java.io.FileOutputStream; import java.io.IOException; +import java.io.OutputStream; import java.lang.reflect.Array; import java.util.Vector; + +import sun.reflect.generics.reflectiveObjects.NotImplementedException; import mycompiler.myexception.JVMCodeException; import mycompiler.mytype.Type; // ino.end @@ -1087,5 +1090,11 @@ public class CodeAttribute extends Attribute } // ino.end + @Override + public void codegen(ClassFile classfile, OutputStream f) + throws JVMCodeException, IOException { + throw new NotImplementedException(); + } + } // ino.end diff --git a/src/mycompiler/mybytecode/SignatureInfo.java b/src/mycompiler/mybytecode/SignatureInfo.java index bb6842691..a7d2e6c10 100755 --- a/src/mycompiler/mybytecode/SignatureInfo.java +++ b/src/mycompiler/mybytecode/SignatureInfo.java @@ -5,7 +5,9 @@ package mycompiler.mybytecode; // ino.module.SignatureInfo.8550.import import java.io.FileOutputStream; import java.io.IOException; +import java.io.OutputStream; import java.util.Vector; + import mycompiler.myclass.ParameterList; import mycompiler.myclass.UsedId; import mycompiler.myexception.JVMCodeException; @@ -13,9 +15,12 @@ import mycompiler.mytype.BoundedGenericTypeVar; import mycompiler.mytype.GenericTypeVar; import mycompiler.mytype.RefType; import mycompiler.mytype.Type; + import org.apache.log4j.Logger; // ino.end +import sun.reflect.generics.reflectiveObjects.NotImplementedException; + // ino.class.SignatureInfo.22968.description type=javadoc /** * Generiert die Attribute eines Fields, einer Methode oder einer Klasse/Interface @@ -257,6 +262,12 @@ public class SignatureInfo extends Attribute return 2; } // ino.end + + @Override + public void codegen(ClassFile classfile, OutputStream f) + throws JVMCodeException, IOException { + throw new NotImplementedException(); + } } // ino.end From 0e19e996c19265b940e7db9a4e451f6c61800cde Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Tue, 25 Mar 2014 04:41:07 +0100 Subject: [PATCH 35/79] =?UTF-8?q?createTypeInsertPoint-Methode=20eingef?= =?UTF-8?q?=C3=BChrt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/mycompiler/myparser/JavaParser.jay | 2 +- .../mybytecode/CONSTANT_Float_info.java | 1 - src/mycompiler/myclass/Field.java | 9 + src/mycompiler/myclass/FormalParameter.java | 11 + src/mycompiler/myclass/Method.java | 3 + src/mycompiler/myparser/JavaParser.java | 2 +- src/mycompiler/myparser/JavaParser.jay | 2 +- src/mycompiler/mytype/TypePlaceholder.java | 4 +- src/typinferenz/FunNMethod.java | 8 +- src/typinferenz/TypeInsertPoint.java | 7 +- src/typinferenz/TypeInsertSet.java | 2 + src/typinferenz/TypeInsertable.java | 10 + .../test/lambda/testResults/LambdaTest.log | 640 +++++++++--------- test/plugindevelopment/TRMEqualTest.java | 9 +- .../TypeInsertTests/MutlitpleTestCases.java | 7 + .../TypeInsertTests/Test2.jav | 4 + 16 files changed, 393 insertions(+), 328 deletions(-) create mode 100644 test/plugindevelopment/TypeInsertTests/Test2.jav diff --git a/bin/mycompiler/myparser/JavaParser.jay b/bin/mycompiler/myparser/JavaParser.jay index b86a9079a..ad207fae2 100755 --- a/bin/mycompiler/myparser/JavaParser.jay +++ b/bin/mycompiler/myparser/JavaParser.jay @@ -1371,7 +1371,7 @@ formalparameter : type variabledeclaratorid { FormalParameter FP = new FormalParameter($2); FP.setType($1); - //FP.set_DeclId($2); + //FP.set_DeclId($2); //auskommentiert von Andreas Stadelmeier. DeclId wird nun dem Konstruktor von FormalParameter übergeben. $$=FP; } diff --git a/src/mycompiler/mybytecode/CONSTANT_Float_info.java b/src/mycompiler/mybytecode/CONSTANT_Float_info.java index 8c1d8f393..7a442fdd4 100755 --- a/src/mycompiler/mybytecode/CONSTANT_Float_info.java +++ b/src/mycompiler/mybytecode/CONSTANT_Float_info.java @@ -2,7 +2,6 @@ package mycompiler.mybytecode; // ino.end // ino.module.CONSTANT_Float_info.8536.import -import java.io.FileOutputStream; import java.io.IOException; // ino.end import java.io.OutputStream; diff --git a/src/mycompiler/myclass/Field.java b/src/mycompiler/myclass/Field.java index a39079209..6e8429a7b 100644 --- a/src/mycompiler/myclass/Field.java +++ b/src/mycompiler/myclass/Field.java @@ -6,10 +6,12 @@ import mycompiler.SyntaxTreeNode; import mycompiler.mybytecode.ClassFile; import mycompiler.myexception.JVMCodeException; import mycompiler.mytype.Type; +import mycompiler.mytype.TypePlaceholder; import mycompiler.mytypereconstruction.replacementlistener.CReplaceTypeEvent; import typinferenz.ConstraintsSet; import typinferenz.JavaCodeResult; import typinferenz.ResultSet; +import typinferenz.TypeInsertPoint; import typinferenz.Typeable; import typinferenz.TypeInsertable; import typinferenz.assumptions.TypeAssumptions; @@ -95,4 +97,11 @@ public abstract class Field extends SyntaxTreeNode implements TypeInsertable, Ty public String getDescription(){ return this.getIdentifier(); } + + @Override + public TypeInsertPoint createTypeInsertPoint(TypePlaceholder tph, + ResultSet resultSet) { + return new TypeInsertPoint(tph, this, resultSet.getTypeEqualTo(tph), resultSet); + } + } diff --git a/src/mycompiler/myclass/FormalParameter.java b/src/mycompiler/myclass/FormalParameter.java index 853356b7b..f8bd9bee9 100755 --- a/src/mycompiler/myclass/FormalParameter.java +++ b/src/mycompiler/myclass/FormalParameter.java @@ -23,9 +23,12 @@ import org.apache.log4j.Logger; + + import sun.reflect.generics.reflectiveObjects.NotImplementedException; import typinferenz.JavaCodeResult; import typinferenz.ResultSet; +import typinferenz.TypeInsertPoint; import typinferenz.Typeable; import typinferenz.TypeInsertable; import typinferenz.exceptions.TypinferenzException; @@ -240,5 +243,13 @@ public class FormalParameter extends SyntaxTreeNode implements ITypeReplacementL } + @Override + public TypeInsertPoint createTypeInsertPoint(TypePlaceholder tph, + ResultSet resultSet) { + if(this.getOffset()<=0)return null; + return new TypeInsertPoint(tph, this, resultSet.getTypeEqualTo(tph), resultSet); + } + + } // ino.end diff --git a/src/mycompiler/myclass/Method.java b/src/mycompiler/myclass/Method.java index 7fa63b752..fc3df8327 100755 --- a/src/mycompiler/myclass/Method.java +++ b/src/mycompiler/myclass/Method.java @@ -36,6 +36,7 @@ import typinferenz.JavaCodeResult; import typinferenz.SingleConstraint; import typinferenz.ConstraintsSet; import typinferenz.ResultSet; +import typinferenz.TypeInsertPoint; import typinferenz.TypeInsertable; import typinferenz.assumptions.MethodAssumption; import typinferenz.assumptions.ParameterAssumption; @@ -710,6 +711,8 @@ public class Method extends Field implements IItemWithOffset, TypeInsertable if(!this.parameterlist.equals(equals.parameterlist))return false; return super.equals(obj); } + + } // ino.end diff --git a/src/mycompiler/myparser/JavaParser.java b/src/mycompiler/myparser/JavaParser.java index 0e3365a35..fcee60fc9 100644 --- a/src/mycompiler/myparser/JavaParser.java +++ b/src/mycompiler/myparser/JavaParser.java @@ -1962,7 +1962,7 @@ case 149: { FormalParameter FP = new FormalParameter(((DeclId)yyVals[0+yyTop])); FP.setType(((Type)yyVals[-1+yyTop])); - /*FP.set_DeclId($2);*/ + /*FP.set_DeclId($2); //auskommentiert von Andreas Stadelmeier. DeclId wird nun dem Konstruktor von FormalParameter übergeben.*/ yyVal=FP; } break; diff --git a/src/mycompiler/myparser/JavaParser.jay b/src/mycompiler/myparser/JavaParser.jay index b86a9079a..ad207fae2 100755 --- a/src/mycompiler/myparser/JavaParser.jay +++ b/src/mycompiler/myparser/JavaParser.jay @@ -1371,7 +1371,7 @@ formalparameter : type variabledeclaratorid { FormalParameter FP = new FormalParameter($2); FP.setType($1); - //FP.set_DeclId($2); + //FP.set_DeclId($2); //auskommentiert von Andreas Stadelmeier. DeclId wird nun dem Konstruktor von FormalParameter übergeben. $$=FP; } diff --git a/src/mycompiler/mytype/TypePlaceholder.java b/src/mycompiler/mytype/TypePlaceholder.java index e68c75ae4..3dcf4fd68 100755 --- a/src/mycompiler/mytype/TypePlaceholder.java +++ b/src/mycompiler/mytype/TypePlaceholder.java @@ -527,7 +527,9 @@ public class TypePlaceholder extends Type implements IReplaceTypeEventProvider TypeInsertSet ret = new TypeInsertSet(); for(ITypeReplacementListener ti : this.m_ReplacementListeners){ if(ti instanceof TypeInsertable){ - ret.add(new TypeInsertPoint(this, (TypeInsertable)ti, result.getTypeEqualTo(this), result)); + TypeInsertPoint toAdd = ((TypeInsertable) ti).createTypeInsertPoint(this, result); + if(toAdd != null)ret.add(toAdd); + //ret.add(new TypeInsertPoint(this, (TypeInsertable)ti, result.getTypeEqualTo(this), result)); } } return ret; diff --git a/src/typinferenz/FunNMethod.java b/src/typinferenz/FunNMethod.java index bfb707825..e57422a9e 100644 --- a/src/typinferenz/FunNMethod.java +++ b/src/typinferenz/FunNMethod.java @@ -6,7 +6,6 @@ import mycompiler.myclass.*; import mycompiler.mytype.TypePlaceholder; public class FunNMethod extends Method{ - /** * * @param N - Anzahl der Parameter (Beispiel: Fun2) @@ -14,6 +13,7 @@ public class FunNMethod extends Method{ public FunNMethod(int N){ super(0); //Hat keinen Offset, da nur theoretisch gedachte Methode this.setType(TypePlaceholder.fresh(this)); + this.set_DeclId(new DeclId("Fun"+N)); ParameterList pl = new ParameterList(); Vector fpList = new Vector(); for(int i = 0;i{ private TypePlaceholder tph; private TypeInsertable point; @@ -70,4 +70,9 @@ public class TypeInsertPoint { return true; } + + @Override + public int compareTo(TypeInsertPoint arg0) { + return new Integer(this.getOffset()).compareTo(new Integer(arg0.getOffset())); + } } diff --git a/src/typinferenz/TypeInsertSet.java b/src/typinferenz/TypeInsertSet.java index db1c8866c..6509fa6d6 100644 --- a/src/typinferenz/TypeInsertSet.java +++ b/src/typinferenz/TypeInsertSet.java @@ -1,5 +1,6 @@ package typinferenz; +import java.util.Collections; import java.util.Vector; import mycompiler.SyntaxTreeNode; @@ -33,6 +34,7 @@ public class TypeInsertSet { public String insertAllTypes(String fileContent) { int additionalOffset = 0; String ret = fileContent; + Collections.sort(points); for(TypeInsertPoint p : points){ ret = p.insertType(ret, additionalOffset); additionalOffset += p.getInsertLength(); diff --git a/src/typinferenz/TypeInsertable.java b/src/typinferenz/TypeInsertable.java index f3e9409a0..369d4c47d 100644 --- a/src/typinferenz/TypeInsertable.java +++ b/src/typinferenz/TypeInsertable.java @@ -1,5 +1,6 @@ package typinferenz; +import mycompiler.mytype.TypePlaceholder; import mycompiler.mytypereconstruction.replacementlistener.ITypeReplacementListener; public interface TypeInsertable extends ITypeReplacementListener, Typeable { @@ -8,4 +9,13 @@ public interface TypeInsertable extends ITypeReplacementListener, Typeable { public void setOffset(int offset); public String getIdentifier(); + /** + * Errechnet den TypeInsertPoint für das TypeInsertable. + * TypeInsertPoints sollten nur über diese Funktion erstellt werden. + * @param tph + * @param resultSet + * @return - kann auch null zurückgeben. + */ + public TypeInsertPoint createTypeInsertPoint(TypePlaceholder tph, ResultSet resultSet); + } diff --git a/test/mycompiler/test/lambda/testResults/LambdaTest.log b/test/mycompiler/test/lambda/testResults/LambdaTest.log index 4ff499a22..a41d4ea9f 100644 --- a/test/mycompiler/test/lambda/testResults/LambdaTest.log +++ b/test/mycompiler/test/lambda/testResults/LambdaTest.log @@ -1,7 +1,7 @@ Class DEBUG [Typeinference] Erstellte Assumptions: this: MatrixMethod Assumptions: [] FieldVar Assumptions: -[typinferenz.assumptions.FieldAssumption@2c8df9a0, typinferenz.assumptions.FieldAssumption@1cff8e3a, typinferenz.assumptions.FieldAssumption@2c8df9a0, typinferenz.assumptions.FieldAssumption@1cff8e3a] +[typinferenz.assumptions.FieldAssumption@2f79b905, typinferenz.assumptions.FieldAssumption@60620f9c, typinferenz.assumptions.FieldAssumption@2f79b905, typinferenz.assumptions.FieldAssumption@60620f9c] LocalVar Assumptions: [] Parameter Assumptions: @@ -9,27 +9,27 @@ Parameter Assumptions: Block DEBUG [Typeinference] Prozessing statement: null Return null (( [ f, ]) -> null { [null Return null (f.apply( [ null (this(null)), m, ]))]) Block DEBUG [Typeinference] Prozessing statement: null Return null (f.apply( [ null (this(null)), m, ])) -Block DEBUG [Typeinference] Prozessing statement: TPH K Return TPH G (f: TPH E.apply( [ Matrix (this(null)), m: TPH C, ])) -Block DEBUG [Typeinference] Prozessing statement: TPH L Return TPH F (( [ TPH E f, ]) -> TPH K { [TPH K Return TPH G (f: TPH E.apply( [ Matrix (this(null)), m: TPH C, ]))]) -Class DEBUG [Typeinference] Erstellte Constraints: TPH A < TPH A -[[(TPH H <. TPH G), (Matrix <. TPH I), (TPH C <. TPH J), (TPH E <. Fun2< Matrix, TPH C >), ]| ] -TPH G < TPH K -Fun1< TPH K, TPH E > < TPH F -TPH F < TPH L -Fun1< TPH L, TPH C > < TPH D -TPH D < TPH A +Block DEBUG [Typeinference] Prozessing statement: TPH BW Return TPH BS (f: TPH BQ.apply( [ Matrix (this(null)), m: TPH BO, ])) +Block DEBUG [Typeinference] Prozessing statement: TPH BX Return TPH BR (( [ TPH BQ f, ]) -> TPH BW { [TPH BW Return TPH BS (f: TPH BQ.apply( [ Matrix (this(null)), m: TPH BO, ]))]) +Class DEBUG [Typeinference] Erstellte Constraints: TPH BM < TPH BM +[[(TPH BT <. TPH BS), (Matrix <. TPH BU), (TPH BO <. TPH BV), (TPH BQ <. Fun2< Matrix, TPH BO >), ]| ] +TPH BS < TPH BW +Fun1< TPH BW, TPH BQ > < TPH BR +TPH BR < TPH BX +Fun1< TPH BX, TPH BO > < TPH BP +TPH BP < TPH BM -SourceFile DEBUG [Typeinference] Karthesisches Produkt der Constraints: [[(TPH A <. TPH A), (TPH H <. TPH G), (Matrix <. TPH I), (TPH C <. TPH J), (TPH E <. Fun2< Matrix, TPH C >), (TPH G <. TPH K), (Fun1< TPH K, TPH E > <. TPH F), (TPH F <. TPH L), (Fun1< TPH L, TPH C > <. TPH D), (TPH D <. TPH A)]] -SourceFile DEBUG [Typeinference] Unifiziertes Ergebnis: [[(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Matrix), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, Fun2< Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Matrix), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >, TPH C >), (TPH I = Matrix), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Matrix), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Matrix), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >, TPH C >), (TPH I = Matrix), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >, TPH C >), (TPH I = Matrix), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Matrix), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >, TPH C >), (TPH I = Matrix), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >, TPH C >), (TPH I = Matrix), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? super Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? super Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Matrix), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? super Fun2< Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, Fun2< Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >, TPH C >), (TPH I = Vector< Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >, TPH C >), (TPH I = Vector< Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >, TPH C >), (TPH I = Vector< Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? super Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? super Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? super Fun2< Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, Fun2< Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? super Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? super Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? super Fun2< Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, Fun2< Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? super Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? super Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? super Fun2< Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? super GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, Fun2< Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? super GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? super GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? super GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? super GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? super GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? super GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? super GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? super GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? super GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? super Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? super Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? super GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? super Fun2< Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? super Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, Fun2< Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? super Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? super Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? super Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? super Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? super Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? super Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? super Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >, TPH C >), (TPH I = Vector< ? super Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? super Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? super Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? super Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? super Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? super Fun2< Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? super Matrix >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, Fun2< Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? super Matrix >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? super Matrix >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? super Matrix >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? super Matrix >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? super Matrix >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? super Matrix >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? super Matrix >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >, TPH C >), (TPH I = Vector< ? super Matrix >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? super Matrix >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? super Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? super Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? super Matrix >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? super Fun2< Matrix, TPH C > >, TPH C >)]] +SourceFile DEBUG [Typeinference] Karthesisches Produkt der Constraints: [[(TPH BM <. TPH BM), (TPH BT <. TPH BS), (Matrix <. TPH BU), (TPH BO <. TPH BV), (TPH BQ <. Fun2< Matrix, TPH BO >), (TPH BS <. TPH BW), (Fun1< TPH BW, TPH BQ > <. TPH BR), (TPH BR <. TPH BX), (Fun1< TPH BX, TPH BO > <. TPH BP), (TPH BP <. TPH BM)]] +SourceFile DEBUG [Typeinference] Unifiziertes Ergebnis: [[(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Matrix), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, Fun2< Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Matrix), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >, TPH BO >), (TPH BU = Matrix), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Matrix), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Matrix), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Matrix), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Matrix), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Matrix), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >, TPH BO >), (TPH BU = Matrix), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >, TPH BO >), (TPH BU = Matrix), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Matrix), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, Fun2< Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >, TPH BO >), (TPH BU = Vector< Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, Fun2< Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, Fun2< Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? super GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, Fun2< Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? super GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? super GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? super GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? super GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? super GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? super GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? super GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? super GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? super GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? super GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, Fun2< Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Matrix >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, Fun2< Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Matrix >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Matrix >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Matrix >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Matrix >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Matrix >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Matrix >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Matrix >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Matrix >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Matrix >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Matrix >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >, TPH BO >)]] SourceFile DEBUG [Typeinference] JavaFiles: -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Matrix), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, Fun2< Matrix, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Matrix), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, Fun2< Matrix, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -38,12 +38,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Matrix), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Matrix), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -52,12 +52,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >, TPH C >), (TPH I = Matrix), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >, TPH BO >), (TPH BU = Matrix), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -66,12 +66,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Matrix), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Matrix), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1 >, TPH C >>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1 >, TPH BO >>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -80,12 +80,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Matrix), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Matrix), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1 >, TPH C >>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1 >, TPH BO >>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -94,12 +94,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >, TPH C >), (TPH I = Matrix), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Matrix), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1 >, TPH C >>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1 >, TPH BO >>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -108,12 +108,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >, TPH C >), (TPH I = Matrix), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Matrix), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1 >, TPH C >>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1 >, TPH BO >>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -122,12 +122,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Matrix), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Matrix), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1 >, TPH C >>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1 >, TPH BO >>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -136,12 +136,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >, TPH C >), (TPH I = Matrix), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >, TPH BO >), (TPH BU = Matrix), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1, TPH C >>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1, TPH BO >>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -150,12 +150,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >, TPH C >), (TPH I = Matrix), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >, TPH BO >), (TPH BU = Matrix), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -164,12 +164,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? super Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? super Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Matrix), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? super Fun2< Matrix, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Matrix), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -178,12 +178,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, Fun2< Matrix, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, Fun2< Matrix, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -192,12 +192,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -206,12 +206,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >, TPH C >), (TPH I = Vector< Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -220,12 +220,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1 >, TPH C >>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1 >, TPH BO >>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -234,12 +234,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1 >, TPH C >>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1 >, TPH BO >>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -248,12 +248,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1 >, TPH C >>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1 >, TPH BO >>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -262,12 +262,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1 >, TPH C >>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1 >, TPH BO >>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -276,12 +276,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1 >, TPH C >>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1 >, TPH BO >>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -290,12 +290,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >, TPH C >), (TPH I = Vector< Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >, TPH BO >), (TPH BU = Vector< Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1, TPH C >>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1, TPH BO >>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -304,12 +304,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >, TPH C >), (TPH I = Vector< Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -318,12 +318,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? super Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? super Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? super Fun2< Matrix, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -332,12 +332,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, Fun2< Matrix, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, Fun2< Matrix, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -346,12 +346,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -360,12 +360,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -374,12 +374,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1 >, TPH C >>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1 >, TPH BO >>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -388,12 +388,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1 >, TPH C >>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1 >, TPH BO >>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -402,12 +402,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1 >, TPH C >>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1 >, TPH BO >>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -416,12 +416,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1 >, TPH C >>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1 >, TPH BO >>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -430,12 +430,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1 >, TPH C >>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1 >, TPH BO >>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -444,12 +444,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1, TPH C >>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1, TPH BO >>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -458,12 +458,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -472,12 +472,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? super Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? super Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? super Fun2< Matrix, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -486,12 +486,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, Fun2< Matrix, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, Fun2< Matrix, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -500,12 +500,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -514,12 +514,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -528,12 +528,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1 >, TPH C >>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1 >, TPH BO >>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -542,12 +542,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1 >, TPH C >>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1 >, TPH BO >>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -556,12 +556,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1 >, TPH C >>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1 >, TPH BO >>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -570,12 +570,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1 >, TPH C >>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1 >, TPH BO >>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -584,12 +584,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1 >, TPH C >>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1 >, TPH BO >>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -598,12 +598,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1, TPH C >>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1, TPH BO >>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -612,12 +612,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -626,12 +626,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? super Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? super Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? super Fun2< Matrix, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -640,12 +640,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? super GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, Fun2< Matrix, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? super GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, Fun2< Matrix, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -654,12 +654,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? super GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? super GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -668,12 +668,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? super GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? super GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -682,12 +682,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? super GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? super GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1 >, TPH C >>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1 >, TPH BO >>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -696,12 +696,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? super GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? super GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1 >, TPH C >>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1 >, TPH BO >>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -710,12 +710,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? super GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? super GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1 >, TPH C >>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1 >, TPH BO >>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -724,12 +724,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? super GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? super GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1 >, TPH C >>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1 >, TPH BO >>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -738,12 +738,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? super GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? super GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1 >, TPH C >>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1 >, TPH BO >>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -752,12 +752,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? super GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? super GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1, TPH C >>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1, TPH BO >>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -766,12 +766,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? super GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? super GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -780,12 +780,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? super Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? super Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? extends Vector< ? super GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? super Fun2< Matrix, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? super GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -794,12 +794,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? super Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, Fun2< Matrix, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, Fun2< Matrix, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -808,12 +808,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? super Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -822,12 +822,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? super Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -836,12 +836,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? super Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1 >, TPH C >>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1 >, TPH BO >>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -850,12 +850,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? super Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1 >, TPH C >>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1 >, TPH BO >>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -864,12 +864,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? super Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1 >, TPH C >>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1 >, TPH BO >>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -878,12 +878,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? super Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1 >, TPH C >>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1 >, TPH BO >>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -892,12 +892,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? super Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1 >, TPH C >>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1 >, TPH BO >>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -906,12 +906,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >, TPH C >), (TPH I = Vector< ? super Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1, TPH C >>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1, TPH BO >>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -920,12 +920,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? super Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -934,12 +934,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? super Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? super Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? super Vector< GTV Integer > >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? super Fun2< Matrix, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -948,12 +948,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? super Matrix >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, Fun2< Matrix, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Matrix >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, Fun2< Matrix, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -962,12 +962,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? super Matrix >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< Matrix, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Matrix >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -976,12 +976,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? super Matrix >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Matrix, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Matrix >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -990,12 +990,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? super Matrix >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Matrix >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1 >, TPH C >>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1 >, TPH BO >>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -1004,12 +1004,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? super Matrix >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Matrix >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1 >, TPH C >>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1 >, TPH BO >>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -1018,12 +1018,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? super Matrix >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Matrix >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1 >, TPH C >>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1 >, TPH BO >>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -1032,12 +1032,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? super Matrix >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Matrix >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1 >, TPH C >>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1 >, TPH BO >>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -1046,12 +1046,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >, TPH C >), (TPH I = Vector< ? super Matrix >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Matrix >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1 >, TPH C >>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1 >, TPH BO >>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -1060,12 +1060,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >, TPH C >), (TPH I = Vector< ? super Matrix >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Matrix >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1, TPH C >>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1, TPH BO >>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -1074,12 +1074,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? super Matrix >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? extends Fun2< ? super Matrix, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Matrix >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; @@ -1088,12 +1088,12 @@ Matrix Matrix() } } -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, ? super Fun2< Matrix, TPH C > >), (TPH A = Fun1< Fun1< TPH K, ? super Fun2< Matrix, TPH C > >, TPH C >), (TPH I = Vector< ? super Matrix >), (TPH E = Fun2< Matrix, TPH C >), (TPH F = Fun1< TPH K, Fun2< Matrix, TPH C > >), (TPH D = Fun1< Fun1< TPH K, ? super Fun2< Matrix, TPH C > >, TPH C >)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Matrix >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >, TPH BO >)] -SourceFile DEBUG [Typeinference] class Matrix extends Vector> +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Fun1>, C> op = (C m) -> { -return (Fun2 f) -> { +Fun1>, BO> op = (BO m) -> { +return (Fun2 f) -> { return f.apply(this, m);; }; }; diff --git a/test/plugindevelopment/TRMEqualTest.java b/test/plugindevelopment/TRMEqualTest.java index a847e8d36..4c173310c 100644 --- a/test/plugindevelopment/TRMEqualTest.java +++ b/test/plugindevelopment/TRMEqualTest.java @@ -21,6 +21,7 @@ import mycompiler.mytype.TypePlaceholder; import mycompiler.mytypereconstruction.TypeinferenceResultSet; import mycompiler.mytypereconstruction.replacementlistener.CReplaceTypeEvent; import typinferenz.ResultSet; +import typinferenz.TypeInsertPoint; import typinferenz.TypeInsertSet; import typinferenz.TypeInsertable; @@ -43,7 +44,7 @@ public class TRMEqualTest { addTestNode("Typ1"); assertTrue("Nach dem Anfügen eines Type muss das Set 1 Element enthalten",replaceSet.size()==1); addTestNode("Typ2"); - assertTrue("Nach dem Anfügen eines weiteren Typs muss das Set 2 Elemente enthalten",replaceSet.size()==2); + assertTrue("Nach dem Anfügen eines weiteren Typs muss das Set 2 Elemente enthalten und nicht "+replaceSet.size(),replaceSet.size()==2); addTestNode("Typ1"); assertTrue("Nach dem Anfügen des selben Typs wie zuvor muss das Set immer noch 2 Element enthalten. Und nicht "+replaceSet.size(),replaceSet.size()==2); } @@ -103,6 +104,12 @@ class TestNode implements TypeInsertable{ // TODO Auto-generated method stub return null; } + + @Override + public TypeInsertPoint createTypeInsertPoint(TypePlaceholder tph, + ResultSet resultSet) { + return new TypeInsertPoint(tph, this, resultSet.getTypeEqualTo(tph), resultSet); + } } diff --git a/test/plugindevelopment/TypeInsertTests/MutlitpleTestCases.java b/test/plugindevelopment/TypeInsertTests/MutlitpleTestCases.java index 5df8575ac..2650b5a3d 100644 --- a/test/plugindevelopment/TypeInsertTests/MutlitpleTestCases.java +++ b/test/plugindevelopment/TypeInsertTests/MutlitpleTestCases.java @@ -7,6 +7,7 @@ import org.junit.Test; public class MutlitpleTestCases { private static final String TEST_FILE = "Test1.jav"; + private static final String TEST_FILE2 = "Test2.jav"; @Test public void test1(){ @@ -15,4 +16,10 @@ public class MutlitpleTestCases { MultipleTypesInsertTester.test(this.TEST_FILE, mustContain); } + @Test + public void test2(){ + Vector mustContain = new Vector(); + MultipleTypesInsertTester.test(this.TEST_FILE2, mustContain); + } + } diff --git a/test/plugindevelopment/TypeInsertTests/Test2.jav b/test/plugindevelopment/TypeInsertTests/Test2.jav new file mode 100644 index 000000000..4114c341f --- /dev/null +++ b/test/plugindevelopment/TypeInsertTests/Test2.jav @@ -0,0 +1,4 @@ + +public class Matrix{ + op = (m) -> (f) -> f.apply(this, m); +} \ No newline at end of file From 69af8672935cdc20b4127119f9384617b6ba6700 Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Wed, 26 Mar 2014 02:33:47 +0100 Subject: [PATCH 36/79] =?UTF-8?q?Tests=20angef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TypeInsertTests/LambdaTest1.jav | 10 ++++++++++ .../TypeInsertTests/LambdaTest1.java | 18 ++++++++++++++++++ .../TypeInsertTests/LambdaTest2.jav | 5 +++++ .../TypeInsertTests/LambdaTest2.java | 18 ++++++++++++++++++ 4 files changed, 51 insertions(+) create mode 100644 test/plugindevelopment/TypeInsertTests/LambdaTest1.jav create mode 100644 test/plugindevelopment/TypeInsertTests/LambdaTest1.java create mode 100644 test/plugindevelopment/TypeInsertTests/LambdaTest2.jav create mode 100644 test/plugindevelopment/TypeInsertTests/LambdaTest2.java diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest1.jav b/test/plugindevelopment/TypeInsertTests/LambdaTest1.jav new file mode 100644 index 000000000..9df778187 --- /dev/null +++ b/test/plugindevelopment/TypeInsertTests/LambdaTest1.jav @@ -0,0 +1,10 @@ +class LambdaTest{ + +String var; + +op = () -> (f) -> { + f.apply(this,var); + return var; +}; + +} \ No newline at end of file diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest1.java b/test/plugindevelopment/TypeInsertTests/LambdaTest1.java new file mode 100644 index 000000000..50dc1cc10 --- /dev/null +++ b/test/plugindevelopment/TypeInsertTests/LambdaTest1.java @@ -0,0 +1,18 @@ +package plugindevelopment.TypeInsertTests; + +import java.util.Vector; + +import org.junit.Test; + +public class LambdaTest1 { + + private static final String TEST_FILE = "LambdaTest1.jav"; + + @Test + public void run(){ + Vector mustContain = new Vector(); + mustContain.add("Fun0>> op"); + MultipleTypesInsertTester.test(this.TEST_FILE, mustContain); + } + +} diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest2.jav b/test/plugindevelopment/TypeInsertTests/LambdaTest2.jav new file mode 100644 index 000000000..9466d49c8 --- /dev/null +++ b/test/plugindevelopment/TypeInsertTests/LambdaTest2.jav @@ -0,0 +1,5 @@ +class LambdaTest{ + +Fun1>, C> op = (m) -> (f) -> f.apply(this,m); + +} \ No newline at end of file diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest2.java b/test/plugindevelopment/TypeInsertTests/LambdaTest2.java new file mode 100644 index 000000000..f817af9f7 --- /dev/null +++ b/test/plugindevelopment/TypeInsertTests/LambdaTest2.java @@ -0,0 +1,18 @@ +package plugindevelopment.TypeInsertTests; + +import java.util.Vector; + +import org.junit.Test; + +public class LambdaTest2 { + + private static final String TEST_FILE = "LambdaTest2.jav"; + + @Test + public void run(){ + Vector mustContain = new Vector(); + mustContain.add("C m"); + MultipleTypesInsertTester.test(this.TEST_FILE, mustContain); + } + +} From b6e2d75174196ae50817c16ef0b7eb288c111a50 Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Wed, 26 Mar 2014 23:28:17 +0100 Subject: [PATCH 37/79] =?UTF-8?q?FunNInterface=20N=20=3D=201-6=20zu=20den?= =?UTF-8?q?=20BasicAssumptions=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/mycompiler/SourceFile.java | 11 + src/mycompiler/myclass/Class.java | 2 +- src/mycompiler/myclass/Method.java | 2 +- src/typinferenz/FunNInterface.java | 43 +- src/typinferenz/FunNMethod.java | 24 +- .../assumptions/FieldAssumption.java | 4 + .../assumptions/TypeAssumptions.java | 9 +- .../test/lambda/testResults/LambdaTest.log | 1104 +---------------- .../TypeInsertTests/LambdaTest3.jav | 5 + .../TypeInsertTests/LambdaTest3.java | 18 + .../MultipleTypesInsertTester.java | 2 +- 11 files changed, 113 insertions(+), 1111 deletions(-) create mode 100644 test/plugindevelopment/TypeInsertTests/LambdaTest3.jav create mode 100644 test/plugindevelopment/TypeInsertTests/LambdaTest3.java diff --git a/src/mycompiler/SourceFile.java b/src/mycompiler/SourceFile.java index 619f10b81..7b478a1ca 100755 --- a/src/mycompiler/SourceFile.java +++ b/src/mycompiler/SourceFile.java @@ -44,8 +44,11 @@ import sun.reflect.generics.reflectiveObjects.NotImplementedException; import sun.reflect.generics.reflectiveObjects.TypeVariableImpl; import typinferenz.ConstraintsSet; import typinferenz.FunN; +import typinferenz.FunNInterface; +import typinferenz.FunNMethod; import typinferenz.ResultSet; import typinferenz.UndConstraint; +import typinferenz.assumptions.MethodAssumption; import typinferenz.assumptions.TypeAssumptions; import typinferenz.exceptions.TypinferenzException; @@ -1389,6 +1392,14 @@ public class SourceFile */ TypeAssumptions ret = new TypeAssumptions(); + //Basic Assumptions für die FunN Interfaces: + //TODO: Hier mehr als Fun1-Fun5 implementieren + for(int i = 0; i<6; i++){ + FunNInterface funN = new FunNInterface(i); + ret.add(funN.getPublicFieldAssumptions()); + } + + return ret; //TODO: Diese TypeAssumptions mit basic-Assumptions füllen } // ino.end diff --git a/src/mycompiler/myclass/Class.java b/src/mycompiler/myclass/Class.java index fdb1940db..fb9e93303 100755 --- a/src/mycompiler/myclass/Class.java +++ b/src/mycompiler/myclass/Class.java @@ -477,7 +477,7 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface // ino.end // ino.method.get_ParaList.23101.definition - public Vector get_ParaList() + public Vector get_ParaList() // ino.end // ino.method.get_ParaList.23101.body { diff --git a/src/mycompiler/myclass/Method.java b/src/mycompiler/myclass/Method.java index fc3df8327..d13792c8a 100755 --- a/src/mycompiler/myclass/Method.java +++ b/src/mycompiler/myclass/Method.java @@ -465,7 +465,7 @@ public class Method extends Field implements IItemWithOffset, TypeInsertable // ino.end // ino.method.toString.23605.body { - return this.getType() + " " + block.toString(); + return this.getType() + " " +( (block!=null)?block.toString():""); } // ino.end diff --git a/src/typinferenz/FunNInterface.java b/src/typinferenz/FunNInterface.java index 3b8f2a560..1f79f87a3 100644 --- a/src/typinferenz/FunNInterface.java +++ b/src/typinferenz/FunNInterface.java @@ -2,17 +2,52 @@ package typinferenz; import java.util.Vector; +import typinferenz.assumptions.MethodAssumption; +import typinferenz.assumptions.TypeAssumptions; import mycompiler.mytype.*; import mycompiler.myclass.Class; import mycompiler.mytype.TypePlaceholder; - +/** + * Stellt das Interface FunN dar. + * @author janulrich + * + */ public class FunNInterface extends Class{ //TODO: Diese Klasse sollte eigentlich von Interface erben + //TODO: getType muss einen Typ mit der ParameterListe zurückliefern. + /** + * Ein FunN-Interface enthält nur eine Methode (namens apply). Ist also ein Funktionales Interface. + * @param N - Die Anzahl der Parameter der apply-Methode. Beispiel N = 1 ergibt R apply(T1 par1); + */ + public FunNInterface(int N) { + super("Fun"+N); + Vector paralist = new Vector(); + paralist.add(new GenericTypeVar("R",0)); + for(int i = 1; i<=N;i++){ + paralist.add(new GenericTypeVar("T"+i,0)); + } + this.set_ParaList(paralist); + } - public FunNInterface(Vector parameter) { - super("Fun"+parameter.size()); - this.set_ParaList(parameter); + /** + * @return Im Falle von einem FunN-Interface ist dies die apply-Methode + */ + @Override + public TypeAssumptions getPublicFieldAssumptions() { + //return super.getPublicFieldAssumptions(); + TypeAssumptions ret = new TypeAssumptions(); + ret.addMethodAssumption(new MethodAssumption(this.getApplyFunction(), this)); + return ret; + } + + /** + * Erstellt die nach Definition des Typinferenzalgorithmus von Martin Plümicke, in jedem FunN-Interface enthaltene apply-Methode + * @return + */ + private FunNMethod getApplyFunction(){ + return new FunNMethod(this.get_ParaList()); + //return new FunNMethod(this.get_ParaList().size()-1); } } diff --git a/src/typinferenz/FunNMethod.java b/src/typinferenz/FunNMethod.java index e57422a9e..7da2b3df2 100644 --- a/src/typinferenz/FunNMethod.java +++ b/src/typinferenz/FunNMethod.java @@ -2,6 +2,7 @@ package typinferenz; import java.util.Vector; +import mycompiler.mytype.*; import mycompiler.myclass.*; import mycompiler.mytype.TypePlaceholder; @@ -10,13 +11,32 @@ public class FunNMethod extends Method{ * * @param N - Anzahl der Parameter (Beispiel: Fun2) */ + public FunNMethod(Vector paralist){ + super(0); //Hat keinen Offset, da nur theoretisch gedachte Methode + int N = paralist.size(); //In der paraliste ist der erste Parameter der Rückgabetyp + this.setType(paralist.firstElement()); + this.set_DeclId(new DeclId("apply")); + ParameterList pl = new ParameterList(); + Vector fpList = new Vector(); + for(int i = 1;i fpList = new Vector(); - for(int i = 0;i null { [null Return null (f.apply( [ null (this(null)), m, ]))]) -Block DEBUG [Typeinference] Prozessing statement: null Return null (f.apply( [ null (this(null)), m, ])) -Block DEBUG [Typeinference] Prozessing statement: TPH BW Return TPH BS (f: TPH BQ.apply( [ Matrix (this(null)), m: TPH BO, ])) -Block DEBUG [Typeinference] Prozessing statement: TPH BX Return TPH BR (( [ TPH BQ f, ]) -> TPH BW { [TPH BW Return TPH BS (f: TPH BQ.apply( [ Matrix (this(null)), m: TPH BO, ]))]) -Class DEBUG [Typeinference] Erstellte Constraints: TPH BM < TPH BM -[[(TPH BT <. TPH BS), (Matrix <. TPH BU), (TPH BO <. TPH BV), (TPH BQ <. Fun2< Matrix, TPH BO >), ]| ] -TPH BS < TPH BW -Fun1< TPH BW, TPH BQ > < TPH BR -TPH BR < TPH BX -Fun1< TPH BX, TPH BO > < TPH BP -TPH BP < TPH BM - -SourceFile DEBUG [Typeinference] Karthesisches Produkt der Constraints: [[(TPH BM <. TPH BM), (TPH BT <. TPH BS), (Matrix <. TPH BU), (TPH BO <. TPH BV), (TPH BQ <. Fun2< Matrix, TPH BO >), (TPH BS <. TPH BW), (Fun1< TPH BW, TPH BQ > <. TPH BR), (TPH BR <. TPH BX), (Fun1< TPH BX, TPH BO > <. TPH BP), (TPH BP <. TPH BM)]] -SourceFile DEBUG [Typeinference] Unifiziertes Ergebnis: [[(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Matrix), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, Fun2< Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Matrix), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >, TPH BO >), (TPH BU = Matrix), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Matrix), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Matrix), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Matrix), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Matrix), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Matrix), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >, TPH BO >), (TPH BU = Matrix), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >, TPH BO >), (TPH BU = Matrix), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Matrix), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, Fun2< Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >, TPH BO >), (TPH BU = Vector< Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, Fun2< Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, Fun2< Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? super GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, Fun2< Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? super GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? super GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? super GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? super GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? super GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? super GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? super GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? super GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? super GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? super GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, Fun2< Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Matrix >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, Fun2< Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Matrix >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Matrix >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Matrix >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Matrix >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Matrix >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Matrix >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Matrix >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Matrix >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Matrix >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >, TPH BO >)], [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Matrix >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >, TPH BO >)]] -SourceFile DEBUG [Typeinference] -JavaFiles: - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Matrix), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, Fun2< Matrix, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Matrix), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >, TPH BO >), (TPH BU = Matrix), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Matrix), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1 >, TPH BO >>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Matrix), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1 >, TPH BO >>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Matrix), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1 >, TPH BO >>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Matrix), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1 >, TPH BO >>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Matrix), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1 >, TPH BO >>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >, TPH BO >), (TPH BU = Matrix), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1, TPH BO >>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >, TPH BO >), (TPH BU = Matrix), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Matrix), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, Fun2< Matrix, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1 >, TPH BO >>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1 >, TPH BO >>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1 >, TPH BO >>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1 >, TPH BO >>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1 >, TPH BO >>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >, TPH BO >), (TPH BU = Vector< Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1, TPH BO >>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, Fun2< Matrix, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1 >, TPH BO >>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1 >, TPH BO >>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1 >, TPH BO >>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1 >, TPH BO >>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1 >, TPH BO >>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1, TPH BO >>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, Fun2< Matrix, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1 >, TPH BO >>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1 >, TPH BO >>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1 >, TPH BO >>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1 >, TPH BO >>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1 >, TPH BO >>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1, TPH BO >>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? super GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, Fun2< Matrix, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? super GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? super GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? super GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1 >, TPH BO >>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? super GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1 >, TPH BO >>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? super GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1 >, TPH BO >>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? super GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1 >, TPH BO >>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? super GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1 >, TPH BO >>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? super GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1, TPH BO >>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? super GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? extends Vector< ? super GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, Fun2< Matrix, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1 >, TPH BO >>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1 >, TPH BO >>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1 >, TPH BO >>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1 >, TPH BO >>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1 >, TPH BO >>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1, TPH BO >>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Vector< GTV Integer > >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Matrix >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, Fun2< Matrix, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Matrix >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< Matrix, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Matrix >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Matrix, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Matrix >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< Vector< GTV Integer > >, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1 >, TPH BO >>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Matrix >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< GTV Integer > >, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1 >, TPH BO >>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Matrix >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? extends GTV Integer > >, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1 >, TPH BO >>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Matrix >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? extends Vector< ? super GTV Integer > >, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1 >, TPH BO >>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Matrix >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Vector< GTV Integer > >, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1 >, TPH BO >>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Matrix >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? extends Vector< ? super Matrix >, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1, TPH BO >>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Matrix >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? extends Fun2< ? super Matrix, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH BT <. TPH BS), (TPH BO <. TPH BV), (TPH BS <. TPH BW), (TPH BX = Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >), (TPH BM = Fun1< Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >, TPH BO >), (TPH BU = Vector< ? super Matrix >), (TPH BQ = Fun2< Matrix, TPH BO >), (TPH BR = Fun1< TPH BW, Fun2< Matrix, TPH BO > >), (TPH BP = Fun1< Fun1< TPH BW, ? super Fun2< Matrix, TPH BO > >, TPH BO >)] - -SourceFile DEBUG [Typeinference] class Matrix extends Vector> -{ -Fun1>, BO> op = (BO m) -> { -return (Fun2 f) -> { -return f.apply(this, m);; -}; -}; -Matrix Matrix() -{ -} -} - +Block DEBUG [Typeinference] Prozessing statement: null Return null (this(null)) +Block DEBUG [Typeinference] Prozessing statement: TPH Z Return TestMethodCall (this(null)) +Block DEBUG [Typeinference] Prozessing statement: null Return null (null.getSomething( [ ])) diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest3.jav b/test/plugindevelopment/TypeInsertTests/LambdaTest3.jav new file mode 100644 index 000000000..64a50f566 --- /dev/null +++ b/test/plugindevelopment/TypeInsertTests/LambdaTest3.jav @@ -0,0 +1,5 @@ +class LambdaTest{ +var; +Fun0 op = () -> {return var;}; + +} \ No newline at end of file diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest3.java b/test/plugindevelopment/TypeInsertTests/LambdaTest3.java new file mode 100644 index 000000000..e7b8f4ba9 --- /dev/null +++ b/test/plugindevelopment/TypeInsertTests/LambdaTest3.java @@ -0,0 +1,18 @@ +package plugindevelopment.TypeInsertTests; + +import java.util.Vector; + +import org.junit.Test; + +public class LambdaTest3 { + + private static final String TEST_FILE = "LambdaTest3.jav"; + + @Test + public void run(){ + Vector mustContain = new Vector(); + mustContain.add("String var"); + MultipleTypesInsertTester.test(this.TEST_FILE, mustContain); + } + +} diff --git a/test/plugindevelopment/TypeInsertTests/MultipleTypesInsertTester.java b/test/plugindevelopment/TypeInsertTests/MultipleTypesInsertTester.java index 1861c5ec8..33f8e74e2 100644 --- a/test/plugindevelopment/TypeInsertTests/MultipleTypesInsertTester.java +++ b/test/plugindevelopment/TypeInsertTests/MultipleTypesInsertTester.java @@ -12,7 +12,7 @@ import mycompiler.myparser.JavaParser.yyException; import mycompiler.mytypereconstruction.TypeinferenceResultSet; import typinferenz.TypeInsertSet; -public class MultipleTypesInsertTester { +public class MultipleTypesInsertTester extends TypeInsertTester{ public final static String rootDirectory = System.getProperty("user.dir")+"/test/plugindevelopment/TypeInsertTests/"; From 9784a10f84031e550241b41de0c490c98f64073f Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Thu, 27 Mar 2014 16:43:07 +0100 Subject: [PATCH 38/79] =?UTF-8?q?Fehler=20beseitigt.=20wandleRefType2Gener?= =?UTF-8?q?icVariables=20=C3=BCberarbeitet.=20getChildren()-Methode=20f?= =?UTF-8?q?=C3=BCr=20alle=20Statements=20implementiert?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/mycompiler/myparser/JavaParser.jay | 26 +- src/mycompiler/myclass/Class.java | 20 +- src/mycompiler/myclass/Constructor.java | 58 + .../myclass/Constructor_Backup.java | 79 - src/mycompiler/myclass/Field.java | 9 + src/mycompiler/myclass/FieldDeclaration.java | 7 +- src/mycompiler/myclass/Method.java | 6 +- src/mycompiler/myparser/JavaParser.java | 2959 ++-- src/mycompiler/myparser/JavaParser.jay | 26 +- src/mycompiler/mystatement/CastExpr.java | 11 + src/mycompiler/mystatement/EmptyStmt.java | 5 + src/mycompiler/mystatement/InstVar.java | 9 + src/mycompiler/mystatement/InstanceOf.java | 9 + .../mystatement/LambdaExpression.java | 25 +- src/mycompiler/mystatement/LocalVarDecl.java | 8 + src/mycompiler/mystatement/MethodCall.java | 2 +- src/mycompiler/mystatement/NegativeExpr.java | 11 +- src/mycompiler/mystatement/NewArray.java | 9 + src/mycompiler/mystatement/NotExpr.java | 9 + src/mycompiler/mystatement/PositivExpr.java | 9 + src/mycompiler/mystatement/PostDecExpr.java | 9 + src/mycompiler/mystatement/PostIncExpr.java | 9 + src/mycompiler/mystatement/PreDecExpr.java | 10 +- src/mycompiler/mystatement/PreIncExpr.java | 9 + src/typinferenz/FunN.java | 3 +- .../assumptions/TypeAssumptions.java | 12 +- .../test/lambda/testResults/LambdaTest.log | 26 +- .../TypeInsertTests/LambdaTest4.jav | 5 + .../TypeInsertTests/LambdaTest4.java | 18 + tools/y.output | 12285 ++++++++-------- 30 files changed, 7905 insertions(+), 7778 deletions(-) delete mode 100755 src/mycompiler/myclass/Constructor_Backup.java create mode 100644 test/plugindevelopment/TypeInsertTests/LambdaTest4.jav create mode 100644 test/plugindevelopment/TypeInsertTests/LambdaTest4.java diff --git a/bin/mycompiler/myparser/JavaParser.jay b/bin/mycompiler/myparser/JavaParser.jay index ad207fae2..69dc34481 100755 --- a/bin/mycompiler/myparser/JavaParser.jay +++ b/bin/mycompiler/myparser/JavaParser.jay @@ -313,7 +313,8 @@ public Vector testPair = new Vector(); %type explicitconstructorinvocation %type staticinitializer %type castexpression -%type paralist parameter +%type paralist +%type typelist parameter %type wildcardparameter %left ',' %% @@ -785,21 +786,34 @@ classbodydeclaration : classmemberdeclaration classorinterfacetype : simplename parameter { if ($2 != null) { - $1.set_ParaList($2.get_ParaList()); - + //$1.set_ParaList($2.get_ParaList()); + $1.set_ParaList($2);//Änderung von Andreas Stadelmeier. Type statt GenericVarType /* otth: originale (also diese) Parameterliste retten */ - ((UsedId)$1).vParaOrg = new Vector( $2.get_ParaList() ); + //((UsedId)$1).vParaOrg = new Vector( $2.get_ParaList() ); } $$=$1; } +typelist : type + { + Vector tl = new Vector(); + tl.add($1); + $$ = tl; + } + | typelist ',' type + { + $1.add($3); + $$=$1; + } + /* PL 05-07-28 erg�nzt, weil jeder classorinterfacetype auch parametrisiert sein kann */ +//TODO: Das hier ist möglicherweise falsch. Ein Typ hat keine parameterliste, nur eine Liste von RefTypes parameter : { $$ = null; } - | '<'paralist'>' + | '<'typelist'>'//'<'paralist'>'//typelist statt { $$ = $2; } - + interfacememberdeclaration : constantdeclaration { // SCJU: Interfaces, Spezialform Konstantendef. diff --git a/src/mycompiler/myclass/Class.java b/src/mycompiler/myclass/Class.java index fb9e93303..ca4c87c8e 100755 --- a/src/mycompiler/myclass/Class.java +++ b/src/mycompiler/myclass/Class.java @@ -69,7 +69,7 @@ import typinferenz.UndConstraint; import typinferenz.FunN; import typinferenz.assumptions.TypeAssumptions; import typinferenz.exceptions.TypinferenzException; - +import typinferenz.*; // ino.class.Class.23010.declaration @@ -953,8 +953,10 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface // ino.end // ino.method.wandleRefTypeAttributes2GenericAttributes.23128.body { - - + for(Field f : this.getFields()){ + f.wandleRefTypeAttributes2GenericAttributes(paralist); + } + /* Vector fieldsAndMethods=this.getFields(); // Alle Methoden und Instanzvariablen durchgehen @@ -965,7 +967,7 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface Method method=(Method)fieldsAndMethods.get(i); method.wandleRefTypeAttributes2GenericAttributes(paralist); }// Ist es eine InstanzVariable? - /* + *//* else if(fieldsAndMethods.get(i) instanceof InstVarDecl){ InstVarDecl instVar=(InstVarDecl)fieldsAndMethods.get(i); Type type=instVar.getType(); @@ -976,8 +978,9 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface instVar.setType(pendant); } } - }*/ - } + } + + }*/ } // ino.end @@ -1302,8 +1305,11 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface Constructor standardKonstruktor = new Constructor(Method.createEmptyMethod(this.getName(), this)); this.addField(standardKonstruktor); } + + //Als RefType geparste Generische Variablen umwandeln: + this.wandleRefTypeAttributes2GenericAttributes(); } - + @Override public SyntaxTreeNode getParent() { return this; diff --git a/src/mycompiler/myclass/Constructor.java b/src/mycompiler/myclass/Constructor.java index 80e0ff486..1b1f72bad 100644 --- a/src/mycompiler/myclass/Constructor.java +++ b/src/mycompiler/myclass/Constructor.java @@ -324,3 +324,61 @@ public class Constructor extends Method { } + +/* +// ino.class.Constructor.23267.declaration +public class Constructor_Backup extends Method +// ino.end +// ino.class.Constructor.23267.body +{ + // ino.method.Constructor.23271.definition + public Constructor_Backup() + // ino.end + // ino.method.Constructor.23271.body + { + this.setParameterList(null); + // #JB# 04.06.2005 + // ########################################################### + DeclId decl = new DeclId(); + decl.set_Name(""); + this.set_DeclId(decl); + // ########################################################### + } + // ino.end + + + + // ino.method.get_codegen_Param_Type.23274.definition + public String get_codegen_Param_Type(Vector paralist) + // ino.end + // ino.method.get_codegen_Param_Type.23274.body + { + String ret = new String(); + if(this.getParameterList() == null) + { + ret += "()"; + } + else + { + ret += this.getParameterList().get_codegen_ParameterList(paralist); + } + ret += "V"; + return ret; + } + // ino.end + + + + // ino.method.codegen.23277.definition + public void codegen(ClassFile classfile, Vector paralist) + throws JVMCodeException + // ino.end + // ino.method.codegen.23277.body + { + classfile.set_constructor_founded(true); + classfile.add_method("", this.get_codegen_Param_Type(paralist), this.getParameterList(), null, get_Block(), declid.firstElement().get_access_flags(), paralist, false); + } + // ino.end + +} +*/ diff --git a/src/mycompiler/myclass/Constructor_Backup.java b/src/mycompiler/myclass/Constructor_Backup.java deleted file mode 100755 index 1969a5056..000000000 --- a/src/mycompiler/myclass/Constructor_Backup.java +++ /dev/null @@ -1,79 +0,0 @@ -// ino.module.Constructor.8557.package -package mycompiler.myclass; -// ino.end -// ino.module.Constructor.8557.import -import java.util.Iterator; -import java.util.Vector; - -import typinferenz.ConstraintsSet; -import typinferenz.assumptions.TypeAssumptions; -import mycompiler.mybytecode.ClassFile; -import mycompiler.myexception.JVMCodeException; -// ino.end -import mycompiler.mytype.TypePlaceholder; -import mycompiler.mytypereconstruction.set.CTypeAssumptionSet; -import mycompiler.mytypereconstruction.typeassumption.CInstVarTypeAssumption; -import mycompiler.mytypereconstruction.typeassumption.CLocalVarTypeAssumption; -import mycompiler.mytypereconstruction.typeassumption.CMethodTypeAssumption; -import mycompiler.mytypereconstruction.typeassumption.CParaTypeAssumption; -import mycompiler.mytypereconstruction.typeassumption.CTypeAssumption; - - - - -// ino.class.Constructor.23267.declaration -public class Constructor_Backup extends Method -// ino.end -// ino.class.Constructor.23267.body -{ - // ino.method.Constructor.23271.definition - public Constructor_Backup() - // ino.end - // ino.method.Constructor.23271.body - { - this.setParameterList(null); - // #JB# 04.06.2005 - // ########################################################### - DeclId decl = new DeclId(); - decl.set_Name(""); - this.set_DeclId(decl); - // ########################################################### - } - // ino.end - - - - // ino.method.get_codegen_Param_Type.23274.definition - public String get_codegen_Param_Type(Vector paralist) - // ino.end - // ino.method.get_codegen_Param_Type.23274.body - { - String ret = new String(); - if(this.getParameterList() == null) - { - ret += "()"; - } - else - { - ret += this.getParameterList().get_codegen_ParameterList(paralist); - } - ret += "V"; - return ret; - } - // ino.end - - - - // ino.method.codegen.23277.definition - public void codegen(ClassFile classfile, Vector paralist) - throws JVMCodeException - // ino.end - // ino.method.codegen.23277.body - { - classfile.set_constructor_founded(true); - classfile.add_method("", this.get_codegen_Param_Type(paralist), this.getParameterList(), null, get_Block(), declid.firstElement().get_access_flags(), paralist, false); - } - // ino.end - -} -// ino.end diff --git a/src/mycompiler/myclass/Field.java b/src/mycompiler/myclass/Field.java index 6e8429a7b..0c465df23 100644 --- a/src/mycompiler/myclass/Field.java +++ b/src/mycompiler/myclass/Field.java @@ -5,6 +5,7 @@ import java.util.Vector; import mycompiler.SyntaxTreeNode; import mycompiler.mybytecode.ClassFile; import mycompiler.myexception.JVMCodeException; +import mycompiler.mytype.GenericTypeVar; import mycompiler.mytype.Type; import mycompiler.mytype.TypePlaceholder; import mycompiler.mytypereconstruction.replacementlistener.CReplaceTypeEvent; @@ -104,4 +105,12 @@ public abstract class Field extends SyntaxTreeNode implements TypeInsertable, Ty return new TypeInsertPoint(tph, this, resultSet.getTypeEqualTo(tph), resultSet); } + public void wandleRefTypeAttributes2GenericAttributes(Vector paralist){ + // Zuerst Returntype untersuchen + Type type=getType(); + GenericTypeVar pendantReturnType=ClassHelper.findGenericType(type, paralist,new Vector()); + if(pendantReturnType!=null){ //Wenn generisch, dann modifizieren + setType(pendantReturnType); + } + } } diff --git a/src/mycompiler/myclass/FieldDeclaration.java b/src/mycompiler/myclass/FieldDeclaration.java index 60ef42ca8..b4f147edc 100644 --- a/src/mycompiler/myclass/FieldDeclaration.java +++ b/src/mycompiler/myclass/FieldDeclaration.java @@ -14,6 +14,7 @@ import mycompiler.SyntaxTreeNode; import mycompiler.mybytecode.ClassFile; import mycompiler.myexception.JVMCodeException; import mycompiler.mystatement.Expr; +import mycompiler.mytype.GenericTypeVar; import mycompiler.mytype.Type; import mycompiler.mytype.TypePlaceholder; import mycompiler.mytypereconstruction.replacementlistener.CReplaceTypeEvent; @@ -127,6 +128,10 @@ public class FieldDeclaration extends Field{ return ret; } - + @Override + public void wandleRefTypeAttributes2GenericAttributes(Vector paralist){ + super.wandleRefTypeAttributes2GenericAttributes(paralist); + if(this.getWert()!=null)this.getWert().wandleRefTypeAttributes2GenericAttributes(paralist, new Vector()); //FieldDeclaration hat keine Generischen Variablen, daher leere Liste übergeben + } } diff --git a/src/mycompiler/myclass/Method.java b/src/mycompiler/myclass/Method.java index d13792c8a..97f7df39a 100755 --- a/src/mycompiler/myclass/Method.java +++ b/src/mycompiler/myclass/Method.java @@ -497,11 +497,9 @@ public class Method extends Field implements IItemWithOffset, TypeInsertable { return isAbstract; } - // ino.end - // ino.method.wandleRefTypeAttributes2GenericAttributes.23614.definition + + @Override public void wandleRefTypeAttributes2GenericAttributes(Vector paralist) - // ino.end - // ino.method.wandleRefTypeAttributes2GenericAttributes.23614.body { // Zuerst Returntype untersuchen Type returnType=getType(); diff --git a/src/mycompiler/myparser/JavaParser.java b/src/mycompiler/myparser/JavaParser.java index fcee60fc9..ef95bad58 100644 --- a/src/mycompiler/myparser/JavaParser.java +++ b/src/mycompiler/myparser/JavaParser.java @@ -336,8 +336,10 @@ public Vector testPair = new Vector(); //t "classbodydeclaration : staticinitializer", //t "classbodydeclaration : constructordeclaration", //t "classorinterfacetype : simplename parameter", +//t "typelist : type", +//t "typelist : typelist ',' type", //t "parameter :", -//t "parameter : '<' paralist '>'", +//t "parameter : '<' typelist '>'", //t "interfacememberdeclaration : constantdeclaration", //t "interfacememberdeclaration : abstractmethoddeclaration", //t "classmemberdeclaration : fielddeclaration", @@ -747,20 +749,20 @@ public Vector testPair = new Vector(); yyVal = yyDefault(yyV > yyTop ? null : yyVals[yyV]); switch (yyN) { case 1: - // line 322 "./../src/mycompiler/myparser/JavaParser.jay" + // line 323 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((SourceFile)yyVals[0+yyTop]); } break; case 2: - // line 350 "./../src/mycompiler/myparser/JavaParser.jay" + // line 351 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Package*/ yyVal = ((UsedId)yyVals[-1+yyTop]); } break; case 3: - // line 356 "./../src/mycompiler/myparser/JavaParser.jay" + // line 357 "./../src/mycompiler/myparser/JavaParser.jay" { ImportDeclarations declarations=new ImportDeclarations(); declarations.addElement(((UsedId)yyVals[0+yyTop])); @@ -768,20 +770,20 @@ case 3: } break; case 4: - // line 362 "./../src/mycompiler/myparser/JavaParser.jay" + // line 363 "./../src/mycompiler/myparser/JavaParser.jay" { ((ImportDeclarations)yyVals[-1+yyTop]).addElement(((UsedId)yyVals[0+yyTop])); yyVal=((ImportDeclarations)yyVals[-1+yyTop]); } break; case 5: - // line 368 "./../src/mycompiler/myparser/JavaParser.jay" + // line 369 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((UsedId)yyVals[-1+yyTop]); } break; case 6: - // line 373 "./../src/mycompiler/myparser/JavaParser.jay" + // line 374 "./../src/mycompiler/myparser/JavaParser.jay" { SourceFile Scfile = new SourceFile(); Scfile.addElement(((AClassOrInterface)yyVals[0+yyTop])); @@ -789,39 +791,39 @@ case 6: } break; case 7: - // line 379 "./../src/mycompiler/myparser/JavaParser.jay" + // line 380 "./../src/mycompiler/myparser/JavaParser.jay" { ((SourceFile)yyVals[-1+yyTop]).addElement(((AClassOrInterface)yyVals[0+yyTop])); yyVal=((SourceFile)yyVals[-1+yyTop]); } break; case 8: - // line 385 "./../src/mycompiler/myparser/JavaParser.jay" + // line 386 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((UsedId)yyVals[0+yyTop]); } break; case 9: - // line 389 "./../src/mycompiler/myparser/JavaParser.jay" + // line 390 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((UsedId)yyVals[0+yyTop]); } break; case 10: - // line 394 "./../src/mycompiler/myparser/JavaParser.jay" + // line 395 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Class)yyVals[0+yyTop]); } break; case 11: - // line 398 "./../src/mycompiler/myparser/JavaParser.jay" + // line 399 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Interface*/ yyVal=((Interface)yyVals[0+yyTop]); } break; case 12: - // line 405 "./../src/mycompiler/myparser/JavaParser.jay" + // line 406 "./../src/mycompiler/myparser/JavaParser.jay" { ((UsedId)yyVals[-2+yyTop]).set_Name(((Token)yyVals[0+yyTop]).getLexem()); ((UsedId)yyVals[-2+yyTop]).setOffset(((UsedId)yyVals[-2+yyTop]).getOffset()); @@ -829,7 +831,7 @@ case 12: } break; case 13: - // line 412 "./../src/mycompiler/myparser/JavaParser.jay" + // line 413 "./../src/mycompiler/myparser/JavaParser.jay" { ((UsedId)yyVals[-2+yyTop]).set_Name(((Token)yyVals[0+yyTop]).getLexem()); ((UsedId)yyVals[-2+yyTop]).setOffset(((UsedId)yyVals[-2+yyTop]).getOffset()); @@ -837,7 +839,7 @@ case 13: } break; case 14: - // line 418 "./../src/mycompiler/myparser/JavaParser.jay" + // line 419 "./../src/mycompiler/myparser/JavaParser.jay" { ((UsedId)yyVals[-2+yyTop]).set_Name("*"); ((UsedId)yyVals[-2+yyTop]).setOffset(((UsedId)yyVals[-2+yyTop]).getOffset()); @@ -845,7 +847,7 @@ case 14: } break; case 15: - // line 426 "./../src/mycompiler/myparser/JavaParser.jay" + // line 427 "./../src/mycompiler/myparser/JavaParser.jay" { UsedId UI = new UsedId(((Token)yyVals[0+yyTop]).getOffset()); UI.set_Name( ((Token)yyVals[0+yyTop]).getLexem() ); @@ -854,7 +856,7 @@ case 15: } break; case 16: - // line 434 "./../src/mycompiler/myparser/JavaParser.jay" + // line 435 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Um das hier uebersichtlicher zu halten,*/ /* gibt es einen allumfassenden Konstruktor fuer Class*/ @@ -873,7 +875,7 @@ case 16: } break; case 17: - // line 451 "./../src/mycompiler/myparser/JavaParser.jay" + // line 452 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = new Class(((ClassAndParameter)yyVals[-1+yyTop]).getName(), ((Modifiers)yyVals[-3+yyTop]), ((ClassBody)yyVals[0+yyTop]), containedTypes,usedIdsToCheck, null, null, ((ClassAndParameter)yyVals[-1+yyTop]).getParaVector()); this.initContainedTypes(); @@ -881,7 +883,7 @@ case 17: } break; case 18: - // line 457 "./../src/mycompiler/myparser/JavaParser.jay" + // line 458 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = new Class(((ClassAndParameter)yyVals[-2+yyTop]).getName(), null, ((ClassBody)yyVals[0+yyTop]), containedTypes,usedIdsToCheck, ((UsedId)yyVals[-1+yyTop]), null, ((ClassAndParameter)yyVals[-2+yyTop]).getParaVector()); this.initContainedTypes(); @@ -889,7 +891,7 @@ case 18: } break; case 19: - // line 463 "./../src/mycompiler/myparser/JavaParser.jay" + // line 464 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = new Class(((ClassAndParameter)yyVals[-2+yyTop]).getName(), ((Modifiers)yyVals[-4+yyTop]), ((ClassBody)yyVals[0+yyTop]), containedTypes, usedIdsToCheck, ((UsedId)yyVals[-1+yyTop]), null, ((ClassAndParameter)yyVals[-2+yyTop]).getParaVector()); this.initContainedTypes(); @@ -897,7 +899,7 @@ case 19: } break; case 20: - // line 470 "./../src/mycompiler/myparser/JavaParser.jay" + // line 471 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = new Class(((ClassAndParameter)yyVals[-2+yyTop]).getName(), null, ((ClassBody)yyVals[0+yyTop]), containedTypes, usedIdsToCheck, null, ((InterfaceList)yyVals[-1+yyTop]).getVector(), ((ClassAndParameter)yyVals[-2+yyTop]).getParaVector()); this.initContainedTypes(); @@ -905,7 +907,7 @@ case 20: } break; case 21: - // line 476 "./../src/mycompiler/myparser/JavaParser.jay" + // line 477 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = new Class(((ClassAndParameter)yyVals[-2+yyTop]).getName(), ((Modifiers)yyVals[-4+yyTop]), ((ClassBody)yyVals[0+yyTop]), containedTypes, usedIdsToCheck, null, ((InterfaceList)yyVals[-1+yyTop]).getVector(), ((ClassAndParameter)yyVals[-2+yyTop]).getParaVector()); this.initContainedTypes(); @@ -913,7 +915,7 @@ case 21: } break; case 22: - // line 482 "./../src/mycompiler/myparser/JavaParser.jay" + // line 483 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = new Class(((ClassAndParameter)yyVals[-3+yyTop]).getName(), null, ((ClassBody)yyVals[0+yyTop]), containedTypes,usedIdsToCheck, ((UsedId)yyVals[-2+yyTop]), ((InterfaceList)yyVals[-1+yyTop]).getVector(), ((ClassAndParameter)yyVals[-3+yyTop]).getParaVector()); this.initContainedTypes(); @@ -921,7 +923,7 @@ case 22: } break; case 23: - // line 488 "./../src/mycompiler/myparser/JavaParser.jay" + // line 489 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = new Class(((ClassAndParameter)yyVals[-3+yyTop]).getName(), ((Modifiers)yyVals[-5+yyTop]), ((ClassBody)yyVals[0+yyTop]), containedTypes, usedIdsToCheck, ((UsedId)yyVals[-2+yyTop]), ((InterfaceList)yyVals[-1+yyTop]).getVector(), ((ClassAndParameter)yyVals[-3+yyTop]).getParaVector()); this.initContainedTypes(); @@ -929,7 +931,7 @@ case 23: } break; case 24: - // line 495 "./../src/mycompiler/myparser/JavaParser.jay" + // line 496 "./../src/mycompiler/myparser/JavaParser.jay" { /* HOTI*/ /* Verbindet den Namen eines Interfaces mit einer optionalen Parameterliste*/ @@ -937,13 +939,13 @@ case 24: } break; case 25: - // line 501 "./../src/mycompiler/myparser/JavaParser.jay" + // line 502 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = new InterfaceAndParameter(((Token)yyVals[-3+yyTop]).getLexem(), ((ParaList)yyVals[-1+yyTop])); } break; case 26: - // line 506 "./../src/mycompiler/myparser/JavaParser.jay" + // line 507 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Hilfskonstrukt, um die Grammatik ueberschaubar zu halten*/ /* Verbindet den Namen einer Klasse mit einer optionalen Parameterliste*/ @@ -951,13 +953,13 @@ case 26: } break; case 27: - // line 512 "./../src/mycompiler/myparser/JavaParser.jay" + // line 513 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = new ClassAndParameter(((Token)yyVals[-3+yyTop]).getLexem(), ((ParaList)yyVals[-1+yyTop])); } break; case 28: - // line 517 "./../src/mycompiler/myparser/JavaParser.jay" + // line 518 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Interface*/ Interface ic = new Interface(((InterfaceAndParameter)yyVals[-1+yyTop]).getName()); @@ -969,7 +971,7 @@ case 28: } break; case 29: - // line 527 "./../src/mycompiler/myparser/JavaParser.jay" + // line 528 "./../src/mycompiler/myparser/JavaParser.jay" { Interface ic = new Interface(((InterfaceAndParameter)yyVals[-1+yyTop]).getName(), ((Modifiers)yyVals[-3+yyTop])); ic.setInterfaceBody(((InterfaceBody)yyVals[0+yyTop])); @@ -980,7 +982,7 @@ case 29: } break; case 30: - // line 536 "./../src/mycompiler/myparser/JavaParser.jay" + // line 537 "./../src/mycompiler/myparser/JavaParser.jay" { Interface ic = new Interface(((InterfaceAndParameter)yyVals[-2+yyTop]).getName()); ic.setParaList(((InterfaceAndParameter)yyVals[-2+yyTop]).getParaVector()); @@ -992,7 +994,7 @@ case 30: } break; case 31: - // line 546 "./../src/mycompiler/myparser/JavaParser.jay" + // line 547 "./../src/mycompiler/myparser/JavaParser.jay" { Interface ic = new Interface(((InterfaceAndParameter)yyVals[-2+yyTop]).getName(), ((Modifiers)yyVals[-4+yyTop])); ic.setParaList(((InterfaceAndParameter)yyVals[-2+yyTop]).getParaVector()); @@ -1004,7 +1006,7 @@ case 31: } break; case 32: - // line 557 "./../src/mycompiler/myparser/JavaParser.jay" + // line 558 "./../src/mycompiler/myparser/JavaParser.jay" { ParaList pl = new ParaList(); /* #JB# 05.04.2005 */ @@ -1017,7 +1019,7 @@ case 32: } break; case 33: - // line 568 "./../src/mycompiler/myparser/JavaParser.jay" + // line 569 "./../src/mycompiler/myparser/JavaParser.jay" { ParaList pl = new ParaList(); RefType t = new RefType( ((Token)yyVals[-3+yyTop]).getLexem(),((Token)yyVals[-3+yyTop]).getOffset() ); @@ -1028,7 +1030,7 @@ case 33: } break; case 34: - // line 577 "./../src/mycompiler/myparser/JavaParser.jay" + // line 578 "./../src/mycompiler/myparser/JavaParser.jay" { ParaList pl = new ParaList(); pl.getParalist().addElement(((WildcardType)yyVals[0+yyTop])); @@ -1036,7 +1038,7 @@ case 34: } break; case 35: - // line 583 "./../src/mycompiler/myparser/JavaParser.jay" + // line 584 "./../src/mycompiler/myparser/JavaParser.jay" { /* #JB# 05.04.2005 */ @@ -1050,7 +1052,7 @@ case 35: } break; case 36: - // line 596 "./../src/mycompiler/myparser/JavaParser.jay" + // line 597 "./../src/mycompiler/myparser/JavaParser.jay" { RefType t = new RefType( ((Token)yyVals[-3+yyTop]).getLexem() ,((Token)yyVals[-3+yyTop]).getOffset() ); t.set_ParaList( ((ParaList)yyVals[-1+yyTop]).get_ParaList() ); @@ -1060,14 +1062,14 @@ case 36: } break; case 37: - // line 604 "./../src/mycompiler/myparser/JavaParser.jay" + // line 605 "./../src/mycompiler/myparser/JavaParser.jay" { ((ParaList)yyVals[-2+yyTop]).getParalist().addElement(((WildcardType)yyVals[0+yyTop])); yyVal=((ParaList)yyVals[-2+yyTop]); } break; case 38: - // line 610 "./../src/mycompiler/myparser/JavaParser.jay" + // line 611 "./../src/mycompiler/myparser/JavaParser.jay" { /*Luar 29.11.06 Offset auf -1, da keine Angabe vorhanden*/ WildcardType wc = new WildcardType(-1); @@ -1075,34 +1077,34 @@ case 38: } break; case 39: - // line 616 "./../src/mycompiler/myparser/JavaParser.jay" + // line 617 "./../src/mycompiler/myparser/JavaParser.jay" { ExtendsWildcardType ewc = new ExtendsWildcardType(((Token)yyVals[-1+yyTop]).getOffset(),((RefType)yyVals[0+yyTop])); yyVal = ewc; } break; case 40: - // line 621 "./../src/mycompiler/myparser/JavaParser.jay" + // line 622 "./../src/mycompiler/myparser/JavaParser.jay" { SuperWildcardType swc = new SuperWildcardType(((Token)yyVals[-1+yyTop]).getOffset(),((RefType)yyVals[0+yyTop])); yyVal = swc; } break; case 41: - // line 627 "./../src/mycompiler/myparser/JavaParser.jay" + // line 628 "./../src/mycompiler/myparser/JavaParser.jay" { ClassBody CB = new ClassBody(); yyVal = CB; } break; case 42: - // line 633 "./../src/mycompiler/myparser/JavaParser.jay" + // line 634 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = ((ClassBody)yyVals[-1+yyTop]); } break; case 43: - // line 638 "./../src/mycompiler/myparser/JavaParser.jay" + // line 639 "./../src/mycompiler/myparser/JavaParser.jay" { Modifiers Mod = new Modifiers(); Mod.addModifier(((Modifier)yyVals[0+yyTop])); @@ -1110,20 +1112,20 @@ case 43: } break; case 44: - // line 644 "./../src/mycompiler/myparser/JavaParser.jay" + // line 645 "./../src/mycompiler/myparser/JavaParser.jay" { ((Modifiers)yyVals[-1+yyTop]).addModifier(((Modifier)yyVals[0+yyTop])); yyVal = ((Modifiers)yyVals[-1+yyTop]); } break; case 45: - // line 650 "./../src/mycompiler/myparser/JavaParser.jay" + // line 651 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = ((UsedId)yyVals[0+yyTop]); } break; case 46: - // line 655 "./../src/mycompiler/myparser/JavaParser.jay" + // line 656 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Interface*/ InterfaceList il = new InterfaceList(); @@ -1132,27 +1134,27 @@ case 46: } break; case 47: - // line 662 "./../src/mycompiler/myparser/JavaParser.jay" + // line 663 "./../src/mycompiler/myparser/JavaParser.jay" { ((InterfaceList)yyVals[-2+yyTop]).addInterface(((UsedId)yyVals[0+yyTop])); yyVal = ((InterfaceList)yyVals[-2+yyTop]); } break; case 48: - // line 668 "./../src/mycompiler/myparser/JavaParser.jay" + // line 669 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Interface*/ yyVal = new InterfaceBody(); } break; case 49: - // line 673 "./../src/mycompiler/myparser/JavaParser.jay" + // line 674 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = ((InterfaceBody)yyVals[-1+yyTop]); } break; case 50: - // line 680 "./../src/mycompiler/myparser/JavaParser.jay" + // line 681 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Interface*/ InterfaceList il = new InterfaceList(); @@ -1161,14 +1163,14 @@ case 50: } break; case 51: - // line 687 "./../src/mycompiler/myparser/JavaParser.jay" + // line 688 "./../src/mycompiler/myparser/JavaParser.jay" { ((InterfaceList)yyVals[-2+yyTop]).addInterface(((UsedId)yyVals[0+yyTop])); yyVal = ((InterfaceList)yyVals[-2+yyTop]); } break; case 52: - // line 694 "./../src/mycompiler/myparser/JavaParser.jay" + // line 695 "./../src/mycompiler/myparser/JavaParser.jay" { ClassBody CB = new ClassBody(); CB.addField( ((Field)yyVals[0+yyTop]) ); @@ -1176,55 +1178,55 @@ case 52: } break; case 53: - // line 700 "./../src/mycompiler/myparser/JavaParser.jay" + // line 701 "./../src/mycompiler/myparser/JavaParser.jay" { ((ClassBody)yyVals[-1+yyTop]).addField(((Field)yyVals[0+yyTop])); yyVal = ((ClassBody)yyVals[-1+yyTop]); } break; case 54: - // line 707 "./../src/mycompiler/myparser/JavaParser.jay" + // line 708 "./../src/mycompiler/myparser/JavaParser.jay" { Public Pub = new Public(); yyVal=Pub; } break; case 55: - // line 712 "./../src/mycompiler/myparser/JavaParser.jay" + // line 713 "./../src/mycompiler/myparser/JavaParser.jay" { Protected Pro = new Protected(); yyVal=Pro; } break; case 56: - // line 717 "./../src/mycompiler/myparser/JavaParser.jay" + // line 718 "./../src/mycompiler/myparser/JavaParser.jay" { Private Pri = new Private(); yyVal=Pri; } break; case 57: - // line 722 "./../src/mycompiler/myparser/JavaParser.jay" + // line 723 "./../src/mycompiler/myparser/JavaParser.jay" { Static Sta = new Static(); yyVal=Sta; } break; case 58: - // line 727 "./../src/mycompiler/myparser/JavaParser.jay" + // line 728 "./../src/mycompiler/myparser/JavaParser.jay" { Abstract Abs = new Abstract(); yyVal=Abs; } break; case 59: - // line 732 "./../src/mycompiler/myparser/JavaParser.jay" + // line 733 "./../src/mycompiler/myparser/JavaParser.jay" { Final fin = new Final(); yyVal = fin; } break; case 60: - // line 738 "./../src/mycompiler/myparser/JavaParser.jay" + // line 739 "./../src/mycompiler/myparser/JavaParser.jay" { /*PL 05-07-30 eingefuegt containedTypes ANFANG*/ RefType RT = new RefType(-1); @@ -1239,7 +1241,7 @@ case 60: } break; case 61: - // line 753 "./../src/mycompiler/myparser/JavaParser.jay" + // line 754 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Interface*/ InterfaceBody ib = new InterfaceBody(); @@ -1248,86 +1250,101 @@ case 61: } break; case 62: - // line 760 "./../src/mycompiler/myparser/JavaParser.jay" + // line 761 "./../src/mycompiler/myparser/JavaParser.jay" { ((InterfaceBody)yyVals[-1+yyTop]).addElement(((Field)yyVals[0+yyTop])); yyVal = ((InterfaceBody)yyVals[-1+yyTop]); } break; case 63: - // line 766 "./../src/mycompiler/myparser/JavaParser.jay" + // line 767 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Interfaces*/ yyVal = ((UsedId)yyVals[0+yyTop]); } break; case 64: - // line 772 "./../src/mycompiler/myparser/JavaParser.jay" + // line 773 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Field)yyVals[0+yyTop]); } break; case 65: - // line 777 "./../src/mycompiler/myparser/JavaParser.jay" + // line 778 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Method)yyVals[0+yyTop]); } break; case 66: - // line 781 "./../src/mycompiler/myparser/JavaParser.jay" + // line 782 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Field)yyVals[0+yyTop]); } break; case 67: - // line 786 "./../src/mycompiler/myparser/JavaParser.jay" + // line 787 "./../src/mycompiler/myparser/JavaParser.jay" { - if (((ParaList)yyVals[0+yyTop]) != null) { - ((UsedId)yyVals[-1+yyTop]).set_ParaList(((ParaList)yyVals[0+yyTop]).get_ParaList()); - + if (((Vector)yyVals[0+yyTop]) != null) { + /*$1.set_ParaList($2.get_ParaList());*/ + ((UsedId)yyVals[-1+yyTop]).set_ParaList(((Vector)yyVals[0+yyTop]));/*Änderung von Andreas Stadelmeier. Type statt GenericVarType*/ /* otth: originale (also diese) Parameterliste retten */ - ((UsedId)((UsedId)yyVals[-1+yyTop])).vParaOrg = new Vector( ((ParaList)yyVals[0+yyTop]).get_ParaList() ); + /*((UsedId)$1).vParaOrg = new Vector( $2.get_ParaList() );*/ } yyVal=((UsedId)yyVals[-1+yyTop]); } break; case 68: - // line 797 "./../src/mycompiler/myparser/JavaParser.jay" - { yyVal = null; } + // line 798 "./../src/mycompiler/myparser/JavaParser.jay" + { + Vector tl = new Vector(); + tl.add(((Type)yyVals[0+yyTop])); + yyVal = tl; + } break; case 69: - // line 799 "./../src/mycompiler/myparser/JavaParser.jay" + // line 804 "./../src/mycompiler/myparser/JavaParser.jay" { - yyVal = ((ParaList)yyVals[-1+yyTop]); - } + ((Vector)yyVals[-2+yyTop]).add(((Type)yyVals[0+yyTop])); + yyVal=((Vector)yyVals[-2+yyTop]); + } break; case 70: - // line 804 "./../src/mycompiler/myparser/JavaParser.jay" + // line 811 "./../src/mycompiler/myparser/JavaParser.jay" + { yyVal = null; } + break; +case 71: + // line 813 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal = ((Vector)yyVals[-1+yyTop]); + } + break; +case 72: + // line 818 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Interfaces, Spezialform Konstantendef.*/ yyVal = ((Constant)yyVals[0+yyTop]); } break; -case 71: - // line 809 "./../src/mycompiler/myparser/JavaParser.jay" +case 73: + // line 823 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = ((Method)yyVals[0+yyTop]); } break; -case 72: - // line 814 "./../src/mycompiler/myparser/JavaParser.jay" +case 74: + // line 828 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Field)yyVals[0+yyTop]); } break; -case 73: - // line 818 "./../src/mycompiler/myparser/JavaParser.jay" +case 75: + // line 832 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Method)yyVals[0+yyTop]); } break; -case 74: - // line 823 "./../src/mycompiler/myparser/JavaParser.jay" +case 76: + // line 837 "./../src/mycompiler/myparser/JavaParser.jay" { Method STAT = new Method(((Token)yyVals[-1+yyTop]).getOffset()); DeclId DST = new DeclId(); @@ -1341,23 +1358,23 @@ case 74: yyVal=STAT; } break; -case 75: - // line 837 "./../src/mycompiler/myparser/JavaParser.jay" +case 77: + // line 851 "./../src/mycompiler/myparser/JavaParser.jay" { ((Constructor)yyVals[-1+yyTop]).set_Block(((Block)yyVals[0+yyTop])); yyVal = ((Constructor)yyVals[-1+yyTop]); } break; -case 76: - // line 842 "./../src/mycompiler/myparser/JavaParser.jay" +case 78: + // line 856 "./../src/mycompiler/myparser/JavaParser.jay" { ((Constructor)yyVals[-1+yyTop]).set_Block(((Block)yyVals[0+yyTop])); ((Constructor)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-2+yyTop])); yyVal = ((Constructor)yyVals[-1+yyTop]); } break; -case 77: - // line 849 "./../src/mycompiler/myparser/JavaParser.jay" +case 79: + // line 863 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Interface*/ Constant c = new Constant(((Token)yyVals[-3+yyTop]).getLexem(), ((Modifiers)yyVals[-5+yyTop])); @@ -1366,15 +1383,15 @@ case 77: yyVal = c; } break; -case 78: - // line 858 "./../src/mycompiler/myparser/JavaParser.jay" +case 80: + // line 872 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Interface*/ yyVal = ((Method)yyVals[-1+yyTop]); } break; -case 79: - // line 871 "./../src/mycompiler/myparser/JavaParser.jay" +case 81: + // line 885 "./../src/mycompiler/myparser/JavaParser.jay" { FieldDeclaration ret = new FieldDeclaration(((DeclId)yyVals[-2+yyTop]).getOffset()); ret.setType(((Type)yyVals[-3+yyTop])); @@ -1383,8 +1400,8 @@ case 79: yyVal=ret; } break; -case 80: - // line 879 "./../src/mycompiler/myparser/JavaParser.jay" +case 82: + // line 893 "./../src/mycompiler/myparser/JavaParser.jay" { FieldDeclaration ret = new FieldDeclaration(((DeclId)yyVals[-2+yyTop]).getOffset()); ret.set_DeclId(((DeclId)yyVals[-2+yyTop])); @@ -1392,35 +1409,35 @@ case 80: yyVal=ret; } break; -case 81: - // line 887 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((FieldDeclaration)yyVals[-1+yyTop]); - } - break; -case 82: - // line 891 "./../src/mycompiler/myparser/JavaParser.jay" - { - ((FieldDeclaration)yyVals[0+yyTop]).setType(((Type)yyVals[-1+yyTop])); - yyVal=((FieldDeclaration)yyVals[0+yyTop]); - } - break; case 83: - // line 897 "./../src/mycompiler/myparser/JavaParser.jay" + // line 901 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((FieldDeclaration)yyVals[-1+yyTop]); } break; case 84: - // line 902 "./../src/mycompiler/myparser/JavaParser.jay" + // line 905 "./../src/mycompiler/myparser/JavaParser.jay" + { + ((FieldDeclaration)yyVals[0+yyTop]).setType(((Type)yyVals[-1+yyTop])); + yyVal=((FieldDeclaration)yyVals[0+yyTop]); + } + break; +case 85: + // line 911 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((FieldDeclaration)yyVals[-1+yyTop]); + } + break; +case 86: + // line 916 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("T->Parser->fielddeclaration ...: type " + ((Type)yyVals[-2+yyTop])); ((FieldDeclaration)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); yyVal = ((FieldDeclaration)yyVals[-1+yyTop]); } break; -case 85: - // line 909 "./../src/mycompiler/myparser/JavaParser.jay" +case 87: + // line 923 "./../src/mycompiler/myparser/JavaParser.jay" { ((FieldDeclaration)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); for(int i=0;i<(((FieldDeclaration)yyVals[-1+yyTop]).getDeclIdVector().size());i++) @@ -1430,28 +1447,28 @@ case 85: yyVal = ((FieldDeclaration)yyVals[-1+yyTop]); } break; -case 86: - // line 919 "./../src/mycompiler/myparser/JavaParser.jay" +case 88: + // line 933 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[-1+yyTop]).set_Block(((Block)yyVals[0+yyTop])); yyVal=((Method)yyVals[-1+yyTop]); } break; -case 87: - // line 926 "./../src/mycompiler/myparser/JavaParser.jay" +case 89: + // line 940 "./../src/mycompiler/myparser/JavaParser.jay" { Block Bl = new Block(); yyVal=Bl; } break; -case 88: - // line 932 "./../src/mycompiler/myparser/JavaParser.jay" +case 90: + // line 946 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[-1+yyTop]); } break; -case 89: - // line 937 "./../src/mycompiler/myparser/JavaParser.jay" +case 91: + // line 951 "./../src/mycompiler/myparser/JavaParser.jay" { Constructor CON = new Constructor(null); /*TODO: Der Parser kann sowieso nicht zwischen einem Konstruktor und einer Methode unterscheiden. Das hier kann wegfallen...*/ DeclId DIDCon = new DeclId(); @@ -1460,8 +1477,8 @@ case 89: yyVal=CON; } break; -case 90: - // line 945 "./../src/mycompiler/myparser/JavaParser.jay" +case 92: + // line 959 "./../src/mycompiler/myparser/JavaParser.jay" { Constructor CONpara = new Constructor(null); DeclId DIconpara = new DeclId(); @@ -1471,29 +1488,29 @@ case 90: yyVal=CONpara; } break; -case 91: - // line 955 "./../src/mycompiler/myparser/JavaParser.jay" +case 93: + // line 969 "./../src/mycompiler/myparser/JavaParser.jay" { Block CBL = new Block(); yyVal=CBL; } break; -case 92: - // line 960 "./../src/mycompiler/myparser/JavaParser.jay" +case 94: + // line 974 "./../src/mycompiler/myparser/JavaParser.jay" { Block CBLexpl = new Block(); CBLexpl.set_Statement(((Statement)yyVals[-1+yyTop])); yyVal=CBLexpl; } break; -case 93: - // line 966 "./../src/mycompiler/myparser/JavaParser.jay" +case 95: + // line 980 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[-1+yyTop]); } break; -case 94: - // line 970 "./../src/mycompiler/myparser/JavaParser.jay" +case 96: + // line 984 "./../src/mycompiler/myparser/JavaParser.jay" { Block CBes = new Block(); CBes.set_Statement(((Statement)yyVals[-2+yyTop])); @@ -1504,51 +1521,51 @@ case 94: yyVal=CBes; } break; -case 95: - // line 981 "./../src/mycompiler/myparser/JavaParser.jay" +case 97: + // line 995 "./../src/mycompiler/myparser/JavaParser.jay" { ExceptionList EL = new ExceptionList(); EL.set_addElem(((RefType)yyVals[0+yyTop])); yyVal=EL; } break; -case 96: - // line 988 "./../src/mycompiler/myparser/JavaParser.jay" +case 98: + // line 1002 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = ((GenericTypeVar)yyVals[0+yyTop]); } break; -case 97: - // line 993 "./../src/mycompiler/myparser/JavaParser.jay" +case 99: + // line 1007 "./../src/mycompiler/myparser/JavaParser.jay" { ParaList p = new ParaList(); p.add_ParaList(((GenericTypeVar)yyVals[0+yyTop])); yyVal=p; } break; -case 98: - // line 999 "./../src/mycompiler/myparser/JavaParser.jay" +case 100: + // line 1013 "./../src/mycompiler/myparser/JavaParser.jay" { ((ParaList)yyVals[-2+yyTop]).add_ParaList(((GenericTypeVar)yyVals[0+yyTop])); yyVal=((ParaList)yyVals[-2+yyTop]); } break; -case 99: - // line 1006 "./../src/mycompiler/myparser/JavaParser.jay" +case 101: + // line 1020 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=new GenericTypeVar(((Token)yyVals[0+yyTop]).getLexem(),((Token)yyVals[0+yyTop]).getOffset()); } break; -case 100: - // line 1010 "./../src/mycompiler/myparser/JavaParser.jay" +case 102: + // line 1024 "./../src/mycompiler/myparser/JavaParser.jay" { BoundedGenericTypeVar gtv=new BoundedGenericTypeVar(((Token)yyVals[-2+yyTop]).getLexem(),((Token)yyVals[-2+yyTop]).getOffset()); gtv.setBounds(((Vector)yyVals[0+yyTop])); yyVal=gtv; } break; -case 101: - // line 1017 "./../src/mycompiler/myparser/JavaParser.jay" +case 103: + // line 1031 "./../src/mycompiler/myparser/JavaParser.jay" { Vector vec=new Vector(); vec.addElement(((RefType)yyVals[0+yyTop])); @@ -1556,54 +1573,54 @@ case 101: yyVal=vec; } break; -case 102: - // line 1024 "./../src/mycompiler/myparser/JavaParser.jay" +case 104: + // line 1038 "./../src/mycompiler/myparser/JavaParser.jay" { ((Vector)yyVals[-2+yyTop]).addElement(((RefType)yyVals[0+yyTop])); containedTypes.addElement(((RefType)yyVals[0+yyTop])); yyVal=((Vector)yyVals[-2+yyTop]); } break; -case 103: - // line 1031 "./../src/mycompiler/myparser/JavaParser.jay" +case 105: + // line 1045 "./../src/mycompiler/myparser/JavaParser.jay" { Vector vec=new Vector(); vec.addElement(((GenericTypeVar)yyVals[0+yyTop])); yyVal=vec; } break; -case 104: - // line 1037 "./../src/mycompiler/myparser/JavaParser.jay" +case 106: + // line 1051 "./../src/mycompiler/myparser/JavaParser.jay" { ((Vector)yyVals[-2+yyTop]).addElement(((GenericTypeVar)yyVals[0+yyTop])); yyVal=((Vector)yyVals[-2+yyTop]); } break; -case 105: - // line 1045 "./../src/mycompiler/myparser/JavaParser.jay" +case 107: + // line 1059 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[0+yyTop]).setType(((Type)yyVals[-1+yyTop])); ((Method)yyVals[0+yyTop]).setGenericMethodParameters(((Vector)yyVals[-3+yyTop])); yyVal=((Method)yyVals[0+yyTop]); } break; -case 106: - // line 1051 "./../src/mycompiler/myparser/JavaParser.jay" +case 108: + // line 1065 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[0+yyTop]).setType(((Type)yyVals[-1+yyTop])); yyVal=((Method)yyVals[0+yyTop]); } break; -case 107: - // line 1056 "./../src/mycompiler/myparser/JavaParser.jay" +case 109: + // line 1070 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-2+yyTop])); ((Method)yyVals[0+yyTop]).setType(((Type)yyVals[-1+yyTop])); yyVal=((Method)yyVals[0+yyTop]); } break; -case 108: - // line 1062 "./../src/mycompiler/myparser/JavaParser.jay" +case 110: + // line 1076 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-5+yyTop])); ((Method)yyVals[0+yyTop]).setGenericMethodParameters(((Vector)yyVals[-3+yyTop])); @@ -1611,27 +1628,9 @@ case 108: yyVal=((Method)yyVals[0+yyTop]); } break; -case 109: - // line 1069 "./../src/mycompiler/myparser/JavaParser.jay" - { - ((Method)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); - ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop])); - yyVal=((Method)yyVals[-1+yyTop]); - } - break; -case 110: - // line 1075 "./../src/mycompiler/myparser/JavaParser.jay" - { - ((Method)yyVals[-1+yyTop]).setGenericMethodParameters(((Vector)yyVals[-4+yyTop])); - ((Method)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); - ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop])); - yyVal=((Method)yyVals[-1+yyTop]); - } - break; case 111: - // line 1082 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1083 "./../src/mycompiler/myparser/JavaParser.jay" { - ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-3+yyTop])); ((Method)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop])); yyVal=((Method)yyVals[-1+yyTop]); @@ -1640,7 +1639,6 @@ case 111: case 112: // line 1089 "./../src/mycompiler/myparser/JavaParser.jay" { - ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-6+yyTop])); ((Method)yyVals[-1+yyTop]).setGenericMethodParameters(((Vector)yyVals[-4+yyTop])); ((Method)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop])); @@ -1648,15 +1646,34 @@ case 112: } break; case 113: - // line 1097 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1096 "./../src/mycompiler/myparser/JavaParser.jay" + { + ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-3+yyTop])); + ((Method)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); + ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop])); + yyVal=((Method)yyVals[-1+yyTop]); + } + break; +case 114: + // line 1103 "./../src/mycompiler/myparser/JavaParser.jay" + { + ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-6+yyTop])); + ((Method)yyVals[-1+yyTop]).setGenericMethodParameters(((Vector)yyVals[-4+yyTop])); + ((Method)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); + ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop])); + yyVal=((Method)yyVals[-1+yyTop]); + } + break; +case 115: + // line 1111 "./../src/mycompiler/myparser/JavaParser.jay" { Void Voit = new Void(((Token)yyVals[-1+yyTop]).getOffset()); ((Method)yyVals[0+yyTop]).setType(Voit); yyVal=((Method)yyVals[0+yyTop]); } break; -case 114: - // line 1103 "./../src/mycompiler/myparser/JavaParser.jay" +case 116: + // line 1117 "./../src/mycompiler/myparser/JavaParser.jay" { Void voit = new Void(((Token)yyVals[-1+yyTop]).getOffset()); ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-2+yyTop])); @@ -1664,8 +1681,8 @@ case 114: yyVal=((Method)yyVals[0+yyTop]); } break; -case 115: - // line 1110 "./../src/mycompiler/myparser/JavaParser.jay" +case 117: + // line 1124 "./../src/mycompiler/myparser/JavaParser.jay" { Void voyt = new Void(((Token)yyVals[-2+yyTop]).getOffset()); ((Method)yyVals[-1+yyTop]).setType(voyt); @@ -1673,8 +1690,8 @@ case 115: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 116: - // line 1117 "./../src/mycompiler/myparser/JavaParser.jay" +case 118: + // line 1131 "./../src/mycompiler/myparser/JavaParser.jay" { Void voyd = new Void(((Token)yyVals[-2+yyTop]).getOffset()); ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-3+yyTop])); @@ -1683,8 +1700,8 @@ case 116: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 117: - // line 1125 "./../src/mycompiler/myparser/JavaParser.jay" +case 119: + // line 1139 "./../src/mycompiler/myparser/JavaParser.jay" { Void Voit = new Void(((Token)yyVals[-1+yyTop]).getOffset()); ((Method)yyVals[0+yyTop]).setType(Voit); @@ -1692,8 +1709,8 @@ case 117: yyVal=((Method)yyVals[0+yyTop]); } break; -case 118: - // line 1132 "./../src/mycompiler/myparser/JavaParser.jay" +case 120: + // line 1146 "./../src/mycompiler/myparser/JavaParser.jay" { Void voit = new Void(((Token)yyVals[-1+yyTop]).getOffset()); ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-5+yyTop])); @@ -1702,8 +1719,8 @@ case 118: yyVal=((Method)yyVals[0+yyTop]); } break; -case 119: - // line 1140 "./../src/mycompiler/myparser/JavaParser.jay" +case 121: + // line 1154 "./../src/mycompiler/myparser/JavaParser.jay" { Void voyt = new Void(((Token)yyVals[-2+yyTop]).getOffset()); ((Method)yyVals[-1+yyTop]).setType(voyt); @@ -1712,8 +1729,8 @@ case 119: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 120: - // line 1148 "./../src/mycompiler/myparser/JavaParser.jay" +case 122: + // line 1162 "./../src/mycompiler/myparser/JavaParser.jay" { Void voyd = new Void(((Token)yyVals[-2+yyTop]).getOffset()); ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-6+yyTop])); @@ -1723,39 +1740,39 @@ case 120: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 121: - // line 1158 "./../src/mycompiler/myparser/JavaParser.jay" +case 123: + // line 1172 "./../src/mycompiler/myparser/JavaParser.jay" { /*auskommentiert von Andreas Stadelmeier (a10023) $1.setType(TypePlaceholder.fresh()); */ yyVal=((Method)yyVals[0+yyTop]); } break; -case 122: - // line 1163 "./../src/mycompiler/myparser/JavaParser.jay" +case 124: + // line 1177 "./../src/mycompiler/myparser/JavaParser.jay" { /*auskommentiert von Andreas Stadelmeier (a10023) $4.setType(TypePlaceholder.fresh());*/ ((Method)yyVals[0+yyTop]).setGenericMethodParameters(((Vector)yyVals[-2+yyTop])); yyVal=((Method)yyVals[0+yyTop]); } break; -case 123: - // line 1170 "./../src/mycompiler/myparser/JavaParser.jay" +case 125: + // line 1184 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-1+yyTop])); /*auskommentiert von Andreas Stadelmeier (a10023) $2.setType(TypePlaceholder.fresh());*/ yyVal=((Method)yyVals[0+yyTop]); } break; -case 124: - // line 1176 "./../src/mycompiler/myparser/JavaParser.jay" +case 126: + // line 1190 "./../src/mycompiler/myparser/JavaParser.jay" { /*auskommentiert von Andreas Stadelmeier (a10023) $1.setType(TypePlaceholder.fresh());*/ ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop])); yyVal=((Method)yyVals[-1+yyTop]); } break; -case 125: - // line 1182 "./../src/mycompiler/myparser/JavaParser.jay" +case 127: + // line 1196 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-2+yyTop])); /*auskommentiert von Andreas Stadelmeier (a10023) $2.setType(TypePlaceholder.fresh());*/ @@ -1763,32 +1780,32 @@ case 125: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 126: - // line 1191 "./../src/mycompiler/myparser/JavaParser.jay" +case 128: + // line 1205 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((BaseType)yyVals[0+yyTop]); } break; -case 127: - // line 1195 "./../src/mycompiler/myparser/JavaParser.jay" +case 129: + // line 1209 "./../src/mycompiler/myparser/JavaParser.jay" { ((BaseType)yyVals[-2+yyTop]).setArray(true); } break; -case 128: - // line 1199 "./../src/mycompiler/myparser/JavaParser.jay" +case 130: + // line 1213 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((RefType)yyVals[0+yyTop]); } break; -case 129: - // line 1203 "./../src/mycompiler/myparser/JavaParser.jay" +case 131: + // line 1217 "./../src/mycompiler/myparser/JavaParser.jay" { ((RefType)yyVals[-2+yyTop]).setArray(true); } break; -case 130: - // line 1207 "./../src/mycompiler/myparser/JavaParser.jay" +case 132: + // line 1221 "./../src/mycompiler/myparser/JavaParser.jay" { FieldDeclaration IVD = new FieldDeclaration(((DeclId)yyVals[0+yyTop]).getOffset()); IVD.getDeclIdVector().addElement( ((DeclId)yyVals[0+yyTop]) ); @@ -1796,66 +1813,66 @@ case 130: yyVal = IVD; } break; -case 131: - // line 1214 "./../src/mycompiler/myparser/JavaParser.jay" +case 133: + // line 1228 "./../src/mycompiler/myparser/JavaParser.jay" { ((FieldDeclaration)yyVals[-2+yyTop]).getDeclIdVector().addElement(((DeclId)yyVals[0+yyTop])); yyVal=((FieldDeclaration)yyVals[-2+yyTop]); } break; -case 132: - // line 1220 "./../src/mycompiler/myparser/JavaParser.jay" +case 134: + // line 1234 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[0+yyTop]); } break; -case 133: - // line 1225 "./../src/mycompiler/myparser/JavaParser.jay" +case 135: + // line 1239 "./../src/mycompiler/myparser/JavaParser.jay" { Block Blstat = new Block(); Blstat.set_Statement(((Statement)yyVals[0+yyTop])); yyVal=Blstat; } break; -case 134: - // line 1232 "./../src/mycompiler/myparser/JavaParser.jay" +case 136: + // line 1246 "./../src/mycompiler/myparser/JavaParser.jay" { ((Block)yyVals[-1+yyTop]).set_Statement(((Statement)yyVals[0+yyTop])); yyVal=((Block)yyVals[-1+yyTop]); } break; -case 135: - // line 1238 "./../src/mycompiler/myparser/JavaParser.jay" +case 137: + // line 1252 "./../src/mycompiler/myparser/JavaParser.jay" { ParameterList PL = new ParameterList(); PL.set_AddParameter(((FormalParameter)yyVals[0+yyTop])); yyVal = PL; } break; -case 136: - // line 1244 "./../src/mycompiler/myparser/JavaParser.jay" +case 138: + // line 1258 "./../src/mycompiler/myparser/JavaParser.jay" { ((ParameterList)yyVals[-2+yyTop]).set_AddParameter(((FormalParameter)yyVals[0+yyTop])); yyVal = ((ParameterList)yyVals[-2+yyTop]); } break; -case 137: - // line 1250 "./../src/mycompiler/myparser/JavaParser.jay" +case 139: + // line 1264 "./../src/mycompiler/myparser/JavaParser.jay" { This THCON = new This(((Token)yyVals[-3+yyTop]).getOffset(),((Token)yyVals[-3+yyTop]).getLexem().length()); yyVal=THCON; } break; -case 138: - // line 1255 "./../src/mycompiler/myparser/JavaParser.jay" +case 140: + // line 1269 "./../src/mycompiler/myparser/JavaParser.jay" { This THCONargl = new This(((Token)yyVals[-4+yyTop]).getOffset(),((Token)yyVals[-4+yyTop]).getLexem().length()); THCONargl.set_ArgumentList(((ArgumentList)yyVals[-2+yyTop])); yyVal=THCONargl; } break; -case 139: - // line 1264 "./../src/mycompiler/myparser/JavaParser.jay" +case 141: + // line 1278 "./../src/mycompiler/myparser/JavaParser.jay" { RefType RT = new RefType(-1); RT.set_UsedId(((UsedId)yyVals[0+yyTop])); @@ -1863,16 +1880,16 @@ case 139: yyVal=RT; } break; -case 140: - // line 1271 "./../src/mycompiler/myparser/JavaParser.jay" +case 142: + // line 1285 "./../src/mycompiler/myparser/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()); yyVal=((RefType)yyVals[-2+yyTop]); } break; -case 141: - // line 1278 "./../src/mycompiler/myparser/JavaParser.jay" +case 143: + // line 1292 "./../src/mycompiler/myparser/JavaParser.jay" { Method met = new Method(((Token)yyVals[-2+yyTop]).getOffset()); /* #JB# 10.04.2005 */ @@ -1886,8 +1903,8 @@ case 141: yyVal = met; } break; -case 142: - // line 1291 "./../src/mycompiler/myparser/JavaParser.jay" +case 144: + // line 1305 "./../src/mycompiler/myparser/JavaParser.jay" { Method met_para = new Method(((Token)yyVals[-3+yyTop]).getOffset()); /* #JB# 10.04.2005 */ @@ -1902,8 +1919,8 @@ case 142: yyVal = met_para; } break; -case 143: - // line 1306 "./../src/mycompiler/myparser/JavaParser.jay" +case 145: + // line 1320 "./../src/mycompiler/myparser/JavaParser.jay" { BooleanType BT = new BooleanType(); /* #JB# 05.04.2005 */ @@ -1913,14 +1930,14 @@ case 143: yyVal=BT; } break; -case 144: - // line 1315 "./../src/mycompiler/myparser/JavaParser.jay" +case 146: + // line 1329 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((BaseType)yyVals[0+yyTop]); } break; -case 145: - // line 1321 "./../src/mycompiler/myparser/JavaParser.jay" +case 147: + // line 1335 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("T->Parser->referenctype: " + ((UsedId)yyVals[0+yyTop])); RefType RT = new RefType(((UsedId)yyVals[0+yyTop]).getOffset()); @@ -1939,26 +1956,26 @@ case 145: yyVal=RT; } break; -case 146: - // line 1341 "./../src/mycompiler/myparser/JavaParser.jay" +case 148: + // line 1355 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((DeclId)yyVals[0+yyTop]); } break; -case 147: - // line 1362 "./../src/mycompiler/myparser/JavaParser.jay" +case 149: + // line 1376 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((LocalVarDecl)yyVals[0+yyTop]); } break; -case 148: - // line 1366 "./../src/mycompiler/myparser/JavaParser.jay" +case 150: + // line 1380 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Statement)yyVals[0+yyTop]); } break; -case 149: - // line 1371 "./../src/mycompiler/myparser/JavaParser.jay" +case 151: + // line 1385 "./../src/mycompiler/myparser/JavaParser.jay" { FormalParameter FP = new FormalParameter(((DeclId)yyVals[0+yyTop])); FP.setType(((Type)yyVals[-1+yyTop])); @@ -1966,8 +1983,8 @@ case 149: yyVal=FP; } break; -case 150: - // line 1396 "./../src/mycompiler/myparser/JavaParser.jay" +case 152: + // line 1410 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("\nFunktionsdeklaration mit typlosen Parametern: " + ((DeclId)yyVals[0+yyTop]).name); @@ -1986,29 +2003,29 @@ case 150: yyVal=FP; } break; -case 151: - // line 1415 "./../src/mycompiler/myparser/JavaParser.jay" +case 153: + // line 1429 "./../src/mycompiler/myparser/JavaParser.jay" { ArgumentList AL = new ArgumentList(); AL.expr.addElement(((Expr)yyVals[0+yyTop])); yyVal=AL; } break; -case 152: - // line 1421 "./../src/mycompiler/myparser/JavaParser.jay" +case 154: + // line 1435 "./../src/mycompiler/myparser/JavaParser.jay" { ((ArgumentList)yyVals[-2+yyTop]).expr.addElement(((Expr)yyVals[0+yyTop])); yyVal=((ArgumentList)yyVals[-2+yyTop]); } break; -case 153: - // line 1427 "./../src/mycompiler/myparser/JavaParser.jay" +case 155: + // line 1441 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((BaseType)yyVals[0+yyTop]); } break; -case 154: - // line 1432 "./../src/mycompiler/myparser/JavaParser.jay" +case 156: + // line 1446 "./../src/mycompiler/myparser/JavaParser.jay" { DeclId DI = new DeclId(); /* #JB# 10.04.2005 */ @@ -2020,62 +2037,62 @@ case 154: yyVal=DI; } break; -case 155: - // line 1444 "./../src/mycompiler/myparser/JavaParser.jay" +case 157: + // line 1458 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 156: - // line 1449 "./../src/mycompiler/myparser/JavaParser.jay" +case 158: + // line 1463 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((LocalVarDecl)yyVals[-1+yyTop]); } break; -case 157: - // line 1454 "./../src/mycompiler/myparser/JavaParser.jay" +case 159: + // line 1468 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Statement)yyVals[0+yyTop]); } break; -case 158: - // line 1458 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((IfStmt)yyVals[0+yyTop]); - } - break; -case 159: - // line 1462 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((IfStmt)yyVals[0+yyTop]); - } - break; case 160: - // line 1466 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1472 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((IfStmt)yyVals[0+yyTop]); + } + break; +case 161: + // line 1476 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((IfStmt)yyVals[0+yyTop]); + } + break; +case 162: + // line 1480 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((WhileStmt)yyVals[0+yyTop]); } break; -case 161: - // line 1470 "./../src/mycompiler/myparser/JavaParser.jay" +case 163: + // line 1484 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((ForStmt)yyVals[0+yyTop]); } break; -case 162: - // line 1475 "./../src/mycompiler/myparser/JavaParser.jay" +case 164: + // line 1489 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 163: - // line 1479 "./../src/mycompiler/myparser/JavaParser.jay" +case 165: + // line 1493 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((NewClass)yyVals[0+yyTop]); } break; -case 164: - // line 1484 "./../src/mycompiler/myparser/JavaParser.jay" +case 166: + // line 1498 "./../src/mycompiler/myparser/JavaParser.jay" { IntegerType IT = new IntegerType(); /* #JB# 05.04.2005 */ @@ -2085,8 +2102,8 @@ case 164: yyVal=IT; } break; -case 165: - // line 1493 "./../src/mycompiler/myparser/JavaParser.jay" +case 167: + // line 1507 "./../src/mycompiler/myparser/JavaParser.jay" { CharacterType CT = new CharacterType(); /* #JB# 05.04.2005 */ @@ -2096,8 +2113,8 @@ case 165: yyVal=CT; } break; -case 166: - // line 1503 "./../src/mycompiler/myparser/JavaParser.jay" +case 168: + // line 1517 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("P -> Lokale Variable angelegt!"); LocalVarDecl LVD = new LocalVarDecl(((Type)yyVals[-1+yyTop]).getOffset(),((Type)yyVals[-1+yyTop]).getVariableLength()); @@ -2106,8 +2123,8 @@ case 166: yyVal = LVD; } break; -case 167: - // line 1514 "./../src/mycompiler/myparser/JavaParser.jay" +case 169: + // line 1528 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("P -> Lokale Variable angelegt!"); LocalVarDecl LVD = new LocalVarDecl(((FieldDeclaration)yyVals[0+yyTop]).getOffset(),((FieldDeclaration)yyVals[0+yyTop]).getVariableLength()); @@ -2116,32 +2133,32 @@ case 167: yyVal = LVD; } break; -case 168: - // line 1524 "./../src/mycompiler/myparser/JavaParser.jay" +case 170: + // line 1538 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[0+yyTop]); } break; -case 169: - // line 1528 "./../src/mycompiler/myparser/JavaParser.jay" +case 171: + // line 1542 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((EmptyStmt)yyVals[0+yyTop]); } break; -case 170: - // line 1532 "./../src/mycompiler/myparser/JavaParser.jay" +case 172: + // line 1546 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((ExprStmt)yyVals[0+yyTop]); } break; -case 171: - // line 1536 "./../src/mycompiler/myparser/JavaParser.jay" +case 173: + // line 1550 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Return)yyVals[0+yyTop]); } break; -case 172: - // line 1541 "./../src/mycompiler/myparser/JavaParser.jay" +case 174: + // line 1555 "./../src/mycompiler/myparser/JavaParser.jay" { IfStmt Ifst = new IfStmt(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); Ifst.set_Expr(((Expr)yyVals[-2+yyTop])); @@ -2149,8 +2166,8 @@ case 172: yyVal=Ifst; } break; -case 173: - // line 1549 "./../src/mycompiler/myparser/JavaParser.jay" +case 175: + // line 1563 "./../src/mycompiler/myparser/JavaParser.jay" { IfStmt IfstElst = new IfStmt(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength()); IfstElst.set_Expr(((Expr)yyVals[-4+yyTop])); @@ -2159,8 +2176,8 @@ case 173: yyVal=IfstElst; } break; -case 174: - // line 1558 "./../src/mycompiler/myparser/JavaParser.jay" +case 176: + // line 1572 "./../src/mycompiler/myparser/JavaParser.jay" { WhileStmt Whlst = new WhileStmt(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); Whlst.set_Expr(((Expr)yyVals[-2+yyTop])); @@ -2168,8 +2185,8 @@ case 174: yyVal=Whlst; } break; -case 175: - // line 1569 "./../src/mycompiler/myparser/JavaParser.jay" +case 177: + // line 1583 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-6+yyTop]).getOffset(),((Expr)yyVals[-6+yyTop]).getVariableLength()); Fst.set_head_Initializer(((Expr)yyVals[-6+yyTop])); @@ -2181,8 +2198,8 @@ case 175: yyVal = Fst; } break; -case 176: - // line 1581 "./../src/mycompiler/myparser/JavaParser.jay" +case 178: + // line 1595 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-5+yyTop]).getOffset(),((Expr)yyVals[-5+yyTop]).getVariableLength()); Fst.set_head_Initializer(((Expr)yyVals[-5+yyTop])); @@ -2193,8 +2210,8 @@ case 176: yyVal = Fst; } break; -case 177: - // line 1592 "./../src/mycompiler/myparser/JavaParser.jay" +case 179: + // line 1606 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-5+yyTop]).getOffset(),((Expr)yyVals[-5+yyTop]).getVariableLength()); Fst.set_head_Initializer(((Expr)yyVals[-5+yyTop])); @@ -2205,8 +2222,8 @@ case 177: yyVal = Fst; } break; -case 178: - // line 1603 "./../src/mycompiler/myparser/JavaParser.jay" +case 180: + // line 1617 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength()); Fst.set_head_Condition(((Expr)yyVals[-4+yyTop])); @@ -2217,8 +2234,8 @@ case 178: yyVal = Fst; } break; -case 179: - // line 1614 "./../src/mycompiler/myparser/JavaParser.jay" +case 181: + // line 1628 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength()); Fst.set_head_Initializer(((Expr)yyVals[-4+yyTop])); @@ -2228,8 +2245,8 @@ case 179: yyVal = Fst; } break; -case 180: - // line 1624 "./../src/mycompiler/myparser/JavaParser.jay" +case 182: + // line 1638 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-3+yyTop]).getOffset(),((Expr)yyVals[-3+yyTop]).getVariableLength()); Fst.set_head_Condition(((Expr)yyVals[-3+yyTop])); @@ -2239,8 +2256,8 @@ case 180: yyVal = Fst; } break; -case 181: - // line 1634 "./../src/mycompiler/myparser/JavaParser.jay" +case 183: + // line 1648 "./../src/mycompiler/myparser/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])); @@ -2250,8 +2267,8 @@ case 181: yyVal = Fst; } break; -case 182: - // line 1644 "./../src/mycompiler/myparser/JavaParser.jay" +case 184: + // line 1658 "./../src/mycompiler/myparser/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])); @@ -2260,73 +2277,73 @@ case 182: yyVal = Fst; } break; -case 183: - // line 1653 "./../src/mycompiler/myparser/JavaParser.jay" +case 185: + // line 1667 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("conditionalexpression"); yyVal=((Expr)yyVals[0+yyTop]); } break; -case 184: - // line 1658 "./../src/mycompiler/myparser/JavaParser.jay" +case 186: + // line 1672 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Assign)yyVals[0+yyTop]); } break; -case 185: - // line 1664 "./../src/mycompiler/myparser/JavaParser.jay" +case 187: + // line 1678 "./../src/mycompiler/myparser/JavaParser.jay" { EmptyStmt Empst = new EmptyStmt(); yyVal=Empst; } break; -case 186: - // line 1670 "./../src/mycompiler/myparser/JavaParser.jay" +case 188: + // line 1684 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[-1+yyTop]); } break; -case 187: - // line 1675 "./../src/mycompiler/myparser/JavaParser.jay" +case 189: + // line 1689 "./../src/mycompiler/myparser/JavaParser.jay" { Return ret = new Return(-1,-1); yyVal= ret; } break; -case 188: - // line 1680 "./../src/mycompiler/myparser/JavaParser.jay" +case 190: + // line 1694 "./../src/mycompiler/myparser/JavaParser.jay" { Return retexp = new Return(((Expr)yyVals[-1+yyTop]).getOffset(),((Expr)yyVals[-1+yyTop]).getVariableLength()); retexp.set_ReturnExpr(((Expr)yyVals[-1+yyTop])); yyVal=retexp; } break; -case 189: - // line 1687 "./../src/mycompiler/myparser/JavaParser.jay" +case 191: + // line 1701 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Statement)yyVals[0+yyTop]); } break; -case 190: - // line 1691 "./../src/mycompiler/myparser/JavaParser.jay" +case 192: + // line 1705 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((IfStmt)yyVals[0+yyTop]); } break; -case 191: - // line 1695 "./../src/mycompiler/myparser/JavaParser.jay" +case 193: + // line 1709 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((WhileStmt)yyVals[0+yyTop]); } break; -case 192: - // line 1700 "./../src/mycompiler/myparser/JavaParser.jay" +case 194: + // line 1714 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 193: - // line 1706 "./../src/mycompiler/myparser/JavaParser.jay" +case 195: + // line 1720 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("\nParser --> Zuweisung1!\n"); Assign Ass = new Assign(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); @@ -2352,8 +2369,8 @@ case 193: yyVal=Ass; } break; -case 194: - // line 1731 "./../src/mycompiler/myparser/JavaParser.jay" +case 196: + // line 1745 "./../src/mycompiler/myparser/JavaParser.jay" { Assign Ass =new Assign(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); LocalOrFieldVar LOFV = new LocalOrFieldVar(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); @@ -2376,44 +2393,44 @@ case 194: yyVal=Ass; } break; -case 195: - // line 1754 "./../src/mycompiler/myparser/JavaParser.jay" +case 197: + // line 1768 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Assign)yyVals[0+yyTop]); } break; -case 196: - // line 1758 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; -case 197: - // line 1762 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; case 198: - // line 1766 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1772 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 199: - // line 1770 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1776 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 200: - // line 1774 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1780 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; +case 201: + // line 1784 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; +case 202: + // line 1788 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((MethodCall)yyVals[0+yyTop]); } break; -case 201: - // line 1785 "./../src/mycompiler/myparser/JavaParser.jay" +case 203: + // line 1799 "./../src/mycompiler/myparser/JavaParser.jay" { IfStmt IfElno = new IfStmt(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength()); IfElno.set_Expr(((Expr)yyVals[-4+yyTop])); @@ -2422,8 +2439,8 @@ case 201: yyVal=IfElno; } break; -case 202: - // line 1794 "./../src/mycompiler/myparser/JavaParser.jay" +case 204: + // line 1808 "./../src/mycompiler/myparser/JavaParser.jay" { WhileStmt Whstno = new WhileStmt(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); Whstno.set_Expr(((Expr)yyVals[-2+yyTop])); @@ -2431,14 +2448,14 @@ case 202: yyVal=Whstno; } break; -case 203: - // line 1802 "./../src/mycompiler/myparser/JavaParser.jay" +case 205: + // line 1816 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 204: - // line 1806 "./../src/mycompiler/myparser/JavaParser.jay" +case 206: + // line 1820 "./../src/mycompiler/myparser/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()); @@ -2449,20 +2466,20 @@ case 204: yyVal=LogOr; } break; -case 205: - // line 1819 "./../src/mycompiler/myparser/JavaParser.jay" +case 207: + // line 1833 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=null; } break; -case 206: - // line 1824 "./../src/mycompiler/myparser/JavaParser.jay" +case 208: + // line 1838 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[0+yyTop]); } break; -case 207: - // line 1828 "./../src/mycompiler/myparser/JavaParser.jay" +case 209: + // line 1842 "./../src/mycompiler/myparser/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";}|*/ @@ -2472,20 +2489,20 @@ case 207: yyVal=ret; } break; -case 208: - // line 1838 "./../src/mycompiler/myparser/JavaParser.jay" +case 210: + // line 1852 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=null; } break; -case 209: - // line 1842 "./../src/mycompiler/myparser/JavaParser.jay" +case 211: + // line 1856 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((ParameterList)yyVals[-1+yyTop]); } break; -case 210: - // line 1847 "./../src/mycompiler/myparser/JavaParser.jay" +case 212: + // line 1861 "./../src/mycompiler/myparser/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])); @@ -2493,87 +2510,87 @@ case 210: yyVal=lambda; } break; -case 211: - // line 1866 "./../src/mycompiler/myparser/JavaParser.jay" +case 213: + // line 1880 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((UsedId)yyVals[0+yyTop]); } break; -case 212: - // line 1871 "./../src/mycompiler/myparser/JavaParser.jay" +case 214: + // line 1885 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=null; } break; -case 213: - // line 1875 "./../src/mycompiler/myparser/JavaParser.jay" +case 215: + // line 1889 "./../src/mycompiler/myparser/JavaParser.jay" { TimesOp TEO = new TimesOp(-1,-1); yyVal=TEO; } break; -case 214: - // line 1880 "./../src/mycompiler/myparser/JavaParser.jay" +case 216: + // line 1894 "./../src/mycompiler/myparser/JavaParser.jay" { DivideOp DEO = new DivideOp(-1,-1); yyVal=DEO; } break; -case 215: - // line 1885 "./../src/mycompiler/myparser/JavaParser.jay" +case 217: + // line 1899 "./../src/mycompiler/myparser/JavaParser.jay" { ModuloOp MEO = new ModuloOp(-1,-1); yyVal=MEO; } break; -case 216: - // line 1890 "./../src/mycompiler/myparser/JavaParser.jay" +case 218: + // line 1904 "./../src/mycompiler/myparser/JavaParser.jay" { PlusOp PEO = new PlusOp(-1,-1); yyVal=PEO; } break; -case 217: - // line 1895 "./../src/mycompiler/myparser/JavaParser.jay" +case 219: + // line 1909 "./../src/mycompiler/myparser/JavaParser.jay" { MinusOp MEO = new MinusOp(-1,-1); yyVal=MEO; } break; -case 218: - // line 1907 "./../src/mycompiler/myparser/JavaParser.jay" +case 220: + // line 1921 "./../src/mycompiler/myparser/JavaParser.jay" { PreIncExpr PRINC = new PreIncExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); PRINC.set_Expr(((Expr)yyVals[0+yyTop])); yyVal=PRINC; } break; -case 219: - // line 1914 "./../src/mycompiler/myparser/JavaParser.jay" +case 221: + // line 1928 "./../src/mycompiler/myparser/JavaParser.jay" { PreDecExpr PRDEC = new PreDecExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); PRDEC.set_Expr(((Expr)yyVals[0+yyTop])); yyVal=PRDEC; } break; -case 220: - // line 1921 "./../src/mycompiler/myparser/JavaParser.jay" +case 222: + // line 1935 "./../src/mycompiler/myparser/JavaParser.jay" { PostIncExpr PIE = new PostIncExpr(((Expr)yyVals[-1+yyTop]).getOffset(),((Expr)yyVals[-1+yyTop]).getVariableLength()); PIE.set_Expr(((Expr)yyVals[-1+yyTop])); yyVal=PIE; } break; -case 221: - // line 1928 "./../src/mycompiler/myparser/JavaParser.jay" +case 223: + // line 1942 "./../src/mycompiler/myparser/JavaParser.jay" { PostDecExpr PDE = new PostDecExpr(((Expr)yyVals[-1+yyTop]).getOffset(),((Expr)yyVals[-1+yyTop]).getVariableLength()); PDE.set_Expr(((Expr)yyVals[-1+yyTop])); yyVal=PDE; } break; -case 222: - // line 1936 "./../src/mycompiler/myparser/JavaParser.jay" +case 224: + // line 1950 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("M1"); MethodCall MC = new MethodCall(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); @@ -2604,8 +2621,8 @@ case 222: yyVal=MC; } break; -case 223: - // line 1966 "./../src/mycompiler/myparser/JavaParser.jay" +case 225: + // line 1980 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("M2"); MethodCall MCarg = new MethodCall(((UsedId)yyVals[-3+yyTop]).getOffset(),((UsedId)yyVals[-3+yyTop]).getVariableLength()); @@ -2637,8 +2654,8 @@ case 223: yyVal=MCarg; } break; -case 224: - // line 1997 "./../src/mycompiler/myparser/JavaParser.jay" +case 226: + // line 2011 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("M3"); MethodCall MCpr = new MethodCall(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength()); @@ -2658,8 +2675,8 @@ case 224: yyVal=MCpr; } break; -case 225: - // line 2016 "./../src/mycompiler/myparser/JavaParser.jay" +case 227: + // line 2030 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("M4"); MethodCall MCPA = new MethodCall(((Expr)yyVals[-5+yyTop]).getOffset(),((Expr)yyVals[-5+yyTop]).getVariableLength()); @@ -2680,8 +2697,8 @@ case 225: yyVal=MCPA; } break; -case 226: - // line 2039 "./../src/mycompiler/myparser/JavaParser.jay" +case 228: + // line 2053 "./../src/mycompiler/myparser/JavaParser.jay" { NewClass NC = new NewClass(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); NC.set_UsedId(((UsedId)yyVals[-2+yyTop])); @@ -2690,8 +2707,8 @@ case 226: yyVal=NC; } break; -case 227: - // line 2047 "./../src/mycompiler/myparser/JavaParser.jay" +case 229: + // line 2061 "./../src/mycompiler/myparser/JavaParser.jay" { NewClass NCarg = new NewClass(((UsedId)yyVals[-3+yyTop]).getOffset(),((UsedId)yyVals[-3+yyTop]).getVariableLength()); NCarg.set_UsedId(((UsedId)yyVals[-3+yyTop])); @@ -2701,14 +2718,14 @@ case 227: yyVal=NCarg; } break; -case 228: - // line 2057 "./../src/mycompiler/myparser/JavaParser.jay" +case 230: + // line 2071 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 229: - // line 2061 "./../src/mycompiler/myparser/JavaParser.jay" +case 231: + // line 2075 "./../src/mycompiler/myparser/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()); @@ -2719,20 +2736,20 @@ case 229: yyVal=And; } break; -case 230: - // line 2077 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; -case 231: - // line 2081 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; case 232: - // line 2085 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2091 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; +case 233: + // line 2095 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; +case 234: + // line 2099 "./../src/mycompiler/myparser/JavaParser.jay" { PositivExpr POSEX=new PositivExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); UnaryPlus UP= new UnaryPlus(); @@ -2741,8 +2758,8 @@ case 232: yyVal=POSEX; } break; -case 233: - // line 2093 "./../src/mycompiler/myparser/JavaParser.jay" +case 235: + // line 2107 "./../src/mycompiler/myparser/JavaParser.jay" { NegativeExpr NEGEX=new NegativeExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); UnaryMinus UM=new UnaryMinus(); @@ -2751,20 +2768,20 @@ case 233: yyVal=NEGEX; } break; -case 234: - // line 2101 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; -case 235: - // line 2106 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; case 236: - // line 2110 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2115 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; +case 237: + // line 2120 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; +case 238: + // line 2124 "./../src/mycompiler/myparser/JavaParser.jay" { if (((UsedId)yyVals[0+yyTop]).get_Name().size() > 1) { @@ -2783,38 +2800,38 @@ case 236: } } break; -case 237: - // line 2128 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; -case 238: - // line 2132 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; case 239: - // line 2137 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; -case 240: // line 2142 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; +case 240: + // line 2146 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; +case 241: + // line 2151 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; case 242: - // line 2148 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2156 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; +case 244: + // line 2162 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Literal)yyVals[0+yyTop]); } break; -case 243: - // line 2152 "./../src/mycompiler/myparser/JavaParser.jay" +case 245: + // line 2166 "./../src/mycompiler/myparser/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()); @@ -2823,24 +2840,24 @@ case 243: yyVal=T; } break; -case 244: - // line 2173 "./../src/mycompiler/myparser/JavaParser.jay" +case 246: + // line 2187 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((MethodCall)yyVals[0+yyTop]); } break; -case 245: - // line 2177 "./../src/mycompiler/myparser/JavaParser.jay" +case 247: + // line 2191 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 246: - // line 2182 "./../src/mycompiler/myparser/JavaParser.jay" +case 248: + // line 2196 "./../src/mycompiler/myparser/JavaParser.jay" {yyVal=((Expr)yyVals[0+yyTop]);} break; -case 247: - // line 2184 "./../src/mycompiler/myparser/JavaParser.jay" +case 249: + // line 2198 "./../src/mycompiler/myparser/JavaParser.jay" {NotExpr NE=new NotExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); UnaryNot UN=new UnaryNot(); NE.set_UnaryNot(UN); @@ -2848,75 +2865,75 @@ case 247: yyVal=NE; } break; -case 248: - // line 2190 "./../src/mycompiler/myparser/JavaParser.jay" +case 250: + // line 2204 "./../src/mycompiler/myparser/JavaParser.jay" {yyVal=((CastExpr)yyVals[0+yyTop]);} break; -case 249: - // line 2192 "./../src/mycompiler/myparser/JavaParser.jay" +case 251: + // line 2206 "./../src/mycompiler/myparser/JavaParser.jay" {yyVal=((Expr)yyVals[0+yyTop]);} break; -case 251: - // line 2197 "./../src/mycompiler/myparser/JavaParser.jay" +case 253: + // line 2211 "./../src/mycompiler/myparser/JavaParser.jay" {IntLiteral IL = new IntLiteral(); IL.set_Int(((Token)yyVals[0+yyTop]).String2Int()); yyVal = IL; } break; -case 252: - // line 2202 "./../src/mycompiler/myparser/JavaParser.jay" +case 254: + // line 2216 "./../src/mycompiler/myparser/JavaParser.jay" {BoolLiteral BL = new BoolLiteral(); BL.set_Bool(((Token)yyVals[0+yyTop]).String2Bool()); yyVal = BL; } break; -case 253: - // line 2206 "./../src/mycompiler/myparser/JavaParser.jay" +case 255: + // line 2220 "./../src/mycompiler/myparser/JavaParser.jay" {CharLiteral CL = new CharLiteral(); CL.set_Char(((Token)yyVals[0+yyTop]).CharInString()); yyVal=CL; } break; -case 254: - // line 2211 "./../src/mycompiler/myparser/JavaParser.jay" +case 256: + // line 2225 "./../src/mycompiler/myparser/JavaParser.jay" { StringLiteral ST = new StringLiteral(); ST.set_String(((Token)yyVals[0+yyTop]).get_String()); yyVal=ST; } break; -case 255: - // line 2216 "./../src/mycompiler/myparser/JavaParser.jay" +case 257: + // line 2230 "./../src/mycompiler/myparser/JavaParser.jay" { LongLiteral LL = new LongLiteral(); LL.set_Long(((Token)yyVals[0+yyTop]).String2Long()); yyVal = LL; } break; -case 256: - // line 2220 "./../src/mycompiler/myparser/JavaParser.jay" +case 258: + // line 2234 "./../src/mycompiler/myparser/JavaParser.jay" { FloatLiteral FL = new FloatLiteral(); FL.set_Float(((Token)yyVals[0+yyTop]).String2Float()); yyVal = FL; } break; -case 257: - // line 2225 "./../src/mycompiler/myparser/JavaParser.jay" +case 259: + // line 2239 "./../src/mycompiler/myparser/JavaParser.jay" { DoubleLiteral DL = new DoubleLiteral(); DL.set_Double(((Token)yyVals[0+yyTop]).String2Double()); yyVal = DL; } break; -case 258: - // line 2231 "./../src/mycompiler/myparser/JavaParser.jay" +case 260: + // line 2245 "./../src/mycompiler/myparser/JavaParser.jay" { Null NN = new Null(); yyVal=NN; } break; -case 259: - // line 2237 "./../src/mycompiler/myparser/JavaParser.jay" +case 261: + // line 2251 "./../src/mycompiler/myparser/JavaParser.jay" { CastExpr CaEx=new CastExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); CaEx.set_Type(((BaseType)yyVals[-2+yyTop])); @@ -2924,25 +2941,25 @@ case 259: yyVal=CaEx; } break; -case 260: - // line 2246 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; -case 261: - // line 2250 "./../src/mycompiler/myparser/JavaParser.jay" - { - } - break; case 262: - // line 2254 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2260 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 263: - // line 2258 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2264 "./../src/mycompiler/myparser/JavaParser.jay" + { + } + break; +case 264: + // line 2268 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; +case 265: + // line 2272 "./../src/mycompiler/myparser/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()); @@ -2953,8 +2970,8 @@ case 263: yyVal=EQ; } break; -case 264: - // line 2268 "./../src/mycompiler/myparser/JavaParser.jay" +case 266: + // line 2282 "./../src/mycompiler/myparser/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()); @@ -2965,14 +2982,14 @@ case 264: yyVal=NEQ; } break; -case 265: - // line 2279 "./../src/mycompiler/myparser/JavaParser.jay" +case 267: + // line 2293 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 266: - // line 2283 "./../src/mycompiler/myparser/JavaParser.jay" +case 268: + // line 2297 "./../src/mycompiler/myparser/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()); @@ -2983,8 +3000,8 @@ case 266: yyVal=LO; } break; -case 267: - // line 2293 "./../src/mycompiler/myparser/JavaParser.jay" +case 269: + // line 2307 "./../src/mycompiler/myparser/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()); @@ -2995,8 +3012,8 @@ case 267: yyVal=GO; } break; -case 268: - // line 2303 "./../src/mycompiler/myparser/JavaParser.jay" +case 270: + // line 2317 "./../src/mycompiler/myparser/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()); @@ -3007,8 +3024,8 @@ case 268: yyVal=LE; } break; -case 269: - // line 2313 "./../src/mycompiler/myparser/JavaParser.jay" +case 271: + // line 2327 "./../src/mycompiler/myparser/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()); @@ -3019,8 +3036,8 @@ case 269: yyVal=GE; } break; -case 270: - // line 2323 "./../src/mycompiler/myparser/JavaParser.jay" +case 272: + // line 2337 "./../src/mycompiler/myparser/JavaParser.jay" { InstanceOf ISO=new InstanceOf(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); ISO.set_Expr(((Expr)yyVals[-2+yyTop])); @@ -3028,20 +3045,20 @@ case 270: yyVal=ISO; } break; -case 271: - // line 2331 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; -case 272: - // line 2336 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; case 273: - // line 2340 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2345 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; +case 274: + // line 2350 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; +case 275: + // line 2354 "./../src/mycompiler/myparser/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()); @@ -3052,8 +3069,8 @@ case 273: yyVal=AD; } break; -case 274: - // line 2350 "./../src/mycompiler/myparser/JavaParser.jay" +case 276: + // line 2364 "./../src/mycompiler/myparser/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()); @@ -3064,14 +3081,14 @@ case 274: yyVal=MI; } break; -case 275: - // line 2361 "./../src/mycompiler/myparser/JavaParser.jay" +case 277: + // line 2375 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 276: - // line 2365 "./../src/mycompiler/myparser/JavaParser.jay" +case 278: + // line 2379 "./../src/mycompiler/myparser/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()); @@ -3082,8 +3099,8 @@ case 276: yyVal=ML; } break; -case 277: - // line 2375 "./../src/mycompiler/myparser/JavaParser.jay" +case 279: + // line 2389 "./../src/mycompiler/myparser/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()); @@ -3094,8 +3111,8 @@ case 277: yyVal = DV; } break; -case 278: - // line 2385 "./../src/mycompiler/myparser/JavaParser.jay" +case 280: + // line 2399 "./../src/mycompiler/myparser/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()); @@ -3106,7 +3123,7 @@ case 278: yyVal =MD; } break; - // line 3110 "-" + // line 3127 "-" } yyTop -= yyLen[yyN]; yyState = yyStates[yyTop]; @@ -3140,31 +3157,31 @@ case 278: 0, 98, 26, 26, 25, 92, 92, 27, 27, 105, 105, 23, 24, 24, 22, 1, 1, 1, 1, 1, 1, 1, 1, 9, 9, 8, 8, 2, 2, 2, - 2, 112, 112, 112, 112, 112, 112, 114, 114, 114, + 2, 112, 112, 112, 112, 112, 112, 115, 115, 115, 7, 7, 40, 40, 28, 32, 32, 3, 3, 33, 33, 15, 15, 41, 41, 41, 41, 41, 41, 29, - 4, 4, 31, 16, 16, 16, 30, 113, 113, 5, - 5, 17, 17, 110, 106, 106, 10, 6, 19, 19, - 11, 11, 11, 11, 11, 13, 42, 42, 107, 107, - 108, 108, 108, 108, 48, 94, 97, 97, 93, 93, - 95, 95, 96, 96, 12, 12, 12, 12, 12, 12, + 4, 4, 31, 16, 16, 16, 30, 113, 113, 114, + 114, 5, 5, 17, 17, 110, 106, 106, 10, 6, + 19, 19, 11, 11, 11, 11, 11, 13, 42, 42, + 107, 107, 108, 108, 108, 108, 48, 94, 97, 97, + 93, 93, 95, 95, 96, 96, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 39, 39, 39, 39, 18, - 18, 43, 44, 44, 50, 50, 109, 109, 38, 38, - 14, 14, 36, 36, 37, 20, 80, 80, 49, 49, - 103, 103, 35, 21, 78, 46, 81, 81, 81, 81, - 81, 71, 71, 34, 34, 47, 47, 79, 79, 79, - 79, 86, 87, 83, 84, 84, 84, 84, 84, 84, - 84, 84, 69, 69, 89, 77, 90, 90, 82, 82, - 82, 68, 99, 99, 72, 72, 72, 72, 72, 72, - 88, 85, 67, 67, 101, 45, 45, 51, 51, 70, - 102, 100, 100, 100, 100, 100, 100, 73, 74, 75, - 76, 104, 104, 104, 104, 91, 91, 66, 66, 57, - 57, 57, 57, 57, 55, 55, 55, 55, 54, 65, - 65, 53, 53, 53, 53, 56, 56, 56, 64, 64, - 52, 52, 52, 52, 52, 52, 52, 52, 111, 63, - 63, 62, 62, 62, 61, 61, 61, 61, 61, 61, - 60, 59, 59, 59, 58, 58, 58, 58, + 12, 12, 12, 12, 12, 12, 12, 39, 39, 39, + 39, 18, 18, 43, 44, 44, 50, 50, 109, 109, + 38, 38, 14, 14, 36, 36, 37, 20, 80, 80, + 49, 49, 103, 103, 35, 21, 78, 46, 81, 81, + 81, 81, 81, 71, 71, 34, 34, 47, 47, 79, + 79, 79, 79, 86, 87, 83, 84, 84, 84, 84, + 84, 84, 84, 84, 69, 69, 89, 77, 90, 90, + 82, 82, 82, 68, 99, 99, 72, 72, 72, 72, + 72, 72, 88, 85, 67, 67, 101, 45, 45, 51, + 51, 70, 102, 100, 100, 100, 100, 100, 100, 73, + 74, 75, 76, 104, 104, 104, 104, 91, 91, 66, + 66, 57, 57, 57, 57, 57, 55, 55, 55, 55, + 54, 65, 65, 53, 53, 53, 53, 56, 56, 56, + 64, 64, 52, 52, 52, 52, 52, 52, 52, 52, + 111, 63, 63, 62, 62, 62, 61, 61, 61, 61, + 61, 61, 60, 59, 59, 59, 58, 58, 58, 58, }; protected static final short yyLen [] = { 2, 1, 3, 1, 2, 3, 1, 2, 1, 1, 1, @@ -3173,1027 +3190,1023 @@ case 278: 5, 1, 4, 1, 3, 6, 3, 1, 3, 3, 2, 3, 1, 2, 2, 2, 3, 2, 3, 2, 3, 1, 2, 1, 1, 1, 1, 1, 1, 1, - 1, 2, 1, 1, 1, 1, 2, 0, 3, 1, - 1, 1, 1, 2, 2, 3, 6, 2, 4, 3, - 2, 2, 2, 3, 4, 2, 2, 3, 3, 4, - 2, 3, 3, 4, 2, 1, 1, 3, 1, 3, - 1, 3, 1, 3, 5, 2, 3, 6, 3, 6, - 4, 7, 2, 3, 3, 4, 5, 6, 6, 7, - 1, 4, 2, 2, 3, 1, 3, 1, 3, 1, - 3, 1, 1, 2, 1, 3, 4, 5, 1, 3, - 3, 4, 1, 1, 1, 1, 1, 1, 2, 1, - 1, 3, 1, 1, 1, 2, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, - 1, 5, 7, 5, 9, 8, 8, 8, 7, 7, - 7, 6, 1, 1, 1, 2, 2, 3, 1, 1, - 1, 1, 3, 3, 1, 1, 1, 1, 1, 1, - 7, 5, 1, 3, 1, 1, 1, 2, 3, 3, - 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, - 2, 3, 4, 5, 6, 4, 5, 1, 3, 1, - 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, - 3, 1, 1, 1, 1, 1, 2, 1, 1, 3, - 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, - 3, 1, 3, 3, 1, 3, 3, 3, 3, 3, - 1, 1, 3, 3, 1, 3, 3, 3, + 1, 2, 1, 1, 1, 1, 2, 1, 3, 0, + 3, 1, 1, 1, 1, 2, 2, 3, 6, 2, + 4, 3, 2, 2, 2, 3, 4, 2, 2, 3, + 3, 4, 2, 3, 3, 4, 2, 1, 1, 3, + 1, 3, 1, 3, 1, 3, 5, 2, 3, 6, + 3, 6, 4, 7, 2, 3, 3, 4, 5, 6, + 6, 7, 1, 4, 2, 2, 3, 1, 3, 1, + 3, 1, 3, 1, 1, 2, 1, 3, 4, 5, + 1, 3, 3, 4, 1, 1, 1, 1, 1, 1, + 2, 1, 1, 3, 1, 1, 1, 2, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, + 1, 1, 1, 5, 7, 5, 9, 8, 8, 8, + 7, 7, 7, 6, 1, 1, 1, 2, 2, 3, + 1, 1, 1, 1, 3, 3, 1, 1, 1, 1, + 1, 1, 7, 5, 1, 3, 1, 1, 1, 2, + 3, 3, 1, 1, 1, 1, 1, 1, 1, 2, + 2, 2, 2, 3, 4, 5, 6, 4, 5, 1, + 3, 1, 1, 2, 2, 1, 1, 1, 1, 1, + 1, 1, 3, 1, 1, 1, 1, 1, 2, 1, + 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, + 4, 1, 3, 1, 3, 3, 1, 3, 3, 3, + 3, 3, 1, 1, 3, 3, 1, 3, 3, 3, }; protected static final short yyDefRed [] = { 0, 58, 0, 59, 56, 55, 54, 0, 57, 0, 10, 11, 0, 43, 0, 6, 0, 0, 0, 0, 0, 0, 44, 7, 0, 0, 0, 0, 16, 0, 0, - 0, 0, 0, 28, 0, 0, 0, 0, 96, 97, - 0, 15, 0, 45, 60, 63, 46, 143, 165, 164, - 0, 0, 0, 0, 41, 72, 0, 73, 0, 0, - 52, 64, 0, 0, 0, 146, 0, 145, 153, 144, + 0, 0, 0, 28, 0, 0, 0, 0, 98, 99, + 0, 15, 0, 45, 60, 63, 46, 145, 167, 166, + 0, 0, 0, 0, 41, 74, 0, 75, 0, 0, + 52, 64, 0, 0, 0, 148, 0, 147, 155, 146, 0, 0, 0, 0, 66, 0, 65, 18, 0, 0, - 20, 0, 50, 0, 48, 0, 61, 71, 70, 0, + 20, 0, 50, 0, 48, 0, 61, 73, 72, 0, 0, 0, 0, 30, 17, 0, 0, 29, 0, 0, - 0, 27, 0, 67, 0, 74, 0, 0, 0, 103, - 0, 132, 86, 0, 124, 42, 53, 0, 83, 81, - 0, 0, 0, 0, 0, 0, 82, 0, 0, 0, - 0, 0, 0, 0, 0, 75, 22, 47, 25, 49, - 62, 78, 0, 51, 19, 0, 21, 31, 101, 0, - 98, 0, 0, 0, 34, 0, 0, 0, 243, 0, - 251, 255, 257, 256, 252, 258, 253, 254, 0, 0, - 0, 185, 87, 0, 0, 130, 0, 8, 0, 0, - 168, 0, 147, 0, 0, 242, 239, 0, 0, 245, - 0, 196, 197, 0, 0, 170, 157, 133, 148, 160, - 161, 158, 159, 169, 171, 195, 0, 0, 115, 141, - 150, 0, 135, 0, 0, 0, 139, 0, 154, 131, - 0, 0, 0, 0, 0, 9, 0, 234, 275, 0, - 0, 265, 0, 0, 0, 0, 0, 0, 0, 183, - 162, 80, 230, 231, 237, 238, 163, 184, 244, 248, - 89, 0, 127, 129, 109, 84, 0, 0, 0, 0, - 125, 0, 0, 0, 76, 0, 91, 0, 0, 0, - 23, 0, 0, 0, 0, 0, 69, 0, 0, 187, - 0, 0, 0, 218, 219, 208, 0, 0, 0, 0, - 88, 134, 156, 205, 0, 0, 220, 221, 186, 216, - 217, 213, 214, 215, 212, 0, 149, 0, 142, 104, - 0, 122, 0, 0, 0, 0, 232, 233, 247, 0, + 0, 27, 0, 67, 0, 76, 0, 0, 0, 105, + 0, 134, 88, 0, 126, 42, 53, 0, 85, 83, + 0, 0, 0, 0, 0, 0, 84, 0, 0, 0, + 0, 0, 0, 0, 0, 77, 22, 47, 25, 49, + 62, 80, 0, 51, 19, 0, 21, 31, 103, 0, + 100, 68, 0, 0, 0, 0, 245, 0, 253, 257, + 259, 258, 254, 260, 255, 256, 0, 0, 0, 187, + 89, 0, 0, 132, 0, 8, 0, 0, 170, 0, + 149, 0, 0, 244, 241, 0, 0, 247, 0, 198, + 199, 0, 0, 172, 159, 135, 150, 162, 163, 160, + 161, 171, 173, 197, 0, 0, 117, 143, 152, 0, + 137, 0, 0, 0, 141, 0, 156, 133, 0, 0, + 0, 0, 0, 9, 0, 236, 277, 0, 0, 267, + 0, 0, 0, 0, 0, 0, 0, 185, 164, 82, + 232, 233, 239, 240, 165, 186, 246, 250, 91, 0, + 129, 131, 111, 86, 0, 0, 0, 0, 127, 0, + 0, 0, 78, 0, 93, 0, 0, 0, 23, 0, + 0, 71, 0, 0, 189, 0, 0, 0, 220, 221, + 210, 0, 0, 0, 0, 90, 136, 158, 207, 0, + 0, 222, 223, 188, 218, 219, 215, 216, 217, 214, + 0, 151, 0, 144, 106, 0, 124, 0, 0, 0, + 0, 234, 235, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 90, 0, 0, 116, - 0, 111, 85, 0, 93, 92, 0, 0, 102, 0, - 39, 40, 0, 37, 0, 0, 0, 188, 0, 209, - 12, 222, 151, 0, 206, 210, 207, 0, 193, 194, - 136, 0, 0, 140, 0, 0, 276, 277, 278, 0, - 0, 270, 268, 269, 266, 267, 0, 0, 0, 0, - 0, 0, 0, 79, 0, 0, 0, 0, 94, 0, - 33, 0, 0, 0, 0, 0, 0, 0, 223, 0, - 119, 110, 226, 0, 259, 0, 0, 137, 0, 77, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 172, - 0, 191, 190, 174, 152, 224, 0, 227, 120, 112, - 138, 36, 182, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 225, 181, 180, 0, 179, 0, 0, 0, - 0, 0, 173, 178, 177, 176, 0, 0, 0, 175, - 0, 202, 0, 201, + 0, 92, 0, 0, 118, 0, 113, 87, 0, 95, + 94, 0, 0, 104, 69, 0, 0, 0, 190, 0, + 211, 12, 224, 153, 0, 208, 212, 209, 0, 195, + 196, 138, 0, 0, 142, 0, 0, 278, 279, 280, + 0, 0, 272, 270, 271, 268, 269, 0, 0, 0, + 0, 0, 0, 0, 81, 0, 0, 0, 0, 96, + 0, 0, 0, 0, 0, 0, 0, 225, 0, 121, + 112, 228, 0, 261, 0, 0, 139, 0, 79, 0, + 0, 0, 0, 0, 0, 0, 0, 174, 0, 193, + 192, 176, 154, 226, 0, 229, 122, 114, 140, 184, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 227, + 183, 182, 0, 181, 0, 0, 0, 0, 0, 175, + 180, 179, 178, 0, 0, 0, 177, 0, 204, 0, + 203, }; protected static final short yyDgoto [] = { 9, 10, 11, 34, 86, 87, 88, 28, 17, 19, 89, - 56, 57, 58, 59, 60, 61, 62, 175, 64, 176, - 66, 226, 178, 0, 0, 0, 179, 29, 44, 68, - 47, 30, 35, 69, 70, 71, 72, 218, 180, 12, - 13, 181, 113, 182, 366, 183, 184, 115, 213, 287, - 185, 186, 187, 188, 227, 228, 229, 230, 231, 232, - 233, 234, 235, 236, 237, 238, 239, 240, 241, 190, - 363, 191, 243, 244, 245, 246, 196, 0, 197, 198, - 199, 431, 200, 201, 432, 202, 203, 433, 204, 205, - 247, 14, 39, 40, 150, 111, 41, 0, 248, 306, - 295, 207, 364, 249, 15, 75, 76, 136, 269, 77, - 250, 154, 104, 155, + 56, 57, 58, 59, 60, 61, 62, 173, 64, 174, + 66, 224, 176, 0, 0, 0, 177, 29, 44, 68, + 47, 30, 35, 69, 70, 71, 72, 216, 178, 12, + 13, 179, 113, 180, 357, 181, 182, 115, 211, 282, + 183, 184, 185, 186, 225, 226, 227, 228, 229, 230, + 231, 232, 233, 234, 235, 236, 237, 238, 239, 188, + 354, 189, 241, 242, 243, 244, 194, 0, 195, 196, + 197, 419, 198, 199, 420, 200, 201, 421, 202, 203, + 245, 14, 39, 40, 150, 111, 41, 0, 246, 301, + 290, 205, 355, 247, 15, 75, 76, 136, 267, 77, + 248, 0, 153, 104, 0, }; - protected static final short yySindex [] = { 363, - 0, -245, 0, 0, 0, 0, -200, 0, 0, 0, - 0, 431, 0, 363, 0, 88, -114, 132, -80, -245, - -200, 0, 0, -81, -74, -74, 3463, 0, -98, 5, - -81, -74, 3508, 0, 8, -114, -80, -54, 0, 0, - 9, 0, 171, 0, 0, 0, 0, 0, 0, 0, - 123, -34, 211, -81, 0, 0, 123, 0, 11, 3543, - 0, 0, 118, 203, 228, 0, 87, 0, 0, 0, - 222, 268, 312, 747, 0, 238, 0, 0, 5, -74, - 0, 22, 0, 211, 0, 3571, 0, 0, 0, 307, - -34, 747, -74, 0, 0, -98, 5, 0, 8, -74, - -81, 0, -62, 0, 3073, 0, 211, 11, -30, 0, - 74, 0, 0, -74, 0, 0, 0, 69, 0, 0, - 997, -24, 282, 291, 11, 139, 0, 322, 69, -34, - -81, 11, 84, 238, 3155, 0, 0, 0, 0, 0, - 0, 0, 89, 0, 0, 5, 0, 0, 0, 355, - 0, 343, -64, 95, 0, 366, 368, 478, 0, 373, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, - 101, 0, 0, -6, 361, 0, 171, 0, 115, 69, - 0, 3264, 0, 356, 91, 0, 0, 370, 47, 0, - 359, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -41, 0, 0, 0, - 0, 69, 0, 26, -81, 159, 0, 380, 0, 0, - -74, -6, 101, 101, 101, 0, 47, 0, 0, 274, - 305, 0, 25, 10, 389, 337, 304, 131, 133, 0, + protected static final short yySindex [] = { 350, + 0, -263, 0, 0, 0, 0, -230, 0, 0, 0, + 0, 548, 0, 350, 0, 29, -99, 61, -92, -263, + -230, 0, 0, -155, -133, -133, 3458, 0, -89, -9, + -155, -133, 3503, 0, -7, -99, -92, -93, 0, 0, + 3, 0, 144, 0, 0, 0, 0, 0, 0, 0, + 88, -85, 193, -155, 0, 0, 88, 0, -42, 3538, + 0, 0, 143, 212, 211, 0, 73, 0, 0, 0, + 187, 188, 276, 396, 0, 174, 0, 0, -9, -133, + 0, 127, 0, 193, 0, 3566, 0, 0, 0, 243, + -85, 396, -133, 0, 0, -89, -9, 0, -7, -133, + -155, 0, 296, 0, 3068, 0, 193, -42, -39, 0, + 137, 0, 0, -133, 0, 0, 0, 21, 0, 0, + 992, -28, 242, 273, -42, 150, 0, 275, 21, -85, + -155, -42, 71, 174, 3150, 0, 0, 0, 0, 0, + 0, 0, 86, 0, 0, -9, 0, 0, 0, 266, + 0, 0, 177, 334, 336, 597, 0, 351, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1039, 1039, 0, + 0, -13, 361, 0, 144, 0, 91, 21, 0, 3259, + 0, 335, 89, 0, 0, 376, -248, 0, 378, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 255, 0, 0, 0, 0, 997, 390, 11, 141, - 0, 211, 11, 181, 0, 416, 0, 3318, 3366, 36, - 0, -74, -62, -74, -74, -37, 0, 528, 997, 0, - 400, 997, 115, 0, 0, 0, 266, 165, 461, 361, - 0, 0, 0, 0, 560, 166, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 997, 0, 321, 0, 0, - -34, 0, -34, -74, 428, 41, 0, 0, 0, 101, - 101, 101, 101, 101, -74, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 0, 0, 997, 0, - 187, 0, 0, 681, 0, 0, 3418, 997, 0, 147, - 0, 0, 409, 0, 757, 415, 434, 0, 435, 0, - 0, 0, 0, 289, 0, 0, 0, 439, 0, 0, - 0, 11, 11, 0, 800, 101, 0, 0, 0, 274, - 274, 0, 0, 0, 0, 0, 25, 25, 10, 389, - 337, 304, 131, 0, -34, -34, 421, 290, 0, 424, - 0, -62, 839, 427, 871, 1051, 1595, 997, 0, 898, - 0, 0, 0, 297, 0, 11, 11, 0, 430, 0, - 150, 1595, 449, 926, 953, 432, 455, 460, 0, 0, - 245, 0, 0, 0, 0, 0, 308, 0, 0, 0, - 0, 0, 0, 1595, 1595, 464, 1595, 469, 970, 997, - 997, 1595, 0, 0, 0, 1595, 0, 1595, 1595, 475, - 476, 485, 0, 0, 0, 0, 1595, 1051, 1051, 0, - 262, 0, 1051, 0, + 0, 0, 0, 0, 117, 0, 0, 0, 0, 21, + 0, 53, -155, 186, 0, 391, 0, 0, -133, -13, + 1039, 1039, 1039, 0, -248, 0, 0, 399, 303, 0, + -3, 23, 401, 353, 321, 151, 155, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 339, + 0, 0, 0, 0, 992, 403, -42, 181, 0, 193, + -42, 259, 0, 422, 0, 3313, 3361, 22, 0, -133, + 296, 0, 624, 992, 0, 412, 992, 91, 0, 0, + 0, 341, 171, 651, 361, 0, 0, 0, 0, 668, + 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 992, 0, 299, 0, 0, -85, 0, -85, -133, 444, + 15, 0, 0, 0, 1039, 1039, 1039, 1039, 1039, -133, + 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, + 1039, 0, 0, 992, 0, 236, 0, 0, 695, 0, + 0, 3413, 992, 0, 0, 722, 426, 447, 0, 448, + 0, 0, 0, 0, 354, 0, 0, 0, 451, 0, + 0, 0, -42, -42, 0, 752, 1039, 0, 0, 0, + 399, 399, 0, 0, 0, 0, 0, -3, -3, 23, + 401, 353, 321, 151, 0, -85, -85, 436, 365, 0, + 437, 769, 440, 814, 1100, 1590, 992, 0, 867, 0, + 0, 0, 373, 0, -42, -42, 0, 449, 0, 1590, + 472, 894, 938, 455, 475, 480, 0, 0, 261, 0, + 0, 0, 0, 0, 382, 0, 0, 0, 0, 0, + 1590, 1590, 490, 1590, 494, 965, 992, 992, 1590, 0, + 0, 0, 1590, 0, 1590, 1590, 499, 504, 505, 0, + 0, 0, 0, 1590, 1100, 1100, 0, 269, 0, 1100, + 0, }; protected static final short yyRindex [] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 532, 0, -110, 0, -78, 0, 0, + 0, 0, 0, 549, 0, -96, 0, -83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 179, 0, 0, - 0, 0, 1270, 0, 0, 0, 0, 0, 0, 0, - 1977, 0, 690, 0, 0, 0, 0, 0, -13, 0, - 0, 0, 0, 0, 244, 0, -29, 0, 0, 0, - 334, 344, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -52, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 230, 0, 0, + 0, 0, 1265, 0, 0, 0, 0, 0, 0, 0, + 495, 0, -38, 0, 0, 0, 0, 0, 17, 0, + 0, 0, 0, 0, 271, 0, 286, 0, 0, 0, + 126, 166, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 15, 0, 0, 244, 0, 0, - 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 186, - 0, 193, 242, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 156, 0, - 0, 0, 0, 0, 479, 0, 402, 0, 619, 0, - 0, 0, 0, 0, 0, 0, 0, 1325, 0, 0, - 0, 0, 0, -27, -25, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -43, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, - 0, 0, 0, 0, 0, 0, 3209, 0, 0, 2849, - 2233, 0, 2429, 2484, 1379, 1433, 1684, 1738, 1776, 0, + 0, 0, 0, 0, 27, 0, 0, 271, 0, 0, + 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, - 0, 247, 37, 0, 0, -39, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 409, 0, 0, 0, + 0, 0, 492, 0, 208, 0, 561, 0, 0, 0, + 0, 0, 0, 0, 0, 1320, 0, 0, 0, 0, + 0, -58, -52, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -27, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, + 0, 0, 0, 0, 3204, 0, 0, 2844, 2228, 0, + 2424, 2479, 1374, 1428, 1679, 1733, 1771, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1813, 0, 0, 0, 0, 0, 0, 480, + 0, 0, 0, 0, 0, 0, 75, 0, 0, 272, + 83, 0, 0, -43, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1808, 0, 0, + 0, 0, 0, 0, 497, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 239, 0, 0, 0, 0, + 262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1240, 0, 0, + 0, 0, 1235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 53, 55, 0, 0, 0, 0, 0, 0, 2903, - 2958, 0, 0, 0, 0, 0, 2598, 2789, 2538, 1873, - 2064, 2124, 2178, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 84, 85, 0, 0, 0, 0, 0, 0, + 2898, 2953, 0, 0, 0, 0, 0, 2593, 2784, 2533, + 1868, 2059, 2119, 2173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 56, 63, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 3019, 0, + 0, 0, 0, 0, 95, 115, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, + 0, }; protected static final short yyGindex [] = { 0, - 0, 0, 24, 0, 459, 0, 28, 526, 533, 0, - 0, 70, 0, -50, 0, 487, 0, 38, 486, 77, - -82, 524, 0, 0, 0, 0, 1131, 522, -95, -20, - 49, 39, 525, 0, 0, 341, -67, 0, -23, 73, - 17, -36, 0, -99, 0, 0, 0, -94, 257, 102, - 0, 0, 0, 0, -105, 0, 365, 13, 0, -2, - 48, 237, 249, 265, 256, 236, 0, 0, 272, 0, - 246, 0, -87, -33, -15, 40, 0, 0, -352, -160, - 1343, -176, 0, 0, 0, 0, 0, 0, 0, 0, - 301, 0, -26, 508, 0, 481, 549, 0, 75, 0, - 0, 0, -297, 108, 597, 0, 540, 489, 0, 0, - 0, -229, 0, 339, + 0, 0, 37, 0, 476, 0, 51, 544, 553, 0, + 0, 55, 0, -23, 0, 515, 0, 18, 503, 6, + -5, 479, 0, 0, 0, 0, 1432, 542, -97, -16, + 12, 13, 543, 0, 0, 363, -80, 0, -19, 279, + 34, -46, 0, -109, 0, 0, 0, 7, 278, 202, + 0, 0, 0, 0, -105, 0, -57, -190, 0, 245, + -84, 258, 263, 257, 260, 264, 0, 0, 288, 0, + -117, 0, -87, -53, -35, 20, 0, 0, -337, -165, + 1791, -123, 0, 0, 0, 0, 0, 0, 0, 0, + 291, 0, -29, 493, 0, 465, 578, 0, 47, 0, + 0, 0, -303, 87, 596, 0, 537, 478, 0, 0, + 0, 0, 0, 0, 0, }; - protected static final short yyTable [] = { 189, - 153, 108, 244, 73, 45, 46, 243, 15, 27, 91, - 210, 46, 26, 209, 106, 200, 251, 192, 217, 305, - 112, 292, 125, 132, 27, 153, 211, 110, 22, 189, - 255, 198, 149, 199, 286, 268, 73, 261, 15, 211, - 125, 132, 33, 350, 24, 121, 398, 192, 80, 129, - 133, 93, 101, 429, 113, 16, 78, 81, 94, 46, - 98, 68, 91, 95, 63, 101, 309, 79, 143, 308, - 102, 193, 46, 106, 97, 109, 189, 414, 123, 259, - 83, 376, 263, 139, 328, 212, 329, 95, 114, 194, - 22, 211, 263, 45, 192, 107, 348, 63, 212, 74, - 18, 193, 90, 65, 110, 92, 137, 292, 22, 121, - 126, 117, 437, 105, 118, 429, 429, 215, 113, 194, - 429, 108, 148, 145, 147, 315, 122, 27, 138, 307, - 33, 123, 74, 225, 146, 216, 65, 106, 276, 211, - 222, 144, 123, 223, 195, 224, 103, 24, 193, 128, - 212, 95, 114, 25, 289, 90, 277, 26, 92, 107, - 288, 118, 189, 189, 340, 312, 194, 26, 342, 347, - 264, 26, 421, 271, 195, 117, 119, 105, 118, 206, - 192, 192, 118, 26, 215, 108, 292, 32, 310, 24, - 276, 31, 313, 276, 220, 15, 154, 256, 212, 154, - 45, 15, 341, 274, 349, 258, 351, 352, 401, 206, - 214, 442, 208, 100, 154, 15, 15, 290, 374, 38, - 275, 195, 99, 252, 118, 211, 42, 48, 68, 100, - 103, 49, 68, 48, 193, 193, 32, 49, 152, 343, - 99, 189, 208, 50, 68, 105, 15, 100, 15, 50, - 109, 48, 194, 194, 32, 49, 206, 382, 365, 192, - 372, 120, 373, 353, 244, 244, 107, 50, 243, 243, - 169, 68, 300, 301, 302, 303, 169, 411, 412, 304, - 237, 237, 238, 238, 212, 38, 35, 130, 121, 208, - 154, 471, 472, 45, 169, 337, 474, 325, 308, 114, - 189, 189, 130, 38, 35, 154, 360, 195, 195, 308, - 322, 330, 123, 193, 331, 320, 189, 396, 192, 192, - 321, 439, 440, 383, 384, 385, 386, 326, 327, 409, - 419, 194, 408, 408, 192, 380, 381, 438, 189, 189, - 408, 189, 206, 206, 416, 417, 189, 323, 453, 324, - 189, 408, 189, 189, 297, 298, 192, 192, 124, 192, - 135, 189, 189, 189, 192, 142, 242, 189, 192, 219, - 192, 192, 193, 193, 253, 208, 208, 387, 388, 192, - 192, 192, 257, 254, 262, 192, 195, 159, 193, 270, - 194, 194, 272, 161, 162, 163, 164, 165, 166, 167, - 168, 42, 273, 281, 118, 278, 194, 279, 170, 171, - 193, 193, 282, 193, 293, 296, 48, 299, 193, 294, - 49, 206, 193, 314, 193, 193, 332, 334, 194, 194, - 333, 194, 50, 193, 193, 193, 194, 335, 336, 193, - 194, 9, 194, 194, 48, 195, 195, 9, 49, 311, - 339, 194, 194, 194, 208, 344, 15, 194, 358, 84, - 50, 195, 9, 15, 15, 361, 368, 375, 402, 15, - 15, 15, 15, 405, 406, 407, 15, 395, 410, 418, - 206, 206, 420, 195, 195, 424, 195, 42, 441, 444, - 449, 195, 68, 225, 450, 195, 206, 195, 195, 451, - 222, 362, 338, 223, 456, 224, 195, 195, 195, 458, - 225, 452, 195, 208, 208, 467, 468, 222, 206, 206, - 223, 206, 224, 356, 357, 469, 206, 359, 473, 208, - 206, 1, 206, 206, 284, 285, 280, 167, 166, 126, - 367, 206, 206, 206, 141, 36, 117, 206, 43, 43, - 67, 208, 208, 37, 208, 43, 43, 96, 127, 208, - 225, 99, 316, 208, 371, 208, 208, 222, 389, 48, - 223, 393, 224, 49, 208, 208, 208, 369, 48, 82, - 208, 390, 49, 67, 394, 50, 355, 317, 318, 319, - 392, 126, 225, 400, 50, 126, 43, 67, 391, 222, - 404, 128, 223, 43, 224, 128, 370, 126, 151, 43, - 23, 260, 53, 134, 354, 43, 43, 128, 0, 1, - 0, 169, 265, 43, 0, 2, 0, 0, 177, 0, - 0, 3, 43, 0, 126, 0, 0, 43, 4, 5, - 6, 0, 0, 7, 128, 43, 8, 0, 423, 0, - 426, 0, 0, 435, 0, 236, 236, 0, 177, 236, - 236, 236, 236, 236, 0, 236, 0, 0, 0, 446, - 448, 0, 0, 0, 0, 0, 0, 236, 236, 211, - 236, 0, 105, 0, 377, 378, 379, 1, 0, 0, - 0, 0, 0, 20, 460, 461, 462, 43, 0, 3, - 0, 0, 68, 0, 0, 177, 4, 5, 6, 9, - 9, 21, 236, 225, 8, 9, 9, 9, 9, 0, - 222, 397, 9, 223, 0, 224, 0, 0, 0, 0, - 0, 0, 0, 154, 0, 221, 0, 0, 0, 43, - 415, 0, 236, 236, 43, 43, 0, 159, 154, 15, - 154, 0, 221, 161, 162, 163, 164, 165, 166, 167, - 168, 42, 0, 0, 159, 0, 0, 0, 170, 171, - 161, 162, 163, 164, 165, 166, 167, 168, 42, 0, - 15, 0, 0, 0, 0, 170, 171, 0, 0, 225, - 0, 177, 177, 0, 0, 43, 222, 43, 43, 223, - 0, 224, 221, 0, 0, 0, 131, 0, 0, 0, - 0, 0, 0, 0, 159, 403, 0, 0, 0, 0, - 161, 162, 163, 164, 165, 166, 167, 168, 42, 0, - 0, 43, 225, 0, 221, 170, 171, 43, 0, 222, - 413, 0, 223, 0, 224, 0, 159, 0, 43, 0, - 0, 0, 161, 162, 163, 164, 165, 166, 167, 168, - 42, 0, 0, 0, 43, 0, 0, 170, 171, 0, - 177, 225, 0, 0, 0, 236, 236, 0, 222, 422, - 236, 223, 0, 224, 0, 0, 0, 236, 0, 0, - 0, 236, 236, 0, 236, 236, 236, 0, 0, 0, - 0, 0, 236, 225, 0, 0, 0, 0, 0, 236, - 222, 0, 0, 223, 0, 224, 0, 0, 0, 236, - 236, 236, 236, 236, 236, 236, 236, 236, 0, 425, - 225, 0, 211, 211, 211, 211, 0, 222, 436, 211, - 223, 0, 224, 0, 0, 0, 0, 15, 0, 0, - 0, 15, 0, 0, 0, 221, 0, 0, 225, 0, - 0, 0, 0, 15, 0, 222, 445, 159, 223, 0, - 224, 0, 0, 161, 162, 163, 164, 165, 166, 167, - 168, 42, 0, 0, 0, 225, 0, 0, 170, 171, - 15, 0, 222, 447, 0, 223, 0, 224, 0, 0, - 0, 0, 225, 1, 48, 0, 0, 0, 49, 222, - 459, 0, 223, 0, 224, 3, 0, 0, 0, 0, - 50, 0, 4, 5, 6, 0, 0, 0, 0, 225, - 8, 221, 0, 0, 0, 0, 222, 130, 0, 223, - 0, 224, 0, 159, 0, 0, 0, 84, 0, 161, - 162, 163, 164, 165, 166, 167, 168, 42, 0, 0, - 0, 0, 0, 0, 170, 171, 0, 0, 0, 0, - 0, 0, 0, 0, 221, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 159, 0, 0, 0, - 174, 0, 161, 162, 163, 164, 165, 166, 167, 168, - 42, 0, 0, 0, 0, 0, 0, 170, 171, 172, - 0, 0, 0, 221, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 159, 0, 0, 0, 0, - 0, 161, 162, 163, 164, 165, 166, 167, 168, 42, - 0, 0, 0, 0, 0, 221, 170, 171, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 159, 0, 0, - 0, 0, 0, 161, 162, 163, 164, 165, 166, 167, - 168, 42, 221, 105, 0, 0, 0, 0, 170, 171, - 0, 0, 0, 0, 159, 0, 0, 0, 0, 0, - 161, 162, 163, 164, 165, 166, 167, 168, 42, 0, - 221, 0, 0, 0, 0, 170, 171, 0, 0, 0, - 0, 0, 159, 0, 0, 0, 0, 0, 161, 162, - 163, 164, 165, 166, 167, 168, 42, 221, 0, 0, - 0, 0, 0, 170, 171, 0, 0, 0, 0, 159, - 0, 0, 0, 0, 221, 161, 162, 163, 164, 165, - 166, 167, 168, 42, 0, 0, 159, 0, 0, 0, - 170, 171, 161, 162, 163, 164, 165, 166, 167, 168, - 42, 221, 0, 0, 0, 0, 0, 170, 171, 0, - 0, 0, 0, 159, 0, 0, 0, 0, 0, 161, - 162, 163, 164, 165, 166, 167, 168, 42, 79, 80, - 283, 283, 0, 0, 170, 171, 68, 68, 0, 68, - 68, 68, 68, 68, 68, 68, 68, 0, 0, 0, - 0, 156, 427, 0, 0, 0, 0, 0, 68, 0, - 0, 68, 0, 158, 0, 0, 0, 159, 0, 0, - 0, 0, 428, 161, 162, 163, 164, 165, 166, 167, - 168, 42, 0, 283, 283, 283, 0, 0, 170, 171, - 68, 235, 235, 68, 80, 235, 235, 235, 235, 235, - 0, 235, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 235, 235, 0, 235, 0, 0, 0, - 0, 0, 68, 68, 68, 0, 0, 0, 0, 0, + protected static final short yyTable [] = { 187, + 200, 208, 245, 240, 106, 156, 201, 73, 45, 46, + 112, 15, 249, 91, 287, 46, 215, 190, 246, 149, + 156, 15, 156, 27, 110, 266, 26, 281, 108, 187, + 33, 202, 65, 27, 80, 389, 93, 16, 276, 24, + 73, 79, 15, 83, 63, 22, 101, 190, 97, 125, + 132, 191, 15, 129, 133, 367, 323, 417, 324, 292, + 293, 109, 403, 46, 102, 65, 91, 125, 132, 192, + 18, 94, 143, 98, 187, 123, 46, 63, 128, 78, + 81, 191, 343, 152, 115, 108, 95, 90, 24, 210, + 126, 138, 190, 304, 125, 425, 303, 45, 97, 192, + 287, 110, 210, 209, 144, 123, 257, 22, 146, 261, + 279, 280, 122, 27, 207, 33, 209, 417, 417, 261, + 31, 310, 417, 218, 193, 22, 191, 371, 372, 137, + 284, 253, 103, 116, 256, 148, 283, 333, 259, 123, + 90, 109, 119, 107, 192, 38, 145, 147, 115, 108, + 262, 204, 210, 120, 193, 347, 348, 342, 125, 350, + 187, 187, 97, 312, 313, 314, 209, 42, 25, 128, + 101, 26, 358, 110, 100, 32, 287, 300, 190, 190, + 213, 204, 26, 305, 24, 26, 118, 128, 139, 344, + 307, 206, 26, 118, 308, 285, 269, 116, 214, 193, + 210, 119, 45, 103, 302, 109, 119, 107, 254, 130, + 105, 365, 191, 191, 209, 107, 385, 120, 48, 15, + 271, 206, 49, 15, 213, 391, 204, 130, 393, 48, + 192, 192, 109, 49, 50, 15, 187, 110, 272, 373, + 378, 379, 336, 356, 48, 50, 114, 9, 49, 239, + 239, 345, 15, 9, 190, 240, 240, 368, 369, 370, + 50, 167, 15, 335, 245, 245, 206, 337, 9, 320, + 120, 121, 167, 101, 411, 102, 414, 123, 124, 423, + 246, 246, 363, 210, 364, 193, 193, 167, 191, 187, + 187, 101, 45, 102, 433, 435, 135, 209, 70, 321, + 322, 142, 118, 270, 187, 74, 192, 190, 190, 404, + 212, 92, 204, 204, 132, 156, 387, 338, 447, 448, + 449, 217, 190, 250, 325, 187, 187, 326, 187, 132, + 156, 458, 459, 187, 251, 255, 461, 187, 74, 187, + 187, 191, 191, 190, 190, 318, 190, 319, 187, 187, + 187, 190, 206, 206, 187, 190, 191, 190, 190, 192, + 192, 193, 405, 406, 92, 252, 190, 190, 190, 400, + 401, 260, 190, 273, 192, 274, 70, 191, 191, 332, + 191, 351, 303, 128, 303, 191, 268, 128, 204, 191, + 277, 191, 191, 288, 398, 192, 192, 397, 192, 128, + 191, 191, 191, 192, 118, 408, 191, 192, 397, 192, + 192, 427, 428, 426, 193, 193, 397, 289, 192, 192, + 192, 291, 440, 130, 192, 397, 128, 130, 206, 193, + 295, 296, 297, 298, 309, 317, 294, 299, 327, 130, + 315, 204, 204, 48, 329, 316, 328, 49, 15, 156, + 193, 193, 156, 193, 15, 131, 204, 330, 193, 50, + 331, 339, 193, 334, 193, 193, 130, 156, 15, 15, + 349, 352, 359, 193, 193, 193, 306, 204, 204, 193, + 204, 206, 206, 366, 394, 204, 84, 395, 396, 204, + 399, 204, 204, 48, 407, 409, 206, 49, 412, 15, + 204, 204, 204, 43, 43, 67, 204, 429, 70, 50, + 43, 43, 431, 436, 437, 9, 9, 206, 206, 438, + 206, 9, 9, 9, 9, 206, 386, 439, 9, 206, + 443, 206, 206, 48, 445, 460, 42, 49, 67, 454, + 206, 206, 206, 70, 455, 456, 206, 70, 1, 50, + 169, 43, 67, 48, 57, 168, 48, 49, 43, 70, + 49, 141, 128, 36, 43, 374, 375, 376, 377, 50, + 43, 43, 50, 37, 117, 127, 53, 96, 43, 99, + 362, 43, 311, 175, 380, 382, 70, 43, 360, 383, + 381, 361, 43, 151, 384, 258, 42, 238, 238, 167, + 43, 238, 238, 238, 238, 238, 1, 238, 82, 23, + 134, 263, 2, 175, 0, 0, 0, 0, 3, 238, + 238, 213, 238, 0, 0, 4, 5, 6, 0, 223, + 7, 0, 0, 8, 0, 0, 220, 0, 0, 221, + 0, 222, 0, 0, 0, 0, 0, 0, 0, 0, + 43, 0, 1, 48, 238, 275, 223, 49, 175, 0, + 0, 0, 0, 220, 3, 0, 221, 0, 222, 50, + 0, 4, 5, 6, 0, 0, 0, 0, 0, 8, + 0, 0, 346, 223, 238, 238, 130, 0, 0, 0, + 220, 353, 43, 221, 0, 222, 84, 43, 43, 0, + 223, 0, 0, 0, 0, 0, 0, 220, 0, 15, + 221, 0, 222, 0, 0, 0, 15, 15, 0, 0, + 0, 0, 15, 15, 15, 15, 0, 223, 0, 15, + 0, 0, 0, 0, 220, 388, 0, 221, 0, 222, + 0, 0, 0, 0, 175, 175, 0, 0, 43, 43, + 0, 57, 57, 0, 223, 0, 57, 0, 0, 0, + 0, 220, 0, 57, 221, 0, 222, 0, 57, 0, + 57, 57, 57, 0, 0, 0, 0, 0, 57, 0, + 392, 43, 0, 0, 223, 57, 0, 43, 0, 0, + 105, 220, 402, 0, 221, 57, 222, 0, 43, 0, + 0, 223, 0, 0, 1, 0, 0, 0, 220, 410, + 20, 221, 0, 222, 43, 0, 3, 238, 238, 0, + 175, 0, 238, 4, 5, 6, 0, 0, 21, 238, + 0, 8, 0, 238, 238, 0, 238, 238, 238, 0, + 0, 0, 0, 0, 238, 0, 223, 0, 0, 0, + 0, 238, 0, 220, 0, 0, 221, 0, 222, 0, + 0, 238, 238, 238, 238, 238, 238, 238, 238, 238, + 0, 219, 413, 0, 213, 213, 213, 213, 0, 0, + 0, 213, 0, 157, 0, 0, 0, 0, 0, 159, + 160, 161, 162, 163, 164, 165, 166, 42, 219, 223, + 0, 0, 0, 0, 168, 169, 220, 424, 0, 221, + 157, 222, 0, 0, 0, 0, 159, 160, 161, 162, + 163, 164, 165, 166, 42, 219, 223, 0, 0, 0, + 0, 168, 169, 220, 432, 0, 221, 157, 222, 0, + 0, 0, 219, 159, 160, 161, 162, 163, 164, 165, + 166, 42, 0, 0, 157, 0, 0, 0, 168, 169, + 159, 160, 161, 162, 163, 164, 165, 166, 42, 219, + 223, 0, 0, 0, 0, 168, 169, 220, 434, 0, + 221, 157, 222, 0, 0, 0, 0, 159, 160, 161, + 162, 163, 164, 165, 166, 42, 219, 223, 0, 0, + 0, 0, 168, 169, 220, 446, 0, 221, 157, 222, + 0, 0, 0, 0, 159, 160, 161, 162, 163, 164, + 165, 166, 42, 0, 223, 0, 219, 0, 0, 168, + 169, 220, 0, 0, 221, 0, 222, 0, 157, 0, + 0, 0, 0, 219, 159, 160, 161, 162, 163, 164, + 165, 166, 42, 0, 0, 157, 0, 0, 0, 168, + 169, 159, 160, 161, 162, 163, 164, 165, 166, 42, + 0, 223, 0, 0, 0, 0, 168, 169, 220, 0, + 0, 221, 0, 222, 0, 0, 0, 0, 219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 249, 0, 0, 235, 249, - 249, 249, 249, 249, 249, 249, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 249, 249, 0, - 249, 0, 0, 0, 0, 0, 0, 0, 235, 235, - 283, 283, 283, 283, 283, 0, 283, 283, 283, 283, - 283, 283, 283, 283, 283, 283, 283, 0, 0, 240, - 240, 0, 249, 240, 240, 240, 240, 240, 240, 240, + 157, 0, 0, 0, 0, 0, 159, 160, 161, 162, + 163, 164, 165, 166, 42, 0, 0, 0, 0, 0, + 0, 168, 169, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 172, + 0, 219, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 157, 0, 0, 0, 0, 170, 159, + 160, 161, 162, 163, 164, 165, 166, 42, 219, 0, + 0, 0, 0, 0, 168, 169, 0, 0, 0, 0, + 157, 0, 0, 0, 0, 0, 159, 160, 161, 162, + 163, 164, 165, 166, 42, 0, 0, 0, 0, 0, + 0, 168, 169, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 219, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 105, 0, 157, 0, 0, 0, 0, 0, + 159, 160, 161, 162, 163, 164, 165, 166, 42, 219, + 0, 0, 0, 0, 0, 168, 169, 0, 0, 0, + 0, 157, 0, 0, 0, 0, 0, 159, 160, 161, + 162, 163, 164, 165, 166, 42, 219, 0, 0, 0, + 0, 0, 168, 169, 0, 0, 0, 0, 157, 0, + 0, 0, 0, 0, 159, 160, 161, 162, 163, 164, + 165, 166, 42, 81, 82, 0, 0, 0, 0, 168, + 169, 70, 70, 0, 70, 70, 70, 70, 70, 70, + 70, 70, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 70, 0, 157, 70, 0, 0, 0, + 0, 159, 160, 161, 162, 163, 164, 165, 166, 42, + 0, 0, 0, 0, 0, 0, 168, 169, 0, 0, + 0, 0, 0, 0, 0, 70, 237, 237, 70, 82, + 237, 237, 237, 237, 237, 0, 237, 0, 0, 0, + 154, 415, 0, 0, 0, 0, 0, 0, 237, 237, + 0, 237, 156, 0, 0, 0, 157, 70, 70, 70, + 0, 416, 159, 160, 161, 162, 163, 164, 165, 166, + 42, 0, 0, 0, 0, 0, 0, 168, 169, 0, + 251, 0, 0, 237, 251, 251, 251, 251, 251, 251, + 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 251, 251, 0, 251, 0, 0, 0, 0, + 0, 0, 0, 237, 237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 240, 240, 0, 240, 0, 80, 80, 0, 0, - 0, 80, 249, 249, 0, 0, 283, 0, 80, 0, - 0, 0, 0, 80, 0, 80, 80, 80, 0, 0, - 0, 0, 0, 80, 0, 0, 68, 68, 0, 0, - 80, 68, 0, 0, 0, 0, 0, 0, 68, 0, - 80, 0, 68, 68, 0, 68, 68, 68, 0, 0, - 0, 68, 0, 68, 0, 0, 240, 240, 0, 0, - 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 68, 68, 68, 68, 68, 68, 68, 68, 0, - 0, 235, 235, 0, 0, 0, 235, 0, 0, 0, - 0, 0, 0, 235, 0, 0, 0, 235, 235, 0, - 235, 235, 235, 0, 0, 0, 0, 0, 235, 0, - 0, 0, 0, 0, 0, 235, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 235, 235, 235, 235, 235, - 235, 235, 235, 235, 174, 249, 249, 0, 0, 0, - 249, 0, 0, 0, 0, 0, 0, 249, 0, 0, - 0, 249, 249, 172, 249, 249, 249, 0, 0, 0, - 0, 0, 249, 0, 0, 0, 0, 0, 0, 249, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, - 249, 249, 249, 249, 249, 249, 249, 249, 0, 240, - 240, 0, 0, 0, 240, 0, 0, 0, 0, 0, - 0, 240, 0, 0, 0, 240, 240, 0, 240, 240, - 240, 0, 0, 0, 0, 0, 240, 105, 0, 0, - 228, 228, 0, 240, 228, 228, 228, 228, 228, 228, - 228, 0, 0, 240, 240, 240, 240, 240, 240, 240, - 240, 240, 228, 228, 0, 228, 0, 0, 430, 434, + 0, 0, 0, 0, 242, 242, 0, 251, 242, 242, + 242, 242, 242, 242, 242, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 242, 242, 0, 242, + 0, 82, 82, 0, 0, 0, 82, 251, 251, 0, + 0, 0, 0, 82, 0, 0, 0, 0, 82, 0, + 82, 82, 82, 0, 0, 0, 0, 0, 82, 0, + 0, 70, 70, 0, 0, 82, 70, 0, 0, 0, + 0, 0, 0, 70, 0, 82, 0, 70, 70, 0, + 70, 70, 70, 0, 0, 0, 70, 0, 70, 0, + 0, 242, 242, 0, 0, 70, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 70, 70, 70, 70, 70, + 70, 70, 70, 70, 0, 0, 237, 237, 0, 0, + 0, 237, 0, 0, 0, 0, 0, 0, 237, 0, + 0, 0, 237, 237, 0, 237, 237, 237, 0, 278, + 278, 0, 0, 237, 0, 0, 0, 0, 0, 0, + 237, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 237, 237, 237, 237, 237, 237, 237, 237, 237, 172, + 251, 251, 0, 0, 0, 251, 0, 0, 0, 0, + 0, 0, 251, 0, 0, 0, 251, 251, 170, 251, + 251, 251, 278, 278, 278, 0, 0, 251, 0, 0, + 0, 0, 0, 0, 251, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 251, 251, 251, 251, 251, 251, + 251, 251, 251, 0, 242, 242, 0, 0, 0, 242, + 0, 0, 0, 0, 0, 0, 242, 0, 0, 0, + 242, 242, 0, 242, 242, 242, 0, 0, 0, 0, + 0, 242, 105, 0, 0, 230, 230, 0, 242, 230, + 230, 230, 230, 230, 230, 230, 0, 0, 242, 242, + 242, 242, 242, 242, 242, 242, 242, 230, 230, 0, + 230, 0, 0, 0, 0, 0, 278, 278, 278, 278, + 278, 0, 278, 278, 278, 278, 278, 278, 278, 278, + 278, 278, 278, 0, 0, 0, 0, 0, 0, 205, + 205, 0, 230, 205, 205, 205, 205, 205, 205, 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 443, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 203, 203, 0, 228, 203, 203, - 203, 203, 203, 203, 203, 0, 454, 455, 0, 457, - 0, 0, 0, 0, 463, 0, 203, 203, 464, 203, - 465, 466, 0, 0, 0, 0, 0, 0, 228, 470, - 430, 434, 192, 192, 0, 463, 192, 192, 192, 192, - 192, 192, 192, 0, 0, 0, 0, 0, 0, 0, - 0, 203, 0, 0, 192, 192, 0, 192, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 236, - 236, 0, 0, 236, 236, 236, 236, 236, 0, 236, - 0, 203, 203, 0, 0, 156, 157, 0, 0, 192, - 0, 236, 236, 0, 236, 0, 0, 158, 0, 0, - 0, 159, 0, 0, 0, 0, 160, 161, 162, 163, - 164, 165, 166, 167, 168, 42, 0, 0, 0, 192, - 192, 0, 170, 171, 0, 0, 236, 0, 0, 250, - 0, 0, 0, 250, 250, 250, 250, 250, 250, 250, + 0, 205, 205, 0, 205, 0, 0, 0, 278, 0, + 0, 0, 0, 230, 0, 0, 0, 194, 194, 0, + 0, 194, 194, 194, 194, 194, 194, 194, 0, 0, + 0, 0, 0, 0, 0, 0, 205, 0, 0, 194, + 194, 0, 194, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 238, 238, 0, 0, 238, 238, + 238, 238, 238, 0, 238, 0, 205, 205, 0, 0, + 154, 155, 0, 0, 194, 0, 238, 238, 0, 238, + 0, 0, 156, 0, 0, 0, 157, 0, 0, 0, + 0, 158, 159, 160, 161, 162, 163, 164, 165, 166, + 42, 0, 0, 0, 194, 194, 0, 168, 169, 0, + 0, 238, 0, 0, 252, 0, 0, 0, 252, 252, + 252, 252, 252, 252, 252, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 252, 252, 0, 252, + 0, 238, 238, 0, 0, 230, 230, 0, 0, 0, + 230, 0, 0, 0, 0, 0, 0, 230, 0, 0, + 0, 230, 230, 0, 230, 230, 230, 0, 0, 0, + 0, 252, 230, 0, 0, 0, 0, 0, 0, 230, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, + 230, 230, 230, 230, 230, 230, 230, 230, 0, 205, + 205, 252, 252, 0, 205, 0, 0, 0, 0, 0, + 0, 205, 0, 0, 0, 205, 205, 0, 205, 205, + 205, 0, 0, 0, 0, 0, 205, 0, 0, 0, + 0, 0, 0, 205, 0, 0, 0, 194, 194, 0, + 0, 0, 194, 205, 205, 205, 205, 205, 205, 194, + 205, 205, 0, 194, 194, 0, 194, 194, 194, 0, + 0, 0, 0, 0, 194, 0, 0, 0, 0, 0, + 0, 194, 0, 0, 238, 238, 0, 0, 0, 238, + 0, 194, 194, 194, 194, 194, 238, 194, 194, 194, + 238, 238, 0, 238, 238, 238, 0, 0, 0, 0, + 0, 238, 0, 0, 0, 243, 243, 0, 238, 243, + 243, 243, 243, 243, 243, 243, 0, 0, 238, 238, + 238, 238, 238, 238, 238, 238, 238, 243, 243, 0, + 243, 0, 0, 0, 252, 252, 0, 0, 0, 252, + 0, 0, 0, 0, 0, 0, 252, 0, 0, 0, + 252, 252, 0, 252, 252, 252, 0, 0, 0, 0, + 0, 252, 0, 0, 0, 231, 231, 0, 252, 231, + 231, 231, 231, 231, 231, 231, 0, 0, 252, 252, + 252, 252, 252, 252, 252, 252, 252, 231, 231, 0, + 231, 0, 243, 243, 0, 418, 422, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 250, 250, 0, 250, 0, 236, 236, 0, 0, - 228, 228, 0, 0, 0, 228, 0, 0, 0, 0, - 0, 0, 228, 0, 0, 0, 228, 228, 0, 228, - 228, 228, 0, 0, 0, 0, 250, 228, 0, 0, - 0, 0, 0, 0, 228, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 228, 228, 228, 228, 228, 228, - 228, 228, 228, 0, 203, 203, 250, 250, 0, 203, - 0, 0, 0, 0, 0, 0, 203, 0, 0, 0, - 203, 203, 0, 203, 203, 203, 0, 0, 0, 0, - 0, 203, 0, 0, 0, 0, 0, 0, 203, 0, - 0, 0, 192, 192, 0, 0, 57, 192, 203, 203, - 203, 203, 203, 203, 192, 203, 203, 0, 192, 192, - 0, 192, 192, 192, 0, 0, 0, 0, 0, 192, - 0, 0, 0, 0, 0, 0, 192, 0, 0, 236, - 236, 0, 0, 0, 236, 0, 192, 192, 192, 192, - 192, 236, 192, 192, 192, 236, 236, 0, 236, 236, - 236, 0, 0, 0, 0, 0, 236, 0, 0, 0, - 241, 241, 0, 236, 241, 241, 241, 241, 241, 241, - 241, 0, 0, 236, 236, 236, 236, 236, 236, 236, - 236, 236, 241, 241, 0, 241, 0, 0, 0, 250, - 250, 0, 0, 0, 250, 0, 0, 0, 0, 0, - 0, 250, 0, 0, 0, 250, 250, 0, 250, 250, - 250, 0, 0, 0, 0, 0, 250, 0, 0, 0, - 229, 229, 0, 250, 229, 229, 229, 229, 229, 229, - 229, 0, 0, 250, 250, 250, 250, 250, 250, 250, - 250, 250, 229, 229, 0, 229, 0, 241, 241, 0, + 430, 0, 0, 0, 0, 0, 0, 0, 0, 206, + 206, 0, 231, 206, 206, 206, 206, 206, 206, 206, + 0, 441, 442, 0, 444, 0, 0, 0, 0, 450, + 0, 206, 206, 451, 206, 452, 453, 0, 0, 0, + 0, 0, 0, 231, 457, 418, 422, 0, 0, 0, + 450, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 273, 273, 206, 0, 273, 273, + 0, 273, 0, 273, 273, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 273, 273, 0, 273, + 0, 0, 0, 0, 0, 0, 206, 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 243, 243, 0, 0, 0, + 243, 273, 0, 0, 0, 0, 0, 243, 0, 0, + 0, 243, 243, 0, 243, 243, 243, 0, 0, 0, + 0, 0, 243, 0, 0, 0, 0, 0, 0, 243, + 0, 273, 273, 0, 0, 0, 0, 0, 0, 243, + 243, 243, 243, 243, 243, 243, 243, 243, 0, 0, + 0, 0, 0, 0, 0, 231, 231, 0, 0, 0, + 231, 0, 0, 0, 0, 0, 0, 231, 0, 0, + 0, 231, 231, 0, 231, 231, 231, 0, 0, 0, + 0, 0, 231, 0, 0, 0, 0, 0, 0, 231, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 231, + 231, 231, 231, 231, 231, 231, 231, 231, 0, 206, + 206, 0, 0, 0, 206, 0, 0, 0, 0, 0, + 0, 206, 0, 0, 0, 206, 206, 0, 206, 206, + 206, 0, 0, 0, 0, 0, 206, 0, 0, 0, + 264, 264, 0, 206, 264, 264, 264, 264, 264, 264, + 264, 0, 0, 206, 206, 206, 206, 206, 206, 0, + 206, 206, 264, 0, 273, 273, 0, 0, 0, 273, + 0, 0, 0, 0, 0, 0, 273, 0, 0, 0, + 273, 273, 0, 273, 273, 273, 0, 0, 0, 0, + 0, 273, 0, 0, 0, 262, 262, 264, 273, 262, + 262, 262, 262, 262, 262, 262, 0, 0, 273, 273, + 273, 273, 273, 273, 273, 273, 273, 262, 262, 0, + 262, 0, 0, 0, 0, 0, 0, 264, 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 204, 204, 0, 229, 204, 204, - 204, 204, 204, 204, 204, 0, 0, 0, 0, 0, - 0, 0, 0, 57, 57, 0, 204, 204, 57, 204, - 0, 0, 0, 0, 0, 57, 0, 0, 229, 0, - 57, 0, 57, 57, 57, 0, 0, 0, 0, 0, - 57, 0, 0, 0, 0, 0, 0, 57, 0, 271, - 271, 204, 0, 271, 271, 0, 271, 57, 271, 271, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, + 263, 0, 262, 263, 263, 263, 263, 263, 263, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 271, 271, 0, 271, 0, 0, 0, 0, 0, - 0, 204, 204, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 241, 241, 0, 0, 0, 241, 271, 0, 0, 0, - 0, 0, 241, 0, 0, 0, 241, 241, 0, 241, - 241, 241, 0, 0, 0, 0, 0, 241, 0, 0, - 0, 0, 0, 0, 241, 0, 271, 271, 0, 0, - 0, 0, 0, 0, 241, 241, 241, 241, 241, 241, - 241, 241, 241, 0, 0, 0, 0, 0, 0, 0, - 229, 229, 0, 0, 0, 229, 0, 0, 0, 0, - 0, 0, 229, 0, 0, 0, 229, 229, 0, 229, - 229, 229, 0, 0, 0, 0, 0, 229, 0, 0, - 0, 0, 0, 0, 229, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 229, 229, 229, 229, 229, 229, - 229, 229, 229, 0, 204, 204, 0, 0, 0, 204, - 0, 0, 0, 0, 0, 0, 204, 0, 0, 0, - 204, 204, 0, 204, 204, 204, 0, 0, 0, 0, - 0, 204, 0, 0, 0, 262, 262, 0, 204, 262, - 262, 262, 262, 262, 262, 262, 0, 0, 204, 204, - 204, 204, 204, 204, 0, 204, 204, 262, 0, 271, - 271, 0, 0, 0, 271, 0, 0, 0, 0, 0, - 0, 271, 0, 0, 0, 271, 271, 0, 271, 271, - 271, 0, 0, 0, 0, 0, 271, 0, 0, 0, - 260, 260, 262, 271, 260, 260, 260, 260, 260, 260, - 260, 0, 0, 271, 271, 271, 271, 271, 271, 271, - 271, 271, 260, 260, 0, 260, 0, 0, 0, 0, + 0, 263, 263, 0, 263, 0, 0, 0, 0, 0, 0, 0, 262, 262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 261, 261, 0, 260, 261, 261, - 261, 261, 261, 261, 261, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 261, 261, 0, 261, - 0, 0, 0, 0, 0, 0, 0, 260, 260, 0, + 0, 0, 0, 0, 0, 0, 263, 0, 0, 265, + 265, 0, 0, 265, 265, 265, 265, 265, 265, 265, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 265, 0, 0, 0, 0, 263, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 261, 0, 0, 263, 263, 0, 0, 263, 263, - 263, 263, 263, 263, 263, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 263, 0, 0, 0, - 0, 261, 261, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 262, 262, 0, 0, 0, - 262, 263, 0, 0, 0, 0, 0, 262, 0, 0, - 0, 0, 262, 0, 262, 262, 262, 0, 0, 0, + 264, 264, 0, 0, 0, 264, 265, 0, 0, 0, + 0, 0, 264, 0, 0, 0, 0, 264, 0, 264, + 264, 264, 0, 0, 0, 0, 0, 264, 0, 0, + 0, 0, 0, 0, 264, 0, 265, 265, 0, 0, + 0, 0, 0, 0, 264, 264, 0, 0, 264, 264, + 264, 264, 264, 0, 0, 262, 262, 0, 0, 0, + 262, 0, 0, 0, 0, 0, 0, 262, 0, 0, + 0, 262, 262, 0, 262, 262, 262, 0, 0, 0, 0, 0, 262, 0, 0, 0, 0, 0, 0, 262, - 0, 263, 263, 0, 0, 0, 0, 0, 0, 262, - 262, 0, 0, 262, 262, 262, 262, 262, 0, 0, - 260, 260, 0, 0, 0, 260, 0, 0, 0, 0, - 0, 0, 260, 0, 0, 0, 260, 260, 0, 260, - 260, 260, 0, 0, 0, 0, 0, 260, 0, 0, - 0, 0, 0, 0, 260, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 260, 0, 260, 260, 0, 260, - 260, 260, 260, 0, 261, 261, 0, 0, 0, 261, - 0, 0, 0, 0, 0, 0, 261, 0, 0, 0, - 261, 261, 0, 261, 261, 261, 0, 0, 0, 0, - 0, 261, 0, 0, 0, 264, 264, 0, 261, 264, - 264, 264, 264, 264, 264, 264, 0, 0, 261, 0, - 261, 261, 0, 261, 261, 261, 261, 264, 0, 0, - 0, 0, 0, 0, 263, 263, 0, 0, 0, 263, - 0, 0, 0, 0, 0, 0, 263, 0, 0, 0, - 0, 263, 0, 263, 263, 263, 0, 0, 0, 0, - 0, 263, 264, 0, 0, 0, 272, 0, 263, 272, - 0, 272, 272, 272, 272, 0, 0, 0, 263, 263, - 0, 0, 263, 263, 263, 263, 263, 272, 272, 0, - 272, 0, 264, 264, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 262, + 0, 262, 262, 0, 262, 262, 262, 262, 0, 263, + 263, 0, 0, 0, 263, 0, 0, 0, 0, 0, + 0, 263, 0, 0, 0, 263, 263, 0, 263, 263, + 263, 0, 0, 0, 0, 0, 263, 0, 0, 0, + 266, 266, 0, 263, 266, 266, 266, 266, 266, 266, + 266, 0, 0, 263, 0, 263, 263, 0, 263, 263, + 263, 263, 266, 0, 0, 0, 0, 0, 0, 265, + 265, 0, 0, 0, 265, 0, 0, 0, 0, 0, + 0, 265, 0, 0, 0, 0, 265, 0, 265, 265, + 265, 0, 0, 0, 0, 0, 265, 266, 0, 0, + 0, 274, 0, 265, 274, 0, 274, 274, 274, 274, + 0, 0, 0, 265, 265, 0, 0, 265, 265, 265, + 265, 265, 274, 274, 0, 274, 0, 266, 266, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 273, 0, 272, 273, 0, 273, 273, 273, 273, 0, + 0, 0, 0, 0, 0, 275, 0, 274, 275, 0, + 275, 275, 275, 275, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 275, 275, 0, 275, + 0, 0, 0, 0, 0, 0, 0, 274, 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 273, 273, 0, 273, 0, 0, 0, 0, 0, - 0, 0, 272, 272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 274, 273, 0, 274, 0, - 274, 274, 274, 274, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 274, 274, 0, 274, - 0, 0, 0, 0, 0, 0, 273, 273, 0, 0, + 276, 275, 0, 276, 0, 276, 276, 276, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 264, 264, 0, 0, 0, - 264, 274, 0, 0, 0, 0, 0, 264, 157, 0, - 0, 0, 264, 0, 264, 264, 264, 0, 0, 0, - 0, 0, 264, 0, 0, 0, 0, 157, 0, 264, - 0, 274, 274, 0, 0, 0, 0, 0, 0, 264, - 264, 0, 0, 264, 264, 264, 264, 264, 0, 0, - 0, 0, 0, 0, 0, 272, 272, 0, 0, 0, - 272, 0, 174, 0, 0, 0, 0, 272, 0, 0, - 0, 272, 272, 0, 272, 272, 272, 0, 0, 0, - 0, 172, 272, 0, 0, 0, 0, 0, 0, 272, - 0, 157, 0, 157, 0, 0, 0, 0, 0, 272, - 272, 272, 272, 272, 272, 272, 272, 272, 0, 273, - 273, 0, 0, 0, 273, 0, 0, 0, 0, 0, - 0, 273, 0, 0, 0, 273, 273, 0, 273, 273, - 273, 0, 0, 0, 0, 0, 273, 0, 0, 0, - 0, 0, 0, 273, 174, 105, 0, 173, 0, 0, - 0, 0, 0, 273, 273, 273, 273, 273, 273, 273, - 273, 273, 0, 172, 274, 274, 0, 0, 0, 274, - 0, 0, 0, 0, 0, 0, 274, 0, 0, 0, - 274, 274, 0, 274, 274, 274, 0, 0, 0, 0, - 0, 274, 0, 0, 0, 246, 246, 0, 274, 246, - 246, 246, 246, 246, 246, 246, 0, 0, 274, 274, - 274, 274, 274, 274, 274, 274, 274, 246, 246, 0, - 246, 0, 0, 0, 0, 0, 157, 105, 0, 267, - 157, 0, 0, 0, 0, 189, 0, 0, 0, 157, - 157, 0, 157, 0, 0, 0, 0, 0, 0, 0, - 0, 157, 246, 174, 0, 157, 0, 0, 0, 0, - 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, - 0, 0, 172, 0, 0, 0, 157, 157, 0, 0, - 48, 0, 246, 246, 49, 0, 0, 0, 0, 0, - 0, 0, 0, 156, 157, 0, 50, 0, 0, 0, - 0, 0, 0, 0, 0, 158, 0, 174, 0, 159, - 0, 0, 0, 0, 160, 161, 162, 163, 164, 165, - 166, 167, 168, 169, 0, 0, 172, 0, 0, 0, - 170, 171, 0, 0, 0, 0, 105, 0, 291, 0, + 0, 276, 276, 0, 276, 0, 0, 0, 0, 0, + 0, 275, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 174, 0, 0, 0, 0, - 0, 0, 48, 0, 0, 0, 49, 0, 0, 0, - 0, 0, 0, 0, 172, 156, 157, 0, 50, 0, - 0, 0, 0, 0, 0, 0, 0, 158, 0, 0, - 105, 266, 345, 0, 0, 0, 160, 161, 162, 163, - 164, 165, 166, 167, 168, 169, 0, 174, 0, 0, - 0, 0, 170, 171, 0, 246, 246, 0, 0, 0, - 246, 0, 0, 0, 0, 0, 172, 246, 0, 0, - 0, 246, 246, 0, 246, 246, 246, 0, 105, 0, - 346, 0, 246, 0, 0, 0, 0, 0, 0, 246, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, - 246, 246, 246, 246, 246, 246, 0, 0, 0, 0, - 0, 48, 54, 0, 0, 49, 0, 0, 0, 0, - 0, 0, 0, 0, 156, 157, 0, 50, 0, 0, - 105, 0, 399, 0, 0, 0, 158, 0, 0, 0, - 159, 0, 0, 0, 0, 160, 161, 162, 163, 164, - 165, 166, 167, 168, 169, 0, 0, 54, 0, 0, - 0, 170, 171, 0, 0, 48, 0, 0, 0, 49, - 0, 0, 0, 0, 0, 0, 0, 55, 156, 157, + 266, 266, 0, 0, 0, 266, 276, 0, 0, 0, + 0, 0, 266, 159, 0, 0, 0, 266, 0, 266, + 266, 266, 0, 0, 0, 0, 0, 266, 0, 0, + 0, 0, 159, 0, 266, 0, 276, 276, 0, 0, + 0, 0, 0, 0, 266, 266, 0, 0, 266, 266, + 266, 266, 266, 0, 0, 0, 0, 0, 0, 0, + 274, 274, 0, 0, 0, 274, 0, 172, 0, 0, + 0, 0, 274, 0, 0, 0, 274, 274, 0, 274, + 274, 274, 0, 0, 0, 0, 170, 274, 0, 0, + 0, 0, 0, 0, 274, 0, 159, 0, 159, 0, + 0, 0, 0, 0, 274, 274, 274, 274, 274, 274, + 274, 274, 274, 0, 275, 275, 0, 0, 0, 275, + 0, 0, 0, 0, 0, 0, 275, 0, 0, 0, + 275, 275, 0, 275, 275, 275, 0, 0, 0, 0, + 0, 275, 0, 0, 0, 0, 0, 0, 275, 172, + 105, 0, 171, 0, 0, 0, 0, 0, 275, 275, + 275, 275, 275, 275, 275, 275, 275, 0, 170, 276, + 276, 0, 0, 0, 276, 0, 0, 0, 0, 0, + 0, 276, 0, 0, 0, 276, 276, 0, 276, 276, + 276, 0, 0, 0, 0, 0, 276, 0, 0, 0, + 248, 248, 0, 276, 248, 248, 248, 248, 248, 248, + 248, 0, 0, 276, 276, 276, 276, 276, 276, 276, + 276, 276, 248, 248, 0, 248, 0, 0, 0, 0, + 0, 159, 105, 0, 265, 159, 0, 0, 0, 0, + 191, 0, 0, 0, 159, 159, 0, 159, 0, 0, + 0, 0, 0, 0, 0, 0, 159, 248, 172, 0, + 159, 0, 0, 0, 0, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 0, 0, 170, 0, 0, + 0, 159, 159, 0, 0, 48, 0, 248, 248, 49, + 0, 0, 0, 0, 0, 0, 0, 0, 154, 155, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, - 158, 0, 54, 0, 159, 0, 0, 0, 0, 160, - 161, 162, 163, 164, 165, 166, 167, 168, 169, 0, - 0, 0, 0, 48, 0, 170, 171, 49, 0, 0, - 54, 0, 85, 0, 0, 0, 156, 157, 0, 50, - 0, 0, 0, 0, 0, 0, 0, 0, 158, 0, - 0, 0, 159, 0, 0, 0, 0, 160, 161, 162, - 163, 164, 165, 166, 167, 168, 169, 116, 0, 0, - 0, 0, 0, 170, 171, 48, 0, 0, 0, 49, - 0, 0, 0, 0, 0, 0, 0, 0, 156, 157, - 0, 50, 0, 0, 0, 140, 0, 0, 0, 0, - 158, 0, 0, 0, 159, 0, 0, 0, 0, 160, - 161, 162, 163, 164, 165, 166, 167, 168, 169, 1, - 48, 0, 0, 0, 49, 170, 171, 0, 0, 0, - 0, 3, 0, 0, 0, 0, 50, 0, 4, 5, - 6, 0, 0, 0, 0, 0, 51, 0, 0, 0, - 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 53, 1, 48, 0, 0, 0, 49, - 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, + 156, 0, 172, 0, 157, 0, 0, 0, 0, 158, + 159, 160, 161, 162, 163, 164, 165, 166, 167, 0, + 0, 170, 0, 0, 0, 168, 169, 0, 0, 0, + 0, 105, 0, 286, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 172, 0, 0, 0, 0, 0, 0, 48, 0, 0, + 0, 49, 0, 0, 0, 0, 0, 0, 0, 170, + 154, 155, 0, 50, 0, 0, 0, 0, 0, 0, + 0, 0, 156, 0, 0, 105, 264, 340, 0, 0, + 0, 158, 159, 160, 161, 162, 163, 164, 165, 166, + 167, 0, 172, 0, 0, 0, 0, 168, 169, 0, + 248, 248, 0, 0, 0, 248, 0, 0, 0, 0, + 0, 170, 248, 0, 0, 0, 248, 248, 0, 248, + 248, 248, 0, 105, 0, 341, 0, 248, 0, 0, + 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 248, 248, 248, 248, 248, 248, + 248, 0, 0, 0, 0, 0, 48, 54, 0, 0, + 49, 0, 0, 0, 0, 0, 0, 0, 0, 154, + 155, 0, 50, 0, 0, 105, 0, 390, 0, 0, + 0, 156, 0, 0, 0, 157, 0, 0, 0, 0, + 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, + 0, 0, 54, 0, 0, 0, 168, 169, 0, 0, + 48, 0, 0, 0, 49, 0, 0, 0, 0, 0, + 0, 0, 55, 154, 155, 0, 50, 0, 0, 0, + 0, 0, 0, 0, 0, 156, 0, 54, 0, 157, + 0, 0, 0, 0, 158, 159, 160, 161, 162, 163, + 164, 165, 166, 167, 0, 0, 0, 0, 48, 0, + 168, 169, 49, 0, 0, 54, 0, 85, 0, 0, + 0, 154, 155, 0, 50, 0, 0, 0, 0, 0, + 0, 0, 0, 156, 0, 0, 0, 157, 0, 0, + 0, 0, 158, 159, 160, 161, 162, 163, 164, 165, + 166, 167, 116, 0, 0, 0, 0, 0, 168, 169, + 48, 0, 0, 0, 49, 0, 0, 0, 0, 0, + 0, 0, 0, 154, 155, 0, 50, 0, 0, 0, + 140, 0, 0, 0, 0, 156, 0, 0, 0, 157, + 0, 0, 0, 0, 158, 159, 160, 161, 162, 163, + 164, 165, 166, 167, 1, 48, 0, 0, 0, 49, + 168, 169, 0, 0, 0, 0, 3, 0, 0, 0, 0, 50, 0, 4, 5, 6, 0, 0, 0, 0, - 0, 8, 0, 0, 0, 0, 0, 0, 52, 1, - 48, 0, 0, 0, 49, 0, 0, 0, 84, 0, + 0, 51, 0, 0, 0, 0, 0, 0, 52, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 53, 1, + 48, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 50, 0, 4, 5, - 6, 0, 0, 0, 0, 0, 51, 1, 48, 0, - 0, 0, 49, 52, 0, 0, 0, 0, 0, 3, - 0, 0, 0, 53, 50, 0, 4, 5, 6, 0, - 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, - 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 84, + 6, 0, 0, 0, 0, 0, 8, 0, 0, 0, + 0, 0, 0, 52, 1, 48, 0, 0, 0, 49, + 0, 0, 0, 84, 0, 0, 3, 0, 0, 0, + 0, 50, 0, 4, 5, 6, 0, 0, 0, 0, + 0, 51, 1, 48, 0, 0, 0, 49, 52, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 53, 50, + 0, 4, 5, 6, 0, 0, 0, 0, 0, 8, + 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 84, }; - protected short yyCheck[] = new short[3873]; + protected short yyCheck[] = new short[3868]; } class yyCheck0 { protected static final short yyCheck0 [] = { 105, - 63, 52, 46, 27, 25, 26, 46, 60, 123, 33, - 41, 32, 123, 108, 51, 59, 41, 105, 114, 61, - 57, 182, 73, 74, 123, 63, 109, 54, 12, 135, - 125, 59, 100, 59, 41, 135, 60, 132, 91, 122, - 91, 92, 123, 273, 123, 59, 344, 135, 44, 73, - 74, 44, 44, 406, 59, 301, 29, 30, 35, 80, - 37, 91, 86, 36, 27, 44, 41, 29, 92, 44, - 62, 105, 93, 59, 36, 40, 182, 375, 59, 130, - 32, 41, 133, 62, 60, 109, 62, 59, 59, 105, - 74, 174, 143, 114, 182, 59, 61, 60, 122, 27, - 301, 135, 33, 27, 131, 33, 79, 268, 92, 123, - 73, 59, 410, 59, 59, 468, 469, 44, 123, 135, - 473, 59, 99, 96, 97, 221, 40, 123, 80, 212, - 123, 91, 60, 33, 96, 62, 60, 123, 44, 222, - 40, 93, 123, 43, 105, 45, 60, 60, 182, 73, - 174, 123, 123, 268, 40, 86, 62, 268, 86, 123, - 46, 44, 268, 269, 259, 216, 182, 282, 263, 269, - 133, 282, 402, 146, 135, 123, 59, 123, 123, 105, - 268, 269, 44, 282, 44, 123, 347, 268, 215, 268, - 44, 60, 216, 44, 118, 40, 41, 59, 222, 44, - 221, 46, 62, 268, 272, 129, 274, 275, 62, 135, - 109, 62, 105, 268, 59, 60, 61, 180, 314, 301, - 285, 182, 44, 122, 44, 308, 301, 258, 258, 44, - 60, 262, 262, 258, 268, 269, 44, 262, 301, 59, - 62, 347, 135, 274, 274, 123, 91, 62, 301, 274, - 40, 258, 268, 269, 62, 262, 182, 325, 295, 347, - 311, 59, 313, 301, 308, 309, 301, 274, 308, 309, - 301, 301, 314, 315, 316, 317, 301, 372, 373, 321, - 308, 309, 308, 309, 308, 44, 44, 44, 61, 182, - 44, 468, 469, 314, 301, 41, 473, 273, 44, 289, - 406, 407, 59, 62, 62, 59, 41, 268, 269, 44, - 37, 302, 91, 347, 305, 42, 422, 341, 406, 407, - 47, 416, 417, 326, 327, 328, 329, 303, 304, 41, - 41, 347, 44, 44, 422, 323, 324, 41, 444, 445, - 44, 447, 268, 269, 395, 396, 452, 43, 41, 45, - 456, 44, 458, 459, 308, 309, 444, 445, 91, 447, - 123, 467, 468, 469, 452, 59, 121, 473, 456, 301, - 458, 459, 406, 407, 93, 268, 269, 330, 331, 467, - 468, 469, 61, 93, 301, 473, 347, 287, 422, 301, - 406, 407, 38, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 60, 158, 44, 40, 422, 40, 308, 309, - 444, 445, 40, 447, 59, 46, 258, 59, 452, 329, - 262, 347, 456, 44, 458, 459, 38, 124, 444, 445, - 94, 447, 274, 467, 468, 469, 452, 307, 306, 473, - 456, 40, 458, 459, 258, 406, 407, 46, 262, 291, - 61, 467, 468, 469, 347, 40, 301, 473, 59, 301, - 274, 422, 61, 308, 309, 301, 301, 40, 60, 314, - 315, 316, 317, 59, 41, 41, 321, 291, 40, 59, - 406, 407, 59, 444, 445, 59, 447, 301, 59, 41, - 59, 452, 91, 33, 40, 456, 422, 458, 459, 40, - 40, 41, 257, 43, 41, 45, 467, 468, 469, 41, - 33, 267, 473, 406, 407, 41, 41, 40, 444, 445, - 43, 447, 45, 278, 279, 41, 452, 282, 267, 422, - 456, 0, 458, 459, 170, 171, 59, 59, 59, 301, - 295, 467, 468, 469, 86, 20, 60, 473, 25, 26, - 27, 444, 445, 21, 447, 32, 33, 36, 73, 452, - 33, 37, 222, 456, 308, 458, 459, 40, 332, 258, - 43, 336, 45, 262, 467, 468, 469, 306, 258, 31, - 473, 333, 262, 60, 339, 274, 59, 223, 224, 225, - 335, 258, 33, 348, 274, 262, 73, 74, 334, 40, - 355, 258, 43, 80, 45, 262, 306, 274, 101, 86, - 14, 131, 301, 74, 276, 92, 93, 274, -1, 257, - -1, 301, 134, 100, -1, 263, -1, -1, 105, -1, - -1, 269, 109, -1, 301, -1, -1, 114, 276, 277, - 278, -1, -1, 281, 301, 122, 284, -1, 403, -1, - 405, -1, -1, 408, -1, 37, 38, -1, 135, 41, - 42, 43, 44, 45, -1, 47, -1, -1, -1, 424, - 425, -1, -1, -1, -1, -1, -1, 59, 60, 61, - 62, -1, 123, -1, 320, 321, 322, 257, -1, -1, - -1, -1, -1, 263, 449, 450, 451, 174, -1, 269, - -1, -1, 301, -1, -1, 182, 276, 277, 278, 308, - 309, 281, 94, 33, 284, 314, 315, 316, 317, -1, - 40, 41, 321, 43, -1, 45, -1, -1, -1, -1, - -1, -1, -1, 44, -1, 275, -1, -1, -1, 216, - 376, -1, 124, 125, 221, 222, -1, 287, 59, 60, - 61, -1, 275, 293, 294, 295, 296, 297, 298, 299, + 59, 41, 46, 121, 51, 44, 59, 27, 25, 26, + 57, 60, 41, 33, 180, 32, 114, 105, 46, 100, + 59, 60, 61, 123, 54, 135, 123, 41, 52, 135, + 123, 59, 27, 123, 44, 339, 44, 301, 156, 123, + 60, 29, 91, 32, 27, 12, 44, 135, 36, 73, + 74, 105, 91, 73, 74, 41, 60, 395, 62, 308, + 309, 40, 366, 80, 62, 60, 86, 91, 92, 105, + 301, 35, 92, 37, 180, 59, 93, 60, 73, 29, + 30, 135, 61, 103, 59, 59, 36, 33, 60, 109, + 73, 80, 180, 41, 59, 399, 44, 114, 59, 135, + 266, 131, 122, 109, 93, 91, 130, 74, 96, 133, + 168, 169, 40, 123, 108, 123, 122, 455, 456, 143, + 60, 219, 460, 118, 105, 92, 180, 318, 319, 79, + 40, 125, 60, 59, 129, 99, 46, 255, 132, 123, + 86, 59, 59, 59, 180, 301, 96, 97, 123, 123, + 133, 105, 172, 59, 135, 273, 274, 267, 123, 277, + 266, 267, 123, 221, 222, 223, 172, 301, 268, 44, + 44, 268, 290, 59, 268, 268, 342, 61, 266, 267, + 44, 135, 282, 213, 268, 282, 44, 62, 62, 270, + 214, 105, 282, 44, 214, 178, 146, 123, 62, 180, + 220, 59, 219, 60, 210, 123, 123, 123, 59, 44, + 123, 309, 266, 267, 220, 301, 334, 123, 258, 258, + 44, 135, 262, 262, 44, 343, 180, 62, 346, 258, + 266, 267, 40, 262, 274, 274, 342, 123, 62, 320, + 325, 326, 62, 290, 258, 274, 289, 40, 262, 308, + 309, 271, 301, 46, 342, 308, 309, 315, 316, 317, + 274, 301, 301, 257, 308, 309, 180, 261, 61, 273, + 59, 61, 301, 44, 392, 44, 394, 91, 91, 397, + 308, 309, 306, 303, 308, 266, 267, 301, 342, 395, + 396, 62, 309, 62, 412, 413, 123, 303, 91, 303, + 304, 59, 44, 38, 410, 27, 342, 395, 396, 367, + 109, 33, 266, 267, 44, 44, 336, 59, 436, 437, + 438, 301, 410, 122, 302, 431, 432, 305, 434, 59, + 59, 455, 456, 439, 93, 61, 460, 443, 60, 445, + 446, 395, 396, 431, 432, 43, 434, 45, 454, 455, + 456, 439, 266, 267, 460, 443, 410, 445, 446, 395, + 396, 342, 386, 387, 86, 93, 454, 455, 456, 363, + 364, 301, 460, 40, 410, 40, 91, 431, 432, 41, + 434, 41, 44, 258, 44, 439, 301, 262, 342, 443, + 40, 445, 446, 59, 41, 431, 432, 44, 434, 274, + 454, 455, 456, 439, 44, 41, 460, 443, 44, 445, + 446, 405, 406, 41, 395, 396, 44, 329, 454, 455, + 456, 46, 41, 258, 460, 44, 301, 262, 342, 410, + 314, 315, 316, 317, 44, 37, 59, 321, 38, 274, + 42, 395, 396, 258, 124, 47, 94, 262, 40, 41, + 431, 432, 44, 434, 46, 60, 410, 307, 439, 274, + 306, 40, 443, 61, 445, 446, 301, 59, 60, 61, + 59, 301, 301, 454, 455, 456, 291, 431, 432, 460, + 434, 395, 396, 40, 59, 439, 301, 41, 41, 443, + 40, 445, 446, 258, 59, 59, 410, 262, 59, 91, + 454, 455, 456, 25, 26, 27, 460, 59, 301, 274, + 32, 33, 41, 59, 40, 308, 309, 431, 432, 40, + 434, 314, 315, 316, 317, 439, 291, 267, 321, 443, + 41, 445, 446, 258, 41, 267, 301, 262, 60, 41, + 454, 455, 456, 258, 41, 41, 460, 262, 0, 274, + 59, 73, 74, 258, 60, 59, 258, 262, 80, 274, + 262, 86, 301, 20, 86, 321, 322, 323, 324, 274, + 92, 93, 274, 21, 60, 73, 301, 36, 100, 37, + 303, 103, 220, 105, 327, 329, 301, 109, 301, 330, + 328, 301, 114, 101, 331, 131, 301, 37, 38, 301, + 122, 41, 42, 43, 44, 45, 257, 47, 31, 14, + 74, 134, 263, 135, -1, -1, -1, -1, 269, 59, + 60, 61, 62, -1, -1, 276, 277, 278, -1, 33, + 281, -1, -1, 284, -1, -1, 40, -1, -1, 43, + -1, 45, -1, -1, -1, -1, -1, -1, -1, -1, + 172, -1, 257, 258, 94, 59, 33, 262, 180, -1, + -1, -1, -1, 40, 269, -1, 43, -1, 45, 274, + -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, + -1, -1, 59, 33, 124, 125, 291, -1, -1, -1, + 40, 41, 214, 43, -1, 45, 301, 219, 220, -1, + 33, -1, -1, -1, -1, -1, -1, 40, -1, 301, + 43, -1, 45, -1, -1, -1, 308, 309, -1, -1, + -1, -1, 314, 315, 316, 317, -1, 33, -1, 321, + -1, -1, -1, -1, 40, 41, -1, 43, -1, 45, + -1, -1, -1, -1, 266, 267, -1, -1, 270, 271, + -1, 257, 258, -1, 33, -1, 262, -1, -1, -1, + -1, 40, -1, 269, 43, -1, 45, -1, 274, -1, + 276, 277, 278, -1, -1, -1, -1, -1, 284, -1, + 59, 303, -1, -1, 33, 291, -1, 309, -1, -1, + 123, 40, 41, -1, 43, 301, 45, -1, 320, -1, + -1, 33, -1, -1, 257, -1, -1, -1, 40, 41, + 263, 43, -1, 45, 336, -1, 269, 257, 258, -1, + 342, -1, 262, 276, 277, 278, -1, -1, 281, 269, + -1, 284, -1, 273, 274, -1, 276, 277, 278, -1, + -1, -1, -1, -1, 284, -1, 33, -1, -1, -1, + -1, 291, -1, 40, -1, -1, 43, -1, 45, -1, + -1, 301, 302, 303, 304, 305, 306, 307, 308, 309, + -1, 275, 59, -1, 314, 315, 316, 317, -1, -1, + -1, 321, -1, 287, -1, -1, -1, -1, -1, 293, + 294, 295, 296, 297, 298, 299, 300, 301, 275, 33, + -1, -1, -1, -1, 308, 309, 40, 41, -1, 43, + 287, 45, -1, -1, -1, -1, 293, 294, 295, 296, + 297, 298, 299, 300, 301, 275, 33, -1, -1, -1, + -1, 308, 309, 40, 41, -1, 43, 287, 45, -1, + -1, -1, 275, 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, -1, 287, -1, -1, -1, 308, 309, - 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, - 91, -1, -1, -1, -1, 308, 309, -1, -1, 33, - -1, 268, 269, -1, -1, 272, 40, 274, 275, 43, - -1, 45, 275, -1, -1, -1, 60, -1, -1, -1, - -1, -1, -1, -1, 287, 59, -1, -1, -1, -1, - 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, - -1, 308, 33, -1, 275, 308, 309, 314, -1, 40, - 41, -1, 43, -1, 45, -1, 287, -1, 325, -1, - -1, -1, 293, 294, 295, 296, 297, 298, 299, 300, - 301, -1, -1, -1, 341, -1, -1, 308, 309, -1, - 347, 33, -1, -1, -1, 257, 258, -1, 40, 41, - 262, 43, -1, 45, -1, -1, -1, 269, -1, -1, - -1, 273, 274, -1, 276, 277, 278, -1, -1, -1, - -1, -1, 284, 33, -1, -1, -1, -1, -1, 291, - 40, -1, -1, 43, -1, 45, -1, -1, -1, 301, - 302, 303, 304, 305, 306, 307, 308, 309, -1, 59, - 33, -1, 314, 315, 316, 317, -1, 40, 41, 321, - 43, -1, 45, -1, -1, -1, -1, 258, -1, -1, - -1, 262, -1, -1, -1, 275, -1, -1, 33, -1, - -1, -1, -1, 274, -1, 40, 41, 287, 43, -1, - 45, -1, -1, 293, 294, 295, 296, 297, 298, 299, - 300, 301, -1, -1, -1, 33, -1, -1, 308, 309, - 301, -1, 40, 41, -1, 43, -1, 45, -1, -1, + 293, 294, 295, 296, 297, 298, 299, 300, 301, 275, + 33, -1, -1, -1, -1, 308, 309, 40, 41, -1, + 43, 287, 45, -1, -1, -1, -1, 293, 294, 295, + 296, 297, 298, 299, 300, 301, 275, 33, -1, -1, }; } class yyCheck1 { protected static final short yyCheck1 [] = { -1, - -1, 33, 257, 258, -1, -1, -1, 262, 40, 41, - -1, 43, -1, 45, 269, -1, -1, -1, -1, 274, - -1, 276, 277, 278, -1, -1, -1, -1, 33, 284, - 275, -1, -1, -1, -1, 40, 291, -1, 43, -1, - 45, -1, 287, -1, -1, -1, 301, -1, 293, 294, - 295, 296, 297, 298, 299, 300, 301, -1, -1, -1, - -1, -1, -1, 308, 309, -1, -1, -1, -1, -1, - -1, -1, -1, 275, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 287, -1, -1, -1, 40, - -1, 293, 294, 295, 296, 297, 298, 299, 300, 301, - -1, -1, -1, -1, -1, -1, 308, 309, 59, -1, - -1, -1, 275, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 287, -1, -1, -1, -1, -1, + -1, 308, 309, 40, 41, -1, 43, 287, 45, -1, + -1, -1, -1, 293, 294, 295, 296, 297, 298, 299, + 300, 301, -1, 33, -1, 275, -1, -1, 308, 309, + 40, -1, -1, 43, -1, 45, -1, 287, -1, -1, + -1, -1, 275, 293, 294, 295, 296, 297, 298, 299, + 300, 301, -1, -1, 287, -1, -1, -1, 308, 309, 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, - -1, -1, -1, -1, 275, 308, 309, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 287, -1, -1, -1, - -1, -1, 293, 294, 295, 296, 297, 298, 299, 300, - 301, 275, 123, -1, -1, -1, -1, 308, 309, -1, - -1, -1, -1, 287, -1, -1, -1, -1, -1, 293, - 294, 295, 296, 297, 298, 299, 300, 301, -1, 275, + 33, -1, -1, -1, -1, 308, 309, 40, -1, -1, + 43, -1, 45, -1, -1, -1, -1, 275, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 287, + -1, -1, -1, -1, -1, 293, 294, 295, 296, 297, + 298, 299, 300, 301, -1, -1, -1, -1, -1, -1, + 308, 309, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, + 275, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 287, -1, -1, -1, -1, 59, 293, 294, + 295, 296, 297, 298, 299, 300, 301, 275, -1, -1, + -1, -1, -1, 308, 309, -1, -1, -1, -1, 287, + -1, -1, -1, -1, -1, 293, 294, 295, 296, 297, + 298, 299, 300, 301, -1, -1, -1, -1, -1, -1, + 308, 309, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 275, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 123, -1, 287, -1, -1, -1, -1, -1, 293, + 294, 295, 296, 297, 298, 299, 300, 301, 275, -1, -1, -1, -1, -1, 308, 309, -1, -1, -1, -1, - -1, 287, -1, -1, -1, -1, -1, 293, 294, 295, - 296, 297, 298, 299, 300, 301, 275, -1, -1, -1, - -1, -1, 308, 309, -1, -1, -1, -1, 287, -1, - -1, -1, -1, 275, 293, 294, 295, 296, 297, 298, - 299, 300, 301, -1, -1, 287, -1, -1, -1, 308, - 309, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 275, -1, -1, -1, -1, -1, 308, 309, -1, -1, - -1, -1, 287, -1, -1, -1, -1, -1, 293, 294, - 295, 296, 297, 298, 299, 300, 301, 59, 60, 170, - 171, -1, -1, 308, 309, 37, 38, -1, 40, 41, - 42, 43, 44, 45, 46, 47, -1, -1, -1, -1, - 271, 272, -1, -1, -1, -1, -1, 59, -1, -1, - 62, -1, 283, -1, -1, -1, 287, -1, -1, -1, - -1, 292, 293, 294, 295, 296, 297, 298, 299, 300, - 301, -1, 223, 224, 225, -1, -1, 308, 309, 91, - 37, 38, 94, 125, 41, 42, 43, 44, 45, -1, + 287, -1, -1, -1, -1, -1, 293, 294, 295, 296, + 297, 298, 299, 300, 301, 275, -1, -1, -1, -1, + -1, 308, 309, -1, -1, -1, -1, 287, -1, -1, + -1, -1, -1, 293, 294, 295, 296, 297, 298, 299, + 300, 301, 59, 60, -1, -1, -1, -1, 308, 309, + 37, 38, -1, 40, 41, 42, 43, 44, 45, 46, 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 59, 60, -1, 62, -1, -1, -1, -1, - -1, 123, 124, 125, -1, -1, -1, -1, -1, -1, + -1, -1, 59, -1, 287, 62, -1, -1, -1, -1, + 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, + -1, -1, -1, -1, -1, 308, 309, -1, -1, -1, + -1, -1, -1, -1, 91, 37, 38, 94, 125, 41, + 42, 43, 44, 45, -1, 47, -1, -1, -1, 271, + 272, -1, -1, -1, -1, -1, -1, 59, 60, -1, + 62, 283, -1, -1, -1, 287, 123, 124, 125, -1, + 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, + -1, -1, -1, -1, -1, -1, 308, 309, -1, 37, + -1, -1, 94, 41, 42, 43, 44, 45, 46, 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 37, -1, -1, 94, 41, 42, - 43, 44, 45, 46, 47, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 59, 60, -1, 62, - -1, -1, -1, -1, -1, -1, -1, 124, 125, 320, - 321, 322, 323, 324, -1, 326, 327, 328, 329, 330, - 331, 332, 333, 334, 335, 336, -1, -1, 37, 38, - -1, 94, 41, 42, 43, 44, 45, 46, 47, -1, + -1, 59, 60, -1, 62, -1, -1, -1, -1, -1, + -1, -1, 124, 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 59, 60, -1, 62, -1, 257, 258, -1, -1, -1, - 262, 124, 125, -1, -1, 376, -1, 269, -1, -1, - -1, -1, 274, -1, 276, 277, 278, -1, -1, -1, - -1, -1, 284, -1, -1, 257, 258, -1, -1, 291, - 262, -1, -1, -1, -1, -1, -1, 269, -1, 301, - -1, 273, 274, -1, 276, 277, 278, -1, -1, -1, - 282, -1, 284, -1, -1, 124, 125, -1, -1, 291, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 301, - 302, 303, 304, 305, 306, 307, 308, 309, -1, -1, - 257, 258, -1, -1, -1, 262, -1, -1, -1, -1, - -1, -1, 269, -1, -1, -1, 273, 274, -1, 276, - 277, 278, -1, -1, -1, -1, -1, 284, -1, -1, - -1, -1, -1, -1, 291, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 40, 257, 258, -1, -1, -1, 262, - -1, -1, -1, -1, -1, -1, 269, -1, -1, -1, - 273, 274, 59, 276, 277, 278, -1, -1, -1, -1, - -1, 284, -1, -1, -1, -1, -1, -1, 291, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 301, 302, - 303, 304, 305, 306, 307, 308, 309, -1, 257, 258, - -1, -1, -1, 262, -1, -1, -1, -1, -1, -1, - 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, - -1, -1, -1, -1, -1, 284, 123, -1, -1, 37, - 38, -1, 291, 41, 42, 43, 44, 45, 46, 47, - -1, -1, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 59, 60, -1, 62, -1, -1, 406, 407, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 422, -1, -1, -1, -1, -1, -1, -1, -1, -1, 37, 38, -1, 94, 41, 42, 43, - 44, 45, 46, 47, -1, 444, 445, -1, 447, -1, - -1, -1, -1, 452, -1, 59, 60, 456, 62, 458, - 459, -1, -1, -1, -1, -1, -1, 125, 467, 468, - 469, 37, 38, -1, 473, 41, 42, 43, 44, 45, - 46, 47, -1, -1, -1, -1, -1, -1, -1, -1, - 94, -1, -1, 59, 60, -1, 62, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 37, 38, - -1, -1, 41, 42, 43, 44, 45, -1, 47, -1, - 124, 125, -1, -1, 271, 272, -1, -1, 94, -1, - 59, 60, -1, 62, -1, -1, 283, -1, -1, -1, - 287, -1, -1, -1, -1, 292, 293, 294, 295, 296, - 297, 298, 299, 300, 301, -1, -1, -1, 124, 125, - -1, 308, 309, -1, -1, 94, -1, -1, 37, -1, - -1, -1, 41, 42, 43, 44, 45, 46, 47, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 59, 60, -1, 62, -1, 124, 125, -1, -1, 257, + 44, 45, 46, 47, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 59, 60, -1, 62, -1, + 257, 258, -1, -1, -1, 262, 124, 125, -1, -1, + -1, -1, 269, -1, -1, -1, -1, 274, -1, 276, + 277, 278, -1, -1, -1, -1, -1, 284, -1, -1, + 257, 258, -1, -1, 291, 262, -1, -1, -1, -1, + -1, -1, 269, -1, 301, -1, 273, 274, -1, 276, + 277, 278, -1, -1, -1, 282, -1, 284, -1, -1, + 124, 125, -1, -1, 291, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, + 307, 308, 309, -1, -1, 257, 258, -1, -1, -1, + 262, -1, -1, -1, -1, -1, -1, 269, -1, -1, + -1, 273, 274, -1, 276, 277, 278, -1, 168, 169, + -1, -1, 284, -1, -1, -1, -1, -1, -1, 291, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 301, + 302, 303, 304, 305, 306, 307, 308, 309, 40, 257, 258, -1, -1, -1, 262, -1, -1, -1, -1, -1, - -1, 269, -1, -1, -1, 273, 274, -1, 276, 277, - 278, -1, -1, -1, -1, 94, 284, -1, -1, -1, + -1, 269, -1, -1, -1, 273, 274, 59, 276, 277, + 278, 221, 222, 223, -1, -1, 284, -1, -1, -1, -1, -1, -1, 291, -1, -1, -1, -1, -1, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, 307, - 308, 309, -1, 257, 258, 124, 125, -1, 262, -1, + 308, 309, -1, 257, 258, -1, -1, -1, 262, -1, + -1, -1, -1, -1, -1, 269, -1, -1, -1, 273, + 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, + 284, 123, -1, -1, 37, 38, -1, 291, 41, 42, + 43, 44, 45, 46, 47, -1, -1, 301, 302, 303, + 304, 305, 306, 307, 308, 309, 59, 60, -1, 62, + -1, -1, -1, -1, -1, 315, 316, 317, 318, 319, + -1, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 331, -1, -1, -1, -1, -1, -1, 37, 38, + -1, 94, 41, 42, 43, 44, 45, 46, 47, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 59, 60, -1, 62, -1, -1, -1, 367, -1, -1, + -1, -1, 125, -1, -1, -1, 37, 38, -1, -1, + 41, 42, 43, 44, 45, 46, 47, -1, -1, -1, + -1, -1, -1, -1, -1, 94, -1, -1, 59, 60, + -1, 62, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 37, 38, -1, -1, 41, 42, 43, + 44, 45, -1, 47, -1, 124, 125, -1, -1, 271, + 272, -1, -1, 94, -1, 59, 60, -1, 62, -1, + -1, 283, -1, -1, -1, 287, -1, -1, -1, -1, + 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, + -1, -1, -1, 124, 125, -1, 308, 309, -1, -1, + 94, -1, -1, 37, -1, -1, -1, 41, 42, 43, + 44, 45, 46, 47, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 59, 60, -1, 62, -1, + 124, 125, -1, -1, 257, 258, -1, -1, -1, 262, + -1, -1, -1, -1, -1, -1, 269, -1, -1, -1, + 273, 274, -1, 276, 277, 278, -1, -1, -1, -1, + 94, 284, -1, -1, -1, -1, -1, -1, 291, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 301, 302, + 303, 304, 305, 306, 307, 308, 309, -1, 257, 258, + 124, 125, -1, 262, -1, -1, -1, -1, -1, -1, }; } class yyCheck2 { - protected static final short yyCheck2 [] = { -1, - -1, -1, -1, -1, 269, -1, -1, -1, 273, 274, - -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, - -1, -1, -1, -1, -1, -1, 291, -1, -1, -1, - 257, 258, -1, -1, 60, 262, 301, 302, 303, 304, - 305, 306, 269, 308, 309, -1, 273, 274, -1, 276, - 277, 278, -1, -1, -1, -1, -1, 284, -1, -1, - -1, -1, -1, -1, 291, -1, -1, 257, 258, -1, - -1, -1, 262, -1, 301, 302, 303, 304, 305, 269, - 307, 308, 309, 273, 274, -1, 276, 277, 278, -1, - -1, -1, -1, -1, 284, -1, -1, -1, 37, 38, - -1, 291, 41, 42, 43, 44, 45, 46, 47, -1, - -1, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 59, 60, -1, 62, -1, -1, -1, 257, 258, -1, - -1, -1, 262, -1, -1, -1, -1, -1, -1, 269, + protected static final short yyCheck2 [] = { 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, -1, - -1, -1, -1, -1, 284, -1, -1, -1, 37, 38, - -1, 291, 41, 42, 43, 44, 45, 46, 47, -1, - -1, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 59, 60, -1, 62, -1, 124, 125, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 37, 38, -1, 94, 41, 42, 43, 44, - 45, 46, 47, -1, -1, -1, -1, -1, -1, -1, - -1, 257, 258, -1, 59, 60, 262, 62, -1, -1, - -1, -1, -1, 269, -1, -1, 125, -1, 274, -1, - 276, 277, 278, -1, -1, -1, -1, -1, 284, -1, - -1, -1, -1, -1, -1, 291, -1, 37, 38, 94, - -1, 41, 42, -1, 44, 301, 46, 47, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 59, - 60, -1, 62, -1, -1, -1, -1, -1, -1, 124, - 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 257, 258, - -1, -1, -1, 262, 94, -1, -1, -1, -1, -1, - 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, - -1, -1, -1, -1, -1, 284, -1, -1, -1, -1, - -1, -1, 291, -1, 124, 125, -1, -1, -1, -1, - -1, -1, 301, 302, 303, 304, 305, 306, 307, 308, - 309, -1, -1, -1, -1, -1, -1, -1, 257, 258, - -1, -1, -1, 262, -1, -1, -1, -1, -1, -1, - 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, - -1, -1, -1, -1, -1, 284, -1, -1, -1, -1, - -1, -1, 291, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 301, 302, 303, 304, 305, 306, 307, 308, - 309, -1, 257, 258, -1, -1, -1, 262, -1, -1, + -1, -1, -1, -1, 284, -1, -1, -1, -1, -1, + -1, 291, -1, -1, -1, 257, 258, -1, -1, -1, + 262, 301, 302, 303, 304, 305, 306, 269, 308, 309, + -1, 273, 274, -1, 276, 277, 278, -1, -1, -1, + -1, -1, 284, -1, -1, -1, -1, -1, -1, 291, + -1, -1, 257, 258, -1, -1, -1, 262, -1, 301, + 302, 303, 304, 305, 269, 307, 308, 309, 273, 274, + -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, + -1, -1, -1, 37, 38, -1, 291, 41, 42, 43, + 44, 45, 46, 47, -1, -1, 301, 302, 303, 304, + 305, 306, 307, 308, 309, 59, 60, -1, 62, -1, + -1, -1, 257, 258, -1, -1, -1, 262, -1, -1, -1, -1, -1, -1, 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, -1, -1, -1, 37, 38, -1, 291, 41, 42, 43, 44, 45, 46, 47, -1, -1, 301, 302, 303, 304, - 305, 306, -1, 308, 309, 59, -1, 257, 258, -1, + 305, 306, 307, 308, 309, 59, 60, -1, 62, -1, + 124, 125, -1, 395, 396, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 410, -1, + -1, -1, -1, -1, -1, -1, -1, 37, 38, -1, + 94, 41, 42, 43, 44, 45, 46, 47, -1, 431, + 432, -1, 434, -1, -1, -1, -1, 439, -1, 59, + 60, 443, 62, 445, 446, -1, -1, -1, -1, -1, + -1, 125, 454, 455, 456, -1, -1, -1, 460, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 37, 38, 94, -1, 41, 42, -1, 44, + -1, 46, 47, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 59, 60, -1, 62, -1, -1, + -1, -1, -1, -1, 124, 125, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 257, 258, -1, -1, -1, 262, 94, + -1, -1, -1, -1, -1, 269, -1, -1, -1, 273, + 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, + 284, -1, -1, -1, -1, -1, -1, 291, -1, 124, + 125, -1, -1, -1, -1, -1, -1, 301, 302, 303, + 304, 305, 306, 307, 308, 309, -1, -1, -1, -1, + -1, -1, -1, 257, 258, -1, -1, -1, 262, -1, + -1, -1, -1, -1, -1, 269, -1, -1, -1, 273, + 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, + 284, -1, -1, -1, -1, -1, -1, 291, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 301, 302, 303, + 304, 305, 306, 307, 308, 309, -1, 257, 258, -1, -1, -1, 262, -1, -1, -1, -1, -1, -1, 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, -1, -1, -1, 37, 38, - 94, 291, 41, 42, 43, 44, 45, 46, 47, -1, - -1, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 59, 60, -1, 62, -1, -1, -1, -1, -1, -1, - 124, 125, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 37, 38, -1, 94, 41, 42, 43, 44, - 45, 46, 47, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 59, 60, -1, 62, -1, -1, - -1, -1, -1, -1, -1, 124, 125, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, - -1, -1, 37, 38, -1, -1, 41, 42, 43, 44, - 45, 46, 47, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 59, -1, -1, -1, -1, 124, - 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 257, 258, -1, -1, -1, 262, 94, - -1, -1, -1, -1, -1, 269, -1, -1, -1, -1, - 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, - 284, -1, -1, -1, -1, -1, -1, 291, -1, 124, - 125, -1, -1, -1, -1, -1, -1, 301, 302, -1, - -1, 305, 306, 307, 308, 309, -1, -1, 257, 258, - -1, -1, -1, 262, -1, -1, -1, -1, -1, -1, - 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, - -1, -1, -1, -1, -1, 284, -1, -1, -1, -1, - -1, -1, 291, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 301, -1, 303, 304, -1, 306, 307, 308, - 309, -1, 257, 258, -1, -1, -1, 262, -1, -1, + -1, 291, 41, 42, 43, 44, 45, 46, 47, -1, + -1, 301, 302, 303, 304, 305, 306, -1, 308, 309, + 59, -1, 257, 258, -1, -1, -1, 262, -1, -1, -1, -1, -1, -1, 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, - -1, -1, -1, 37, 38, -1, 291, 41, 42, 43, - 44, 45, 46, 47, -1, -1, 301, -1, 303, 304, - -1, 306, 307, 308, 309, 59, -1, -1, -1, -1, - -1, -1, 257, 258, -1, -1, -1, 262, -1, -1, - -1, -1, -1, -1, 269, -1, -1, -1, -1, 274, - -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, - 94, -1, -1, -1, 38, -1, 291, 41, -1, 43, - 44, 45, 46, -1, -1, -1, 301, 302, -1, -1, + -1, -1, -1, 37, 38, 94, 291, 41, 42, 43, + 44, 45, 46, 47, -1, -1, 301, 302, 303, 304, 305, 306, 307, 308, 309, 59, 60, -1, 62, -1, - 124, 125, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 124, 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 38, -1, - 94, 41, -1, 43, 44, 45, 46, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 37, 38, -1, + 94, 41, 42, 43, 44, 45, 46, 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 59, 60, -1, 62, -1, -1, -1, -1, -1, -1, -1, 124, 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 38, 94, -1, 41, -1, 43, 44, + -1, -1, -1, -1, 94, -1, -1, 37, 38, -1, + -1, 41, 42, 43, 44, 45, 46, 47, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 59, + -1, -1, -1, -1, 124, 125, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 257, 258, + -1, -1, -1, 262, 94, -1, -1, -1, -1, -1, + 269, -1, -1, -1, -1, 274, -1, 276, 277, 278, + -1, -1, -1, -1, -1, 284, -1, -1, -1, -1, + -1, -1, 291, -1, 124, 125, -1, -1, -1, -1, + -1, -1, 301, 302, -1, -1, 305, 306, 307, 308, + 309, -1, -1, 257, 258, -1, -1, -1, 262, -1, + -1, -1, -1, -1, -1, 269, -1, -1, -1, 273, + 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, + 284, -1, -1, -1, -1, -1, -1, 291, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 301, -1, 303, + 304, -1, 306, 307, 308, 309, -1, 257, 258, -1, + -1, -1, 262, -1, -1, -1, -1, -1, -1, 269, + -1, -1, -1, 273, 274, -1, 276, 277, 278, -1, + -1, -1, -1, -1, 284, -1, -1, -1, 37, 38, + -1, 291, 41, 42, 43, 44, 45, 46, 47, -1, + -1, 301, -1, 303, 304, -1, 306, 307, 308, 309, + 59, -1, -1, -1, -1, -1, -1, 257, 258, -1, + -1, -1, 262, -1, -1, -1, -1, -1, -1, 269, + -1, -1, -1, -1, 274, -1, 276, 277, 278, -1, + -1, -1, -1, -1, 284, 94, -1, -1, -1, 38, + -1, 291, 41, -1, 43, 44, 45, 46, -1, -1, + -1, 301, 302, -1, -1, 305, 306, 307, 308, 309, + 59, 60, -1, 62, -1, 124, 125, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 38, -1, 94, 41, -1, 43, 44, + 45, 46, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 59, 60, -1, 62, -1, -1, + -1, -1, -1, -1, -1, 124, 125, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 38, 94, + -1, 41, -1, 43, 44, 45, 46, -1, -1, -1, }; } class yyCheck3 { - protected static final short yyCheck3 [] = { 45, - 46, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 59, 60, -1, 62, -1, -1, -1, - -1, -1, -1, 124, 125, -1, -1, -1, -1, -1, + protected static final short yyCheck3 [] = { -1, + -1, -1, -1, -1, -1, -1, -1, -1, 59, 60, + -1, 62, -1, -1, -1, -1, -1, -1, 124, 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 257, 258, -1, -1, -1, 262, 94, -1, - -1, -1, -1, -1, 269, 40, -1, -1, -1, 274, - -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, - -1, -1, -1, -1, 59, -1, 291, -1, 124, 125, - -1, -1, -1, -1, -1, -1, 301, 302, -1, -1, - 305, 306, 307, 308, 309, -1, -1, -1, -1, -1, - -1, -1, 257, 258, -1, -1, -1, 262, -1, 40, - -1, -1, -1, -1, 269, -1, -1, -1, 273, 274, - -1, 276, 277, 278, -1, -1, -1, -1, 59, 284, - -1, -1, -1, -1, -1, -1, 291, -1, 123, -1, - 125, -1, -1, -1, -1, -1, 301, 302, 303, 304, - 305, 306, 307, 308, 309, -1, 257, 258, -1, -1, - -1, 262, -1, -1, -1, -1, -1, -1, 269, -1, - -1, -1, 273, 274, -1, 276, 277, 278, -1, -1, - -1, -1, -1, 284, -1, -1, -1, -1, -1, -1, - 291, 40, 123, -1, 125, -1, -1, -1, -1, -1, - 301, 302, 303, 304, 305, 306, 307, 308, 309, -1, - 59, 257, 258, -1, -1, -1, 262, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 257, 258, -1, + -1, -1, 262, 94, -1, -1, -1, -1, -1, 269, + 40, -1, -1, -1, 274, -1, 276, 277, 278, -1, + -1, -1, -1, -1, 284, -1, -1, -1, -1, 59, + -1, 291, -1, 124, 125, -1, -1, -1, -1, -1, + -1, 301, 302, -1, -1, 305, 306, 307, 308, 309, + -1, -1, -1, -1, -1, -1, -1, 257, 258, -1, + -1, -1, 262, -1, 40, -1, -1, -1, -1, 269, + -1, -1, -1, 273, 274, -1, 276, 277, 278, -1, + -1, -1, -1, 59, 284, -1, -1, -1, -1, -1, + -1, 291, -1, 123, -1, 125, -1, -1, -1, -1, + -1, 301, 302, 303, 304, 305, 306, 307, 308, 309, + -1, 257, 258, -1, -1, -1, 262, -1, -1, -1, -1, -1, -1, 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, -1, - -1, -1, 37, 38, -1, 291, 41, 42, 43, 44, - 45, 46, 47, -1, -1, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 59, 60, -1, 62, -1, -1, - -1, -1, -1, 258, 123, -1, 125, 262, -1, -1, - -1, -1, 267, -1, -1, -1, 271, 272, -1, 274, - -1, -1, -1, -1, -1, -1, -1, -1, 283, 94, - 40, -1, 287, -1, -1, -1, -1, 292, 293, 294, - 295, 296, 297, 298, 299, 300, 301, -1, -1, 59, - -1, -1, -1, 308, 309, -1, -1, 258, -1, 124, - 125, 262, -1, -1, -1, -1, -1, -1, -1, -1, - 271, 272, -1, 274, -1, -1, -1, -1, -1, -1, - -1, -1, 283, -1, 40, -1, 287, -1, -1, -1, - -1, 292, 293, 294, 295, 296, 297, 298, 299, 300, - 301, -1, -1, 59, -1, -1, -1, 308, 309, -1, - -1, -1, -1, 123, -1, 125, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 40, -1, -1, -1, -1, -1, -1, 258, - -1, -1, -1, 262, -1, -1, -1, -1, -1, -1, - -1, 59, 271, 272, -1, 274, -1, -1, -1, -1, - -1, -1, -1, -1, 283, -1, -1, 123, 287, 125, - -1, -1, -1, 292, 293, 294, 295, 296, 297, 298, - 299, 300, 301, -1, 40, -1, -1, -1, -1, 308, - 309, -1, 257, 258, -1, -1, -1, 262, -1, -1, - -1, -1, -1, 59, 269, -1, -1, -1, 273, 274, - -1, 276, 277, 278, -1, 123, -1, 125, -1, 284, - -1, -1, -1, -1, -1, -1, 291, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 301, 302, 303, 304, - 305, 306, 307, -1, -1, -1, -1, -1, 258, 60, - -1, -1, 262, -1, -1, -1, -1, -1, -1, -1, - -1, 271, 272, -1, 274, -1, -1, 123, -1, 125, - -1, -1, -1, 283, -1, -1, -1, 287, -1, -1, + -1, -1, -1, -1, -1, 291, 40, 123, -1, 125, + -1, -1, -1, -1, -1, 301, 302, 303, 304, 305, + 306, 307, 308, 309, -1, 59, 257, 258, -1, -1, + -1, 262, -1, -1, -1, -1, -1, -1, 269, -1, + -1, -1, 273, 274, -1, 276, 277, 278, -1, -1, + -1, -1, -1, 284, -1, -1, -1, 37, 38, -1, + 291, 41, 42, 43, 44, 45, 46, 47, -1, -1, + 301, 302, 303, 304, 305, 306, 307, 308, 309, 59, + 60, -1, 62, -1, -1, -1, -1, -1, 258, 123, + -1, 125, 262, -1, -1, -1, -1, 267, -1, -1, + -1, 271, 272, -1, 274, -1, -1, -1, -1, -1, + -1, -1, -1, 283, 94, 40, -1, 287, -1, -1, -1, -1, 292, 293, 294, 295, 296, 297, 298, 299, - 300, 301, -1, -1, 60, -1, -1, -1, 308, 309, - -1, -1, 258, -1, -1, -1, 262, -1, -1, -1, - -1, -1, -1, -1, 125, 271, 272, -1, 274, -1, - -1, -1, -1, -1, -1, -1, -1, 283, -1, 60, - -1, 287, -1, -1, -1, -1, 292, 293, 294, 295, - 296, 297, 298, 299, 300, 301, -1, -1, -1, -1, - 258, -1, 308, 309, 262, -1, -1, 60, -1, 125, - -1, -1, -1, 271, 272, -1, 274, -1, -1, -1, - -1, -1, -1, -1, -1, 283, -1, -1, -1, 287, - -1, -1, -1, -1, 292, 293, 294, 295, 296, 297, - 298, 299, 300, 301, 125, -1, -1, -1, -1, -1, - 308, 309, 258, -1, -1, -1, 262, -1, -1, -1, + 300, 301, -1, -1, 59, -1, -1, -1, 308, 309, + -1, -1, 258, -1, 124, 125, 262, -1, -1, -1, -1, -1, -1, -1, -1, 271, 272, -1, 274, -1, - -1, -1, 125, -1, -1, -1, -1, 283, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 283, -1, 40, -1, 287, -1, -1, -1, -1, 292, 293, 294, 295, - 296, 297, 298, 299, 300, 301, 257, 258, -1, -1, - -1, 262, 308, 309, -1, -1, -1, -1, 269, -1, - -1, -1, -1, 274, -1, 276, 277, 278, -1, -1, - -1, -1, -1, 284, -1, -1, -1, -1, -1, -1, - 291, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 301, 257, 258, -1, -1, -1, 262, -1, -1, -1, + 296, 297, 298, 299, 300, 301, -1, -1, 59, -1, + -1, -1, 308, 309, -1, -1, -1, -1, 123, -1, + 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, + -1, -1, -1, -1, 258, -1, -1, -1, 262, -1, + -1, -1, -1, -1, -1, -1, 59, 271, 272, -1, + 274, -1, -1, -1, -1, -1, -1, -1, -1, 283, + -1, -1, 123, 287, 125, -1, -1, -1, 292, 293, + 294, 295, 296, 297, 298, 299, 300, 301, -1, 40, + -1, -1, -1, -1, 308, 309, -1, 257, 258, -1, + -1, -1, 262, -1, -1, -1, -1, -1, 59, 269, + -1, -1, -1, 273, 274, -1, 276, 277, 278, -1, + 123, -1, 125, -1, 284, -1, -1, -1, -1, -1, + -1, 291, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 301, 302, 303, 304, 305, 306, 307, -1, -1, + -1, -1, -1, 258, 60, -1, -1, 262, -1, -1, + -1, -1, -1, -1, -1, -1, 271, 272, -1, 274, + -1, -1, 123, -1, 125, -1, -1, -1, 283, -1, + -1, -1, 287, -1, -1, -1, -1, 292, 293, 294, + 295, 296, 297, 298, 299, 300, 301, -1, -1, 60, + -1, -1, -1, 308, 309, -1, -1, 258, -1, -1, + -1, 262, -1, -1, -1, -1, -1, -1, -1, 125, + 271, 272, -1, 274, -1, -1, -1, -1, -1, -1, + -1, -1, 283, -1, 60, -1, 287, -1, -1, -1, + -1, 292, 293, 294, 295, 296, 297, 298, 299, 300, + 301, -1, -1, -1, -1, 258, -1, 308, 309, 262, + -1, -1, 60, -1, 125, -1, -1, -1, 271, 272, + -1, 274, -1, -1, -1, -1, -1, -1, -1, -1, + 283, -1, -1, -1, 287, -1, -1, -1, -1, 292, + 293, 294, 295, 296, 297, 298, 299, 300, 301, 125, + -1, -1, -1, -1, -1, 308, 309, 258, -1, -1, + -1, 262, -1, -1, -1, -1, -1, -1, -1, -1, + 271, 272, -1, 274, -1, -1, -1, 125, -1, -1, + -1, -1, 283, -1, -1, -1, 287, -1, -1, -1, + -1, 292, 293, 294, 295, 296, 297, 298, 299, 300, + 301, 257, 258, -1, -1, -1, 262, 308, 309, -1, -1, -1, -1, 269, -1, -1, -1, -1, 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, -1, - -1, -1, -1, -1, -1, 291, 257, 258, -1, -1, - -1, 262, -1, -1, -1, 301, -1, -1, 269, -1, + -1, -1, -1, -1, -1, 291, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 301, 257, 258, -1, -1, + -1, 262, -1, -1, -1, -1, -1, -1, 269, -1, -1, -1, -1, 274, -1, 276, 277, 278, -1, -1, - -1, -1, -1, 284, 257, 258, -1, -1, -1, 262, - 291, -1, -1, -1, -1, -1, 269, -1, -1, -1, - 301, 274, -1, 276, 277, 278, -1, -1, -1, -1, - -1, 284, -1, -1, -1, -1, -1, -1, 291, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 301, + -1, -1, -1, 284, -1, -1, -1, -1, -1, -1, + 291, 257, 258, -1, -1, -1, 262, -1, -1, -1, + 301, -1, -1, 269, -1, -1, -1, -1, 274, -1, + 276, 277, 278, -1, -1, -1, -1, -1, 284, 257, + 258, -1, -1, -1, 262, 291, -1, -1, -1, -1, + -1, 269, -1, -1, -1, 301, 274, -1, 276, 277, + 278, -1, -1, -1, -1, -1, 284, -1, -1, -1, + -1, -1, -1, 291, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 301, }; } class yyCheckInit { - static short[] yyCheck = new short[3873]; + static short[] yyCheck = new short[3868]; protected static void yyCheckInit () { int numyycheck; int yyCheckerun = 0; for (numyycheck = 0; numyycheck <= 1000; numyycheck++) { - if (yyCheckerun < 3873) { + if (yyCheckerun < 3868) { yyCheck[yyCheckerun] = yyCheck0.yyCheck0[numyycheck]; yyCheckerun++; } } for (numyycheck = 0; numyycheck <= 1000; numyycheck++) { - if (yyCheckerun < 3873) { + if (yyCheckerun < 3868) { yyCheck[yyCheckerun] = yyCheck1.yyCheck1[numyycheck]; yyCheckerun++; } } for (numyycheck = 0; numyycheck <= 1000; numyycheck++) { - if (yyCheckerun < 3873) { + if (yyCheckerun < 3868) { yyCheck[yyCheckerun] = yyCheck2.yyCheck2[numyycheck]; yyCheckerun++; } } for (numyycheck = 0; numyycheck <= 1000; numyycheck++) { - if (yyCheckerun < 3873) { + if (yyCheckerun < 3868) { yyCheck[yyCheckerun] = yyCheck3.yyCheck3[numyycheck]; yyCheckerun++; } diff --git a/src/mycompiler/myparser/JavaParser.jay b/src/mycompiler/myparser/JavaParser.jay index ad207fae2..69dc34481 100755 --- a/src/mycompiler/myparser/JavaParser.jay +++ b/src/mycompiler/myparser/JavaParser.jay @@ -313,7 +313,8 @@ public Vector testPair = new Vector(); %type explicitconstructorinvocation %type staticinitializer %type castexpression -%type paralist parameter +%type paralist +%type typelist parameter %type wildcardparameter %left ',' %% @@ -785,21 +786,34 @@ classbodydeclaration : classmemberdeclaration classorinterfacetype : simplename parameter { if ($2 != null) { - $1.set_ParaList($2.get_ParaList()); - + //$1.set_ParaList($2.get_ParaList()); + $1.set_ParaList($2);//Änderung von Andreas Stadelmeier. Type statt GenericVarType /* otth: originale (also diese) Parameterliste retten */ - ((UsedId)$1).vParaOrg = new Vector( $2.get_ParaList() ); + //((UsedId)$1).vParaOrg = new Vector( $2.get_ParaList() ); } $$=$1; } +typelist : type + { + Vector tl = new Vector(); + tl.add($1); + $$ = tl; + } + | typelist ',' type + { + $1.add($3); + $$=$1; + } + /* PL 05-07-28 erg�nzt, weil jeder classorinterfacetype auch parametrisiert sein kann */ +//TODO: Das hier ist möglicherweise falsch. Ein Typ hat keine parameterliste, nur eine Liste von RefTypes parameter : { $$ = null; } - | '<'paralist'>' + | '<'typelist'>'//'<'paralist'>'//typelist statt { $$ = $2; } - + interfacememberdeclaration : constantdeclaration { // SCJU: Interfaces, Spezialform Konstantendef. diff --git a/src/mycompiler/mystatement/CastExpr.java b/src/mycompiler/mystatement/CastExpr.java index fb7b7c8e1..20add38d2 100755 --- a/src/mycompiler/mystatement/CastExpr.java +++ b/src/mycompiler/mystatement/CastExpr.java @@ -6,6 +6,7 @@ import java.util.Hashtable; import java.util.Iterator; import java.util.Vector; +import mycompiler.SyntaxTreeNode; import mycompiler.mybytecode.ClassFile; import mycompiler.mybytecode.CodeAttribute; import mycompiler.mybytecode.JVMCode; @@ -27,6 +28,7 @@ import org.apache.log4j.Logger; // ino.end + import typinferenz.ConstraintsSet; import typinferenz.JavaCodeResult; import typinferenz.ResultSet; @@ -149,6 +151,15 @@ public class CastExpr extends UnaryExpr return new JavaCodeResult("(("+this.usedid+")").attach(this.expr.printJavaCode(resultSet)).attach(")"); } + + + @Override + public Vector getChildren() { + Vector ret = new Vector(); + ret.add(this.expr); + return ret; + } + } // ino.end diff --git a/src/mycompiler/mystatement/EmptyStmt.java b/src/mycompiler/mystatement/EmptyStmt.java index 112063ddc..b944dcd43 100755 --- a/src/mycompiler/mystatement/EmptyStmt.java +++ b/src/mycompiler/mystatement/EmptyStmt.java @@ -114,5 +114,10 @@ public class EmptyStmt extends Statement return new JavaCodeResult(""); } + @Override + public Vector getChildren() { + return new Vector(); + } + } // ino.end diff --git a/src/mycompiler/mystatement/InstVar.java b/src/mycompiler/mystatement/InstVar.java index d196037bf..17c132367 100755 --- a/src/mycompiler/mystatement/InstVar.java +++ b/src/mycompiler/mystatement/InstVar.java @@ -7,6 +7,7 @@ import java.util.Hashtable; import java.util.Iterator; import java.util.Vector; +import mycompiler.SyntaxTreeNode; import mycompiler.mybytecode.ClassFile; import mycompiler.mybytecode.CodeAttribute; import mycompiler.mybytecode.JVMCode; @@ -34,6 +35,7 @@ import org.apache.log4j.Logger; // ino.end + import typinferenz.ConstraintsSet; import typinferenz.FreshTypeVariable; import typinferenz.JavaCodeResult; @@ -274,5 +276,12 @@ public class InstVar extends Expr public JavaCodeResult printJavaCode(ResultSet resultSet) { return new JavaCodeResult().attach(this.expr.printJavaCode(resultSet)).attach("."+this.usedid.get_Name_1Element()); } + + @Override + public Vector getChildren() { + Vector ret = new Vector(); + ret.add(this.expr); + return ret; + } } // ino.end diff --git a/src/mycompiler/mystatement/InstanceOf.java b/src/mycompiler/mystatement/InstanceOf.java index 27c04ca98..07975f8b1 100755 --- a/src/mycompiler/mystatement/InstanceOf.java +++ b/src/mycompiler/mystatement/InstanceOf.java @@ -6,6 +6,7 @@ import java.util.Enumeration; import java.util.Hashtable; import java.util.Vector; +import mycompiler.SyntaxTreeNode; import mycompiler.mybytecode.ClassFile; import mycompiler.mybytecode.CodeAttribute; import mycompiler.mybytecode.JVMCode; @@ -27,6 +28,7 @@ import org.apache.log4j.Logger; // ino.end + import typinferenz.ConstraintsSet; import typinferenz.JavaCodeResult; import typinferenz.ResultSet; @@ -150,6 +152,13 @@ public JavaCodeResult printJavaCode(ResultSet resultSet) { // TODO Auto-generated method stub return null; } + + @Override + public Vector getChildren() { + Vector ret = new Vector(); + ret.add(this.expr); + return ret; + } } diff --git a/src/mycompiler/mystatement/LambdaExpression.java b/src/mycompiler/mystatement/LambdaExpression.java index d3181b844..c0142aa87 100755 --- a/src/mycompiler/mystatement/LambdaExpression.java +++ b/src/mycompiler/mystatement/LambdaExpression.java @@ -17,6 +17,7 @@ import mycompiler.SyntaxTreeNode; import mycompiler.mybytecode.ClassFile; import mycompiler.mybytecode.CodeAttribute; import mycompiler.myclass.Class; +import mycompiler.myclass.ClassHelper; import mycompiler.myclass.FormalParameter; import mycompiler.myclass.Method; import mycompiler.myclass.ParameterList; @@ -81,8 +82,28 @@ public class LambdaExpression extends Expr{ public void wandleRefTypeAttributes2GenericAttributes( Vector paralist, Vector genericMethodParameters) { - // TODO Auto-generated method stub - + Block block = this.method_body; + // Zuerst Returntype untersuchen + Type returnType=getType(); + GenericTypeVar pendantReturnType=ClassHelper.findGenericType(returnType, paralist,genericMethodParameters); + if(pendantReturnType!=null){ //Wenn generisch, dann modifizieren + setType(pendantReturnType); + } + + // Dann parameterlist untersuchen + for(FormalParameter fp : params){ + Type fpType=fp.getType(); + // Nur wenn es sich um ein RefType-Field handelt + GenericTypeVar pendantPara=ClassHelper.findGenericType(fpType,paralist,genericMethodParameters); + if(pendantPara!=null){ //Wenn generisch, dann modifizieren + fp.setType(pendantPara); + } + } + + // Zuletzt alle Lokalen Variablendeklarationen durchgehen + if(block!=null){ + block.wandleRefTypeAttributes2GenericAttributes(paralist,genericMethodParameters); + } } @Override diff --git a/src/mycompiler/mystatement/LocalVarDecl.java b/src/mycompiler/mystatement/LocalVarDecl.java index 3f5a6e08b..87cbb1d49 100755 --- a/src/mycompiler/mystatement/LocalVarDecl.java +++ b/src/mycompiler/mystatement/LocalVarDecl.java @@ -39,10 +39,12 @@ import org.apache.log4j.Logger; + import typinferenz.ConstraintsSet; import typinferenz.FreshTypeVariable; import typinferenz.JavaCodeResult; import typinferenz.ResultSet; +import typinferenz.TypeInsertPoint; import typinferenz.TypeInsertable; import typinferenz.assumptions.LocalVarAssumption; import typinferenz.assumptions.TypeAssumptions; @@ -493,5 +495,11 @@ public class LocalVarDecl extends Statement implements TypeInsertable Vector ret = new Vector(); return ret; } + + @Override + public TypeInsertPoint createTypeInsertPoint(TypePlaceholder tph, + ResultSet resultSet) { + return new TypeInsertPoint(tph, this, resultSet.getTypeEqualTo(tph),resultSet); + } } // ino.end diff --git a/src/mycompiler/mystatement/MethodCall.java b/src/mycompiler/mystatement/MethodCall.java index 6b9d2eb7b..303c8d40a 100755 --- a/src/mycompiler/mystatement/MethodCall.java +++ b/src/mycompiler/mystatement/MethodCall.java @@ -236,7 +236,7 @@ public class MethodCall extends Expr ParameterList pl=new ParameterList(); for(int i=0;i getChildren() { + Vector ret = new Vector(); + ret.add(this.expr); + return ret; + } + } // ino.end diff --git a/src/mycompiler/mystatement/NewArray.java b/src/mycompiler/mystatement/NewArray.java index 39620b019..cf07bbc83 100755 --- a/src/mycompiler/mystatement/NewArray.java +++ b/src/mycompiler/mystatement/NewArray.java @@ -5,6 +5,7 @@ package mycompiler.mystatement; import java.util.Hashtable; import java.util.Vector; +import mycompiler.SyntaxTreeNode; import mycompiler.mybytecode.ClassFile; import mycompiler.mybytecode.CodeAttribute; import mycompiler.mybytecode.JVMCode; @@ -23,6 +24,7 @@ import org.apache.log4j.Logger; // ino.end + import typinferenz.ConstraintsSet; import typinferenz.JavaCodeResult; import typinferenz.ResultSet; @@ -202,5 +204,12 @@ public JavaCodeResult printJavaCode(ResultSet resultSet) { return null; } + @Override + public Vector getChildren() { + Vector ret = new Vector(); + ret.addAll(this.expr); + return ret; + } + } // ino.end diff --git a/src/mycompiler/mystatement/NotExpr.java b/src/mycompiler/mystatement/NotExpr.java index 1546a3610..e7389d60c 100755 --- a/src/mycompiler/mystatement/NotExpr.java +++ b/src/mycompiler/mystatement/NotExpr.java @@ -6,6 +6,7 @@ import java.util.Hashtable; import java.util.Iterator; import java.util.Vector; +import mycompiler.SyntaxTreeNode; import mycompiler.mybytecode.ClassFile; import mycompiler.mybytecode.CodeAttribute; import mycompiler.myclass.Class; @@ -29,6 +30,7 @@ import org.apache.log4j.Logger; // ino.end + import typinferenz.ConstraintsSet; import typinferenz.JavaCodeResult; import typinferenz.ResultSet; @@ -163,5 +165,12 @@ public JavaCodeResult printJavaCode(ResultSet resultSet) { return null; } + @Override + public Vector getChildren() { + Vector ret = new Vector(); + ret.add(this.expr); + return ret; + } + } // ino.end diff --git a/src/mycompiler/mystatement/PositivExpr.java b/src/mycompiler/mystatement/PositivExpr.java index 7d613ad43..d086074b8 100755 --- a/src/mycompiler/mystatement/PositivExpr.java +++ b/src/mycompiler/mystatement/PositivExpr.java @@ -5,6 +5,7 @@ package mycompiler.mystatement; import java.util.Hashtable; import java.util.Vector; +import mycompiler.SyntaxTreeNode; import mycompiler.mybytecode.ClassFile; import mycompiler.mybytecode.CodeAttribute; import mycompiler.myclass.Class; @@ -22,6 +23,7 @@ import org.apache.log4j.Logger; // ino.end + import typinferenz.ConstraintsSet; import typinferenz.JavaCodeResult; import typinferenz.ResultSet; @@ -143,5 +145,12 @@ public JavaCodeResult printJavaCode(ResultSet resultSet) { return null; } + @Override + public Vector getChildren() { + Vector ret = new Vector(); + ret.add(this.expr); + return ret; + } + } // ino.end diff --git a/src/mycompiler/mystatement/PostDecExpr.java b/src/mycompiler/mystatement/PostDecExpr.java index 8f9b4ec51..2e9a10946 100755 --- a/src/mycompiler/mystatement/PostDecExpr.java +++ b/src/mycompiler/mystatement/PostDecExpr.java @@ -6,6 +6,7 @@ import java.util.Hashtable; import java.util.Iterator; import java.util.Vector; +import mycompiler.SyntaxTreeNode; import mycompiler.mybytecode.ClassFile; import mycompiler.mybytecode.CodeAttribute; import mycompiler.mybytecode.JVMCode; @@ -31,6 +32,7 @@ import org.apache.log4j.Logger; // ino.end + import typinferenz.ConstraintsSet; import typinferenz.JavaCodeResult; import typinferenz.ResultSet; @@ -182,5 +184,12 @@ public JavaCodeResult printJavaCode(ResultSet resultSet) { return null; } + @Override + public Vector getChildren() { + Vector ret = new Vector(); + ret.add(this.expr); + return ret; + } + } // ino.end diff --git a/src/mycompiler/mystatement/PostIncExpr.java b/src/mycompiler/mystatement/PostIncExpr.java index 29e95277c..ae6ddbf54 100755 --- a/src/mycompiler/mystatement/PostIncExpr.java +++ b/src/mycompiler/mystatement/PostIncExpr.java @@ -6,6 +6,7 @@ import java.util.Hashtable; import java.util.Iterator; import java.util.Vector; +import mycompiler.SyntaxTreeNode; import mycompiler.mybytecode.ClassFile; import mycompiler.mybytecode.CodeAttribute; import mycompiler.mybytecode.JVMCode; @@ -31,6 +32,7 @@ import org.apache.log4j.Logger; // ino.end + import typinferenz.ConstraintsSet; import typinferenz.JavaCodeResult; import typinferenz.ResultSet; @@ -182,5 +184,12 @@ public JavaCodeResult printJavaCode(ResultSet resultSet) { return null; } + @Override + public Vector getChildren() { + Vector ret = new Vector(); + ret.add(this.expr); + return ret; + } + } // ino.end diff --git a/src/mycompiler/mystatement/PreDecExpr.java b/src/mycompiler/mystatement/PreDecExpr.java index 9fd411812..0576c46de 100755 --- a/src/mycompiler/mystatement/PreDecExpr.java +++ b/src/mycompiler/mystatement/PreDecExpr.java @@ -6,6 +6,7 @@ import java.util.Hashtable; import java.util.Iterator; import java.util.Vector; +import mycompiler.SyntaxTreeNode; import mycompiler.mybytecode.ClassFile; import mycompiler.mybytecode.CodeAttribute; import mycompiler.mybytecode.JVMCode; @@ -31,6 +32,7 @@ import org.apache.log4j.Logger; // ino.end + import typinferenz.ConstraintsSet; import typinferenz.JavaCodeResult; import typinferenz.ResultSet; @@ -175,10 +177,16 @@ public class PreDecExpr extends UnaryExpr return null; } @Override -public JavaCodeResult printJavaCode(ResultSet resultSet) { + public JavaCodeResult printJavaCode(ResultSet resultSet) { // TODO Auto-generated method stub return null; } + @Override + public Vector getChildren() { + Vector ret = new Vector(); + ret.add(this.expr); + return ret; + } } // ino.end diff --git a/src/mycompiler/mystatement/PreIncExpr.java b/src/mycompiler/mystatement/PreIncExpr.java index 155e57ea5..839b154fc 100755 --- a/src/mycompiler/mystatement/PreIncExpr.java +++ b/src/mycompiler/mystatement/PreIncExpr.java @@ -6,6 +6,7 @@ import java.util.Hashtable; import java.util.Iterator; import java.util.Vector; +import mycompiler.SyntaxTreeNode; import mycompiler.mybytecode.ClassFile; import mycompiler.mybytecode.CodeAttribute; import mycompiler.mybytecode.JVMCode; @@ -31,6 +32,7 @@ import org.apache.log4j.Logger; // ino.end + import typinferenz.ConstraintsSet; import typinferenz.JavaCodeResult; import typinferenz.ResultSet; @@ -183,5 +185,12 @@ public JavaCodeResult printJavaCode(ResultSet resultSet) { return null; } + @Override + public Vector getChildren() { + Vector ret = new Vector(); + ret.add(this.expr); + return ret; + } + } // ino.end diff --git a/src/typinferenz/FunN.java b/src/typinferenz/FunN.java index 5b636c305..f00ae9ec5 100755 --- a/src/typinferenz/FunN.java +++ b/src/typinferenz/FunN.java @@ -142,6 +142,7 @@ public class FunN extends RefType implements ITypeReplacementListener{ } */ + /* @Override public JavaCodeResult printJavaCode(ResultSet resultSet){ //String ret = super.printJavaCode(resultSet) + (T!=null ? this.T.size() : 0) +"<"; @@ -156,7 +157,7 @@ public class FunN extends RefType implements ITypeReplacementListener{ //ret = ret.substring(0, ret.length()-2); return ret.attach(">"); } - + */ /** * Die Clone-Methode von RefType darf von FunN NICHT überschrieben werden. @Override diff --git a/src/typinferenz/assumptions/TypeAssumptions.java b/src/typinferenz/assumptions/TypeAssumptions.java index e59cac417..0d8387116 100755 --- a/src/typinferenz/assumptions/TypeAssumptions.java +++ b/src/typinferenz/assumptions/TypeAssumptions.java @@ -265,7 +265,15 @@ public class TypeAssumptions { return new RefType(thisClassName, 0); } - - + /** + * Prüft einen Typ auf das vorhandensein in den BasicAssumptions. + * Dabei werden alle Konstruktoren nach diesem Typ durchsucht. Denn jede Klasse hat einen Konstruktor und der muss in den TypeAssumptions vorhanden sein. + * @param t + * @return + + public Type validateType(Type t){ + return null; + } + */ } diff --git a/test/mycompiler/test/lambda/testResults/LambdaTest.log b/test/mycompiler/test/lambda/testResults/LambdaTest.log index 7f8c20ab5..7a07c02f1 100644 --- a/test/mycompiler/test/lambda/testResults/LambdaTest.log +++ b/test/mycompiler/test/lambda/testResults/LambdaTest.log @@ -1,12 +1,26 @@ -Class DEBUG [Typeinference] Erstellte Assumptions: this: TestMethodCallMethod Assumptions: -[MethodAssumption: TPH B null { [null Return null (this(null))], MethodAssumption: TPH C null { [null Return null (null.getSomething( [ ]))], MethodAssumption: void void { [(var = null (null.getSomethingMore( [ ])))], MethodAssumption: TPH B null { [null Return null (this(null))], MethodAssumption: TPH C null { [null Return null (null.getSomething( [ ]))], MethodAssumption: void void { [(var = null (null.getSomethingMore( [ ])))], MethodAssumption: TPH E , MethodAssumption: TPH F , MethodAssumption: TPH H , MethodAssumption: TPH K , MethodAssumption: TPH O , MethodAssumption: TPH T , MethodAssumption: TPH B null { [null Return null (this(null))], MethodAssumption: TPH C null { [null Return null (null.getSomething( [ ]))], MethodAssumption: void void { [(var = null (null.getSomethingMore( [ ])))], MethodAssumption: TPH B null { [null Return null (this(null))], MethodAssumption: TPH C null { [null Return null (null.getSomething( [ ]))], MethodAssumption: void void { [(var = null (null.getSomethingMore( [ ])))]] +Class DEBUG [Typeinference] Erstellte Assumptions: this: MatrixMethod Assumptions: +[MethodAssumption: GTV R , MethodAssumption: GTV R , MethodAssumption: GTV R , MethodAssumption: GTV R , MethodAssumption: GTV R , MethodAssumption: GTV R ] FieldVar Assumptions: -[typinferenz.assumptions.FieldAssumption@6744719c, typinferenz.assumptions.FieldAssumption@3e7eedbb, typinferenz.assumptions.FieldAssumption@6744719c, typinferenz.assumptions.FieldAssumption@3e7eedbb] +[FieldAssumption: TPH A op, FieldAssumption: TPH A op, FieldAssumption: TPH A op, FieldAssumption: TPH A op] LocalVar Assumptions: [] Parameter Assumptions: [] -Block DEBUG [Typeinference] Prozessing statement: null Return null (this(null)) -Block DEBUG [Typeinference] Prozessing statement: TPH Z Return TestMethodCall (this(null)) -Block DEBUG [Typeinference] Prozessing statement: null Return null (null.getSomething( [ ])) +Block DEBUG [Typeinference] Prozessing statement: null Return null (( [ f, ]) -> null { [null Return null (f.apply( [ null (this(null)), m, ]))]) +Block DEBUG [Typeinference] Prozessing statement: null Return null (f.apply( [ null (this(null)), m, ])) +Block DEBUG [Typeinference] Prozessing statement: TPH H Return TPH G (f: TPH E.apply( [ Matrix (this(null)), m: TPH C, ])) +Block DEBUG [Typeinference] Prozessing statement: TPH I Return TPH F (( [ TPH E f, ]) -> TPH H { [TPH H Return TPH G (f: TPH E.apply( [ Matrix (this(null)), m: TPH C, ]))]) +Class DEBUG [Typeinference] Erstellte Constraints: TPH A < TPH A +[[(R <. TPH G), (Matrix <. T1), (TPH C <. T2), (TPH E <. Fun2< GTV R, GTV T1, GTV T2 >), ]| ] +TPH G < TPH H +Fun1< TPH H, TPH E > < TPH F +TPH F < TPH I +Fun1< TPH I, TPH C > < TPH D +TPH D < TPH A + +SourceFile DEBUG [Typeinference] Karthesisches Produkt der Constraints: [[(TPH A <. TPH A), (R <. TPH G), (Matrix <. T1), (TPH C <. T2), (TPH E <. Fun2< GTV R, GTV T1, GTV T2 >), (TPH G <. TPH H), (Fun1< TPH H, TPH E > <. TPH F), (TPH F <. TPH I), (Fun1< TPH I, TPH C > <. TPH D), (TPH D <. TPH A)]] +SourceFile DEBUG [Typeinference] Unifiziertes Ergebnis: [] +SourceFile DEBUG [Typeinference] +JavaFiles: + diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest4.jav b/test/plugindevelopment/TypeInsertTests/LambdaTest4.jav new file mode 100644 index 000000000..34c32b1dd --- /dev/null +++ b/test/plugindevelopment/TypeInsertTests/LambdaTest4.jav @@ -0,0 +1,5 @@ +class LambdaTest{ + +Fun1 op = (var) -> {return var;}; + +} \ No newline at end of file diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest4.java b/test/plugindevelopment/TypeInsertTests/LambdaTest4.java new file mode 100644 index 000000000..b54765122 --- /dev/null +++ b/test/plugindevelopment/TypeInsertTests/LambdaTest4.java @@ -0,0 +1,18 @@ +package plugindevelopment.TypeInsertTests; + +import java.util.Vector; + +import org.junit.Test; + +public class LambdaTest4 { + + private static final String TEST_FILE = "LambdaTest4.jav"; + + @Test + public void run(){ + Vector mustContain = new Vector(); + mustContain.add("String var"); + MultipleTypesInsertTester.test(this.TEST_FILE, mustContain); + } + +} diff --git a/tools/y.output b/tools/y.output index 1b0e61763..c58f6feff 100644 --- a/tools/y.output +++ b/tools/y.output @@ -96,302 +96,305 @@ 67 classorinterfacetype : simplename parameter - 68 parameter : - 69 | '<' paralist '>' + 68 typelist : type + 69 | typelist ',' type - 70 interfacememberdeclaration : constantdeclaration - 71 | abstractmethoddeclaration + 70 parameter : + 71 | '<' typelist '>' - 72 classmemberdeclaration : fielddeclaration - 73 | methoddeclaration + 72 interfacememberdeclaration : constantdeclaration + 73 | abstractmethoddeclaration - 74 staticinitializer : STATIC block + 74 classmemberdeclaration : fielddeclaration + 75 | methoddeclaration - 75 constructordeclaration : constructordeclarator constructorbody - 76 | modifiers constructordeclarator constructorbody + 76 staticinitializer : STATIC block - 77 constantdeclaration : modifiers type IDENTIFIER '=' expression ';' + 77 constructordeclaration : constructordeclarator constructorbody + 78 | modifiers constructordeclarator constructorbody - 78 abstractmethoddeclaration : methodheader ';' + 79 constantdeclaration : modifiers type IDENTIFIER '=' expression ';' - 79 fielddeclarator : type variabledeclarator '=' expression - 80 | variabledeclarator '=' expression + 80 abstractmethoddeclaration : methodheader ';' - 81 fielddeclaration : fielddeclarator ';' - 82 | type fielddeclarator - 83 | variabledeclarators ';' - 84 | type variabledeclarators ';' - 85 | modifiers type variabledeclarators ';' + 81 fielddeclarator : type variabledeclarator '=' expression + 82 | variabledeclarator '=' expression - 86 methoddeclaration : methodheader methodbody + 83 fielddeclaration : fielddeclarator ';' + 84 | type fielddeclarator + 85 | variabledeclarators ';' + 86 | type variabledeclarators ';' + 87 | modifiers type variabledeclarators ';' - 87 block : '{' '}' - 88 | '{' blockstatements '}' + 88 methoddeclaration : methodheader methodbody - 89 constructordeclarator : simplename '(' ')' - 90 | simplename '(' formalparameterlist ')' + 89 block : '{' '}' + 90 | '{' blockstatements '}' - 91 constructorbody : '{' '}' - 92 | '{' explicitconstructorinvocation '}' - 93 | '{' blockstatements '}' - 94 | '{' explicitconstructorinvocation blockstatements '}' + 91 constructordeclarator : simplename '(' ')' + 92 | simplename '(' formalparameterlist ')' - 95 throws : THROWS classtypelist + 93 constructorbody : '{' '}' + 94 | '{' explicitconstructorinvocation '}' + 95 | '{' blockstatements '}' + 96 | '{' explicitconstructorinvocation blockstatements '}' - 96 boundedClassParameter : boundedMethodParameter + 97 throws : THROWS classtypelist - 97 boundedClassParameters : boundedClassParameter - 98 | boundedClassParameters ',' boundedClassParameter + 98 boundedClassParameter : boundedMethodParameter - 99 boundedMethodParameter : IDENTIFIER - 100 | IDENTIFIER EXTENDS boundedclassidentifierlist + 99 boundedClassParameters : boundedClassParameter + 100 | boundedClassParameters ',' boundedClassParameter - 101 boundedclassidentifierlist : referencetype - 102 | boundedclassidentifierlist '&' referencetype + 101 boundedMethodParameter : IDENTIFIER + 102 | IDENTIFIER EXTENDS boundedclassidentifierlist - 103 boundedMethodParameters : boundedMethodParameter - 104 | boundedMethodParameters ',' boundedMethodParameter + 103 boundedclassidentifierlist : referencetype + 104 | boundedclassidentifierlist '&' referencetype - 105 methodheader : '<' boundedMethodParameters '>' type methoddeclarator - 106 | type methoddeclarator - 107 | modifiers type methoddeclarator - 108 | modifiers '<' boundedMethodParameters '>' type methoddeclarator - 109 | type methoddeclarator throws - 110 | '<' boundedMethodParameters '>' type methoddeclarator throws - 111 | modifiers type methoddeclarator throws - 112 | modifiers '<' boundedMethodParameters '>' type methoddeclarator throws - 113 | VOID methoddeclarator - 114 | modifiers VOID methoddeclarator - 115 | VOID methoddeclarator throws - 116 | modifiers VOID methoddeclarator throws - 117 | '<' boundedMethodParameters '>' VOID methoddeclarator - 118 | modifiers '<' boundedMethodParameters '>' VOID methoddeclarator - 119 | '<' boundedMethodParameters '>' VOID methoddeclarator throws - 120 | modifiers '<' boundedMethodParameters '>' VOID methoddeclarator throws - 121 | methoddeclarator - 122 | '<' boundedMethodParameters '>' methoddeclarator - 123 | modifiers methoddeclarator - 124 | methoddeclarator throws - 125 | modifiers methoddeclarator throws + 105 boundedMethodParameters : boundedMethodParameter + 106 | boundedMethodParameters ',' boundedMethodParameter - 126 type : primitivetype - 127 | primitivetype '[' ']' - 128 | referencetype - 129 | referencetype '[' ']' + 107 methodheader : '<' boundedMethodParameters '>' type methoddeclarator + 108 | type methoddeclarator + 109 | modifiers type methoddeclarator + 110 | modifiers '<' boundedMethodParameters '>' type methoddeclarator + 111 | type methoddeclarator throws + 112 | '<' boundedMethodParameters '>' type methoddeclarator throws + 113 | modifiers type methoddeclarator throws + 114 | modifiers '<' boundedMethodParameters '>' type methoddeclarator throws + 115 | VOID methoddeclarator + 116 | modifiers VOID methoddeclarator + 117 | VOID methoddeclarator throws + 118 | modifiers VOID methoddeclarator throws + 119 | '<' boundedMethodParameters '>' VOID methoddeclarator + 120 | modifiers '<' boundedMethodParameters '>' VOID methoddeclarator + 121 | '<' boundedMethodParameters '>' VOID methoddeclarator throws + 122 | modifiers '<' boundedMethodParameters '>' VOID methoddeclarator throws + 123 | methoddeclarator + 124 | '<' boundedMethodParameters '>' methoddeclarator + 125 | modifiers methoddeclarator + 126 | methoddeclarator throws + 127 | modifiers methoddeclarator throws - 130 variabledeclarators : variabledeclarator - 131 | variabledeclarators ',' variabledeclarator + 128 type : primitivetype + 129 | primitivetype '[' ']' + 130 | referencetype + 131 | referencetype '[' ']' - 132 methodbody : block + 132 variabledeclarators : variabledeclarator + 133 | variabledeclarators ',' variabledeclarator - 133 blockstatements : blockstatement - 134 | blockstatements blockstatement + 134 methodbody : block - 135 formalparameterlist : formalparameter - 136 | formalparameterlist ',' formalparameter + 135 blockstatements : blockstatement + 136 | blockstatements blockstatement - 137 explicitconstructorinvocation : THIS '(' ')' ';' - 138 | THIS '(' argumentlist ')' ';' + 137 formalparameterlist : formalparameter + 138 | formalparameterlist ',' formalparameter - 139 classtypelist : classtype - 140 | classtypelist ',' classtype + 139 explicitconstructorinvocation : THIS '(' ')' ';' + 140 | THIS '(' argumentlist ')' ';' - 141 methoddeclarator : IDENTIFIER '(' ')' - 142 | IDENTIFIER '(' formalparameterlist ')' + 141 classtypelist : classtype + 142 | classtypelist ',' classtype - 143 primitivetype : BOOLEAN - 144 | numerictype + 143 methoddeclarator : IDENTIFIER '(' ')' + 144 | IDENTIFIER '(' formalparameterlist ')' - 145 referencetype : classorinterfacetype + 145 primitivetype : BOOLEAN + 146 | numerictype - 146 variabledeclarator : variabledeclaratorid + 147 referencetype : classorinterfacetype - 147 blockstatement : localvariabledeclarationstatement - 148 | statement + 148 variabledeclarator : variabledeclaratorid - 149 formalparameter : type variabledeclaratorid - 150 | variabledeclaratorid + 149 blockstatement : localvariabledeclarationstatement + 150 | statement - 151 argumentlist : expression - 152 | argumentlist ',' expression + 151 formalparameter : type variabledeclaratorid + 152 | variabledeclaratorid - 153 numerictype : integraltype + 153 argumentlist : expression + 154 | argumentlist ',' expression - 154 variabledeclaratorid : IDENTIFIER + 155 numerictype : integraltype - 155 variableinitializer : expression + 156 variabledeclaratorid : IDENTIFIER - 156 localvariabledeclarationstatement : localvariabledeclaration ';' + 157 variableinitializer : expression - 157 statement : statementwithouttrailingsubstatement - 158 | ifthenstatement - 159 | ifthenelsestatement - 160 | whilestatement - 161 | forstatement + 158 localvariabledeclarationstatement : localvariabledeclaration ';' - 162 expression : assignmentexpression - 163 | classinstancecreationexpression + 159 statement : statementwithouttrailingsubstatement + 160 | ifthenstatement + 161 | ifthenelsestatement + 162 | whilestatement + 163 | forstatement - 164 integraltype : INT - 165 | CHAR + 164 expression : assignmentexpression + 165 | classinstancecreationexpression - 166 localvariabledeclaration : type variabledeclarators - 167 | variabledeclarators + 166 integraltype : INT + 167 | CHAR - 168 statementwithouttrailingsubstatement : block - 169 | emptystatement - 170 | expressionstatement - 171 | returnstatement + 168 localvariabledeclaration : type variabledeclarators + 169 | variabledeclarators - 172 ifthenstatement : IF '(' expression ')' statement + 170 statementwithouttrailingsubstatement : block + 171 | emptystatement + 172 | expressionstatement + 173 | returnstatement - 173 ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE statement + 174 ifthenstatement : IF '(' expression ')' statement - 174 whilestatement : WHILE '(' expression ')' statement + 175 ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE statement - 175 forstatement : FOR '(' expression ';' expression ';' expression ')' statement - 176 | FOR '(' expression ';' expression ';' ')' statement - 177 | FOR '(' expression ';' ';' expression ')' statement - 178 | FOR '(' ';' expression ';' expression ')' statement - 179 | FOR '(' expression ';' ';' ')' statement - 180 | FOR '(' ';' expression ';' ')' statement - 181 | FOR '(' ';' ';' expression ')' statement - 182 | FOR '(' ';' ';' ')' statement + 176 whilestatement : WHILE '(' expression ')' statement - 183 assignmentexpression : conditionalexpression - 184 | assignment + 177 forstatement : FOR '(' expression ';' expression ';' expression ')' statement + 178 | FOR '(' expression ';' expression ';' ')' statement + 179 | FOR '(' expression ';' ';' expression ')' statement + 180 | FOR '(' ';' expression ';' expression ')' statement + 181 | FOR '(' expression ';' ';' ')' statement + 182 | FOR '(' ';' expression ';' ')' statement + 183 | FOR '(' ';' ';' expression ')' statement + 184 | FOR '(' ';' ';' ')' statement - 185 emptystatement : ';' + 185 assignmentexpression : conditionalexpression + 186 | assignment - 186 expressionstatement : statementexpression ';' + 187 emptystatement : ';' - 187 returnstatement : RETURN ';' - 188 | RETURN expression ';' + 188 expressionstatement : statementexpression ';' - 189 statementnoshortif : statementwithouttrailingsubstatement - 190 | ifthenelsestatementnoshortif - 191 | whilestatementnoshortif + 189 returnstatement : RETURN ';' + 190 | RETURN expression ';' - 192 conditionalexpression : conditionalorexpression + 191 statementnoshortif : statementwithouttrailingsubstatement + 192 | ifthenelsestatementnoshortif + 193 | whilestatementnoshortif - 193 assignment : lefthandside assignmentoperator assignmentexpression - 194 | lefthandside assignmentoperator classinstancecreationexpression + 194 conditionalexpression : conditionalorexpression - 195 statementexpression : assignment - 196 | preincrementexpression - 197 | predecrementexpression - 198 | postincrementexpression - 199 | postdecrementexpression - 200 | methodinvocation + 195 assignment : lefthandside assignmentoperator assignmentexpression + 196 | lefthandside assignmentoperator classinstancecreationexpression - 201 ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif ELSE statementnoshortif + 197 statementexpression : assignment + 198 | preincrementexpression + 199 | predecrementexpression + 200 | postincrementexpression + 201 | postdecrementexpression + 202 | methodinvocation - 202 whilestatementnoshortif : WHILE '(' expression ')' statementnoshortif + 203 ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif ELSE statementnoshortif - 203 conditionalorexpression : conditionalandexpression - 204 | conditionalorexpression LOGICALOR conditionalandexpression + 204 whilestatementnoshortif : WHILE '(' expression ')' statementnoshortif - 205 lambdaassignmentoperator : LAMBDAASSIGNMENT + 205 conditionalorexpression : conditionalandexpression + 206 | conditionalorexpression LOGICALOR conditionalandexpression - 206 lambdabody : block - 207 | expression + 207 lambdaassignmentoperator : LAMBDAASSIGNMENT - 208 lambdaexpressionparameter : '(' ')' - 209 | '(' formalparameterlist ')' + 208 lambdabody : block + 209 | expression - 210 lambdaexpression : lambdaexpressionparameter lambdaassignmentoperator lambdabody + 210 lambdaexpressionparameter : '(' ')' + 211 | '(' formalparameterlist ')' - 211 lefthandside : name + 212 lambdaexpression : lambdaexpressionparameter lambdaassignmentoperator lambdabody - 212 assignmentoperator : '=' - 213 | TIMESEQUAL - 214 | DIVIDEEQUAL - 215 | MODULOEQUAL - 216 | PLUSEQUAL - 217 | MINUSEQUAL + 213 lefthandside : name - 218 preincrementexpression : INCREMENT unaryexpression + 214 assignmentoperator : '=' + 215 | TIMESEQUAL + 216 | DIVIDEEQUAL + 217 | MODULOEQUAL + 218 | PLUSEQUAL + 219 | MINUSEQUAL - 219 predecrementexpression : DECREMENT unaryexpression + 220 preincrementexpression : INCREMENT unaryexpression - 220 postincrementexpression : postfixexpression INCREMENT + 221 predecrementexpression : DECREMENT unaryexpression - 221 postdecrementexpression : postfixexpression DECREMENT + 222 postincrementexpression : postfixexpression INCREMENT - 222 methodinvocation : name '(' ')' - 223 | name '(' argumentlist ')' - 224 | primary '.' IDENTIFIER '(' ')' - 225 | primary '.' IDENTIFIER '(' argumentlist ')' + 223 postdecrementexpression : postfixexpression DECREMENT - 226 classinstancecreationexpression : NEW classtype '(' ')' - 227 | NEW classtype '(' argumentlist ')' + 224 methodinvocation : name '(' ')' + 225 | name '(' argumentlist ')' + 226 | primary '.' IDENTIFIER '(' ')' + 227 | primary '.' IDENTIFIER '(' argumentlist ')' - 228 conditionalandexpression : inclusiveorexpression - 229 | conditionalandexpression LOGICALAND inclusiveorexpression + 228 classinstancecreationexpression : NEW classtype '(' ')' + 229 | NEW classtype '(' argumentlist ')' - 230 unaryexpression : preincrementexpression - 231 | predecrementexpression - 232 | '+' unaryexpression - 233 | '-' unaryexpression - 234 | unaryexpressionnotplusminus + 230 conditionalandexpression : inclusiveorexpression + 231 | conditionalandexpression LOGICALAND inclusiveorexpression - 235 postfixexpression : primary - 236 | name - 237 | postincrementexpression - 238 | postdecrementexpression + 232 unaryexpression : preincrementexpression + 233 | predecrementexpression + 234 | '+' unaryexpression + 235 | '-' unaryexpression + 236 | unaryexpressionnotplusminus - 239 primary : primarynonewarray + 237 postfixexpression : primary + 238 | name + 239 | postincrementexpression + 240 | postdecrementexpression - 240 inclusiveorexpression : exclusiveorexpression - 241 | inclusiveorexpression '|' exclusiveorexpression + 241 primary : primarynonewarray - 242 primarynonewarray : literal - 243 | THIS - 244 | methodinvocation - 245 | lambdaexpression + 242 inclusiveorexpression : exclusiveorexpression + 243 | inclusiveorexpression '|' exclusiveorexpression - 246 unaryexpressionnotplusminus : postfixexpression - 247 | '!' unaryexpression - 248 | castexpression + 244 primarynonewarray : literal + 245 | THIS + 246 | methodinvocation + 247 | lambdaexpression - 249 exclusiveorexpression : andexpression - 250 | exclusiveorexpression '^' andexpression + 248 unaryexpressionnotplusminus : postfixexpression + 249 | '!' unaryexpression + 250 | castexpression - 251 literal : INTLITERAL - 252 | BOOLLITERAL - 253 | CHARLITERAL - 254 | STRINGLITERAL - 255 | LONGLITERAL - 256 | FLOATLITERAL - 257 | DOUBLELITERAL - 258 | JNULL + 251 exclusiveorexpression : andexpression + 252 | exclusiveorexpression '^' andexpression - 259 castexpression : '(' primitivetype ')' unaryexpression + 253 literal : INTLITERAL + 254 | BOOLLITERAL + 255 | CHARLITERAL + 256 | STRINGLITERAL + 257 | LONGLITERAL + 258 | FLOATLITERAL + 259 | DOUBLELITERAL + 260 | JNULL - 260 andexpression : equalityexpression - 261 | andexpression '&' equalityexpression + 261 castexpression : '(' primitivetype ')' unaryexpression - 262 equalityexpression : relationalexpression - 263 | equalityexpression EQUAL relationalexpression - 264 | equalityexpression NOTEQUAL relationalexpression + 262 andexpression : equalityexpression + 263 | andexpression '&' equalityexpression - 265 relationalexpression : shiftexpression - 266 | relationalexpression '<' shiftexpression - 267 | relationalexpression '>' shiftexpression - 268 | relationalexpression LESSEQUAL shiftexpression - 269 | relationalexpression GREATEREQUAL shiftexpression - 270 | relationalexpression INSTANCEOF referencetype + 264 equalityexpression : relationalexpression + 265 | equalityexpression EQUAL relationalexpression + 266 | equalityexpression NOTEQUAL relationalexpression - 271 shiftexpression : additiveexpression + 267 relationalexpression : shiftexpression + 268 | relationalexpression '<' shiftexpression + 269 | relationalexpression '>' shiftexpression + 270 | relationalexpression LESSEQUAL shiftexpression + 271 | relationalexpression GREATEREQUAL shiftexpression + 272 | relationalexpression INSTANCEOF referencetype - 272 additiveexpression : multiplicativeexpression - 273 | additiveexpression '+' multiplicativeexpression - 274 | additiveexpression '-' multiplicativeexpression + 273 shiftexpression : additiveexpression - 275 multiplicativeexpression : unaryexpression - 276 | multiplicativeexpression '*' unaryexpression - 277 | multiplicativeexpression '/' unaryexpression - 278 | multiplicativeexpression '%' unaryexpression + 274 additiveexpression : multiplicativeexpression + 275 | additiveexpression '+' multiplicativeexpression + 276 | additiveexpression '-' multiplicativeexpression + + 277 multiplicativeexpression : unaryexpression + 278 | multiplicativeexpression '*' unaryexpression + 279 | multiplicativeexpression '/' unaryexpression + 280 | multiplicativeexpression '%' unaryexpression state 0 $accept : . compilationunit $end (0) @@ -837,29 +840,29 @@ state 37 state 38 - boundedMethodParameter : IDENTIFIER . (99) - boundedMethodParameter : IDENTIFIER . EXTENDS boundedclassidentifierlist (100) + boundedMethodParameter : IDENTIFIER . (101) + boundedMethodParameter : IDENTIFIER . EXTENDS boundedclassidentifierlist (102) EXTENDS shift 100 - ',' reduce 99 - '>' reduce 99 + ',' reduce 101 + '>' reduce 101 state 39 - boundedClassParameter : boundedMethodParameter . (96) + boundedClassParameter : boundedMethodParameter . (98) - . reduce 96 + . reduce 98 state 40 - boundedClassParameters : boundedClassParameter . (97) + boundedClassParameters : boundedClassParameter . (99) - . reduce 97 + . reduce 99 state 41 classidentifier : IDENTIFIER '<' boundedClassParameters . '>' (27) - boundedClassParameters : boundedClassParameters . ',' boundedClassParameter (98) + boundedClassParameters : boundedClassParameters . ',' boundedClassParameter (100) ',' shift 101 '>' shift 102 @@ -872,50 +875,50 @@ state 42 . reduce 15 -43: shift/reduce conflict (shift 103, reduce 68) on '<' +43: shift/reduce conflict (shift 103, reduce 70) on '<' state 43 classorinterfacetype : simplename . parameter (67) - parameter : . (68) + parameter : . (70) '<' shift 103 - ABSTRACT reduce 68 - BOOLEAN reduce 68 - CHAR reduce 68 - FINAL reduce 68 - INSTANCEOF reduce 68 - INT reduce 68 - PRIVATE reduce 68 - PROTECTED reduce 68 - PUBLIC reduce 68 - IMPLEMENTS reduce 68 - STATIC reduce 68 - VOID reduce 68 - IDENTIFIER reduce 68 - EQUAL reduce 68 - LESSEQUAL reduce 68 - GREATEREQUAL reduce 68 - NOTEQUAL reduce 68 - LOGICALOR reduce 68 - LOGICALAND reduce 68 - INCREMENT reduce 68 - DECREMENT reduce 68 - ',' reduce 68 - ';' reduce 68 - '.' reduce 68 - '*' reduce 68 - '>' reduce 68 - '{' reduce 68 - '}' reduce 68 - '(' reduce 68 - ')' reduce 68 - '&' reduce 68 - '[' reduce 68 - '+' reduce 68 - '-' reduce 68 - '|' reduce 68 - '^' reduce 68 - '/' reduce 68 - '%' reduce 68 + ABSTRACT reduce 70 + BOOLEAN reduce 70 + CHAR reduce 70 + FINAL reduce 70 + INSTANCEOF reduce 70 + INT reduce 70 + PRIVATE reduce 70 + PROTECTED reduce 70 + PUBLIC reduce 70 + IMPLEMENTS reduce 70 + STATIC reduce 70 + VOID reduce 70 + IDENTIFIER reduce 70 + EQUAL reduce 70 + LESSEQUAL reduce 70 + GREATEREQUAL reduce 70 + NOTEQUAL reduce 70 + LOGICALOR reduce 70 + LOGICALAND reduce 70 + INCREMENT reduce 70 + DECREMENT reduce 70 + ',' reduce 70 + ';' reduce 70 + '.' reduce 70 + '*' reduce 70 + '>' reduce 70 + '{' reduce 70 + '}' reduce 70 + '(' reduce 70 + ')' reduce 70 + '&' reduce 70 + '[' reduce 70 + '+' reduce 70 + '-' reduce 70 + '|' reduce 70 + '^' reduce 70 + '/' reduce 70 + '%' reduce 70 parameter goto 104 @@ -945,26 +948,26 @@ state 47 state 48 - primitivetype : BOOLEAN . (143) + primitivetype : BOOLEAN . (145) - . reduce 143 + . reduce 145 state 49 - integraltype : CHAR . (165) + integraltype : CHAR . (167) - . reduce 165 + . reduce 167 state 50 - integraltype : INT . (164) + integraltype : INT . (166) - . reduce 164 + . reduce 166 state 51 modifier : STATIC . (57) - staticinitializer : STATIC . block (74) + staticinitializer : STATIC . block (76) '{' shift 105 ABSTRACT reduce 57 @@ -984,8 +987,8 @@ state 51 state 52 - methodheader : VOID . methoddeclarator (113) - methodheader : VOID . methoddeclarator throws (115) + methodheader : VOID . methoddeclarator (115) + methodheader : VOID . methoddeclarator throws (117) IDENTIFIER shift 107 . error @@ -996,28 +999,28 @@ state 52 53: shift/reduce conflict (shift 109, reduce 15) on '(' state 53 simplename : IDENTIFIER . (15) - methoddeclarator : IDENTIFIER . '(' ')' (141) - methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (142) - variabledeclaratorid : IDENTIFIER . (154) + methoddeclarator : IDENTIFIER . '(' ')' (143) + methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (144) + variabledeclaratorid : IDENTIFIER . (156) '(' shift 109 BOOLEAN reduce 15 CHAR reduce 15 INT reduce 15 IDENTIFIER reduce 15 - ',' reduce 154 - ';' reduce 154 + ',' reduce 156 + ';' reduce 156 '<' reduce 15 - '=' reduce 154 + '=' reduce 156 '[' reduce 15 state 54 - methodheader : '<' . boundedMethodParameters '>' type methoddeclarator (105) - methodheader : '<' . boundedMethodParameters '>' type methoddeclarator throws (110) - methodheader : '<' . boundedMethodParameters '>' VOID methoddeclarator (117) - methodheader : '<' . boundedMethodParameters '>' VOID methoddeclarator throws (119) - methodheader : '<' . boundedMethodParameters '>' methoddeclarator (122) + methodheader : '<' . boundedMethodParameters '>' type methoddeclarator (107) + methodheader : '<' . boundedMethodParameters '>' type methoddeclarator throws (112) + methodheader : '<' . boundedMethodParameters '>' VOID methoddeclarator (119) + methodheader : '<' . boundedMethodParameters '>' VOID methoddeclarator throws (121) + methodheader : '<' . boundedMethodParameters '>' methoddeclarator (124) IDENTIFIER shift 38 . error @@ -1033,13 +1036,13 @@ state 55 state 56 - classmemberdeclaration : fielddeclaration . (72) + classmemberdeclaration : fielddeclaration . (74) - . reduce 72 + . reduce 74 state 57 - methoddeclaration : methodheader . methodbody (86) + methoddeclaration : methodheader . methodbody (88) '{' shift 105 . error @@ -1049,18 +1052,18 @@ state 57 state 58 - classmemberdeclaration : methoddeclaration . (73) + classmemberdeclaration : methoddeclaration . (75) - . reduce 73 + . reduce 75 state 59 - methodheader : methoddeclarator . (121) - methodheader : methoddeclarator . throws (124) + methodheader : methoddeclarator . (123) + methodheader : methoddeclarator . throws (126) THROWS shift 114 - ';' reduce 121 - '{' reduce 121 + ';' reduce 123 + '{' reduce 123 throws goto 115 @@ -1121,8 +1124,8 @@ state 62 state 63 - fielddeclaration : variabledeclarators . ';' (83) - variabledeclarators : variabledeclarators . ',' variabledeclarator (131) + fielddeclaration : variabledeclarators . ';' (85) + variabledeclarators : variabledeclarators . ',' variabledeclarator (133) ',' shift 118 ';' shift 119 @@ -1130,90 +1133,94 @@ state 63 state 64 - fielddeclaration : fielddeclarator . ';' (81) + fielddeclaration : fielddeclarator . ';' (83) ';' shift 120 . error state 65 - fielddeclarator : variabledeclarator . '=' expression (80) - variabledeclarators : variabledeclarator . (130) + fielddeclarator : variabledeclarator . '=' expression (82) + variabledeclarators : variabledeclarator . (132) '=' shift 121 - ',' reduce 130 - ';' reduce 130 + ',' reduce 132 + ';' reduce 132 state 66 - variabledeclarator : variabledeclaratorid . (146) + variabledeclarator : variabledeclaratorid . (148) - . reduce 146 + . reduce 148 state 67 classorinterfacetype : simplename . parameter (67) - constructordeclarator : simplename . '(' ')' (89) - constructordeclarator : simplename . '(' formalparameterlist ')' (90) - parameter : . (68) + constructordeclarator : simplename . '(' ')' (91) + constructordeclarator : simplename . '(' formalparameterlist ')' (92) + parameter : . (70) '<' shift 103 '(' shift 122 - BOOLEAN reduce 68 - CHAR reduce 68 - INT reduce 68 - IDENTIFIER reduce 68 - '[' reduce 68 + BOOLEAN reduce 70 + CHAR reduce 70 + INT reduce 70 + IDENTIFIER reduce 70 + '[' reduce 70 parameter goto 104 state 68 - referencetype : classorinterfacetype . (145) + referencetype : classorinterfacetype . (147) - . reduce 145 + . reduce 147 state 69 - numerictype : integraltype . (153) + numerictype : integraltype . (155) - . reduce 153 + . reduce 155 state 70 - primitivetype : numerictype . (144) + primitivetype : numerictype . (146) - . reduce 144 + . reduce 146 state 71 - type : primitivetype . (126) - type : primitivetype . '[' ']' (127) + type : primitivetype . (128) + type : primitivetype . '[' ']' (129) '[' shift 123 - BOOLEAN reduce 126 - CHAR reduce 126 - INT reduce 126 - IDENTIFIER reduce 126 - - -state 72 - type : referencetype . (128) - type : referencetype . '[' ']' (129) - - '[' shift 124 BOOLEAN reduce 128 CHAR reduce 128 INT reduce 128 IDENTIFIER reduce 128 + ',' reduce 128 + '>' reduce 128 + + +state 72 + type : referencetype . (130) + type : referencetype . '[' ']' (131) + + '[' shift 124 + BOOLEAN reduce 130 + CHAR reduce 130 + INT reduce 130 + IDENTIFIER reduce 130 + ',' reduce 130 + '>' reduce 130 state 73 - fielddeclarator : type . variabledeclarator '=' expression (79) - fielddeclaration : type . fielddeclarator (82) - fielddeclaration : type . variabledeclarators ';' (84) - methodheader : type . methoddeclarator (106) - methodheader : type . methoddeclarator throws (109) + fielddeclarator : type . variabledeclarator '=' expression (81) + fielddeclaration : type . fielddeclarator (84) + fielddeclaration : type . variabledeclarators ';' (86) + methodheader : type . methoddeclarator (108) + methodheader : type . methoddeclarator throws (111) BOOLEAN shift 48 CHAR shift 49 @@ -1237,18 +1244,18 @@ state 73 state 74 modifiers : modifiers . modifier (44) - constructordeclaration : modifiers . constructordeclarator constructorbody (76) - fielddeclaration : modifiers . type variabledeclarators ';' (85) - methodheader : modifiers . type methoddeclarator (107) - methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator (108) - methodheader : modifiers . type methoddeclarator throws (111) - methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator throws (112) - methodheader : modifiers . VOID methoddeclarator (114) - methodheader : modifiers . VOID methoddeclarator throws (116) - methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator (118) - methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator throws (120) - methodheader : modifiers . methoddeclarator (123) - methodheader : modifiers . methoddeclarator throws (125) + constructordeclaration : modifiers . constructordeclarator constructorbody (78) + fielddeclaration : modifiers . type variabledeclarators ';' (87) + methodheader : modifiers . type methoddeclarator (109) + methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator (110) + methodheader : modifiers . type methoddeclarator throws (113) + methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator throws (114) + methodheader : modifiers . VOID methoddeclarator (116) + methodheader : modifiers . VOID methoddeclarator throws (118) + methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator (120) + methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator throws (122) + methodheader : modifiers . methoddeclarator (125) + methodheader : modifiers . methoddeclarator throws (127) ABSTRACT shift 1 BOOLEAN shift 48 @@ -1283,7 +1290,7 @@ state 75 state 76 - constructordeclaration : constructordeclarator . constructorbody (75) + constructordeclaration : constructordeclarator . constructorbody (77) '{' shift 135 . error @@ -1333,7 +1340,7 @@ state 81 state 82 interfaceidentifier : IDENTIFIER '<' boundedClassParameters . '>' (25) - boundedClassParameters : boundedClassParameters . ',' boundedClassParameter (98) + boundedClassParameters : boundedClassParameters . ',' boundedClassParameter (100) ',' shift 101 '>' shift 139 @@ -1349,8 +1356,8 @@ state 83 84: shift/reduce conflict (shift 109, reduce 15) on '(' state 84 simplename : IDENTIFIER . (15) - methoddeclarator : IDENTIFIER . '(' ')' (141) - methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (142) + methoddeclarator : IDENTIFIER . '(' ')' (143) + methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (144) '(' shift 109 IDENTIFIER reduce 15 @@ -1406,27 +1413,27 @@ state 87 state 88 - interfacememberdeclaration : abstractmethoddeclaration . (71) + interfacememberdeclaration : abstractmethoddeclaration . (73) - . reduce 71 + . reduce 73 state 89 - interfacememberdeclaration : constantdeclaration . (70) + interfacememberdeclaration : constantdeclaration . (72) - . reduce 70 + . reduce 72 state 90 - abstractmethoddeclaration : methodheader . ';' (78) + abstractmethoddeclaration : methodheader . ';' (80) ';' shift 142 . error state 91 - methodheader : type . methoddeclarator (106) - methodheader : type . methoddeclarator throws (109) + methodheader : type . methoddeclarator (108) + methodheader : type . methoddeclarator throws (111) IDENTIFIER shift 107 . error @@ -1436,17 +1443,17 @@ state 91 state 92 modifiers : modifiers . modifier (44) - constantdeclaration : modifiers . type IDENTIFIER '=' expression ';' (77) - methodheader : modifiers . type methoddeclarator (107) - methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator (108) - methodheader : modifiers . type methoddeclarator throws (111) - methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator throws (112) - methodheader : modifiers . VOID methoddeclarator (114) - methodheader : modifiers . VOID methoddeclarator throws (116) - methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator (118) - methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator throws (120) - methodheader : modifiers . methoddeclarator (123) - methodheader : modifiers . methoddeclarator throws (125) + constantdeclaration : modifiers . type IDENTIFIER '=' expression ';' (79) + methodheader : modifiers . type methoddeclarator (109) + methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator (110) + methodheader : modifiers . type methoddeclarator throws (113) + methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator throws (114) + methodheader : modifiers . VOID methoddeclarator (116) + methodheader : modifiers . VOID methoddeclarator throws (118) + methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator (120) + methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator throws (122) + methodheader : modifiers . methoddeclarator (125) + methodheader : modifiers . methoddeclarator throws (127) ABSTRACT shift 1 BOOLEAN shift 48 @@ -1537,7 +1544,7 @@ state 99 state 100 - boundedMethodParameter : IDENTIFIER EXTENDS . boundedclassidentifierlist (100) + boundedMethodParameter : IDENTIFIER EXTENDS . boundedclassidentifierlist (102) IDENTIFIER shift 42 . error @@ -1549,7 +1556,7 @@ state 100 state 101 - boundedClassParameters : boundedClassParameters ',' . boundedClassParameter (98) + boundedClassParameters : boundedClassParameters ',' . boundedClassParameter (100) IDENTIFIER shift 38 . error @@ -1565,14 +1572,22 @@ state 102 state 103 - parameter : '<' . paralist '>' (69) + parameter : '<' . typelist '>' (71) - IDENTIFIER shift 152 - '?' shift 153 + BOOLEAN shift 48 + CHAR shift 49 + INT shift 50 + IDENTIFIER shift 42 . error - paralist goto 154 - wildcardparameter goto 155 + simplename goto 43 + classorinterfacetype goto 68 + integraltype goto 69 + numerictype goto 70 + primitivetype goto 71 + referencetype goto 72 + type goto 152 + typelist goto 153 state 104 @@ -1582,171 +1597,171 @@ state 104 state 105 - block : '{' . '}' (87) - block : '{' . blockstatements '}' (88) + block : '{' . '}' (89) + block : '{' . blockstatements '}' (90) BOOLEAN shift 48 CHAR shift 49 - FOR shift 156 - IF shift 157 + FOR shift 154 + IF shift 155 INT shift 50 - RETURN shift 158 - THIS shift 159 - WHILE shift 160 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 169 - INCREMENT shift 170 - DECREMENT shift 171 - ';' shift 172 + RETURN shift 156 + THIS shift 157 + WHILE shift 158 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 167 + INCREMENT shift 168 + DECREMENT shift 169 + ';' shift 170 '{' shift 105 - '}' shift 173 - '(' shift 174 + '}' shift 171 + '(' shift 172 . error - variabledeclarators goto 175 - variabledeclarator goto 176 + variabledeclarators goto 173 + variabledeclarator goto 174 variabledeclaratorid goto 66 - simplename goto 177 - qualifiedname goto 178 - name goto 179 + simplename goto 175 + qualifiedname goto 176 + name goto 177 classorinterfacetype goto 68 integraltype goto 69 numerictype goto 70 primitivetype goto 71 referencetype goto 72 - type goto 180 - block goto 181 - blockstatements goto 182 - localvariabledeclarationstatement goto 183 - localvariabledeclaration goto 184 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 189 - lambdaexpression goto 190 - statementexpression goto 191 - preincrementexpression goto 192 - predecrementexpression goto 193 - postincrementexpression goto 194 - postdecrementexpression goto 195 - expressionstatement goto 196 - statementwithouttrailingsubstatement goto 197 - blockstatement goto 198 - statement goto 199 - whilestatement goto 200 - forstatement goto 201 - ifthenstatement goto 202 - ifthenelsestatement goto 203 - emptystatement goto 204 - returnstatement goto 205 - assignment goto 206 - lefthandside goto 207 - methodinvocation goto 208 + type goto 178 + block goto 179 + blockstatements goto 180 + localvariabledeclarationstatement goto 181 + localvariabledeclaration goto 182 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 187 + lambdaexpression goto 188 + statementexpression goto 189 + preincrementexpression goto 190 + predecrementexpression goto 191 + postincrementexpression goto 192 + postdecrementexpression goto 193 + expressionstatement goto 194 + statementwithouttrailingsubstatement goto 195 + blockstatement goto 196 + statement goto 197 + whilestatement goto 198 + forstatement goto 199 + ifthenstatement goto 200 + ifthenelsestatement goto 201 + emptystatement goto 202 + returnstatement goto 203 + assignment goto 204 + lefthandside goto 205 + methodinvocation goto 206 state 106 - staticinitializer : STATIC block . (74) + staticinitializer : STATIC block . (76) - . reduce 74 + . reduce 76 state 107 - methoddeclarator : IDENTIFIER . '(' ')' (141) - methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (142) + methoddeclarator : IDENTIFIER . '(' ')' (143) + methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (144) '(' shift 109 . error state 108 - methodheader : VOID methoddeclarator . (113) - methodheader : VOID methoddeclarator . throws (115) + methodheader : VOID methoddeclarator . (115) + methodheader : VOID methoddeclarator . throws (117) THROWS shift 114 - ';' reduce 113 - '{' reduce 113 + ';' reduce 115 + '{' reduce 115 - throws goto 209 + throws goto 207 state 109 - methoddeclarator : IDENTIFIER '(' . ')' (141) - methoddeclarator : IDENTIFIER '(' . formalparameterlist ')' (142) + methoddeclarator : IDENTIFIER '(' . ')' (143) + methoddeclarator : IDENTIFIER '(' . formalparameterlist ')' (144) BOOLEAN shift 48 CHAR shift 49 INT shift 50 - IDENTIFIER shift 169 - ')' shift 210 + IDENTIFIER shift 167 + ')' shift 208 . error - variabledeclaratorid goto 211 + variabledeclaratorid goto 209 simplename goto 43 classorinterfacetype goto 68 integraltype goto 69 numerictype goto 70 primitivetype goto 71 referencetype goto 72 - type goto 212 - formalparameter goto 213 - formalparameterlist goto 214 + type goto 210 + formalparameter goto 211 + formalparameterlist goto 212 state 110 - boundedMethodParameters : boundedMethodParameter . (103) + boundedMethodParameters : boundedMethodParameter . (105) - . reduce 103 + . reduce 105 state 111 - boundedMethodParameters : boundedMethodParameters . ',' boundedMethodParameter (104) - methodheader : '<' boundedMethodParameters . '>' type methoddeclarator (105) - methodheader : '<' boundedMethodParameters . '>' type methoddeclarator throws (110) - methodheader : '<' boundedMethodParameters . '>' VOID methoddeclarator (117) - methodheader : '<' boundedMethodParameters . '>' VOID methoddeclarator throws (119) - methodheader : '<' boundedMethodParameters . '>' methoddeclarator (122) + boundedMethodParameters : boundedMethodParameters . ',' boundedMethodParameter (106) + methodheader : '<' boundedMethodParameters . '>' type methoddeclarator (107) + methodheader : '<' boundedMethodParameters . '>' type methoddeclarator throws (112) + methodheader : '<' boundedMethodParameters . '>' VOID methoddeclarator (119) + methodheader : '<' boundedMethodParameters . '>' VOID methoddeclarator throws (121) + methodheader : '<' boundedMethodParameters . '>' methoddeclarator (124) - ',' shift 215 - '>' shift 216 + ',' shift 213 + '>' shift 214 . error state 112 - methodbody : block . (132) + methodbody : block . (134) - . reduce 132 + . reduce 134 state 113 - methoddeclaration : methodheader methodbody . (86) + methoddeclaration : methodheader methodbody . (88) - . reduce 86 + . reduce 88 state 114 - throws : THROWS . classtypelist (95) + throws : THROWS . classtypelist (97) IDENTIFIER shift 42 . error simplename goto 43 - classtype goto 217 + classtype goto 215 classorinterfacetype goto 45 - classtypelist goto 218 + classtypelist goto 216 state 115 - methodheader : methoddeclarator throws . (124) + methodheader : methoddeclarator throws . (126) - . reduce 124 + . reduce 126 state 116 @@ -1762,302 +1777,302 @@ state 117 state 118 - variabledeclarators : variabledeclarators ',' . variabledeclarator (131) + variabledeclarators : variabledeclarators ',' . variabledeclarator (133) - IDENTIFIER shift 219 + IDENTIFIER shift 217 . error - variabledeclarator goto 220 + variabledeclarator goto 218 variabledeclaratorid goto 66 state 119 - fielddeclaration : variabledeclarators ';' . (83) + fielddeclaration : variabledeclarators ';' . (85) + + . reduce 85 + + +state 120 + fielddeclaration : fielddeclarator ';' . (83) . reduce 83 -state 120 - fielddeclaration : fielddeclarator ';' . (81) - - . reduce 81 - - state 121 - fielddeclarator : variabledeclarator '=' . expression (80) + fielddeclarator : variabledeclarator '=' . expression (82) - NEW shift 221 - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 + NEW shift 219 + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 . error - simplename goto 226 - qualifiedname goto 178 - name goto 179 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 233 - equalityexpression goto 234 - andexpression goto 235 - exclusiveorexpression goto 236 - inclusiveorexpression goto 237 - conditionalandexpression goto 238 - conditionalorexpression goto 239 - conditionalexpression goto 240 - assignmentexpression goto 241 - lambdaexpression goto 190 - expression goto 242 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - classinstancecreationexpression goto 247 - assignment goto 248 - lefthandside goto 207 - methodinvocation goto 249 - castexpression goto 250 + simplename goto 224 + qualifiedname goto 176 + name goto 177 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 231 + equalityexpression goto 232 + andexpression goto 233 + exclusiveorexpression goto 234 + inclusiveorexpression goto 235 + conditionalandexpression goto 236 + conditionalorexpression goto 237 + conditionalexpression goto 238 + assignmentexpression goto 239 + lambdaexpression goto 188 + expression goto 240 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + classinstancecreationexpression goto 245 + assignment goto 246 + lefthandside goto 205 + methodinvocation goto 247 + castexpression goto 248 state 122 - constructordeclarator : simplename '(' . ')' (89) - constructordeclarator : simplename '(' . formalparameterlist ')' (90) + constructordeclarator : simplename '(' . ')' (91) + constructordeclarator : simplename '(' . formalparameterlist ')' (92) BOOLEAN shift 48 CHAR shift 49 INT shift 50 - IDENTIFIER shift 169 - ')' shift 251 + IDENTIFIER shift 167 + ')' shift 249 . error - variabledeclaratorid goto 211 + variabledeclaratorid goto 209 simplename goto 43 classorinterfacetype goto 68 integraltype goto 69 numerictype goto 70 primitivetype goto 71 referencetype goto 72 - type goto 212 - formalparameter goto 213 - formalparameterlist goto 252 + type goto 210 + formalparameter goto 211 + formalparameterlist goto 250 state 123 - type : primitivetype '[' . ']' (127) + type : primitivetype '[' . ']' (129) - ']' shift 253 + ']' shift 251 . error state 124 - type : referencetype '[' . ']' (129) + type : referencetype '[' . ']' (131) - ']' shift 254 + ']' shift 252 . error state 125 - methodheader : type methoddeclarator . (106) - methodheader : type methoddeclarator . throws (109) + methodheader : type methoddeclarator . (108) + methodheader : type methoddeclarator . throws (111) THROWS shift 114 - ';' reduce 106 - '{' reduce 106 + ';' reduce 108 + '{' reduce 108 - throws goto 255 + throws goto 253 state 126 - fielddeclaration : type variabledeclarators . ';' (84) - variabledeclarators : variabledeclarators . ',' variabledeclarator (131) + fielddeclaration : type variabledeclarators . ';' (86) + variabledeclarators : variabledeclarators . ',' variabledeclarator (133) ',' shift 118 - ';' shift 256 + ';' shift 254 . error state 127 - fielddeclaration : type fielddeclarator . (82) + fielddeclaration : type fielddeclarator . (84) - . reduce 82 + . reduce 84 state 128 - fielddeclarator : type variabledeclarator . '=' expression (79) - fielddeclarator : variabledeclarator . '=' expression (80) - variabledeclarators : variabledeclarator . (130) + fielddeclarator : type variabledeclarator . '=' expression (81) + fielddeclarator : variabledeclarator . '=' expression (82) + variabledeclarators : variabledeclarator . (132) - '=' shift 257 - ',' reduce 130 - ';' reduce 130 + '=' shift 255 + ',' reduce 132 + ';' reduce 132 state 129 - fielddeclarator : type . variabledeclarator '=' expression (79) + fielddeclarator : type . variabledeclarator '=' expression (81) - IDENTIFIER shift 219 + IDENTIFIER shift 217 . error - variabledeclarator goto 258 + variabledeclarator goto 256 variabledeclaratorid goto 66 state 130 - methodheader : modifiers VOID . methoddeclarator (114) - methodheader : modifiers VOID . methoddeclarator throws (116) + methodheader : modifiers VOID . methoddeclarator (116) + methodheader : modifiers VOID . methoddeclarator throws (118) IDENTIFIER shift 107 . error - methoddeclarator goto 259 + methoddeclarator goto 257 state 131 - methodheader : modifiers '<' . boundedMethodParameters '>' type methoddeclarator (108) - methodheader : modifiers '<' . boundedMethodParameters '>' type methoddeclarator throws (112) - methodheader : modifiers '<' . boundedMethodParameters '>' VOID methoddeclarator (118) - methodheader : modifiers '<' . boundedMethodParameters '>' VOID methoddeclarator throws (120) + methodheader : modifiers '<' . boundedMethodParameters '>' type methoddeclarator (110) + methodheader : modifiers '<' . boundedMethodParameters '>' type methoddeclarator throws (114) + methodheader : modifiers '<' . boundedMethodParameters '>' VOID methoddeclarator (120) + methodheader : modifiers '<' . boundedMethodParameters '>' VOID methoddeclarator throws (122) IDENTIFIER shift 38 . error boundedMethodParameter goto 110 - boundedMethodParameters goto 260 + boundedMethodParameters goto 258 state 132 - methodheader : modifiers methoddeclarator . (123) - methodheader : modifiers methoddeclarator . throws (125) + methodheader : modifiers methoddeclarator . (125) + methodheader : modifiers methoddeclarator . throws (127) THROWS shift 114 - ';' reduce 123 - '{' reduce 123 + ';' reduce 125 + '{' reduce 125 - throws goto 261 + throws goto 259 state 133 - fielddeclaration : modifiers type . variabledeclarators ';' (85) - methodheader : modifiers type . methoddeclarator (107) - methodheader : modifiers type . methoddeclarator throws (111) + fielddeclaration : modifiers type . variabledeclarators ';' (87) + methodheader : modifiers type . methoddeclarator (109) + methodheader : modifiers type . methoddeclarator throws (113) - IDENTIFIER shift 262 + IDENTIFIER shift 260 . error - methoddeclarator goto 263 - variabledeclarators goto 264 - variabledeclarator goto 176 + methoddeclarator goto 261 + variabledeclarators goto 262 + variabledeclarator goto 174 variabledeclaratorid goto 66 state 134 - constructordeclaration : modifiers constructordeclarator . constructorbody (76) + constructordeclaration : modifiers constructordeclarator . constructorbody (78) '{' shift 135 . error - constructorbody goto 265 + constructorbody goto 263 state 135 - constructorbody : '{' . '}' (91) - constructorbody : '{' . explicitconstructorinvocation '}' (92) - constructorbody : '{' . blockstatements '}' (93) - constructorbody : '{' . explicitconstructorinvocation blockstatements '}' (94) + constructorbody : '{' . '}' (93) + constructorbody : '{' . explicitconstructorinvocation '}' (94) + constructorbody : '{' . blockstatements '}' (95) + constructorbody : '{' . explicitconstructorinvocation blockstatements '}' (96) BOOLEAN shift 48 CHAR shift 49 - FOR shift 156 - IF shift 157 + FOR shift 154 + IF shift 155 INT shift 50 - RETURN shift 158 - THIS shift 266 - WHILE shift 160 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 169 - INCREMENT shift 170 - DECREMENT shift 171 - ';' shift 172 + RETURN shift 156 + THIS shift 264 + WHILE shift 158 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 167 + INCREMENT shift 168 + DECREMENT shift 169 + ';' shift 170 '{' shift 105 - '}' shift 267 - '(' shift 174 + '}' shift 265 + '(' shift 172 . error - variabledeclarators goto 175 - variabledeclarator goto 176 + variabledeclarators goto 173 + variabledeclarator goto 174 variabledeclaratorid goto 66 - simplename goto 177 - qualifiedname goto 178 - name goto 179 + simplename goto 175 + qualifiedname goto 176 + name goto 177 classorinterfacetype goto 68 integraltype goto 69 numerictype goto 70 primitivetype goto 71 referencetype goto 72 - type goto 180 - block goto 181 - blockstatements goto 268 - localvariabledeclarationstatement goto 183 - localvariabledeclaration goto 184 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 189 - lambdaexpression goto 190 - statementexpression goto 191 - preincrementexpression goto 192 - predecrementexpression goto 193 - postincrementexpression goto 194 - postdecrementexpression goto 195 - expressionstatement goto 196 - statementwithouttrailingsubstatement goto 197 - blockstatement goto 198 - statement goto 199 - whilestatement goto 200 - forstatement goto 201 - ifthenstatement goto 202 - ifthenelsestatement goto 203 - emptystatement goto 204 - returnstatement goto 205 - assignment goto 206 - lefthandside goto 207 - methodinvocation goto 208 - explicitconstructorinvocation goto 269 + type goto 178 + block goto 179 + blockstatements goto 266 + localvariabledeclarationstatement goto 181 + localvariabledeclaration goto 182 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 187 + lambdaexpression goto 188 + statementexpression goto 189 + preincrementexpression goto 190 + predecrementexpression goto 191 + postincrementexpression goto 192 + postdecrementexpression goto 193 + expressionstatement goto 194 + statementwithouttrailingsubstatement goto 195 + blockstatement goto 196 + statement goto 197 + whilestatement goto 198 + forstatement goto 199 + ifthenstatement goto 200 + ifthenelsestatement goto 201 + emptystatement goto 202 + returnstatement goto 203 + assignment goto 204 + lefthandside goto 205 + methodinvocation goto 206 + explicitconstructorinvocation goto 267 state 136 - constructordeclaration : constructordeclarator constructorbody . (75) + constructordeclaration : constructordeclarator constructorbody . (77) - . reduce 75 + . reduce 77 state 137 @@ -2091,20 +2106,20 @@ state 141 state 142 - abstractmethoddeclaration : methodheader ';' . (78) + abstractmethoddeclaration : methodheader ';' . (80) - . reduce 78 + . reduce 80 state 143 - constantdeclaration : modifiers type . IDENTIFIER '=' expression ';' (77) - methodheader : modifiers type . methoddeclarator (107) - methodheader : modifiers type . methoddeclarator throws (111) + constantdeclaration : modifiers type . IDENTIFIER '=' expression ';' (79) + methodheader : modifiers type . methoddeclarator (109) + methodheader : modifiers type . methoddeclarator throws (113) - IDENTIFIER shift 270 + IDENTIFIER shift 268 . error - methoddeclarator goto 263 + methoddeclarator goto 261 state 144 @@ -2127,7 +2142,7 @@ state 146 '{' shift 27 . error - classbody goto 271 + classbody goto 269 state 147 @@ -2143,208 +2158,186 @@ state 148 state 149 - boundedclassidentifierlist : referencetype . (101) + boundedclassidentifierlist : referencetype . (103) - . reduce 101 + . reduce 103 state 150 - boundedMethodParameter : IDENTIFIER EXTENDS boundedclassidentifierlist . (100) - boundedclassidentifierlist : boundedclassidentifierlist . '&' referencetype (102) + boundedMethodParameter : IDENTIFIER EXTENDS boundedclassidentifierlist . (102) + boundedclassidentifierlist : boundedclassidentifierlist . '&' referencetype (104) - '&' shift 272 - ',' reduce 100 - '>' reduce 100 + '&' shift 270 + ',' reduce 102 + '>' reduce 102 state 151 - boundedClassParameters : boundedClassParameters ',' boundedClassParameter . (98) + boundedClassParameters : boundedClassParameters ',' boundedClassParameter . (100) - . reduce 98 + . reduce 100 state 152 - paralist : IDENTIFIER . (32) - paralist : IDENTIFIER . '<' paralist '>' (33) + typelist : type . (68) - '<' shift 273 - ',' reduce 32 - '>' reduce 32 + . reduce 68 state 153 - wildcardparameter : '?' . (38) - wildcardparameter : '?' . EXTENDS referencetype (39) - wildcardparameter : '?' . SUPER referencetype (40) + typelist : typelist . ',' type (69) + parameter : '<' typelist . '>' (71) - EXTENDS shift 274 - SUPER shift 275 - ',' reduce 38 - '>' reduce 38 + ',' shift 271 + '>' shift 272 + . error state 154 - paralist : paralist . ',' IDENTIFIER (35) - paralist : paralist . ',' IDENTIFIER '<' paralist '>' (36) - paralist : paralist . ',' wildcardparameter (37) - parameter : '<' paralist . '>' (69) + forstatement : FOR . '(' expression ';' expression ';' expression ')' statement (177) + forstatement : FOR . '(' expression ';' expression ';' ')' statement (178) + forstatement : FOR . '(' expression ';' ';' expression ')' statement (179) + forstatement : FOR . '(' ';' expression ';' expression ')' statement (180) + forstatement : FOR . '(' expression ';' ';' ')' statement (181) + forstatement : FOR . '(' ';' expression ';' ')' statement (182) + forstatement : FOR . '(' ';' ';' expression ')' statement (183) + forstatement : FOR . '(' ';' ';' ')' statement (184) - ',' shift 276 - '>' shift 277 + '(' shift 273 . error state 155 - paralist : wildcardparameter . (34) + ifthenstatement : IF . '(' expression ')' statement (174) + ifthenelsestatement : IF . '(' expression ')' statementnoshortif ELSE statement (175) - . reduce 34 + '(' shift 274 + . error state 156 - forstatement : FOR . '(' expression ';' expression ';' expression ')' statement (175) - forstatement : FOR . '(' expression ';' expression ';' ')' statement (176) - forstatement : FOR . '(' expression ';' ';' expression ')' statement (177) - forstatement : FOR . '(' ';' expression ';' expression ')' statement (178) - forstatement : FOR . '(' expression ';' ';' ')' statement (179) - forstatement : FOR . '(' ';' expression ';' ')' statement (180) - forstatement : FOR . '(' ';' ';' expression ')' statement (181) - forstatement : FOR . '(' ';' ';' ')' statement (182) + returnstatement : RETURN . ';' (189) + returnstatement : RETURN . expression ';' (190) - '(' shift 278 + NEW shift 219 + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + ';' shift 275 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 . error + simplename goto 224 + qualifiedname goto 176 + name goto 177 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 231 + equalityexpression goto 232 + andexpression goto 233 + exclusiveorexpression goto 234 + inclusiveorexpression goto 235 + conditionalandexpression goto 236 + conditionalorexpression goto 237 + conditionalexpression goto 238 + assignmentexpression goto 239 + lambdaexpression goto 188 + expression goto 276 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + classinstancecreationexpression goto 245 + assignment goto 246 + lefthandside goto 205 + methodinvocation goto 247 + castexpression goto 248 + state 157 - ifthenstatement : IF . '(' expression ')' statement (172) - ifthenelsestatement : IF . '(' expression ')' statementnoshortif ELSE statement (173) + primarynonewarray : THIS . (245) - '(' shift 279 - . error + . reduce 245 state 158 - returnstatement : RETURN . ';' (187) - returnstatement : RETURN . expression ';' (188) + whilestatement : WHILE . '(' expression ')' statement (176) - NEW shift 221 - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - ';' shift 280 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 + '(' shift 277 . error - simplename goto 226 - qualifiedname goto 178 - name goto 179 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 233 - equalityexpression goto 234 - andexpression goto 235 - exclusiveorexpression goto 236 - inclusiveorexpression goto 237 - conditionalandexpression goto 238 - conditionalorexpression goto 239 - conditionalexpression goto 240 - assignmentexpression goto 241 - lambdaexpression goto 190 - expression goto 281 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - classinstancecreationexpression goto 247 - assignment goto 248 - lefthandside goto 207 - methodinvocation goto 249 - castexpression goto 250 - state 159 - primarynonewarray : THIS . (243) - - . reduce 243 - - -state 160 - whilestatement : WHILE . '(' expression ')' statement (174) - - '(' shift 282 - . error - - -state 161 - literal : INTLITERAL . (251) - - . reduce 251 - - -state 162 - literal : LONGLITERAL . (255) - - . reduce 255 - - -state 163 - literal : DOUBLELITERAL . (257) - - . reduce 257 - - -state 164 - literal : FLOATLITERAL . (256) - - . reduce 256 - - -state 165 - literal : BOOLLITERAL . (252) - - . reduce 252 - - -state 166 - literal : JNULL . (258) - - . reduce 258 - - -state 167 - literal : CHARLITERAL . (253) + literal : INTLITERAL . (253) . reduce 253 -state 168 - literal : STRINGLITERAL . (254) +state 160 + literal : LONGLITERAL . (257) + + . reduce 257 + + +state 161 + literal : DOUBLELITERAL . (259) + + . reduce 259 + + +state 162 + literal : FLOATLITERAL . (258) + + . reduce 258 + + +state 163 + literal : BOOLLITERAL . (254) . reduce 254 -state 169 +state 164 + literal : JNULL . (260) + + . reduce 260 + + +state 165 + literal : CHARLITERAL . (255) + + . reduce 255 + + +state 166 + literal : STRINGLITERAL . (256) + + . reduce 256 + + +state 167 simplename : IDENTIFIER . (15) - variabledeclaratorid : IDENTIFIER . (154) + variabledeclaratorid : IDENTIFIER . (156) IDENTIFIER reduce 15 INCREMENT reduce 15 @@ -2354,152 +2347,152 @@ state 169 TIMESEQUAL reduce 15 DIVIDEEQUAL reduce 15 MODULOEQUAL reduce 15 - ',' reduce 154 - ';' reduce 154 + ',' reduce 156 + ';' reduce 156 '.' reduce 15 '<' reduce 15 '=' reduce 15 '(' reduce 15 - ')' reduce 154 + ')' reduce 156 '[' reduce 15 -state 170 - preincrementexpression : INCREMENT . unaryexpression (218) +state 168 + preincrementexpression : INCREMENT . unaryexpression (220) - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 . error - simplename goto 226 - qualifiedname goto 178 - name goto 283 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 284 - lambdaexpression goto 190 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - methodinvocation goto 249 - castexpression goto 250 + simplename goto 224 + qualifiedname goto 176 + name goto 278 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 279 + lambdaexpression goto 188 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + methodinvocation goto 247 + castexpression goto 248 + + +state 169 + predecrementexpression : DECREMENT . unaryexpression (221) + + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 278 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 280 + lambdaexpression goto 188 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + methodinvocation goto 247 + castexpression goto 248 + + +state 170 + emptystatement : ';' . (187) + + . reduce 187 state 171 - predecrementexpression : DECREMENT . unaryexpression (219) + block : '{' '}' . (89) - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 283 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 285 - lambdaexpression goto 190 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - methodinvocation goto 249 - castexpression goto 250 + . reduce 89 state 172 - emptystatement : ';' . (185) - - . reduce 185 - - -state 173 - block : '{' '}' . (87) - - . reduce 87 - - -state 174 - lambdaexpressionparameter : '(' . ')' (208) - lambdaexpressionparameter : '(' . formalparameterlist ')' (209) + lambdaexpressionparameter : '(' . ')' (210) + lambdaexpressionparameter : '(' . formalparameterlist ')' (211) BOOLEAN shift 48 CHAR shift 49 INT shift 50 - IDENTIFIER shift 169 - ')' shift 286 + IDENTIFIER shift 167 + ')' shift 281 . error - variabledeclaratorid goto 211 + variabledeclaratorid goto 209 simplename goto 43 classorinterfacetype goto 68 integraltype goto 69 numerictype goto 70 primitivetype goto 71 referencetype goto 72 - type goto 212 - formalparameter goto 213 - formalparameterlist goto 287 + type goto 210 + formalparameter goto 211 + formalparameterlist goto 282 + + +state 173 + variabledeclarators : variabledeclarators . ',' variabledeclarator (133) + localvariabledeclaration : variabledeclarators . (169) + + ',' shift 118 + ';' reduce 169 + + +state 174 + variabledeclarators : variabledeclarator . (132) + + . reduce 132 state 175 - variabledeclarators : variabledeclarators . ',' variabledeclarator (131) - localvariabledeclaration : variabledeclarators . (167) - - ',' shift 118 - ';' reduce 167 - - -state 176 - variabledeclarators : variabledeclarator . (130) - - . reduce 130 - - -state 177 name : simplename . (9) classorinterfacetype : simplename . parameter (67) - parameter : . (68) + parameter : . (70) '<' shift 103 - IDENTIFIER reduce 68 + IDENTIFIER reduce 70 INCREMENT reduce 9 DECREMENT reduce 9 PLUSEQUAL reduce 9 @@ -2510,3668 +2503,708 @@ state 177 '.' reduce 9 '=' reduce 9 '(' reduce 9 - '[' reduce 68 + '[' reduce 70 parameter goto 104 -state 178 +state 176 name : qualifiedname . (8) . reduce 8 -179: shift/reduce conflict (shift 288, reduce 236) on '.' -state 179 +177: shift/reduce conflict (shift 283, reduce 238) on '.' +state 177 qualifiedname : name . '.' IDENTIFIER (12) - lefthandside : name . (211) - methodinvocation : name . '(' ')' (222) - methodinvocation : name . '(' argumentlist ')' (223) - postfixexpression : name . (236) + lefthandside : name . (213) + methodinvocation : name . '(' ')' (224) + methodinvocation : name . '(' argumentlist ')' (225) + postfixexpression : name . (238) - '.' shift 288 - '(' shift 289 - ABSTRACT reduce 236 - BOOLEAN reduce 236 - CHAR reduce 236 - FINAL reduce 236 - INSTANCEOF reduce 236 - INT reduce 236 - PRIVATE reduce 236 - PROTECTED reduce 236 - PUBLIC reduce 236 - STATIC reduce 236 - VOID reduce 236 - IDENTIFIER reduce 236 - EQUAL reduce 236 - LESSEQUAL reduce 236 - GREATEREQUAL reduce 236 - NOTEQUAL reduce 236 - LOGICALOR reduce 236 - LOGICALAND reduce 236 - INCREMENT reduce 236 - DECREMENT reduce 236 - PLUSEQUAL reduce 211 - MINUSEQUAL reduce 211 - TIMESEQUAL reduce 211 - DIVIDEEQUAL reduce 211 - MODULOEQUAL reduce 211 - ',' reduce 236 - ';' reduce 236 - '*' reduce 236 - '<' reduce 236 - '>' reduce 236 - '}' reduce 236 - '=' reduce 211 - ')' reduce 236 - '&' reduce 236 - '+' reduce 236 - '-' reduce 236 - '|' reduce 236 - '^' reduce 236 - '/' reduce 236 - '%' reduce 236 + '.' shift 283 + '(' shift 284 + ABSTRACT reduce 238 + BOOLEAN reduce 238 + CHAR reduce 238 + FINAL reduce 238 + INSTANCEOF reduce 238 + INT reduce 238 + PRIVATE reduce 238 + PROTECTED reduce 238 + PUBLIC reduce 238 + STATIC reduce 238 + VOID reduce 238 + IDENTIFIER reduce 238 + EQUAL reduce 238 + LESSEQUAL reduce 238 + GREATEREQUAL reduce 238 + NOTEQUAL reduce 238 + LOGICALOR reduce 238 + LOGICALAND reduce 238 + INCREMENT reduce 238 + DECREMENT reduce 238 + PLUSEQUAL reduce 213 + MINUSEQUAL reduce 213 + TIMESEQUAL reduce 213 + DIVIDEEQUAL reduce 213 + MODULOEQUAL reduce 213 + ',' reduce 238 + ';' reduce 238 + '*' reduce 238 + '<' reduce 238 + '>' reduce 238 + '}' reduce 238 + '=' reduce 213 + ')' reduce 238 + '&' reduce 238 + '+' reduce 238 + '-' reduce 238 + '|' reduce 238 + '^' reduce 238 + '/' reduce 238 + '%' reduce 238 + + +state 178 + localvariabledeclaration : type . variabledeclarators (168) + + IDENTIFIER shift 217 + . error + + variabledeclarators goto 285 + variabledeclarator goto 174 + variabledeclaratorid goto 66 + + +state 179 + statementwithouttrailingsubstatement : block . (170) + + . reduce 170 state 180 - localvariabledeclaration : type . variabledeclarators (166) - - IDENTIFIER shift 219 - . error - - variabledeclarators goto 290 - variabledeclarator goto 176 - variabledeclaratorid goto 66 - - -state 181 - statementwithouttrailingsubstatement : block . (168) - - . reduce 168 - - -state 182 - block : '{' blockstatements . '}' (88) - blockstatements : blockstatements . blockstatement (134) + block : '{' blockstatements . '}' (90) + blockstatements : blockstatements . blockstatement (136) BOOLEAN shift 48 CHAR shift 49 - FOR shift 156 - IF shift 157 + FOR shift 154 + IF shift 155 INT shift 50 - RETURN shift 158 - THIS shift 159 - WHILE shift 160 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 169 - INCREMENT shift 170 - DECREMENT shift 171 - ';' shift 172 + RETURN shift 156 + THIS shift 157 + WHILE shift 158 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 167 + INCREMENT shift 168 + DECREMENT shift 169 + ';' shift 170 '{' shift 105 - '}' shift 291 - '(' shift 174 + '}' shift 286 + '(' shift 172 . error - variabledeclarators goto 175 - variabledeclarator goto 176 + variabledeclarators goto 173 + variabledeclarator goto 174 variabledeclaratorid goto 66 - simplename goto 177 - qualifiedname goto 178 - name goto 179 + simplename goto 175 + qualifiedname goto 176 + name goto 177 classorinterfacetype goto 68 integraltype goto 69 numerictype goto 70 primitivetype goto 71 referencetype goto 72 - type goto 180 - block goto 181 - localvariabledeclarationstatement goto 183 - localvariabledeclaration goto 184 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 189 - lambdaexpression goto 190 - statementexpression goto 191 - preincrementexpression goto 192 - predecrementexpression goto 193 - postincrementexpression goto 194 - postdecrementexpression goto 195 - expressionstatement goto 196 - statementwithouttrailingsubstatement goto 197 - blockstatement goto 292 - statement goto 199 - whilestatement goto 200 - forstatement goto 201 - ifthenstatement goto 202 - ifthenelsestatement goto 203 - emptystatement goto 204 - returnstatement goto 205 - assignment goto 206 - lefthandside goto 207 - methodinvocation goto 208 + type goto 178 + block goto 179 + localvariabledeclarationstatement goto 181 + localvariabledeclaration goto 182 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 187 + lambdaexpression goto 188 + statementexpression goto 189 + preincrementexpression goto 190 + predecrementexpression goto 191 + postincrementexpression goto 192 + postdecrementexpression goto 193 + expressionstatement goto 194 + statementwithouttrailingsubstatement goto 195 + blockstatement goto 287 + statement goto 197 + whilestatement goto 198 + forstatement goto 199 + ifthenstatement goto 200 + ifthenelsestatement goto 201 + emptystatement goto 202 + returnstatement goto 203 + assignment goto 204 + lefthandside goto 205 + methodinvocation goto 206 + + +state 181 + blockstatement : localvariabledeclarationstatement . (149) + + . reduce 149 + + +state 182 + localvariabledeclarationstatement : localvariabledeclaration . ';' (158) + + ';' shift 288 + . error state 183 - blockstatement : localvariabledeclarationstatement . (147) + lambdaexpression : lambdaexpressionparameter . lambdaassignmentoperator lambdabody (212) - . reduce 147 + LAMBDAASSIGNMENT shift 289 + . error + + lambdaassignmentoperator goto 290 state 184 - localvariabledeclarationstatement : localvariabledeclaration . ';' (156) + primarynonewarray : literal . (244) - ';' shift 293 - . error + . reduce 244 state 185 - lambdaexpression : lambdaexpressionparameter . lambdaassignmentoperator lambdabody (210) + primary : primarynonewarray . (241) - LAMBDAASSIGNMENT shift 294 - . error - - lambdaassignmentoperator goto 295 + . reduce 241 +186: shift/reduce conflict (shift 291, reduce 237) on '.' state 186 - primarynonewarray : literal . (242) + methodinvocation : primary . '.' IDENTIFIER '(' ')' (226) + methodinvocation : primary . '.' IDENTIFIER '(' argumentlist ')' (227) + postfixexpression : primary . (237) - . reduce 242 + '.' shift 291 + ABSTRACT reduce 237 + BOOLEAN reduce 237 + CHAR reduce 237 + FINAL reduce 237 + INSTANCEOF reduce 237 + INT reduce 237 + PRIVATE reduce 237 + PROTECTED reduce 237 + PUBLIC reduce 237 + STATIC reduce 237 + VOID reduce 237 + IDENTIFIER reduce 237 + EQUAL reduce 237 + LESSEQUAL reduce 237 + GREATEREQUAL reduce 237 + NOTEQUAL reduce 237 + LOGICALOR reduce 237 + LOGICALAND reduce 237 + INCREMENT reduce 237 + DECREMENT reduce 237 + ',' reduce 237 + ';' reduce 237 + '*' reduce 237 + '<' reduce 237 + '>' reduce 237 + '}' reduce 237 + ')' reduce 237 + '&' reduce 237 + '+' reduce 237 + '-' reduce 237 + '|' reduce 237 + '^' reduce 237 + '/' reduce 237 + '%' reduce 237 state 187 - primary : primarynonewarray . (239) + postincrementexpression : postfixexpression . INCREMENT (222) + postdecrementexpression : postfixexpression . DECREMENT (223) - . reduce 239 + INCREMENT shift 292 + DECREMENT shift 293 + . error -188: shift/reduce conflict (shift 296, reduce 235) on '.' state 188 - methodinvocation : primary . '.' IDENTIFIER '(' ')' (224) - methodinvocation : primary . '.' IDENTIFIER '(' argumentlist ')' (225) - postfixexpression : primary . (235) + primarynonewarray : lambdaexpression . (247) - '.' shift 296 - ABSTRACT reduce 235 - BOOLEAN reduce 235 - CHAR reduce 235 - FINAL reduce 235 - INSTANCEOF reduce 235 - INT reduce 235 - PRIVATE reduce 235 - PROTECTED reduce 235 - PUBLIC reduce 235 - STATIC reduce 235 - VOID reduce 235 - IDENTIFIER reduce 235 - EQUAL reduce 235 - LESSEQUAL reduce 235 - GREATEREQUAL reduce 235 - NOTEQUAL reduce 235 - LOGICALOR reduce 235 - LOGICALAND reduce 235 - INCREMENT reduce 235 - DECREMENT reduce 235 - ',' reduce 235 - ';' reduce 235 - '*' reduce 235 - '<' reduce 235 - '>' reduce 235 - '}' reduce 235 - ')' reduce 235 - '&' reduce 235 - '+' reduce 235 - '-' reduce 235 - '|' reduce 235 - '^' reduce 235 - '/' reduce 235 - '%' reduce 235 + . reduce 247 state 189 - postincrementexpression : postfixexpression . INCREMENT (220) - postdecrementexpression : postfixexpression . DECREMENT (221) + expressionstatement : statementexpression . ';' (188) - INCREMENT shift 297 - DECREMENT shift 298 + ';' shift 294 . error state 190 - primarynonewarray : lambdaexpression . (245) + statementexpression : preincrementexpression . (198) - . reduce 245 + . reduce 198 state 191 - expressionstatement : statementexpression . ';' (186) + statementexpression : predecrementexpression . (199) - ';' shift 299 - . error + . reduce 199 state 192 - statementexpression : preincrementexpression . (196) + statementexpression : postincrementexpression . (200) + postfixexpression : postincrementexpression . (239) - . reduce 196 + INCREMENT reduce 239 + DECREMENT reduce 239 + ';' reduce 200 state 193 - statementexpression : predecrementexpression . (197) + statementexpression : postdecrementexpression . (201) + postfixexpression : postdecrementexpression . (240) - . reduce 197 + INCREMENT reduce 240 + DECREMENT reduce 240 + ';' reduce 201 state 194 - statementexpression : postincrementexpression . (198) - postfixexpression : postincrementexpression . (237) + statementwithouttrailingsubstatement : expressionstatement . (172) - INCREMENT reduce 237 - DECREMENT reduce 237 - ';' reduce 198 + . reduce 172 state 195 - statementexpression : postdecrementexpression . (199) - postfixexpression : postdecrementexpression . (238) + statement : statementwithouttrailingsubstatement . (159) - INCREMENT reduce 238 - DECREMENT reduce 238 - ';' reduce 199 + . reduce 159 state 196 - statementwithouttrailingsubstatement : expressionstatement . (170) + blockstatements : blockstatement . (135) - . reduce 170 + . reduce 135 state 197 - statement : statementwithouttrailingsubstatement . (157) + blockstatement : statement . (150) - . reduce 157 + . reduce 150 state 198 - blockstatements : blockstatement . (133) + statement : whilestatement . (162) - . reduce 133 + . reduce 162 state 199 - blockstatement : statement . (148) + statement : forstatement . (163) - . reduce 148 + . reduce 163 state 200 - statement : whilestatement . (160) + statement : ifthenstatement . (160) . reduce 160 state 201 - statement : forstatement . (161) + statement : ifthenelsestatement . (161) . reduce 161 state 202 - statement : ifthenstatement . (158) - - . reduce 158 - - -state 203 - statement : ifthenelsestatement . (159) - - . reduce 159 - - -state 204 - statementwithouttrailingsubstatement : emptystatement . (169) - - . reduce 169 - - -state 205 - statementwithouttrailingsubstatement : returnstatement . (171) + statementwithouttrailingsubstatement : emptystatement . (171) . reduce 171 -state 206 - statementexpression : assignment . (195) +state 203 + statementwithouttrailingsubstatement : returnstatement . (173) - . reduce 195 + . reduce 173 + + +state 204 + statementexpression : assignment . (197) + + . reduce 197 + + +state 205 + assignment : lefthandside . assignmentoperator assignmentexpression (195) + assignment : lefthandside . assignmentoperator classinstancecreationexpression (196) + + PLUSEQUAL shift 295 + MINUSEQUAL shift 296 + TIMESEQUAL shift 297 + DIVIDEEQUAL shift 298 + MODULOEQUAL shift 299 + '=' shift 300 + . error + + assignmentoperator goto 301 + + +state 206 + statementexpression : methodinvocation . (202) + primarynonewarray : methodinvocation . (246) + + INCREMENT reduce 246 + DECREMENT reduce 246 + ';' reduce 202 + '.' reduce 246 state 207 - assignment : lefthandside . assignmentoperator assignmentexpression (193) - assignment : lefthandside . assignmentoperator classinstancecreationexpression (194) + methodheader : VOID methoddeclarator throws . (117) - PLUSEQUAL shift 300 - MINUSEQUAL shift 301 - TIMESEQUAL shift 302 - DIVIDEEQUAL shift 303 - MODULOEQUAL shift 304 - '=' shift 305 - . error - - assignmentoperator goto 306 + . reduce 117 state 208 - statementexpression : methodinvocation . (200) - primarynonewarray : methodinvocation . (244) + methoddeclarator : IDENTIFIER '(' ')' . (143) - INCREMENT reduce 244 - DECREMENT reduce 244 - ';' reduce 200 - '.' reduce 244 + . reduce 143 state 209 - methodheader : VOID methoddeclarator throws . (115) + formalparameter : variabledeclaratorid . (152) - . reduce 115 + . reduce 152 state 210 - methoddeclarator : IDENTIFIER '(' ')' . (141) + formalparameter : type . variabledeclaratorid (151) - . reduce 141 + IDENTIFIER shift 217 + . error + + variabledeclaratorid goto 302 state 211 - formalparameter : variabledeclaratorid . (150) + formalparameterlist : formalparameter . (137) - . reduce 150 + . reduce 137 state 212 - formalparameter : type . variabledeclaratorid (149) + formalparameterlist : formalparameterlist . ',' formalparameter (138) + methoddeclarator : IDENTIFIER '(' formalparameterlist . ')' (144) - IDENTIFIER shift 219 + ',' shift 303 + ')' shift 304 . error - variabledeclaratorid goto 307 - state 213 - formalparameterlist : formalparameter . (135) - - . reduce 135 - - -state 214 - formalparameterlist : formalparameterlist . ',' formalparameter (136) - methoddeclarator : IDENTIFIER '(' formalparameterlist . ')' (142) - - ',' shift 308 - ')' shift 309 - . error - - -state 215 - boundedMethodParameters : boundedMethodParameters ',' . boundedMethodParameter (104) + boundedMethodParameters : boundedMethodParameters ',' . boundedMethodParameter (106) IDENTIFIER shift 38 . error - boundedMethodParameter goto 310 + boundedMethodParameter goto 305 -state 216 - methodheader : '<' boundedMethodParameters '>' . type methoddeclarator (105) - methodheader : '<' boundedMethodParameters '>' . type methoddeclarator throws (110) - methodheader : '<' boundedMethodParameters '>' . VOID methoddeclarator (117) - methodheader : '<' boundedMethodParameters '>' . VOID methoddeclarator throws (119) - methodheader : '<' boundedMethodParameters '>' . methoddeclarator (122) +state 214 + methodheader : '<' boundedMethodParameters '>' . type methoddeclarator (107) + methodheader : '<' boundedMethodParameters '>' . type methoddeclarator throws (112) + methodheader : '<' boundedMethodParameters '>' . VOID methoddeclarator (119) + methodheader : '<' boundedMethodParameters '>' . VOID methoddeclarator throws (121) + methodheader : '<' boundedMethodParameters '>' . methoddeclarator (124) BOOLEAN shift 48 CHAR shift 49 INT shift 50 - VOID shift 311 + VOID shift 306 IDENTIFIER shift 84 . error - methoddeclarator goto 312 + methoddeclarator goto 307 simplename goto 43 classorinterfacetype goto 68 integraltype goto 69 numerictype goto 70 primitivetype goto 71 referencetype goto 72 - type goto 313 + type goto 308 + + +state 215 + classtypelist : classtype . (141) + + . reduce 141 + + +state 216 + throws : THROWS classtypelist . (97) + classtypelist : classtypelist . ',' classtype (142) + + ',' shift 309 + ';' reduce 97 + '{' reduce 97 state 217 - classtypelist : classtype . (139) + variabledeclaratorid : IDENTIFIER . (156) - . reduce 139 + . reduce 156 state 218 - throws : THROWS classtypelist . (95) - classtypelist : classtypelist . ',' classtype (140) + variabledeclarators : variabledeclarators ',' variabledeclarator . (133) - ',' shift 314 - ';' reduce 95 - '{' reduce 95 + . reduce 133 state 219 - variabledeclaratorid : IDENTIFIER . (154) - - . reduce 154 - - -state 220 - variabledeclarators : variabledeclarators ',' variabledeclarator . (131) - - . reduce 131 - - -state 221 - classinstancecreationexpression : NEW . classtype '(' ')' (226) - classinstancecreationexpression : NEW . classtype '(' argumentlist ')' (227) + classinstancecreationexpression : NEW . classtype '(' ')' (228) + classinstancecreationexpression : NEW . classtype '(' argumentlist ')' (229) IDENTIFIER shift 42 . error simplename goto 43 - classtype goto 315 + classtype goto 310 classorinterfacetype goto 45 -state 222 - lambdaexpressionparameter : '(' . ')' (208) - lambdaexpressionparameter : '(' . formalparameterlist ')' (209) - castexpression : '(' . primitivetype ')' unaryexpression (259) +state 220 + lambdaexpressionparameter : '(' . ')' (210) + lambdaexpressionparameter : '(' . formalparameterlist ')' (211) + castexpression : '(' . primitivetype ')' unaryexpression (261) BOOLEAN shift 48 CHAR shift 49 INT shift 50 - IDENTIFIER shift 169 - ')' shift 286 + IDENTIFIER shift 167 + ')' shift 281 . error - variabledeclaratorid goto 211 + variabledeclaratorid goto 209 simplename goto 43 classorinterfacetype goto 68 integraltype goto 69 numerictype goto 70 - primitivetype goto 316 + primitivetype goto 311 referencetype goto 72 - type goto 212 - formalparameter goto 213 - formalparameterlist goto 287 + type goto 210 + formalparameter goto 211 + formalparameterlist goto 282 + + +state 221 + unaryexpression : '+' . unaryexpression (234) + + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 278 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 312 + lambdaexpression goto 188 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + methodinvocation goto 247 + castexpression goto 248 + + +state 222 + unaryexpression : '-' . unaryexpression (235) + + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 278 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 313 + lambdaexpression goto 188 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + methodinvocation goto 247 + castexpression goto 248 state 223 - unaryexpression : '+' . unaryexpression (232) + unaryexpressionnotplusminus : '!' . unaryexpression (249) - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 . error - simplename goto 226 - qualifiedname goto 178 - name goto 283 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 317 - lambdaexpression goto 190 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - methodinvocation goto 249 - castexpression goto 250 + simplename goto 224 + qualifiedname goto 176 + name goto 278 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 314 + lambdaexpression goto 188 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + methodinvocation goto 247 + castexpression goto 248 state 224 - unaryexpression : '-' . unaryexpression (233) - - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 283 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 318 - lambdaexpression goto 190 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - methodinvocation goto 249 - castexpression goto 250 - - -state 225 - unaryexpressionnotplusminus : '!' . unaryexpression (247) - - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 283 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 319 - lambdaexpression goto 190 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - methodinvocation goto 249 - castexpression goto 250 - - -state 226 name : simplename . (9) . reduce 9 -227: shift/reduce conflict (shift 297, reduce 246) on INCREMENT -227: shift/reduce conflict (shift 298, reduce 246) on DECREMENT +225: shift/reduce conflict (shift 292, reduce 248) on INCREMENT +225: shift/reduce conflict (shift 293, reduce 248) on DECREMENT +state 225 + postincrementexpression : postfixexpression . INCREMENT (222) + postdecrementexpression : postfixexpression . DECREMENT (223) + unaryexpressionnotplusminus : postfixexpression . (248) + + INCREMENT shift 292 + DECREMENT shift 293 + ABSTRACT reduce 248 + BOOLEAN reduce 248 + CHAR reduce 248 + FINAL reduce 248 + INSTANCEOF reduce 248 + INT reduce 248 + PRIVATE reduce 248 + PROTECTED reduce 248 + PUBLIC reduce 248 + STATIC reduce 248 + VOID reduce 248 + IDENTIFIER reduce 248 + EQUAL reduce 248 + LESSEQUAL reduce 248 + GREATEREQUAL reduce 248 + NOTEQUAL reduce 248 + LOGICALOR reduce 248 + LOGICALAND reduce 248 + ',' reduce 248 + ';' reduce 248 + '.' reduce 248 + '*' reduce 248 + '<' reduce 248 + '>' reduce 248 + '}' reduce 248 + ')' reduce 248 + '&' reduce 248 + '+' reduce 248 + '-' reduce 248 + '|' reduce 248 + '^' reduce 248 + '/' reduce 248 + '%' reduce 248 + + +state 226 + unaryexpression : unaryexpressionnotplusminus . (236) + + . reduce 236 + + state 227 - postincrementexpression : postfixexpression . INCREMENT (220) - postdecrementexpression : postfixexpression . DECREMENT (221) - unaryexpressionnotplusminus : postfixexpression . (246) - - INCREMENT shift 297 - DECREMENT shift 298 - ABSTRACT reduce 246 - BOOLEAN reduce 246 - CHAR reduce 246 - FINAL reduce 246 - INSTANCEOF reduce 246 - INT reduce 246 - PRIVATE reduce 246 - PROTECTED reduce 246 - PUBLIC reduce 246 - STATIC reduce 246 - VOID reduce 246 - IDENTIFIER reduce 246 - EQUAL reduce 246 - LESSEQUAL reduce 246 - GREATEREQUAL reduce 246 - NOTEQUAL reduce 246 - LOGICALOR reduce 246 - LOGICALAND reduce 246 - ',' reduce 246 - ';' reduce 246 - '.' reduce 246 - '*' reduce 246 - '<' reduce 246 - '>' reduce 246 - '}' reduce 246 - ')' reduce 246 - '&' reduce 246 - '+' reduce 246 - '-' reduce 246 - '|' reduce 246 - '^' reduce 246 - '/' reduce 246 - '%' reduce 246 - - -state 228 - unaryexpression : unaryexpressionnotplusminus . (234) - - . reduce 234 - - -state 229 - multiplicativeexpression : unaryexpression . (275) - - . reduce 275 - - -230: shift/reduce conflict (shift 320, reduce 272) on '*' -230: shift/reduce conflict (shift 321, reduce 272) on '/' -230: shift/reduce conflict (shift 322, reduce 272) on '%' -state 230 - additiveexpression : multiplicativeexpression . (272) - multiplicativeexpression : multiplicativeexpression . '*' unaryexpression (276) - multiplicativeexpression : multiplicativeexpression . '/' unaryexpression (277) - multiplicativeexpression : multiplicativeexpression . '%' unaryexpression (278) - - '*' shift 320 - '/' shift 321 - '%' shift 322 - ABSTRACT reduce 272 - BOOLEAN reduce 272 - CHAR reduce 272 - FINAL reduce 272 - INSTANCEOF reduce 272 - INT reduce 272 - PRIVATE reduce 272 - PROTECTED reduce 272 - PUBLIC reduce 272 - STATIC reduce 272 - VOID reduce 272 - IDENTIFIER reduce 272 - EQUAL reduce 272 - LESSEQUAL reduce 272 - GREATEREQUAL reduce 272 - NOTEQUAL reduce 272 - LOGICALOR reduce 272 - LOGICALAND reduce 272 - INCREMENT reduce 272 - DECREMENT reduce 272 - ',' reduce 272 - ';' reduce 272 - '.' reduce 272 - '<' reduce 272 - '>' reduce 272 - '}' reduce 272 - ')' reduce 272 - '&' reduce 272 - '+' reduce 272 - '-' reduce 272 - '|' reduce 272 - '^' reduce 272 - - -231: shift/reduce conflict (shift 323, reduce 271) on '+' -231: shift/reduce conflict (shift 324, reduce 271) on '-' -state 231 - shiftexpression : additiveexpression . (271) - additiveexpression : additiveexpression . '+' multiplicativeexpression (273) - additiveexpression : additiveexpression . '-' multiplicativeexpression (274) - - '+' shift 323 - '-' shift 324 - ABSTRACT reduce 271 - BOOLEAN reduce 271 - CHAR reduce 271 - FINAL reduce 271 - INSTANCEOF reduce 271 - INT reduce 271 - PRIVATE reduce 271 - PROTECTED reduce 271 - PUBLIC reduce 271 - STATIC reduce 271 - VOID reduce 271 - IDENTIFIER reduce 271 - EQUAL reduce 271 - LESSEQUAL reduce 271 - GREATEREQUAL reduce 271 - NOTEQUAL reduce 271 - LOGICALOR reduce 271 - LOGICALAND reduce 271 - INCREMENT reduce 271 - DECREMENT reduce 271 - ',' reduce 271 - ';' reduce 271 - '.' reduce 271 - '*' reduce 271 - '<' reduce 271 - '>' reduce 271 - '}' reduce 271 - ')' reduce 271 - '&' reduce 271 - '|' reduce 271 - '^' reduce 271 - '/' reduce 271 - '%' reduce 271 - - -state 232 - relationalexpression : shiftexpression . (265) - - . reduce 265 - - -233: shift/reduce conflict (shift 325, reduce 262) on INSTANCEOF -233: shift/reduce conflict (shift 326, reduce 262) on LESSEQUAL -233: shift/reduce conflict (shift 327, reduce 262) on GREATEREQUAL -233: shift/reduce conflict (shift 328, reduce 262) on '<' -233: shift/reduce conflict (shift 329, reduce 262) on '>' -state 233 - equalityexpression : relationalexpression . (262) - relationalexpression : relationalexpression . '<' shiftexpression (266) - relationalexpression : relationalexpression . '>' shiftexpression (267) - relationalexpression : relationalexpression . LESSEQUAL shiftexpression (268) - relationalexpression : relationalexpression . GREATEREQUAL shiftexpression (269) - relationalexpression : relationalexpression . INSTANCEOF referencetype (270) - - INSTANCEOF shift 325 - LESSEQUAL shift 326 - GREATEREQUAL shift 327 - '<' shift 328 - '>' shift 329 - ABSTRACT reduce 262 - BOOLEAN reduce 262 - CHAR reduce 262 - FINAL reduce 262 - INT reduce 262 - PRIVATE reduce 262 - PROTECTED reduce 262 - PUBLIC reduce 262 - STATIC reduce 262 - VOID reduce 262 - IDENTIFIER reduce 262 - EQUAL reduce 262 - NOTEQUAL reduce 262 - LOGICALOR reduce 262 - LOGICALAND reduce 262 - INCREMENT reduce 262 - DECREMENT reduce 262 - ',' reduce 262 - ';' reduce 262 - '.' reduce 262 - '*' reduce 262 - '}' reduce 262 - ')' reduce 262 - '&' reduce 262 - '+' reduce 262 - '-' reduce 262 - '|' reduce 262 - '^' reduce 262 - '/' reduce 262 - '%' reduce 262 - - -234: shift/reduce conflict (shift 330, reduce 260) on EQUAL -234: shift/reduce conflict (shift 331, reduce 260) on NOTEQUAL -state 234 - andexpression : equalityexpression . (260) - equalityexpression : equalityexpression . EQUAL relationalexpression (263) - equalityexpression : equalityexpression . NOTEQUAL relationalexpression (264) - - EQUAL shift 330 - NOTEQUAL shift 331 - ABSTRACT reduce 260 - BOOLEAN reduce 260 - CHAR reduce 260 - FINAL reduce 260 - INSTANCEOF reduce 260 - INT reduce 260 - PRIVATE reduce 260 - PROTECTED reduce 260 - PUBLIC reduce 260 - STATIC reduce 260 - VOID reduce 260 - IDENTIFIER reduce 260 - LESSEQUAL reduce 260 - GREATEREQUAL reduce 260 - LOGICALOR reduce 260 - LOGICALAND reduce 260 - INCREMENT reduce 260 - DECREMENT reduce 260 - ',' reduce 260 - ';' reduce 260 - '.' reduce 260 - '*' reduce 260 - '<' reduce 260 - '>' reduce 260 - '}' reduce 260 - ')' reduce 260 - '&' reduce 260 - '+' reduce 260 - '-' reduce 260 - '|' reduce 260 - '^' reduce 260 - '/' reduce 260 - '%' reduce 260 - - -235: shift/reduce conflict (shift 332, reduce 249) on '&' -state 235 - exclusiveorexpression : andexpression . (249) - andexpression : andexpression . '&' equalityexpression (261) - - '&' shift 332 - ABSTRACT reduce 249 - BOOLEAN reduce 249 - CHAR reduce 249 - FINAL reduce 249 - INSTANCEOF reduce 249 - INT reduce 249 - PRIVATE reduce 249 - PROTECTED reduce 249 - PUBLIC reduce 249 - STATIC reduce 249 - VOID reduce 249 - IDENTIFIER reduce 249 - EQUAL reduce 249 - LESSEQUAL reduce 249 - GREATEREQUAL reduce 249 - NOTEQUAL reduce 249 - LOGICALOR reduce 249 - LOGICALAND reduce 249 - INCREMENT reduce 249 - DECREMENT reduce 249 - ',' reduce 249 - ';' reduce 249 - '.' reduce 249 - '*' reduce 249 - '<' reduce 249 - '>' reduce 249 - '}' reduce 249 - ')' reduce 249 - '+' reduce 249 - '-' reduce 249 - '|' reduce 249 - '^' reduce 249 - '/' reduce 249 - '%' reduce 249 - - -236: shift/reduce conflict (shift 333, reduce 240) on '^' -state 236 - inclusiveorexpression : exclusiveorexpression . (240) - exclusiveorexpression : exclusiveorexpression . '^' andexpression (250) - - '^' shift 333 - ABSTRACT reduce 240 - BOOLEAN reduce 240 - CHAR reduce 240 - FINAL reduce 240 - INSTANCEOF reduce 240 - INT reduce 240 - PRIVATE reduce 240 - PROTECTED reduce 240 - PUBLIC reduce 240 - STATIC reduce 240 - VOID reduce 240 - IDENTIFIER reduce 240 - EQUAL reduce 240 - LESSEQUAL reduce 240 - GREATEREQUAL reduce 240 - NOTEQUAL reduce 240 - LOGICALOR reduce 240 - LOGICALAND reduce 240 - INCREMENT reduce 240 - DECREMENT reduce 240 - ',' reduce 240 - ';' reduce 240 - '.' reduce 240 - '*' reduce 240 - '<' reduce 240 - '>' reduce 240 - '}' reduce 240 - ')' reduce 240 - '&' reduce 240 - '+' reduce 240 - '-' reduce 240 - '|' reduce 240 - '/' reduce 240 - '%' reduce 240 - - -237: shift/reduce conflict (shift 334, reduce 228) on '|' -state 237 - conditionalandexpression : inclusiveorexpression . (228) - inclusiveorexpression : inclusiveorexpression . '|' exclusiveorexpression (241) - - '|' shift 334 - ABSTRACT reduce 228 - BOOLEAN reduce 228 - CHAR reduce 228 - FINAL reduce 228 - INSTANCEOF reduce 228 - INT reduce 228 - PRIVATE reduce 228 - PROTECTED reduce 228 - PUBLIC reduce 228 - STATIC reduce 228 - VOID reduce 228 - IDENTIFIER reduce 228 - EQUAL reduce 228 - LESSEQUAL reduce 228 - GREATEREQUAL reduce 228 - NOTEQUAL reduce 228 - LOGICALOR reduce 228 - LOGICALAND reduce 228 - INCREMENT reduce 228 - DECREMENT reduce 228 - ',' reduce 228 - ';' reduce 228 - '.' reduce 228 - '*' reduce 228 - '<' reduce 228 - '>' reduce 228 - '}' reduce 228 - ')' reduce 228 - '&' reduce 228 - '+' reduce 228 - '-' reduce 228 - '^' reduce 228 - '/' reduce 228 - '%' reduce 228 - - -238: shift/reduce conflict (shift 335, reduce 203) on LOGICALAND -state 238 - conditionalorexpression : conditionalandexpression . (203) - conditionalandexpression : conditionalandexpression . LOGICALAND inclusiveorexpression (229) - - LOGICALAND shift 335 - ABSTRACT reduce 203 - BOOLEAN reduce 203 - CHAR reduce 203 - FINAL reduce 203 - INSTANCEOF reduce 203 - INT reduce 203 - PRIVATE reduce 203 - PROTECTED reduce 203 - PUBLIC reduce 203 - STATIC reduce 203 - VOID reduce 203 - IDENTIFIER reduce 203 - EQUAL reduce 203 - LESSEQUAL reduce 203 - GREATEREQUAL reduce 203 - NOTEQUAL reduce 203 - LOGICALOR reduce 203 - INCREMENT reduce 203 - DECREMENT reduce 203 - ',' reduce 203 - ';' reduce 203 - '.' reduce 203 - '*' reduce 203 - '<' reduce 203 - '>' reduce 203 - '}' reduce 203 - ')' reduce 203 - '&' reduce 203 - '+' reduce 203 - '-' reduce 203 - '|' reduce 203 - '^' reduce 203 - '/' reduce 203 - '%' reduce 203 - - -239: shift/reduce conflict (shift 336, reduce 192) on LOGICALOR -state 239 - conditionalexpression : conditionalorexpression . (192) - conditionalorexpression : conditionalorexpression . LOGICALOR conditionalandexpression (204) - - LOGICALOR shift 336 - ABSTRACT reduce 192 - BOOLEAN reduce 192 - CHAR reduce 192 - FINAL reduce 192 - INSTANCEOF reduce 192 - INT reduce 192 - PRIVATE reduce 192 - PROTECTED reduce 192 - PUBLIC reduce 192 - STATIC reduce 192 - VOID reduce 192 - IDENTIFIER reduce 192 - EQUAL reduce 192 - LESSEQUAL reduce 192 - GREATEREQUAL reduce 192 - NOTEQUAL reduce 192 - LOGICALAND reduce 192 - INCREMENT reduce 192 - DECREMENT reduce 192 - ',' reduce 192 - ';' reduce 192 - '.' reduce 192 - '*' reduce 192 - '<' reduce 192 - '>' reduce 192 - '}' reduce 192 - ')' reduce 192 - '&' reduce 192 - '+' reduce 192 - '-' reduce 192 - '|' reduce 192 - '^' reduce 192 - '/' reduce 192 - '%' reduce 192 - - -state 240 - assignmentexpression : conditionalexpression . (183) - - . reduce 183 - - -state 241 - expression : assignmentexpression . (162) - - . reduce 162 - - -state 242 - fielddeclarator : variabledeclarator '=' expression . (80) - - . reduce 80 - - -state 243 - unaryexpression : preincrementexpression . (230) - - . reduce 230 - - -state 244 - unaryexpression : predecrementexpression . (231) - - . reduce 231 - - -state 245 - postfixexpression : postincrementexpression . (237) - - . reduce 237 - - -state 246 - postfixexpression : postdecrementexpression . (238) - - . reduce 238 - - -state 247 - expression : classinstancecreationexpression . (163) - - . reduce 163 - - -state 248 - assignmentexpression : assignment . (184) - - . reduce 184 - - -state 249 - primarynonewarray : methodinvocation . (244) - - . reduce 244 - - -state 250 - unaryexpressionnotplusminus : castexpression . (248) - - . reduce 248 - - -state 251 - constructordeclarator : simplename '(' ')' . (89) - - . reduce 89 - - -state 252 - constructordeclarator : simplename '(' formalparameterlist . ')' (90) - formalparameterlist : formalparameterlist . ',' formalparameter (136) - - ',' shift 308 - ')' shift 337 - . error - - -state 253 - type : primitivetype '[' ']' . (127) - - . reduce 127 - - -state 254 - type : referencetype '[' ']' . (129) - - . reduce 129 - - -state 255 - methodheader : type methoddeclarator throws . (109) - - . reduce 109 - - -state 256 - fielddeclaration : type variabledeclarators ';' . (84) - - . reduce 84 - - -state 257 - fielddeclarator : type variabledeclarator '=' . expression (79) - fielddeclarator : variabledeclarator '=' . expression (80) - - NEW shift 221 - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 179 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 233 - equalityexpression goto 234 - andexpression goto 235 - exclusiveorexpression goto 236 - inclusiveorexpression goto 237 - conditionalandexpression goto 238 - conditionalorexpression goto 239 - conditionalexpression goto 240 - assignmentexpression goto 241 - lambdaexpression goto 190 - expression goto 338 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - classinstancecreationexpression goto 247 - assignment goto 248 - lefthandside goto 207 - methodinvocation goto 249 - castexpression goto 250 - - -state 258 - fielddeclarator : type variabledeclarator . '=' expression (79) - - '=' shift 339 - . error - - -state 259 - methodheader : modifiers VOID methoddeclarator . (114) - methodheader : modifiers VOID methoddeclarator . throws (116) - - THROWS shift 114 - ';' reduce 114 - '{' reduce 114 - - throws goto 340 - - -state 260 - boundedMethodParameters : boundedMethodParameters . ',' boundedMethodParameter (104) - methodheader : modifiers '<' boundedMethodParameters . '>' type methoddeclarator (108) - methodheader : modifiers '<' boundedMethodParameters . '>' type methoddeclarator throws (112) - methodheader : modifiers '<' boundedMethodParameters . '>' VOID methoddeclarator (118) - methodheader : modifiers '<' boundedMethodParameters . '>' VOID methoddeclarator throws (120) - - ',' shift 215 - '>' shift 341 - . error - - -state 261 - methodheader : modifiers methoddeclarator throws . (125) - - . reduce 125 - - -state 262 - methoddeclarator : IDENTIFIER . '(' ')' (141) - methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (142) - variabledeclaratorid : IDENTIFIER . (154) - - '(' shift 109 - ',' reduce 154 - ';' reduce 154 - - -state 263 - methodheader : modifiers type methoddeclarator . (107) - methodheader : modifiers type methoddeclarator . throws (111) - - THROWS shift 114 - ';' reduce 107 - '{' reduce 107 - - throws goto 342 - - -state 264 - fielddeclaration : modifiers type variabledeclarators . ';' (85) - variabledeclarators : variabledeclarators . ',' variabledeclarator (131) - - ',' shift 118 - ';' shift 343 - . error - - -state 265 - constructordeclaration : modifiers constructordeclarator constructorbody . (76) - - . reduce 76 - - -state 266 - explicitconstructorinvocation : THIS . '(' ')' ';' (137) - explicitconstructorinvocation : THIS . '(' argumentlist ')' ';' (138) - primarynonewarray : THIS . (243) - - '(' shift 344 - INCREMENT reduce 243 - DECREMENT reduce 243 - '.' reduce 243 - - -state 267 - constructorbody : '{' '}' . (91) - - . reduce 91 - - -state 268 - constructorbody : '{' blockstatements . '}' (93) - blockstatements : blockstatements . blockstatement (134) - - BOOLEAN shift 48 - CHAR shift 49 - FOR shift 156 - IF shift 157 - INT shift 50 - RETURN shift 158 - THIS shift 159 - WHILE shift 160 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 169 - INCREMENT shift 170 - DECREMENT shift 171 - ';' shift 172 - '{' shift 105 - '}' shift 345 - '(' shift 174 - . error - - variabledeclarators goto 175 - variabledeclarator goto 176 - variabledeclaratorid goto 66 - simplename goto 177 - qualifiedname goto 178 - name goto 179 - classorinterfacetype goto 68 - integraltype goto 69 - numerictype goto 70 - primitivetype goto 71 - referencetype goto 72 - type goto 180 - block goto 181 - localvariabledeclarationstatement goto 183 - localvariabledeclaration goto 184 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 189 - lambdaexpression goto 190 - statementexpression goto 191 - preincrementexpression goto 192 - predecrementexpression goto 193 - postincrementexpression goto 194 - postdecrementexpression goto 195 - expressionstatement goto 196 - statementwithouttrailingsubstatement goto 197 - blockstatement goto 292 - statement goto 199 - whilestatement goto 200 - forstatement goto 201 - ifthenstatement goto 202 - ifthenelsestatement goto 203 - emptystatement goto 204 - returnstatement goto 205 - assignment goto 206 - lefthandside goto 207 - methodinvocation goto 208 - - -state 269 - constructorbody : '{' explicitconstructorinvocation . '}' (92) - constructorbody : '{' explicitconstructorinvocation . blockstatements '}' (94) - - BOOLEAN shift 48 - CHAR shift 49 - FOR shift 156 - IF shift 157 - INT shift 50 - RETURN shift 158 - THIS shift 159 - WHILE shift 160 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 169 - INCREMENT shift 170 - DECREMENT shift 171 - ';' shift 172 - '{' shift 105 - '}' shift 346 - '(' shift 174 - . error - - variabledeclarators goto 175 - variabledeclarator goto 176 - variabledeclaratorid goto 66 - simplename goto 177 - qualifiedname goto 178 - name goto 179 - classorinterfacetype goto 68 - integraltype goto 69 - numerictype goto 70 - primitivetype goto 71 - referencetype goto 72 - type goto 180 - block goto 181 - blockstatements goto 347 - localvariabledeclarationstatement goto 183 - localvariabledeclaration goto 184 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 189 - lambdaexpression goto 190 - statementexpression goto 191 - preincrementexpression goto 192 - predecrementexpression goto 193 - postincrementexpression goto 194 - postdecrementexpression goto 195 - expressionstatement goto 196 - statementwithouttrailingsubstatement goto 197 - blockstatement goto 198 - statement goto 199 - whilestatement goto 200 - forstatement goto 201 - ifthenstatement goto 202 - ifthenelsestatement goto 203 - emptystatement goto 204 - returnstatement goto 205 - assignment goto 206 - lefthandside goto 207 - methodinvocation goto 208 - - -state 270 - constantdeclaration : modifiers type IDENTIFIER . '=' expression ';' (77) - methoddeclarator : IDENTIFIER . '(' ')' (141) - methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (142) - - '=' shift 348 - '(' shift 109 - . error - - -state 271 - classdeclaration : modifiers CLASS classidentifier super interfaces classbody . (23) - - . reduce 23 - - -state 272 - boundedclassidentifierlist : boundedclassidentifierlist '&' . referencetype (102) - - IDENTIFIER shift 42 - . error - - simplename goto 43 - classorinterfacetype goto 68 - referencetype goto 349 - - -state 273 - paralist : IDENTIFIER '<' . paralist '>' (33) - - IDENTIFIER shift 152 - '?' shift 153 - . error - - paralist goto 350 - wildcardparameter goto 155 - - -state 274 - wildcardparameter : '?' EXTENDS . referencetype (39) - - IDENTIFIER shift 42 - . error - - simplename goto 43 - classorinterfacetype goto 68 - referencetype goto 351 - - -state 275 - wildcardparameter : '?' SUPER . referencetype (40) - - IDENTIFIER shift 42 - . error - - simplename goto 43 - classorinterfacetype goto 68 - referencetype goto 352 - - -state 276 - paralist : paralist ',' . IDENTIFIER (35) - paralist : paralist ',' . IDENTIFIER '<' paralist '>' (36) - paralist : paralist ',' . wildcardparameter (37) - - IDENTIFIER shift 353 - '?' shift 153 - . error - - wildcardparameter goto 354 - - -state 277 - parameter : '<' paralist '>' . (69) - - . reduce 69 - - -state 278 - forstatement : FOR '(' . expression ';' expression ';' expression ')' statement (175) - forstatement : FOR '(' . expression ';' expression ';' ')' statement (176) - forstatement : FOR '(' . expression ';' ';' expression ')' statement (177) - forstatement : FOR '(' . ';' expression ';' expression ')' statement (178) - forstatement : FOR '(' . expression ';' ';' ')' statement (179) - forstatement : FOR '(' . ';' expression ';' ')' statement (180) - forstatement : FOR '(' . ';' ';' expression ')' statement (181) - forstatement : FOR '(' . ';' ';' ')' statement (182) - - NEW shift 221 - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - ';' shift 355 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 179 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 233 - equalityexpression goto 234 - andexpression goto 235 - exclusiveorexpression goto 236 - inclusiveorexpression goto 237 - conditionalandexpression goto 238 - conditionalorexpression goto 239 - conditionalexpression goto 240 - assignmentexpression goto 241 - lambdaexpression goto 190 - expression goto 356 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - classinstancecreationexpression goto 247 - assignment goto 248 - lefthandside goto 207 - methodinvocation goto 249 - castexpression goto 250 - - -state 279 - ifthenstatement : IF '(' . expression ')' statement (172) - ifthenelsestatement : IF '(' . expression ')' statementnoshortif ELSE statement (173) - - NEW shift 221 - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 179 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 233 - equalityexpression goto 234 - andexpression goto 235 - exclusiveorexpression goto 236 - inclusiveorexpression goto 237 - conditionalandexpression goto 238 - conditionalorexpression goto 239 - conditionalexpression goto 240 - assignmentexpression goto 241 - lambdaexpression goto 190 - expression goto 357 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - classinstancecreationexpression goto 247 - assignment goto 248 - lefthandside goto 207 - methodinvocation goto 249 - castexpression goto 250 - - -state 280 - returnstatement : RETURN ';' . (187) - - . reduce 187 - - -state 281 - returnstatement : RETURN expression . ';' (188) - - ';' shift 358 - . error - - -state 282 - whilestatement : WHILE '(' . expression ')' statement (174) - - NEW shift 221 - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 179 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 233 - equalityexpression goto 234 - andexpression goto 235 - exclusiveorexpression goto 236 - inclusiveorexpression goto 237 - conditionalandexpression goto 238 - conditionalorexpression goto 239 - conditionalexpression goto 240 - assignmentexpression goto 241 - lambdaexpression goto 190 - expression goto 359 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - classinstancecreationexpression goto 247 - assignment goto 248 - lefthandside goto 207 - methodinvocation goto 249 - castexpression goto 250 - - -283: shift/reduce conflict (shift 288, reduce 236) on '.' -state 283 - qualifiedname : name . '.' IDENTIFIER (12) - methodinvocation : name . '(' ')' (222) - methodinvocation : name . '(' argumentlist ')' (223) - postfixexpression : name . (236) - - '.' shift 288 - '(' shift 289 - ABSTRACT reduce 236 - BOOLEAN reduce 236 - CHAR reduce 236 - FINAL reduce 236 - INSTANCEOF reduce 236 - INT reduce 236 - PRIVATE reduce 236 - PROTECTED reduce 236 - PUBLIC reduce 236 - STATIC reduce 236 - VOID reduce 236 - IDENTIFIER reduce 236 - EQUAL reduce 236 - LESSEQUAL reduce 236 - GREATEREQUAL reduce 236 - NOTEQUAL reduce 236 - LOGICALOR reduce 236 - LOGICALAND reduce 236 - INCREMENT reduce 236 - DECREMENT reduce 236 - ',' reduce 236 - ';' reduce 236 - '*' reduce 236 - '<' reduce 236 - '>' reduce 236 - '}' reduce 236 - ')' reduce 236 - '&' reduce 236 - '+' reduce 236 - '-' reduce 236 - '|' reduce 236 - '^' reduce 236 - '/' reduce 236 - '%' reduce 236 - - -state 284 - preincrementexpression : INCREMENT unaryexpression . (218) - - . reduce 218 - - -state 285 - predecrementexpression : DECREMENT unaryexpression . (219) - - . reduce 219 - - -state 286 - lambdaexpressionparameter : '(' ')' . (208) - - . reduce 208 - - -state 287 - formalparameterlist : formalparameterlist . ',' formalparameter (136) - lambdaexpressionparameter : '(' formalparameterlist . ')' (209) - - ',' shift 308 - ')' shift 360 - . error - - -state 288 - qualifiedname : name '.' . IDENTIFIER (12) - - IDENTIFIER shift 361 - . error - - -state 289 - methodinvocation : name '(' . ')' (222) - methodinvocation : name '(' . argumentlist ')' (223) - - NEW shift 221 - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - ')' shift 362 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 179 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 233 - equalityexpression goto 234 - andexpression goto 235 - exclusiveorexpression goto 236 - inclusiveorexpression goto 237 - conditionalandexpression goto 238 - conditionalorexpression goto 239 - conditionalexpression goto 240 - assignmentexpression goto 241 - lambdaexpression goto 190 - expression goto 363 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - classinstancecreationexpression goto 247 - assignment goto 248 - lefthandside goto 207 - argumentlist goto 364 - methodinvocation goto 249 - castexpression goto 250 - - -state 290 - variabledeclarators : variabledeclarators . ',' variabledeclarator (131) - localvariabledeclaration : type variabledeclarators . (166) - - ',' shift 118 - ';' reduce 166 - - -state 291 - block : '{' blockstatements '}' . (88) - - . reduce 88 - - -state 292 - blockstatements : blockstatements blockstatement . (134) - - . reduce 134 - - -state 293 - localvariabledeclarationstatement : localvariabledeclaration ';' . (156) - - . reduce 156 - - -state 294 - lambdaassignmentoperator : LAMBDAASSIGNMENT . (205) - - . reduce 205 - - -state 295 - lambdaexpression : lambdaexpressionparameter lambdaassignmentoperator . lambdabody (210) - - NEW shift 221 - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '{' shift 105 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 179 - block goto 365 - lambdabody goto 366 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 233 - equalityexpression goto 234 - andexpression goto 235 - exclusiveorexpression goto 236 - inclusiveorexpression goto 237 - conditionalandexpression goto 238 - conditionalorexpression goto 239 - conditionalexpression goto 240 - assignmentexpression goto 241 - lambdaexpression goto 190 - expression goto 367 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - classinstancecreationexpression goto 247 - assignment goto 248 - lefthandside goto 207 - methodinvocation goto 249 - castexpression goto 250 - - -state 296 - methodinvocation : primary '.' . IDENTIFIER '(' ')' (224) - methodinvocation : primary '.' . IDENTIFIER '(' argumentlist ')' (225) - - IDENTIFIER shift 368 - . error - - -state 297 - postincrementexpression : postfixexpression INCREMENT . (220) - - . reduce 220 - - -state 298 - postdecrementexpression : postfixexpression DECREMENT . (221) - - . reduce 221 - - -state 299 - expressionstatement : statementexpression ';' . (186) - - . reduce 186 - - -state 300 - assignmentoperator : PLUSEQUAL . (216) - - . reduce 216 - - -state 301 - assignmentoperator : MINUSEQUAL . (217) - - . reduce 217 - - -state 302 - assignmentoperator : TIMESEQUAL . (213) - - . reduce 213 - - -state 303 - assignmentoperator : DIVIDEEQUAL . (214) - - . reduce 214 - - -state 304 - assignmentoperator : MODULOEQUAL . (215) - - . reduce 215 - - -state 305 - assignmentoperator : '=' . (212) - - . reduce 212 - - -state 306 - assignment : lefthandside assignmentoperator . assignmentexpression (193) - assignment : lefthandside assignmentoperator . classinstancecreationexpression (194) - - NEW shift 221 - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 179 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 233 - equalityexpression goto 234 - andexpression goto 235 - exclusiveorexpression goto 236 - inclusiveorexpression goto 237 - conditionalandexpression goto 238 - conditionalorexpression goto 239 - conditionalexpression goto 240 - assignmentexpression goto 369 - lambdaexpression goto 190 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - classinstancecreationexpression goto 370 - assignment goto 248 - lefthandside goto 207 - methodinvocation goto 249 - castexpression goto 250 - - -state 307 - formalparameter : type variabledeclaratorid . (149) - - . reduce 149 - - -state 308 - formalparameterlist : formalparameterlist ',' . formalparameter (136) - - BOOLEAN shift 48 - CHAR shift 49 - INT shift 50 - IDENTIFIER shift 169 - . error - - variabledeclaratorid goto 211 - simplename goto 43 - classorinterfacetype goto 68 - integraltype goto 69 - numerictype goto 70 - primitivetype goto 71 - referencetype goto 72 - type goto 212 - formalparameter goto 371 - - -state 309 - methoddeclarator : IDENTIFIER '(' formalparameterlist ')' . (142) - - . reduce 142 - - -state 310 - boundedMethodParameters : boundedMethodParameters ',' boundedMethodParameter . (104) - - . reduce 104 - - -state 311 - methodheader : '<' boundedMethodParameters '>' VOID . methoddeclarator (117) - methodheader : '<' boundedMethodParameters '>' VOID . methoddeclarator throws (119) - - IDENTIFIER shift 107 - . error - - methoddeclarator goto 372 - - -state 312 - methodheader : '<' boundedMethodParameters '>' methoddeclarator . (122) - - . reduce 122 - - -state 313 - methodheader : '<' boundedMethodParameters '>' type . methoddeclarator (105) - methodheader : '<' boundedMethodParameters '>' type . methoddeclarator throws (110) - - IDENTIFIER shift 107 - . error - - methoddeclarator goto 373 - - -state 314 - classtypelist : classtypelist ',' . classtype (140) - - IDENTIFIER shift 42 - . error - - simplename goto 43 - classtype goto 374 - classorinterfacetype goto 45 - - -state 315 - classinstancecreationexpression : NEW classtype . '(' ')' (226) - classinstancecreationexpression : NEW classtype . '(' argumentlist ')' (227) - - '(' shift 375 - . error - - -state 316 - type : primitivetype . (126) - type : primitivetype . '[' ']' (127) - castexpression : '(' primitivetype . ')' unaryexpression (259) - - ')' shift 376 - '[' shift 123 - IDENTIFIER reduce 126 - - -state 317 - unaryexpression : '+' unaryexpression . (232) - - . reduce 232 - - -state 318 - unaryexpression : '-' unaryexpression . (233) - - . reduce 233 - - -state 319 - unaryexpressionnotplusminus : '!' unaryexpression . (247) - - . reduce 247 - - -state 320 - multiplicativeexpression : multiplicativeexpression '*' . unaryexpression (276) - - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 283 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 377 - lambdaexpression goto 190 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - methodinvocation goto 249 - castexpression goto 250 - - -state 321 - multiplicativeexpression : multiplicativeexpression '/' . unaryexpression (277) - - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 283 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 378 - lambdaexpression goto 190 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - methodinvocation goto 249 - castexpression goto 250 - - -state 322 - multiplicativeexpression : multiplicativeexpression '%' . unaryexpression (278) - - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 283 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 379 - lambdaexpression goto 190 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - methodinvocation goto 249 - castexpression goto 250 - - -state 323 - additiveexpression : additiveexpression '+' . multiplicativeexpression (273) - - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 283 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 380 - lambdaexpression goto 190 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - methodinvocation goto 249 - castexpression goto 250 - - -state 324 - additiveexpression : additiveexpression '-' . multiplicativeexpression (274) - - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 283 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 381 - lambdaexpression goto 190 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - methodinvocation goto 249 - castexpression goto 250 - - -state 325 - relationalexpression : relationalexpression INSTANCEOF . referencetype (270) - - IDENTIFIER shift 42 - . error - - simplename goto 43 - classorinterfacetype goto 68 - referencetype goto 382 - - -state 326 - relationalexpression : relationalexpression LESSEQUAL . shiftexpression (268) - - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 283 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 383 - lambdaexpression goto 190 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - methodinvocation goto 249 - castexpression goto 250 - - -state 327 - relationalexpression : relationalexpression GREATEREQUAL . shiftexpression (269) - - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 283 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 384 - lambdaexpression goto 190 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - methodinvocation goto 249 - castexpression goto 250 - - -state 328 - relationalexpression : relationalexpression '<' . shiftexpression (266) - - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 283 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 385 - lambdaexpression goto 190 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - methodinvocation goto 249 - castexpression goto 250 - - -state 329 - relationalexpression : relationalexpression '>' . shiftexpression (267) - - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 283 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 386 - lambdaexpression goto 190 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - methodinvocation goto 249 - castexpression goto 250 - - -state 330 - equalityexpression : equalityexpression EQUAL . relationalexpression (263) - - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 283 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 387 - lambdaexpression goto 190 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - methodinvocation goto 249 - castexpression goto 250 - - -state 331 - equalityexpression : equalityexpression NOTEQUAL . relationalexpression (264) - - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 283 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 388 - lambdaexpression goto 190 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - methodinvocation goto 249 - castexpression goto 250 - - -state 332 - andexpression : andexpression '&' . equalityexpression (261) - - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 283 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 233 - equalityexpression goto 389 - lambdaexpression goto 190 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - methodinvocation goto 249 - castexpression goto 250 - - -state 333 - exclusiveorexpression : exclusiveorexpression '^' . andexpression (250) - - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 283 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 233 - equalityexpression goto 234 - andexpression goto 390 - lambdaexpression goto 190 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - methodinvocation goto 249 - castexpression goto 250 - - -state 334 - inclusiveorexpression : inclusiveorexpression '|' . exclusiveorexpression (241) - - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 283 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 233 - equalityexpression goto 234 - andexpression goto 235 - exclusiveorexpression goto 391 - lambdaexpression goto 190 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - methodinvocation goto 249 - castexpression goto 250 - - -state 335 - conditionalandexpression : conditionalandexpression LOGICALAND . inclusiveorexpression (229) - - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 283 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 233 - equalityexpression goto 234 - andexpression goto 235 - exclusiveorexpression goto 236 - inclusiveorexpression goto 392 - lambdaexpression goto 190 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - methodinvocation goto 249 - castexpression goto 250 - - -state 336 - conditionalorexpression : conditionalorexpression LOGICALOR . conditionalandexpression (204) - - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 283 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 233 - equalityexpression goto 234 - andexpression goto 235 - exclusiveorexpression goto 236 - inclusiveorexpression goto 237 - conditionalandexpression goto 393 - lambdaexpression goto 190 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - methodinvocation goto 249 - castexpression goto 250 - - -state 337 - constructordeclarator : simplename '(' formalparameterlist ')' . (90) - - . reduce 90 - - -state 338 - fielddeclarator : type variabledeclarator '=' expression . (79) - fielddeclarator : variabledeclarator '=' expression . (80) - - ABSTRACT reduce 80 - BOOLEAN reduce 80 - CHAR reduce 80 - FINAL reduce 80 - INT reduce 80 - PRIVATE reduce 80 - PROTECTED reduce 80 - PUBLIC reduce 80 - STATIC reduce 80 - VOID reduce 80 - IDENTIFIER reduce 80 - ';' reduce 79 - '<' reduce 80 - '}' reduce 80 - - -state 339 - fielddeclarator : type variabledeclarator '=' . expression (79) - - NEW shift 221 - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 179 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 233 - equalityexpression goto 234 - andexpression goto 235 - exclusiveorexpression goto 236 - inclusiveorexpression goto 237 - conditionalandexpression goto 238 - conditionalorexpression goto 239 - conditionalexpression goto 240 - assignmentexpression goto 241 - lambdaexpression goto 190 - expression goto 394 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - classinstancecreationexpression goto 247 - assignment goto 248 - lefthandside goto 207 - methodinvocation goto 249 - castexpression goto 250 - - -state 340 - methodheader : modifiers VOID methoddeclarator throws . (116) - - . reduce 116 - - -state 341 - methodheader : modifiers '<' boundedMethodParameters '>' . type methoddeclarator (108) - methodheader : modifiers '<' boundedMethodParameters '>' . type methoddeclarator throws (112) - methodheader : modifiers '<' boundedMethodParameters '>' . VOID methoddeclarator (118) - methodheader : modifiers '<' boundedMethodParameters '>' . VOID methoddeclarator throws (120) - - BOOLEAN shift 48 - CHAR shift 49 - INT shift 50 - VOID shift 395 - IDENTIFIER shift 42 - . error - - simplename goto 43 - classorinterfacetype goto 68 - integraltype goto 69 - numerictype goto 70 - primitivetype goto 71 - referencetype goto 72 - type goto 396 - - -state 342 - methodheader : modifiers type methoddeclarator throws . (111) - - . reduce 111 - - -state 343 - fielddeclaration : modifiers type variabledeclarators ';' . (85) - - . reduce 85 - - -state 344 - explicitconstructorinvocation : THIS '(' . ')' ';' (137) - explicitconstructorinvocation : THIS '(' . argumentlist ')' ';' (138) - - NEW shift 221 - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - ')' shift 397 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 179 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 233 - equalityexpression goto 234 - andexpression goto 235 - exclusiveorexpression goto 236 - inclusiveorexpression goto 237 - conditionalandexpression goto 238 - conditionalorexpression goto 239 - conditionalexpression goto 240 - assignmentexpression goto 241 - lambdaexpression goto 190 - expression goto 363 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - classinstancecreationexpression goto 247 - assignment goto 248 - lefthandside goto 207 - argumentlist goto 398 - methodinvocation goto 249 - castexpression goto 250 - - -state 345 - constructorbody : '{' blockstatements '}' . (93) - - . reduce 93 - - -state 346 - constructorbody : '{' explicitconstructorinvocation '}' . (92) - - . reduce 92 - - -state 347 - constructorbody : '{' explicitconstructorinvocation blockstatements . '}' (94) - blockstatements : blockstatements . blockstatement (134) - - BOOLEAN shift 48 - CHAR shift 49 - FOR shift 156 - IF shift 157 - INT shift 50 - RETURN shift 158 - THIS shift 159 - WHILE shift 160 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 169 - INCREMENT shift 170 - DECREMENT shift 171 - ';' shift 172 - '{' shift 105 - '}' shift 399 - '(' shift 174 - . error - - variabledeclarators goto 175 - variabledeclarator goto 176 - variabledeclaratorid goto 66 - simplename goto 177 - qualifiedname goto 178 - name goto 179 - classorinterfacetype goto 68 - integraltype goto 69 - numerictype goto 70 - primitivetype goto 71 - referencetype goto 72 - type goto 180 - block goto 181 - localvariabledeclarationstatement goto 183 - localvariabledeclaration goto 184 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 189 - lambdaexpression goto 190 - statementexpression goto 191 - preincrementexpression goto 192 - predecrementexpression goto 193 - postincrementexpression goto 194 - postdecrementexpression goto 195 - expressionstatement goto 196 - statementwithouttrailingsubstatement goto 197 - blockstatement goto 292 - statement goto 199 - whilestatement goto 200 - forstatement goto 201 - ifthenstatement goto 202 - ifthenelsestatement goto 203 - emptystatement goto 204 - returnstatement goto 205 - assignment goto 206 - lefthandside goto 207 - methodinvocation goto 208 - - -state 348 - constantdeclaration : modifiers type IDENTIFIER '=' . expression ';' (77) - - NEW shift 221 - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 179 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 233 - equalityexpression goto 234 - andexpression goto 235 - exclusiveorexpression goto 236 - inclusiveorexpression goto 237 - conditionalandexpression goto 238 - conditionalorexpression goto 239 - conditionalexpression goto 240 - assignmentexpression goto 241 - lambdaexpression goto 190 - expression goto 400 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - classinstancecreationexpression goto 247 - assignment goto 248 - lefthandside goto 207 - methodinvocation goto 249 - castexpression goto 250 - - -state 349 - boundedclassidentifierlist : boundedclassidentifierlist '&' referencetype . (102) - - . reduce 102 - - -state 350 - paralist : IDENTIFIER '<' paralist . '>' (33) - paralist : paralist . ',' IDENTIFIER (35) - paralist : paralist . ',' IDENTIFIER '<' paralist '>' (36) - paralist : paralist . ',' wildcardparameter (37) - - ',' shift 276 - '>' shift 401 - . error - - -state 351 - wildcardparameter : '?' EXTENDS referencetype . (39) - - . reduce 39 - - -state 352 - wildcardparameter : '?' SUPER referencetype . (40) - - . reduce 40 - - -state 353 - paralist : paralist ',' IDENTIFIER . (35) - paralist : paralist ',' IDENTIFIER . '<' paralist '>' (36) - - '<' shift 402 - ',' reduce 35 - '>' reduce 35 - - -state 354 - paralist : paralist ',' wildcardparameter . (37) - - . reduce 37 - - -state 355 - forstatement : FOR '(' ';' . expression ';' expression ')' statement (178) - forstatement : FOR '(' ';' . expression ';' ')' statement (180) - forstatement : FOR '(' ';' . ';' expression ')' statement (181) - forstatement : FOR '(' ';' . ';' ')' statement (182) - - NEW shift 221 - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - ';' shift 403 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 179 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 233 - equalityexpression goto 234 - andexpression goto 235 - exclusiveorexpression goto 236 - inclusiveorexpression goto 237 - conditionalandexpression goto 238 - conditionalorexpression goto 239 - conditionalexpression goto 240 - assignmentexpression goto 241 - lambdaexpression goto 190 - expression goto 404 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - classinstancecreationexpression goto 247 - assignment goto 248 - lefthandside goto 207 - methodinvocation goto 249 - castexpression goto 250 - - -state 356 - forstatement : FOR '(' expression . ';' expression ';' expression ')' statement (175) - forstatement : FOR '(' expression . ';' expression ';' ')' statement (176) - forstatement : FOR '(' expression . ';' ';' expression ')' statement (177) - forstatement : FOR '(' expression . ';' ';' ')' statement (179) - - ';' shift 405 - . error - - -state 357 - ifthenstatement : IF '(' expression . ')' statement (172) - ifthenelsestatement : IF '(' expression . ')' statementnoshortif ELSE statement (173) - - ')' shift 406 - . error - - -state 358 - returnstatement : RETURN expression ';' . (188) - - . reduce 188 - - -state 359 - whilestatement : WHILE '(' expression . ')' statement (174) - - ')' shift 407 - . error - - -state 360 - lambdaexpressionparameter : '(' formalparameterlist ')' . (209) - - . reduce 209 - - -state 361 - qualifiedname : name '.' IDENTIFIER . (12) - - . reduce 12 - - -state 362 - methodinvocation : name '(' ')' . (222) - - . reduce 222 - - -state 363 - argumentlist : expression . (151) - - . reduce 151 - - -state 364 - argumentlist : argumentlist . ',' expression (152) - methodinvocation : name '(' argumentlist . ')' (223) - - ',' shift 408 - ')' shift 409 - . error - - -state 365 - lambdabody : block . (206) - - . reduce 206 - - -state 366 - lambdaexpression : lambdaexpressionparameter lambdaassignmentoperator lambdabody . (210) - - . reduce 210 - - -state 367 - lambdabody : expression . (207) - - . reduce 207 - - -state 368 - methodinvocation : primary '.' IDENTIFIER . '(' ')' (224) - methodinvocation : primary '.' IDENTIFIER . '(' argumentlist ')' (225) - - '(' shift 410 - . error - - -state 369 - assignment : lefthandside assignmentoperator assignmentexpression . (193) - - . reduce 193 - - -state 370 - assignment : lefthandside assignmentoperator classinstancecreationexpression . (194) - - . reduce 194 - - -state 371 - formalparameterlist : formalparameterlist ',' formalparameter . (136) - - . reduce 136 - - -state 372 - methodheader : '<' boundedMethodParameters '>' VOID methoddeclarator . (117) - methodheader : '<' boundedMethodParameters '>' VOID methoddeclarator . throws (119) - - THROWS shift 114 - ';' reduce 117 - '{' reduce 117 - - throws goto 411 - - -state 373 - methodheader : '<' boundedMethodParameters '>' type methoddeclarator . (105) - methodheader : '<' boundedMethodParameters '>' type methoddeclarator . throws (110) - - THROWS shift 114 - ';' reduce 105 - '{' reduce 105 - - throws goto 412 - - -state 374 - classtypelist : classtypelist ',' classtype . (140) - - . reduce 140 - - -state 375 - classinstancecreationexpression : NEW classtype '(' . ')' (226) - classinstancecreationexpression : NEW classtype '(' . argumentlist ')' (227) - - NEW shift 221 - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - ')' shift 413 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 179 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 233 - equalityexpression goto 234 - andexpression goto 235 - exclusiveorexpression goto 236 - inclusiveorexpression goto 237 - conditionalandexpression goto 238 - conditionalorexpression goto 239 - conditionalexpression goto 240 - assignmentexpression goto 241 - lambdaexpression goto 190 - expression goto 363 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - classinstancecreationexpression goto 247 - assignment goto 248 - lefthandside goto 207 - argumentlist goto 414 - methodinvocation goto 249 - castexpression goto 250 - - -state 376 - castexpression : '(' primitivetype ')' . unaryexpression (259) - - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 283 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 415 - lambdaexpression goto 190 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - methodinvocation goto 249 - castexpression goto 250 - - -state 377 - multiplicativeexpression : multiplicativeexpression '*' unaryexpression . (276) - - . reduce 276 - - -state 378 - multiplicativeexpression : multiplicativeexpression '/' unaryexpression . (277) + multiplicativeexpression : unaryexpression . (277) . reduce 277 -state 379 - multiplicativeexpression : multiplicativeexpression '%' unaryexpression . (278) +228: shift/reduce conflict (shift 315, reduce 274) on '*' +228: shift/reduce conflict (shift 316, reduce 274) on '/' +228: shift/reduce conflict (shift 317, reduce 274) on '%' +state 228 + additiveexpression : multiplicativeexpression . (274) + multiplicativeexpression : multiplicativeexpression . '*' unaryexpression (278) + multiplicativeexpression : multiplicativeexpression . '/' unaryexpression (279) + multiplicativeexpression : multiplicativeexpression . '%' unaryexpression (280) - . reduce 278 - - -380: shift/reduce conflict (shift 320, reduce 273) on '*' -380: shift/reduce conflict (shift 321, reduce 273) on '/' -380: shift/reduce conflict (shift 322, reduce 273) on '%' -state 380 - additiveexpression : additiveexpression '+' multiplicativeexpression . (273) - multiplicativeexpression : multiplicativeexpression . '*' unaryexpression (276) - multiplicativeexpression : multiplicativeexpression . '/' unaryexpression (277) - multiplicativeexpression : multiplicativeexpression . '%' unaryexpression (278) - - '*' shift 320 - '/' shift 321 - '%' shift 322 - ABSTRACT reduce 273 - BOOLEAN reduce 273 - CHAR reduce 273 - FINAL reduce 273 - INSTANCEOF reduce 273 - INT reduce 273 - PRIVATE reduce 273 - PROTECTED reduce 273 - PUBLIC reduce 273 - STATIC reduce 273 - VOID reduce 273 - IDENTIFIER reduce 273 - EQUAL reduce 273 - LESSEQUAL reduce 273 - GREATEREQUAL reduce 273 - NOTEQUAL reduce 273 - LOGICALOR reduce 273 - LOGICALAND reduce 273 - INCREMENT reduce 273 - DECREMENT reduce 273 - ',' reduce 273 - ';' reduce 273 - '.' reduce 273 - '<' reduce 273 - '>' reduce 273 - '}' reduce 273 - ')' reduce 273 - '&' reduce 273 - '+' reduce 273 - '-' reduce 273 - '|' reduce 273 - '^' reduce 273 - - -381: shift/reduce conflict (shift 320, reduce 274) on '*' -381: shift/reduce conflict (shift 321, reduce 274) on '/' -381: shift/reduce conflict (shift 322, reduce 274) on '%' -state 381 - additiveexpression : additiveexpression '-' multiplicativeexpression . (274) - multiplicativeexpression : multiplicativeexpression . '*' unaryexpression (276) - multiplicativeexpression : multiplicativeexpression . '/' unaryexpression (277) - multiplicativeexpression : multiplicativeexpression . '%' unaryexpression (278) - - '*' shift 320 - '/' shift 321 - '%' shift 322 + '*' shift 315 + '/' shift 316 + '%' shift 317 ABSTRACT reduce 274 BOOLEAN reduce 274 CHAR reduce 274 @@ -6206,104 +3239,74 @@ state 381 '^' reduce 274 -state 382 - relationalexpression : relationalexpression INSTANCEOF referencetype . (270) +229: shift/reduce conflict (shift 318, reduce 273) on '+' +229: shift/reduce conflict (shift 319, reduce 273) on '-' +state 229 + shiftexpression : additiveexpression . (273) + additiveexpression : additiveexpression . '+' multiplicativeexpression (275) + additiveexpression : additiveexpression . '-' multiplicativeexpression (276) - . reduce 270 + '+' shift 318 + '-' shift 319 + ABSTRACT reduce 273 + BOOLEAN reduce 273 + CHAR reduce 273 + FINAL reduce 273 + INSTANCEOF reduce 273 + INT reduce 273 + PRIVATE reduce 273 + PROTECTED reduce 273 + PUBLIC reduce 273 + STATIC reduce 273 + VOID reduce 273 + IDENTIFIER reduce 273 + EQUAL reduce 273 + LESSEQUAL reduce 273 + GREATEREQUAL reduce 273 + NOTEQUAL reduce 273 + LOGICALOR reduce 273 + LOGICALAND reduce 273 + INCREMENT reduce 273 + DECREMENT reduce 273 + ',' reduce 273 + ';' reduce 273 + '.' reduce 273 + '*' reduce 273 + '<' reduce 273 + '>' reduce 273 + '}' reduce 273 + ')' reduce 273 + '&' reduce 273 + '|' reduce 273 + '^' reduce 273 + '/' reduce 273 + '%' reduce 273 -state 383 - relationalexpression : relationalexpression LESSEQUAL shiftexpression . (268) - - . reduce 268 - - -state 384 - relationalexpression : relationalexpression GREATEREQUAL shiftexpression . (269) - - . reduce 269 - - -state 385 - relationalexpression : relationalexpression '<' shiftexpression . (266) - - . reduce 266 - - -state 386 - relationalexpression : relationalexpression '>' shiftexpression . (267) +state 230 + relationalexpression : shiftexpression . (267) . reduce 267 -387: shift/reduce conflict (shift 325, reduce 263) on INSTANCEOF -387: shift/reduce conflict (shift 326, reduce 263) on LESSEQUAL -387: shift/reduce conflict (shift 327, reduce 263) on GREATEREQUAL -387: shift/reduce conflict (shift 328, reduce 263) on '<' -387: shift/reduce conflict (shift 329, reduce 263) on '>' -state 387 - equalityexpression : equalityexpression EQUAL relationalexpression . (263) - relationalexpression : relationalexpression . '<' shiftexpression (266) - relationalexpression : relationalexpression . '>' shiftexpression (267) - relationalexpression : relationalexpression . LESSEQUAL shiftexpression (268) - relationalexpression : relationalexpression . GREATEREQUAL shiftexpression (269) - relationalexpression : relationalexpression . INSTANCEOF referencetype (270) +231: shift/reduce conflict (shift 320, reduce 264) on INSTANCEOF +231: shift/reduce conflict (shift 321, reduce 264) on LESSEQUAL +231: shift/reduce conflict (shift 322, reduce 264) on GREATEREQUAL +231: shift/reduce conflict (shift 323, reduce 264) on '<' +231: shift/reduce conflict (shift 324, reduce 264) on '>' +state 231 + equalityexpression : relationalexpression . (264) + relationalexpression : relationalexpression . '<' shiftexpression (268) + relationalexpression : relationalexpression . '>' shiftexpression (269) + relationalexpression : relationalexpression . LESSEQUAL shiftexpression (270) + relationalexpression : relationalexpression . GREATEREQUAL shiftexpression (271) + relationalexpression : relationalexpression . INSTANCEOF referencetype (272) - INSTANCEOF shift 325 - LESSEQUAL shift 326 - GREATEREQUAL shift 327 - '<' shift 328 - '>' shift 329 - ABSTRACT reduce 263 - BOOLEAN reduce 263 - CHAR reduce 263 - FINAL reduce 263 - INT reduce 263 - PRIVATE reduce 263 - PROTECTED reduce 263 - PUBLIC reduce 263 - STATIC reduce 263 - VOID reduce 263 - IDENTIFIER reduce 263 - EQUAL reduce 263 - NOTEQUAL reduce 263 - LOGICALOR reduce 263 - LOGICALAND reduce 263 - INCREMENT reduce 263 - DECREMENT reduce 263 - ',' reduce 263 - ';' reduce 263 - '.' reduce 263 - '*' reduce 263 - '}' reduce 263 - ')' reduce 263 - '&' reduce 263 - '+' reduce 263 - '-' reduce 263 - '|' reduce 263 - '^' reduce 263 - '/' reduce 263 - '%' reduce 263 - - -388: shift/reduce conflict (shift 325, reduce 264) on INSTANCEOF -388: shift/reduce conflict (shift 326, reduce 264) on LESSEQUAL -388: shift/reduce conflict (shift 327, reduce 264) on GREATEREQUAL -388: shift/reduce conflict (shift 328, reduce 264) on '<' -388: shift/reduce conflict (shift 329, reduce 264) on '>' -state 388 - equalityexpression : equalityexpression NOTEQUAL relationalexpression . (264) - relationalexpression : relationalexpression . '<' shiftexpression (266) - relationalexpression : relationalexpression . '>' shiftexpression (267) - relationalexpression : relationalexpression . LESSEQUAL shiftexpression (268) - relationalexpression : relationalexpression . GREATEREQUAL shiftexpression (269) - relationalexpression : relationalexpression . INSTANCEOF referencetype (270) - - INSTANCEOF shift 325 - LESSEQUAL shift 326 - GREATEREQUAL shift 327 - '<' shift 328 - '>' shift 329 + INSTANCEOF shift 320 + LESSEQUAL shift 321 + GREATEREQUAL shift 322 + '<' shift 323 + '>' shift 324 ABSTRACT reduce 264 BOOLEAN reduce 264 CHAR reduce 264 @@ -6336,1939 +3339,4836 @@ state 388 '%' reduce 264 -389: shift/reduce conflict (shift 330, reduce 261) on EQUAL -389: shift/reduce conflict (shift 331, reduce 261) on NOTEQUAL -state 389 - andexpression : andexpression '&' equalityexpression . (261) - equalityexpression : equalityexpression . EQUAL relationalexpression (263) - equalityexpression : equalityexpression . NOTEQUAL relationalexpression (264) +232: shift/reduce conflict (shift 325, reduce 262) on EQUAL +232: shift/reduce conflict (shift 326, reduce 262) on NOTEQUAL +state 232 + andexpression : equalityexpression . (262) + equalityexpression : equalityexpression . EQUAL relationalexpression (265) + equalityexpression : equalityexpression . NOTEQUAL relationalexpression (266) - EQUAL shift 330 - NOTEQUAL shift 331 - ABSTRACT reduce 261 - BOOLEAN reduce 261 - CHAR reduce 261 - FINAL reduce 261 - INSTANCEOF reduce 261 - INT reduce 261 - PRIVATE reduce 261 - PROTECTED reduce 261 - PUBLIC reduce 261 - STATIC reduce 261 - VOID reduce 261 - IDENTIFIER reduce 261 - LESSEQUAL reduce 261 - GREATEREQUAL reduce 261 - LOGICALOR reduce 261 - LOGICALAND reduce 261 - INCREMENT reduce 261 - DECREMENT reduce 261 - ',' reduce 261 - ';' reduce 261 - '.' reduce 261 - '*' reduce 261 - '<' reduce 261 - '>' reduce 261 - '}' reduce 261 - ')' reduce 261 - '&' reduce 261 - '+' reduce 261 - '-' reduce 261 - '|' reduce 261 - '^' reduce 261 - '/' reduce 261 - '%' reduce 261 + EQUAL shift 325 + NOTEQUAL shift 326 + ABSTRACT reduce 262 + BOOLEAN reduce 262 + CHAR reduce 262 + FINAL reduce 262 + INSTANCEOF reduce 262 + INT reduce 262 + PRIVATE reduce 262 + PROTECTED reduce 262 + PUBLIC reduce 262 + STATIC reduce 262 + VOID reduce 262 + IDENTIFIER reduce 262 + LESSEQUAL reduce 262 + GREATEREQUAL reduce 262 + LOGICALOR reduce 262 + LOGICALAND reduce 262 + INCREMENT reduce 262 + DECREMENT reduce 262 + ',' reduce 262 + ';' reduce 262 + '.' reduce 262 + '*' reduce 262 + '<' reduce 262 + '>' reduce 262 + '}' reduce 262 + ')' reduce 262 + '&' reduce 262 + '+' reduce 262 + '-' reduce 262 + '|' reduce 262 + '^' reduce 262 + '/' reduce 262 + '%' reduce 262 -390: shift/reduce conflict (shift 332, reduce 250) on '&' -state 390 - exclusiveorexpression : exclusiveorexpression '^' andexpression . (250) - andexpression : andexpression . '&' equalityexpression (261) +233: shift/reduce conflict (shift 327, reduce 251) on '&' +state 233 + exclusiveorexpression : andexpression . (251) + andexpression : andexpression . '&' equalityexpression (263) - '&' shift 332 - ABSTRACT reduce 250 - BOOLEAN reduce 250 - CHAR reduce 250 - FINAL reduce 250 - INSTANCEOF reduce 250 - INT reduce 250 - PRIVATE reduce 250 - PROTECTED reduce 250 - PUBLIC reduce 250 - STATIC reduce 250 - VOID reduce 250 - IDENTIFIER reduce 250 - EQUAL reduce 250 - LESSEQUAL reduce 250 - GREATEREQUAL reduce 250 - NOTEQUAL reduce 250 - LOGICALOR reduce 250 - LOGICALAND reduce 250 - INCREMENT reduce 250 - DECREMENT reduce 250 - ',' reduce 250 - ';' reduce 250 - '.' reduce 250 - '*' reduce 250 - '<' reduce 250 - '>' reduce 250 - '}' reduce 250 - ')' reduce 250 - '+' reduce 250 - '-' reduce 250 - '|' reduce 250 - '^' reduce 250 - '/' reduce 250 - '%' reduce 250 + '&' shift 327 + ABSTRACT reduce 251 + BOOLEAN reduce 251 + CHAR reduce 251 + FINAL reduce 251 + INSTANCEOF reduce 251 + INT reduce 251 + PRIVATE reduce 251 + PROTECTED reduce 251 + PUBLIC reduce 251 + STATIC reduce 251 + VOID reduce 251 + IDENTIFIER reduce 251 + EQUAL reduce 251 + LESSEQUAL reduce 251 + GREATEREQUAL reduce 251 + NOTEQUAL reduce 251 + LOGICALOR reduce 251 + LOGICALAND reduce 251 + INCREMENT reduce 251 + DECREMENT reduce 251 + ',' reduce 251 + ';' reduce 251 + '.' reduce 251 + '*' reduce 251 + '<' reduce 251 + '>' reduce 251 + '}' reduce 251 + ')' reduce 251 + '+' reduce 251 + '-' reduce 251 + '|' reduce 251 + '^' reduce 251 + '/' reduce 251 + '%' reduce 251 -391: shift/reduce conflict (shift 333, reduce 241) on '^' -state 391 - inclusiveorexpression : inclusiveorexpression '|' exclusiveorexpression . (241) - exclusiveorexpression : exclusiveorexpression . '^' andexpression (250) +234: shift/reduce conflict (shift 328, reduce 242) on '^' +state 234 + inclusiveorexpression : exclusiveorexpression . (242) + exclusiveorexpression : exclusiveorexpression . '^' andexpression (252) - '^' shift 333 - ABSTRACT reduce 241 - BOOLEAN reduce 241 - CHAR reduce 241 - FINAL reduce 241 - INSTANCEOF reduce 241 - INT reduce 241 - PRIVATE reduce 241 - PROTECTED reduce 241 - PUBLIC reduce 241 - STATIC reduce 241 - VOID reduce 241 - IDENTIFIER reduce 241 - EQUAL reduce 241 - LESSEQUAL reduce 241 - GREATEREQUAL reduce 241 - NOTEQUAL reduce 241 - LOGICALOR reduce 241 - LOGICALAND reduce 241 - INCREMENT reduce 241 - DECREMENT reduce 241 - ',' reduce 241 - ';' reduce 241 - '.' reduce 241 - '*' reduce 241 - '<' reduce 241 - '>' reduce 241 - '}' reduce 241 - ')' reduce 241 - '&' reduce 241 - '+' reduce 241 - '-' reduce 241 - '|' reduce 241 - '/' reduce 241 - '%' reduce 241 + '^' shift 328 + ABSTRACT reduce 242 + BOOLEAN reduce 242 + CHAR reduce 242 + FINAL reduce 242 + INSTANCEOF reduce 242 + INT reduce 242 + PRIVATE reduce 242 + PROTECTED reduce 242 + PUBLIC reduce 242 + STATIC reduce 242 + VOID reduce 242 + IDENTIFIER reduce 242 + EQUAL reduce 242 + LESSEQUAL reduce 242 + GREATEREQUAL reduce 242 + NOTEQUAL reduce 242 + LOGICALOR reduce 242 + LOGICALAND reduce 242 + INCREMENT reduce 242 + DECREMENT reduce 242 + ',' reduce 242 + ';' reduce 242 + '.' reduce 242 + '*' reduce 242 + '<' reduce 242 + '>' reduce 242 + '}' reduce 242 + ')' reduce 242 + '&' reduce 242 + '+' reduce 242 + '-' reduce 242 + '|' reduce 242 + '/' reduce 242 + '%' reduce 242 -392: shift/reduce conflict (shift 334, reduce 229) on '|' -state 392 - conditionalandexpression : conditionalandexpression LOGICALAND inclusiveorexpression . (229) - inclusiveorexpression : inclusiveorexpression . '|' exclusiveorexpression (241) +235: shift/reduce conflict (shift 329, reduce 230) on '|' +state 235 + conditionalandexpression : inclusiveorexpression . (230) + inclusiveorexpression : inclusiveorexpression . '|' exclusiveorexpression (243) - '|' shift 334 - ABSTRACT reduce 229 - BOOLEAN reduce 229 - CHAR reduce 229 - FINAL reduce 229 - INSTANCEOF reduce 229 - INT reduce 229 - PRIVATE reduce 229 - PROTECTED reduce 229 - PUBLIC reduce 229 - STATIC reduce 229 - VOID reduce 229 - IDENTIFIER reduce 229 - EQUAL reduce 229 - LESSEQUAL reduce 229 - GREATEREQUAL reduce 229 - NOTEQUAL reduce 229 - LOGICALOR reduce 229 - LOGICALAND reduce 229 - INCREMENT reduce 229 - DECREMENT reduce 229 - ',' reduce 229 - ';' reduce 229 - '.' reduce 229 - '*' reduce 229 - '<' reduce 229 - '>' reduce 229 - '}' reduce 229 - ')' reduce 229 - '&' reduce 229 - '+' reduce 229 - '-' reduce 229 - '^' reduce 229 - '/' reduce 229 - '%' reduce 229 + '|' shift 329 + ABSTRACT reduce 230 + BOOLEAN reduce 230 + CHAR reduce 230 + FINAL reduce 230 + INSTANCEOF reduce 230 + INT reduce 230 + PRIVATE reduce 230 + PROTECTED reduce 230 + PUBLIC reduce 230 + STATIC reduce 230 + VOID reduce 230 + IDENTIFIER reduce 230 + EQUAL reduce 230 + LESSEQUAL reduce 230 + GREATEREQUAL reduce 230 + NOTEQUAL reduce 230 + LOGICALOR reduce 230 + LOGICALAND reduce 230 + INCREMENT reduce 230 + DECREMENT reduce 230 + ',' reduce 230 + ';' reduce 230 + '.' reduce 230 + '*' reduce 230 + '<' reduce 230 + '>' reduce 230 + '}' reduce 230 + ')' reduce 230 + '&' reduce 230 + '+' reduce 230 + '-' reduce 230 + '^' reduce 230 + '/' reduce 230 + '%' reduce 230 -393: shift/reduce conflict (shift 335, reduce 204) on LOGICALAND -state 393 - conditionalorexpression : conditionalorexpression LOGICALOR conditionalandexpression . (204) - conditionalandexpression : conditionalandexpression . LOGICALAND inclusiveorexpression (229) +236: shift/reduce conflict (shift 330, reduce 205) on LOGICALAND +state 236 + conditionalorexpression : conditionalandexpression . (205) + conditionalandexpression : conditionalandexpression . LOGICALAND inclusiveorexpression (231) - LOGICALAND shift 335 - ABSTRACT reduce 204 - BOOLEAN reduce 204 - CHAR reduce 204 - FINAL reduce 204 - INSTANCEOF reduce 204 - INT reduce 204 - PRIVATE reduce 204 - PROTECTED reduce 204 - PUBLIC reduce 204 - STATIC reduce 204 - VOID reduce 204 - IDENTIFIER reduce 204 - EQUAL reduce 204 - LESSEQUAL reduce 204 - GREATEREQUAL reduce 204 - NOTEQUAL reduce 204 - LOGICALOR reduce 204 - INCREMENT reduce 204 - DECREMENT reduce 204 - ',' reduce 204 - ';' reduce 204 - '.' reduce 204 - '*' reduce 204 - '<' reduce 204 - '>' reduce 204 - '}' reduce 204 - ')' reduce 204 - '&' reduce 204 - '+' reduce 204 - '-' reduce 204 - '|' reduce 204 - '^' reduce 204 - '/' reduce 204 - '%' reduce 204 + LOGICALAND shift 330 + ABSTRACT reduce 205 + BOOLEAN reduce 205 + CHAR reduce 205 + FINAL reduce 205 + INSTANCEOF reduce 205 + INT reduce 205 + PRIVATE reduce 205 + PROTECTED reduce 205 + PUBLIC reduce 205 + STATIC reduce 205 + VOID reduce 205 + IDENTIFIER reduce 205 + EQUAL reduce 205 + LESSEQUAL reduce 205 + GREATEREQUAL reduce 205 + NOTEQUAL reduce 205 + LOGICALOR reduce 205 + INCREMENT reduce 205 + DECREMENT reduce 205 + ',' reduce 205 + ';' reduce 205 + '.' reduce 205 + '*' reduce 205 + '<' reduce 205 + '>' reduce 205 + '}' reduce 205 + ')' reduce 205 + '&' reduce 205 + '+' reduce 205 + '-' reduce 205 + '|' reduce 205 + '^' reduce 205 + '/' reduce 205 + '%' reduce 205 -state 394 - fielddeclarator : type variabledeclarator '=' expression . (79) +237: shift/reduce conflict (shift 331, reduce 194) on LOGICALOR +state 237 + conditionalexpression : conditionalorexpression . (194) + conditionalorexpression : conditionalorexpression . LOGICALOR conditionalandexpression (206) - . reduce 79 + LOGICALOR shift 331 + ABSTRACT reduce 194 + BOOLEAN reduce 194 + CHAR reduce 194 + FINAL reduce 194 + INSTANCEOF reduce 194 + INT reduce 194 + PRIVATE reduce 194 + PROTECTED reduce 194 + PUBLIC reduce 194 + STATIC reduce 194 + VOID reduce 194 + IDENTIFIER reduce 194 + EQUAL reduce 194 + LESSEQUAL reduce 194 + GREATEREQUAL reduce 194 + NOTEQUAL reduce 194 + LOGICALAND reduce 194 + INCREMENT reduce 194 + DECREMENT reduce 194 + ',' reduce 194 + ';' reduce 194 + '.' reduce 194 + '*' reduce 194 + '<' reduce 194 + '>' reduce 194 + '}' reduce 194 + ')' reduce 194 + '&' reduce 194 + '+' reduce 194 + '-' reduce 194 + '|' reduce 194 + '^' reduce 194 + '/' reduce 194 + '%' reduce 194 -state 395 - methodheader : modifiers '<' boundedMethodParameters '>' VOID . methoddeclarator (118) - methodheader : modifiers '<' boundedMethodParameters '>' VOID . methoddeclarator throws (120) +state 238 + assignmentexpression : conditionalexpression . (185) - IDENTIFIER shift 107 - . error - - methoddeclarator goto 416 + . reduce 185 -state 396 - methodheader : modifiers '<' boundedMethodParameters '>' type . methoddeclarator (108) - methodheader : modifiers '<' boundedMethodParameters '>' type . methoddeclarator throws (112) +state 239 + expression : assignmentexpression . (164) - IDENTIFIER shift 107 - . error - - methoddeclarator goto 417 + . reduce 164 -state 397 - explicitconstructorinvocation : THIS '(' ')' . ';' (137) +state 240 + fielddeclarator : variabledeclarator '=' expression . (82) - ';' shift 418 + . reduce 82 + + +state 241 + unaryexpression : preincrementexpression . (232) + + . reduce 232 + + +state 242 + unaryexpression : predecrementexpression . (233) + + . reduce 233 + + +state 243 + postfixexpression : postincrementexpression . (239) + + . reduce 239 + + +state 244 + postfixexpression : postdecrementexpression . (240) + + . reduce 240 + + +state 245 + expression : classinstancecreationexpression . (165) + + . reduce 165 + + +state 246 + assignmentexpression : assignment . (186) + + . reduce 186 + + +state 247 + primarynonewarray : methodinvocation . (246) + + . reduce 246 + + +state 248 + unaryexpressionnotplusminus : castexpression . (250) + + . reduce 250 + + +state 249 + constructordeclarator : simplename '(' ')' . (91) + + . reduce 91 + + +state 250 + constructordeclarator : simplename '(' formalparameterlist . ')' (92) + formalparameterlist : formalparameterlist . ',' formalparameter (138) + + ',' shift 303 + ')' shift 332 . error -state 398 - explicitconstructorinvocation : THIS '(' argumentlist . ')' ';' (138) - argumentlist : argumentlist . ',' expression (152) +state 251 + type : primitivetype '[' ']' . (129) - ',' shift 408 - ')' shift 419 - . error + . reduce 129 -state 399 - constructorbody : '{' explicitconstructorinvocation blockstatements '}' . (94) +state 252 + type : referencetype '[' ']' . (131) - . reduce 94 + . reduce 131 -state 400 - constantdeclaration : modifiers type IDENTIFIER '=' expression . ';' (77) +state 253 + methodheader : type methoddeclarator throws . (111) - ';' shift 420 - . error + . reduce 111 -state 401 - paralist : IDENTIFIER '<' paralist '>' . (33) +state 254 + fielddeclaration : type variabledeclarators ';' . (86) - . reduce 33 + . reduce 86 -state 402 - paralist : paralist ',' IDENTIFIER '<' . paralist '>' (36) +state 255 + fielddeclarator : type variabledeclarator '=' . expression (81) + fielddeclarator : variabledeclarator '=' . expression (82) - IDENTIFIER shift 152 - '?' shift 153 - . error - - paralist goto 421 - wildcardparameter goto 155 - - -state 403 - forstatement : FOR '(' ';' ';' . expression ')' statement (181) - forstatement : FOR '(' ';' ';' . ')' statement (182) - - NEW shift 221 - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 + NEW shift 219 + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - ')' shift 422 - '+' shift 223 - '-' shift 224 - '!' shift 225 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 . error - simplename goto 226 - qualifiedname goto 178 - name goto 179 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 233 - equalityexpression goto 234 - andexpression goto 235 - exclusiveorexpression goto 236 - inclusiveorexpression goto 237 - conditionalandexpression goto 238 - conditionalorexpression goto 239 - conditionalexpression goto 240 - assignmentexpression goto 241 - lambdaexpression goto 190 - expression goto 423 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - classinstancecreationexpression goto 247 - assignment goto 248 - lefthandside goto 207 - methodinvocation goto 249 - castexpression goto 250 + simplename goto 224 + qualifiedname goto 176 + name goto 177 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 231 + equalityexpression goto 232 + andexpression goto 233 + exclusiveorexpression goto 234 + inclusiveorexpression goto 235 + conditionalandexpression goto 236 + conditionalorexpression goto 237 + conditionalexpression goto 238 + assignmentexpression goto 239 + lambdaexpression goto 188 + expression goto 333 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + classinstancecreationexpression goto 245 + assignment goto 246 + lefthandside goto 205 + methodinvocation goto 247 + castexpression goto 248 -state 404 - forstatement : FOR '(' ';' expression . ';' expression ')' statement (178) - forstatement : FOR '(' ';' expression . ';' ')' statement (180) +state 256 + fielddeclarator : type variabledeclarator . '=' expression (81) - ';' shift 424 + '=' shift 334 . error -state 405 - forstatement : FOR '(' expression ';' . expression ';' expression ')' statement (175) - forstatement : FOR '(' expression ';' . expression ';' ')' statement (176) - forstatement : FOR '(' expression ';' . ';' expression ')' statement (177) - forstatement : FOR '(' expression ';' . ';' ')' statement (179) +state 257 + methodheader : modifiers VOID methoddeclarator . (116) + methodheader : modifiers VOID methoddeclarator . throws (118) - NEW shift 221 - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - ';' shift 425 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 + THROWS shift 114 + ';' reduce 116 + '{' reduce 116 + + throws goto 335 + + +state 258 + boundedMethodParameters : boundedMethodParameters . ',' boundedMethodParameter (106) + methodheader : modifiers '<' boundedMethodParameters . '>' type methoddeclarator (110) + methodheader : modifiers '<' boundedMethodParameters . '>' type methoddeclarator throws (114) + methodheader : modifiers '<' boundedMethodParameters . '>' VOID methoddeclarator (120) + methodheader : modifiers '<' boundedMethodParameters . '>' VOID methoddeclarator throws (122) + + ',' shift 213 + '>' shift 336 . error - simplename goto 226 - qualifiedname goto 178 - name goto 179 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 233 - equalityexpression goto 234 - andexpression goto 235 - exclusiveorexpression goto 236 - inclusiveorexpression goto 237 - conditionalandexpression goto 238 - conditionalorexpression goto 239 - conditionalexpression goto 240 - assignmentexpression goto 241 - lambdaexpression goto 190 - expression goto 426 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - classinstancecreationexpression goto 247 - assignment goto 248 - lefthandside goto 207 - methodinvocation goto 249 - castexpression goto 250 + +state 259 + methodheader : modifiers methoddeclarator throws . (127) + + . reduce 127 -state 406 - ifthenstatement : IF '(' expression ')' . statement (172) - ifthenelsestatement : IF '(' expression ')' . statementnoshortif ELSE statement (173) +state 260 + methoddeclarator : IDENTIFIER . '(' ')' (143) + methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (144) + variabledeclaratorid : IDENTIFIER . (156) - FOR shift 156 - IF shift 427 - RETURN shift 158 - THIS shift 159 - WHILE shift 428 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - ';' shift 172 + '(' shift 109 + ',' reduce 156 + ';' reduce 156 + + +state 261 + methodheader : modifiers type methoddeclarator . (109) + methodheader : modifiers type methoddeclarator . throws (113) + + THROWS shift 114 + ';' reduce 109 + '{' reduce 109 + + throws goto 337 + + +state 262 + fielddeclaration : modifiers type variabledeclarators . ';' (87) + variabledeclarators : variabledeclarators . ',' variabledeclarator (133) + + ',' shift 118 + ';' shift 338 + . error + + +state 263 + constructordeclaration : modifiers constructordeclarator constructorbody . (78) + + . reduce 78 + + +state 264 + explicitconstructorinvocation : THIS . '(' ')' ';' (139) + explicitconstructorinvocation : THIS . '(' argumentlist ')' ';' (140) + primarynonewarray : THIS . (245) + + '(' shift 339 + INCREMENT reduce 245 + DECREMENT reduce 245 + '.' reduce 245 + + +state 265 + constructorbody : '{' '}' . (93) + + . reduce 93 + + +state 266 + constructorbody : '{' blockstatements . '}' (95) + blockstatements : blockstatements . blockstatement (136) + + BOOLEAN shift 48 + CHAR shift 49 + FOR shift 154 + IF shift 155 + INT shift 50 + RETURN shift 156 + THIS shift 157 + WHILE shift 158 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 167 + INCREMENT shift 168 + DECREMENT shift 169 + ';' shift 170 '{' shift 105 - '(' shift 174 + '}' shift 340 + '(' shift 172 . error - simplename goto 226 - qualifiedname goto 178 - name goto 179 - block goto 181 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 189 - lambdaexpression goto 190 - statementexpression goto 191 - preincrementexpression goto 192 - predecrementexpression goto 193 - postincrementexpression goto 194 - postdecrementexpression goto 195 - expressionstatement goto 196 - statementwithouttrailingsubstatement goto 429 - statement goto 430 - statementnoshortif goto 431 - whilestatement goto 200 - forstatement goto 201 - whilestatementnoshortif goto 432 - ifthenstatement goto 202 - ifthenelsestatement goto 203 - ifthenelsestatementnoshortif goto 433 - emptystatement goto 204 - returnstatement goto 205 - assignment goto 206 - lefthandside goto 207 - methodinvocation goto 208 + variabledeclarators goto 173 + variabledeclarator goto 174 + variabledeclaratorid goto 66 + simplename goto 175 + qualifiedname goto 176 + name goto 177 + classorinterfacetype goto 68 + integraltype goto 69 + numerictype goto 70 + primitivetype goto 71 + referencetype goto 72 + type goto 178 + block goto 179 + localvariabledeclarationstatement goto 181 + localvariabledeclaration goto 182 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 187 + lambdaexpression goto 188 + statementexpression goto 189 + preincrementexpression goto 190 + predecrementexpression goto 191 + postincrementexpression goto 192 + postdecrementexpression goto 193 + expressionstatement goto 194 + statementwithouttrailingsubstatement goto 195 + blockstatement goto 287 + statement goto 197 + whilestatement goto 198 + forstatement goto 199 + ifthenstatement goto 200 + ifthenelsestatement goto 201 + emptystatement goto 202 + returnstatement goto 203 + assignment goto 204 + lefthandside goto 205 + methodinvocation goto 206 -state 407 - whilestatement : WHILE '(' expression ')' . statement (174) +state 267 + constructorbody : '{' explicitconstructorinvocation . '}' (94) + constructorbody : '{' explicitconstructorinvocation . blockstatements '}' (96) - FOR shift 156 - IF shift 157 - RETURN shift 158 - THIS shift 159 - WHILE shift 160 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - ';' shift 172 + BOOLEAN shift 48 + CHAR shift 49 + FOR shift 154 + IF shift 155 + INT shift 50 + RETURN shift 156 + THIS shift 157 + WHILE shift 158 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 167 + INCREMENT shift 168 + DECREMENT shift 169 + ';' shift 170 '{' shift 105 - '(' shift 174 + '}' shift 341 + '(' shift 172 . error - simplename goto 226 - qualifiedname goto 178 - name goto 179 - block goto 181 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 189 - lambdaexpression goto 190 - statementexpression goto 191 - preincrementexpression goto 192 - predecrementexpression goto 193 - postincrementexpression goto 194 - postdecrementexpression goto 195 - expressionstatement goto 196 - statementwithouttrailingsubstatement goto 197 - statement goto 434 - whilestatement goto 200 - forstatement goto 201 - ifthenstatement goto 202 - ifthenelsestatement goto 203 - emptystatement goto 204 - returnstatement goto 205 - assignment goto 206 - lefthandside goto 207 - methodinvocation goto 208 + variabledeclarators goto 173 + variabledeclarator goto 174 + variabledeclaratorid goto 66 + simplename goto 175 + qualifiedname goto 176 + name goto 177 + classorinterfacetype goto 68 + integraltype goto 69 + numerictype goto 70 + primitivetype goto 71 + referencetype goto 72 + type goto 178 + block goto 179 + blockstatements goto 342 + localvariabledeclarationstatement goto 181 + localvariabledeclaration goto 182 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 187 + lambdaexpression goto 188 + statementexpression goto 189 + preincrementexpression goto 190 + predecrementexpression goto 191 + postincrementexpression goto 192 + postdecrementexpression goto 193 + expressionstatement goto 194 + statementwithouttrailingsubstatement goto 195 + blockstatement goto 196 + statement goto 197 + whilestatement goto 198 + forstatement goto 199 + ifthenstatement goto 200 + ifthenelsestatement goto 201 + emptystatement goto 202 + returnstatement goto 203 + assignment goto 204 + lefthandside goto 205 + methodinvocation goto 206 -state 408 - argumentlist : argumentlist ',' . expression (152) +state 268 + constantdeclaration : modifiers type IDENTIFIER . '=' expression ';' (79) + methoddeclarator : IDENTIFIER . '(' ')' (143) + methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (144) + + '=' shift 343 + '(' shift 109 + . error + + +state 269 + classdeclaration : modifiers CLASS classidentifier super interfaces classbody . (23) + + . reduce 23 + + +state 270 + boundedclassidentifierlist : boundedclassidentifierlist '&' . referencetype (104) - NEW shift 221 - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 . error - simplename goto 226 - qualifiedname goto 178 - name goto 179 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 233 - equalityexpression goto 234 - andexpression goto 235 - exclusiveorexpression goto 236 - inclusiveorexpression goto 237 - conditionalandexpression goto 238 - conditionalorexpression goto 239 - conditionalexpression goto 240 - assignmentexpression goto 241 - lambdaexpression goto 190 - expression goto 435 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - classinstancecreationexpression goto 247 - assignment goto 248 - lefthandside goto 207 - methodinvocation goto 249 - castexpression goto 250 + simplename goto 43 + classorinterfacetype goto 68 + referencetype goto 344 -state 409 - methodinvocation : name '(' argumentlist ')' . (223) +state 271 + typelist : typelist ',' . type (69) + + BOOLEAN shift 48 + CHAR shift 49 + INT shift 50 + IDENTIFIER shift 42 + . error + + simplename goto 43 + classorinterfacetype goto 68 + integraltype goto 69 + numerictype goto 70 + primitivetype goto 71 + referencetype goto 72 + type goto 345 + + +state 272 + parameter : '<' typelist '>' . (71) + + . reduce 71 + + +state 273 + forstatement : FOR '(' . expression ';' expression ';' expression ')' statement (177) + forstatement : FOR '(' . expression ';' expression ';' ')' statement (178) + forstatement : FOR '(' . expression ';' ';' expression ')' statement (179) + forstatement : FOR '(' . ';' expression ';' expression ')' statement (180) + forstatement : FOR '(' . expression ';' ';' ')' statement (181) + forstatement : FOR '(' . ';' expression ';' ')' statement (182) + forstatement : FOR '(' . ';' ';' expression ')' statement (183) + forstatement : FOR '(' . ';' ';' ')' statement (184) + + NEW shift 219 + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + ';' shift 346 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 177 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 231 + equalityexpression goto 232 + andexpression goto 233 + exclusiveorexpression goto 234 + inclusiveorexpression goto 235 + conditionalandexpression goto 236 + conditionalorexpression goto 237 + conditionalexpression goto 238 + assignmentexpression goto 239 + lambdaexpression goto 188 + expression goto 347 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + classinstancecreationexpression goto 245 + assignment goto 246 + lefthandside goto 205 + methodinvocation goto 247 + castexpression goto 248 + + +state 274 + ifthenstatement : IF '(' . expression ')' statement (174) + ifthenelsestatement : IF '(' . expression ')' statementnoshortif ELSE statement (175) + + NEW shift 219 + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 177 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 231 + equalityexpression goto 232 + andexpression goto 233 + exclusiveorexpression goto 234 + inclusiveorexpression goto 235 + conditionalandexpression goto 236 + conditionalorexpression goto 237 + conditionalexpression goto 238 + assignmentexpression goto 239 + lambdaexpression goto 188 + expression goto 348 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + classinstancecreationexpression goto 245 + assignment goto 246 + lefthandside goto 205 + methodinvocation goto 247 + castexpression goto 248 + + +state 275 + returnstatement : RETURN ';' . (189) + + . reduce 189 + + +state 276 + returnstatement : RETURN expression . ';' (190) + + ';' shift 349 + . error + + +state 277 + whilestatement : WHILE '(' . expression ')' statement (176) + + NEW shift 219 + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 177 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 231 + equalityexpression goto 232 + andexpression goto 233 + exclusiveorexpression goto 234 + inclusiveorexpression goto 235 + conditionalandexpression goto 236 + conditionalorexpression goto 237 + conditionalexpression goto 238 + assignmentexpression goto 239 + lambdaexpression goto 188 + expression goto 350 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + classinstancecreationexpression goto 245 + assignment goto 246 + lefthandside goto 205 + methodinvocation goto 247 + castexpression goto 248 + + +278: shift/reduce conflict (shift 283, reduce 238) on '.' +state 278 + qualifiedname : name . '.' IDENTIFIER (12) + methodinvocation : name . '(' ')' (224) + methodinvocation : name . '(' argumentlist ')' (225) + postfixexpression : name . (238) + + '.' shift 283 + '(' shift 284 + ABSTRACT reduce 238 + BOOLEAN reduce 238 + CHAR reduce 238 + FINAL reduce 238 + INSTANCEOF reduce 238 + INT reduce 238 + PRIVATE reduce 238 + PROTECTED reduce 238 + PUBLIC reduce 238 + STATIC reduce 238 + VOID reduce 238 + IDENTIFIER reduce 238 + EQUAL reduce 238 + LESSEQUAL reduce 238 + GREATEREQUAL reduce 238 + NOTEQUAL reduce 238 + LOGICALOR reduce 238 + LOGICALAND reduce 238 + INCREMENT reduce 238 + DECREMENT reduce 238 + ',' reduce 238 + ';' reduce 238 + '*' reduce 238 + '<' reduce 238 + '>' reduce 238 + '}' reduce 238 + ')' reduce 238 + '&' reduce 238 + '+' reduce 238 + '-' reduce 238 + '|' reduce 238 + '^' reduce 238 + '/' reduce 238 + '%' reduce 238 + + +state 279 + preincrementexpression : INCREMENT unaryexpression . (220) + + . reduce 220 + + +state 280 + predecrementexpression : DECREMENT unaryexpression . (221) + + . reduce 221 + + +state 281 + lambdaexpressionparameter : '(' ')' . (210) + + . reduce 210 + + +state 282 + formalparameterlist : formalparameterlist . ',' formalparameter (138) + lambdaexpressionparameter : '(' formalparameterlist . ')' (211) + + ',' shift 303 + ')' shift 351 + . error + + +state 283 + qualifiedname : name '.' . IDENTIFIER (12) + + IDENTIFIER shift 352 + . error + + +state 284 + methodinvocation : name '(' . ')' (224) + methodinvocation : name '(' . argumentlist ')' (225) + + NEW shift 219 + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + ')' shift 353 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 177 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 231 + equalityexpression goto 232 + andexpression goto 233 + exclusiveorexpression goto 234 + inclusiveorexpression goto 235 + conditionalandexpression goto 236 + conditionalorexpression goto 237 + conditionalexpression goto 238 + assignmentexpression goto 239 + lambdaexpression goto 188 + expression goto 354 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + classinstancecreationexpression goto 245 + assignment goto 246 + lefthandside goto 205 + argumentlist goto 355 + methodinvocation goto 247 + castexpression goto 248 + + +state 285 + variabledeclarators : variabledeclarators . ',' variabledeclarator (133) + localvariabledeclaration : type variabledeclarators . (168) + + ',' shift 118 + ';' reduce 168 + + +state 286 + block : '{' blockstatements '}' . (90) + + . reduce 90 + + +state 287 + blockstatements : blockstatements blockstatement . (136) + + . reduce 136 + + +state 288 + localvariabledeclarationstatement : localvariabledeclaration ';' . (158) + + . reduce 158 + + +state 289 + lambdaassignmentoperator : LAMBDAASSIGNMENT . (207) + + . reduce 207 + + +state 290 + lambdaexpression : lambdaexpressionparameter lambdaassignmentoperator . lambdabody (212) + + NEW shift 219 + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '{' shift 105 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 177 + block goto 356 + lambdabody goto 357 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 231 + equalityexpression goto 232 + andexpression goto 233 + exclusiveorexpression goto 234 + inclusiveorexpression goto 235 + conditionalandexpression goto 236 + conditionalorexpression goto 237 + conditionalexpression goto 238 + assignmentexpression goto 239 + lambdaexpression goto 188 + expression goto 358 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + classinstancecreationexpression goto 245 + assignment goto 246 + lefthandside goto 205 + methodinvocation goto 247 + castexpression goto 248 + + +state 291 + methodinvocation : primary '.' . IDENTIFIER '(' ')' (226) + methodinvocation : primary '.' . IDENTIFIER '(' argumentlist ')' (227) + + IDENTIFIER shift 359 + . error + + +state 292 + postincrementexpression : postfixexpression INCREMENT . (222) + + . reduce 222 + + +state 293 + postdecrementexpression : postfixexpression DECREMENT . (223) . reduce 223 -state 410 - methodinvocation : primary '.' IDENTIFIER '(' . ')' (224) - methodinvocation : primary '.' IDENTIFIER '(' . argumentlist ')' (225) +state 294 + expressionstatement : statementexpression ';' . (188) - NEW shift 221 - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 + . reduce 188 + + +state 295 + assignmentoperator : PLUSEQUAL . (218) + + . reduce 218 + + +state 296 + assignmentoperator : MINUSEQUAL . (219) + + . reduce 219 + + +state 297 + assignmentoperator : TIMESEQUAL . (215) + + . reduce 215 + + +state 298 + assignmentoperator : DIVIDEEQUAL . (216) + + . reduce 216 + + +state 299 + assignmentoperator : MODULOEQUAL . (217) + + . reduce 217 + + +state 300 + assignmentoperator : '=' . (214) + + . reduce 214 + + +state 301 + assignment : lefthandside assignmentoperator . assignmentexpression (195) + assignment : lefthandside assignmentoperator . classinstancecreationexpression (196) + + NEW shift 219 + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - ')' shift 436 - '+' shift 223 - '-' shift 224 - '!' shift 225 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 . error - simplename goto 226 - qualifiedname goto 178 - name goto 179 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 233 - equalityexpression goto 234 - andexpression goto 235 - exclusiveorexpression goto 236 - inclusiveorexpression goto 237 - conditionalandexpression goto 238 - conditionalorexpression goto 239 - conditionalexpression goto 240 - assignmentexpression goto 241 - lambdaexpression goto 190 - expression goto 363 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - classinstancecreationexpression goto 247 - assignment goto 248 - lefthandside goto 207 - argumentlist goto 437 - methodinvocation goto 249 - castexpression goto 250 + simplename goto 224 + qualifiedname goto 176 + name goto 177 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 231 + equalityexpression goto 232 + andexpression goto 233 + exclusiveorexpression goto 234 + inclusiveorexpression goto 235 + conditionalandexpression goto 236 + conditionalorexpression goto 237 + conditionalexpression goto 238 + assignmentexpression goto 360 + lambdaexpression goto 188 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + classinstancecreationexpression goto 361 + assignment goto 246 + lefthandside goto 205 + methodinvocation goto 247 + castexpression goto 248 -state 411 - methodheader : '<' boundedMethodParameters '>' VOID methoddeclarator throws . (119) +state 302 + formalparameter : type variabledeclaratorid . (151) - . reduce 119 + . reduce 151 -state 412 - methodheader : '<' boundedMethodParameters '>' type methoddeclarator throws . (110) +state 303 + formalparameterlist : formalparameterlist ',' . formalparameter (138) - . reduce 110 - - -state 413 - classinstancecreationexpression : NEW classtype '(' ')' . (226) - - . reduce 226 - - -state 414 - argumentlist : argumentlist . ',' expression (152) - classinstancecreationexpression : NEW classtype '(' argumentlist . ')' (227) - - ',' shift 408 - ')' shift 438 + BOOLEAN shift 48 + CHAR shift 49 + INT shift 50 + IDENTIFIER shift 167 . error - -state 415 - castexpression : '(' primitivetype ')' unaryexpression . (259) - - . reduce 259 + variabledeclaratorid goto 209 + simplename goto 43 + classorinterfacetype goto 68 + integraltype goto 69 + numerictype goto 70 + primitivetype goto 71 + referencetype goto 72 + type goto 210 + formalparameter goto 362 -state 416 - methodheader : modifiers '<' boundedMethodParameters '>' VOID methoddeclarator . (118) - methodheader : modifiers '<' boundedMethodParameters '>' VOID methoddeclarator . throws (120) +state 304 + methoddeclarator : IDENTIFIER '(' formalparameterlist ')' . (144) - THROWS shift 114 - ';' reduce 118 - '{' reduce 118 - - throws goto 439 + . reduce 144 -state 417 - methodheader : modifiers '<' boundedMethodParameters '>' type methoddeclarator . (108) - methodheader : modifiers '<' boundedMethodParameters '>' type methoddeclarator . throws (112) +state 305 + boundedMethodParameters : boundedMethodParameters ',' boundedMethodParameter . (106) - THROWS shift 114 - ';' reduce 108 - '{' reduce 108 - - throws goto 440 + . reduce 106 -state 418 - explicitconstructorinvocation : THIS '(' ')' ';' . (137) +state 306 + methodheader : '<' boundedMethodParameters '>' VOID . methoddeclarator (119) + methodheader : '<' boundedMethodParameters '>' VOID . methoddeclarator throws (121) - . reduce 137 - - -state 419 - explicitconstructorinvocation : THIS '(' argumentlist ')' . ';' (138) - - ';' shift 441 + IDENTIFIER shift 107 . error - -state 420 - constantdeclaration : modifiers type IDENTIFIER '=' expression ';' . (77) - - . reduce 77 + methoddeclarator goto 363 -state 421 - paralist : paralist . ',' IDENTIFIER (35) - paralist : paralist . ',' IDENTIFIER '<' paralist '>' (36) - paralist : paralist ',' IDENTIFIER '<' paralist . '>' (36) - paralist : paralist . ',' wildcardparameter (37) +state 307 + methodheader : '<' boundedMethodParameters '>' methoddeclarator . (124) - ',' shift 276 - '>' shift 442 + . reduce 124 + + +state 308 + methodheader : '<' boundedMethodParameters '>' type . methoddeclarator (107) + methodheader : '<' boundedMethodParameters '>' type . methoddeclarator throws (112) + + IDENTIFIER shift 107 . error + methoddeclarator goto 364 -state 422 - forstatement : FOR '(' ';' ';' ')' . statement (182) - FOR shift 156 - IF shift 157 - RETURN shift 158 - THIS shift 159 - WHILE shift 160 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 +state 309 + classtypelist : classtypelist ',' . classtype (142) + IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - ';' shift 172 + . error + + simplename goto 43 + classtype goto 365 + classorinterfacetype goto 45 + + +state 310 + classinstancecreationexpression : NEW classtype . '(' ')' (228) + classinstancecreationexpression : NEW classtype . '(' argumentlist ')' (229) + + '(' shift 366 + . error + + +state 311 + type : primitivetype . (128) + type : primitivetype . '[' ']' (129) + castexpression : '(' primitivetype . ')' unaryexpression (261) + + ')' shift 367 + '[' shift 123 + IDENTIFIER reduce 128 + + +state 312 + unaryexpression : '+' unaryexpression . (234) + + . reduce 234 + + +state 313 + unaryexpression : '-' unaryexpression . (235) + + . reduce 235 + + +state 314 + unaryexpressionnotplusminus : '!' unaryexpression . (249) + + . reduce 249 + + +state 315 + multiplicativeexpression : multiplicativeexpression '*' . unaryexpression (278) + + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 278 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 368 + lambdaexpression goto 188 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + methodinvocation goto 247 + castexpression goto 248 + + +state 316 + multiplicativeexpression : multiplicativeexpression '/' . unaryexpression (279) + + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 278 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 369 + lambdaexpression goto 188 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + methodinvocation goto 247 + castexpression goto 248 + + +state 317 + multiplicativeexpression : multiplicativeexpression '%' . unaryexpression (280) + + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 278 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 370 + lambdaexpression goto 188 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + methodinvocation goto 247 + castexpression goto 248 + + +state 318 + additiveexpression : additiveexpression '+' . multiplicativeexpression (275) + + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 278 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 371 + lambdaexpression goto 188 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + methodinvocation goto 247 + castexpression goto 248 + + +state 319 + additiveexpression : additiveexpression '-' . multiplicativeexpression (276) + + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 278 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 372 + lambdaexpression goto 188 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + methodinvocation goto 247 + castexpression goto 248 + + +state 320 + relationalexpression : relationalexpression INSTANCEOF . referencetype (272) + + IDENTIFIER shift 42 + . error + + simplename goto 43 + classorinterfacetype goto 68 + referencetype goto 373 + + +state 321 + relationalexpression : relationalexpression LESSEQUAL . shiftexpression (270) + + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 278 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 374 + lambdaexpression goto 188 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + methodinvocation goto 247 + castexpression goto 248 + + +state 322 + relationalexpression : relationalexpression GREATEREQUAL . shiftexpression (271) + + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 278 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 375 + lambdaexpression goto 188 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + methodinvocation goto 247 + castexpression goto 248 + + +state 323 + relationalexpression : relationalexpression '<' . shiftexpression (268) + + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 278 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 376 + lambdaexpression goto 188 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + methodinvocation goto 247 + castexpression goto 248 + + +state 324 + relationalexpression : relationalexpression '>' . shiftexpression (269) + + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 278 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 377 + lambdaexpression goto 188 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + methodinvocation goto 247 + castexpression goto 248 + + +state 325 + equalityexpression : equalityexpression EQUAL . relationalexpression (265) + + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 278 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 378 + lambdaexpression goto 188 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + methodinvocation goto 247 + castexpression goto 248 + + +state 326 + equalityexpression : equalityexpression NOTEQUAL . relationalexpression (266) + + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 278 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 379 + lambdaexpression goto 188 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + methodinvocation goto 247 + castexpression goto 248 + + +state 327 + andexpression : andexpression '&' . equalityexpression (263) + + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 278 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 231 + equalityexpression goto 380 + lambdaexpression goto 188 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + methodinvocation goto 247 + castexpression goto 248 + + +state 328 + exclusiveorexpression : exclusiveorexpression '^' . andexpression (252) + + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 278 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 231 + equalityexpression goto 232 + andexpression goto 381 + lambdaexpression goto 188 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + methodinvocation goto 247 + castexpression goto 248 + + +state 329 + inclusiveorexpression : inclusiveorexpression '|' . exclusiveorexpression (243) + + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 278 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 231 + equalityexpression goto 232 + andexpression goto 233 + exclusiveorexpression goto 382 + lambdaexpression goto 188 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + methodinvocation goto 247 + castexpression goto 248 + + +state 330 + conditionalandexpression : conditionalandexpression LOGICALAND . inclusiveorexpression (231) + + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 278 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 231 + equalityexpression goto 232 + andexpression goto 233 + exclusiveorexpression goto 234 + inclusiveorexpression goto 383 + lambdaexpression goto 188 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + methodinvocation goto 247 + castexpression goto 248 + + +state 331 + conditionalorexpression : conditionalorexpression LOGICALOR . conditionalandexpression (206) + + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 278 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 231 + equalityexpression goto 232 + andexpression goto 233 + exclusiveorexpression goto 234 + inclusiveorexpression goto 235 + conditionalandexpression goto 384 + lambdaexpression goto 188 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + methodinvocation goto 247 + castexpression goto 248 + + +state 332 + constructordeclarator : simplename '(' formalparameterlist ')' . (92) + + . reduce 92 + + +state 333 + fielddeclarator : type variabledeclarator '=' expression . (81) + fielddeclarator : variabledeclarator '=' expression . (82) + + ABSTRACT reduce 82 + BOOLEAN reduce 82 + CHAR reduce 82 + FINAL reduce 82 + INT reduce 82 + PRIVATE reduce 82 + PROTECTED reduce 82 + PUBLIC reduce 82 + STATIC reduce 82 + VOID reduce 82 + IDENTIFIER reduce 82 + ';' reduce 81 + '<' reduce 82 + '}' reduce 82 + + +state 334 + fielddeclarator : type variabledeclarator '=' . expression (81) + + NEW shift 219 + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 177 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 231 + equalityexpression goto 232 + andexpression goto 233 + exclusiveorexpression goto 234 + inclusiveorexpression goto 235 + conditionalandexpression goto 236 + conditionalorexpression goto 237 + conditionalexpression goto 238 + assignmentexpression goto 239 + lambdaexpression goto 188 + expression goto 385 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + classinstancecreationexpression goto 245 + assignment goto 246 + lefthandside goto 205 + methodinvocation goto 247 + castexpression goto 248 + + +state 335 + methodheader : modifiers VOID methoddeclarator throws . (118) + + . reduce 118 + + +state 336 + methodheader : modifiers '<' boundedMethodParameters '>' . type methoddeclarator (110) + methodheader : modifiers '<' boundedMethodParameters '>' . type methoddeclarator throws (114) + methodheader : modifiers '<' boundedMethodParameters '>' . VOID methoddeclarator (120) + methodheader : modifiers '<' boundedMethodParameters '>' . VOID methoddeclarator throws (122) + + BOOLEAN shift 48 + CHAR shift 49 + INT shift 50 + VOID shift 386 + IDENTIFIER shift 42 + . error + + simplename goto 43 + classorinterfacetype goto 68 + integraltype goto 69 + numerictype goto 70 + primitivetype goto 71 + referencetype goto 72 + type goto 387 + + +state 337 + methodheader : modifiers type methoddeclarator throws . (113) + + . reduce 113 + + +state 338 + fielddeclaration : modifiers type variabledeclarators ';' . (87) + + . reduce 87 + + +state 339 + explicitconstructorinvocation : THIS '(' . ')' ';' (139) + explicitconstructorinvocation : THIS '(' . argumentlist ')' ';' (140) + + NEW shift 219 + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + ')' shift 388 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 177 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 231 + equalityexpression goto 232 + andexpression goto 233 + exclusiveorexpression goto 234 + inclusiveorexpression goto 235 + conditionalandexpression goto 236 + conditionalorexpression goto 237 + conditionalexpression goto 238 + assignmentexpression goto 239 + lambdaexpression goto 188 + expression goto 354 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + classinstancecreationexpression goto 245 + assignment goto 246 + lefthandside goto 205 + argumentlist goto 389 + methodinvocation goto 247 + castexpression goto 248 + + +state 340 + constructorbody : '{' blockstatements '}' . (95) + + . reduce 95 + + +state 341 + constructorbody : '{' explicitconstructorinvocation '}' . (94) + + . reduce 94 + + +state 342 + constructorbody : '{' explicitconstructorinvocation blockstatements . '}' (96) + blockstatements : blockstatements . blockstatement (136) + + BOOLEAN shift 48 + CHAR shift 49 + FOR shift 154 + IF shift 155 + INT shift 50 + RETURN shift 156 + THIS shift 157 + WHILE shift 158 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 167 + INCREMENT shift 168 + DECREMENT shift 169 + ';' shift 170 '{' shift 105 - '(' shift 174 + '}' shift 390 + '(' shift 172 . error - simplename goto 226 - qualifiedname goto 178 - name goto 179 - block goto 181 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 189 - lambdaexpression goto 190 - statementexpression goto 191 - preincrementexpression goto 192 - predecrementexpression goto 193 - postincrementexpression goto 194 - postdecrementexpression goto 195 - expressionstatement goto 196 - statementwithouttrailingsubstatement goto 197 - statement goto 443 - whilestatement goto 200 - forstatement goto 201 - ifthenstatement goto 202 - ifthenelsestatement goto 203 - emptystatement goto 204 - returnstatement goto 205 - assignment goto 206 - lefthandside goto 207 - methodinvocation goto 208 + variabledeclarators goto 173 + variabledeclarator goto 174 + variabledeclaratorid goto 66 + simplename goto 175 + qualifiedname goto 176 + name goto 177 + classorinterfacetype goto 68 + integraltype goto 69 + numerictype goto 70 + primitivetype goto 71 + referencetype goto 72 + type goto 178 + block goto 179 + localvariabledeclarationstatement goto 181 + localvariabledeclaration goto 182 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 187 + lambdaexpression goto 188 + statementexpression goto 189 + preincrementexpression goto 190 + predecrementexpression goto 191 + postincrementexpression goto 192 + postdecrementexpression goto 193 + expressionstatement goto 194 + statementwithouttrailingsubstatement goto 195 + blockstatement goto 287 + statement goto 197 + whilestatement goto 198 + forstatement goto 199 + ifthenstatement goto 200 + ifthenelsestatement goto 201 + emptystatement goto 202 + returnstatement goto 203 + assignment goto 204 + lefthandside goto 205 + methodinvocation goto 206 -state 423 - forstatement : FOR '(' ';' ';' expression . ')' statement (181) +state 343 + constantdeclaration : modifiers type IDENTIFIER '=' . expression ';' (79) - ')' shift 444 - . error - - -state 424 - forstatement : FOR '(' ';' expression ';' . expression ')' statement (178) - forstatement : FOR '(' ';' expression ';' . ')' statement (180) - - NEW shift 221 - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 + NEW shift 219 + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - ')' shift 445 - '+' shift 223 - '-' shift 224 - '!' shift 225 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 . error - simplename goto 226 - qualifiedname goto 178 - name goto 179 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 233 - equalityexpression goto 234 - andexpression goto 235 - exclusiveorexpression goto 236 - inclusiveorexpression goto 237 - conditionalandexpression goto 238 - conditionalorexpression goto 239 - conditionalexpression goto 240 - assignmentexpression goto 241 - lambdaexpression goto 190 - expression goto 446 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - classinstancecreationexpression goto 247 - assignment goto 248 - lefthandside goto 207 - methodinvocation goto 249 - castexpression goto 250 + simplename goto 224 + qualifiedname goto 176 + name goto 177 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 231 + equalityexpression goto 232 + andexpression goto 233 + exclusiveorexpression goto 234 + inclusiveorexpression goto 235 + conditionalandexpression goto 236 + conditionalorexpression goto 237 + conditionalexpression goto 238 + assignmentexpression goto 239 + lambdaexpression goto 188 + expression goto 391 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + classinstancecreationexpression goto 245 + assignment goto 246 + lefthandside goto 205 + methodinvocation goto 247 + castexpression goto 248 -state 425 - forstatement : FOR '(' expression ';' ';' . expression ')' statement (177) - forstatement : FOR '(' expression ';' ';' . ')' statement (179) +state 344 + boundedclassidentifierlist : boundedclassidentifierlist '&' referencetype . (104) - NEW shift 221 - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 + . reduce 104 + + +state 345 + typelist : typelist ',' type . (69) + + . reduce 69 + + +state 346 + forstatement : FOR '(' ';' . expression ';' expression ')' statement (180) + forstatement : FOR '(' ';' . expression ';' ')' statement (182) + forstatement : FOR '(' ';' . ';' expression ')' statement (183) + forstatement : FOR '(' ';' . ';' ')' statement (184) + + NEW shift 219 + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - ')' shift 447 - '+' shift 223 - '-' shift 224 - '!' shift 225 + INCREMENT shift 168 + DECREMENT shift 169 + ';' shift 392 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 . error - simplename goto 226 - qualifiedname goto 178 - name goto 179 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 233 - equalityexpression goto 234 - andexpression goto 235 - exclusiveorexpression goto 236 - inclusiveorexpression goto 237 - conditionalandexpression goto 238 - conditionalorexpression goto 239 - conditionalexpression goto 240 - assignmentexpression goto 241 - lambdaexpression goto 190 - expression goto 448 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - classinstancecreationexpression goto 247 - assignment goto 248 - lefthandside goto 207 - methodinvocation goto 249 - castexpression goto 250 + simplename goto 224 + qualifiedname goto 176 + name goto 177 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 231 + equalityexpression goto 232 + andexpression goto 233 + exclusiveorexpression goto 234 + inclusiveorexpression goto 235 + conditionalandexpression goto 236 + conditionalorexpression goto 237 + conditionalexpression goto 238 + assignmentexpression goto 239 + lambdaexpression goto 188 + expression goto 393 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + classinstancecreationexpression goto 245 + assignment goto 246 + lefthandside goto 205 + methodinvocation goto 247 + castexpression goto 248 -state 426 - forstatement : FOR '(' expression ';' expression . ';' expression ')' statement (175) - forstatement : FOR '(' expression ';' expression . ';' ')' statement (176) +state 347 + forstatement : FOR '(' expression . ';' expression ';' expression ')' statement (177) + forstatement : FOR '(' expression . ';' expression ';' ')' statement (178) + forstatement : FOR '(' expression . ';' ';' expression ')' statement (179) + forstatement : FOR '(' expression . ';' ';' ')' statement (181) - ';' shift 449 + ';' shift 394 . error -state 427 - ifthenstatement : IF . '(' expression ')' statement (172) - ifthenelsestatement : IF . '(' expression ')' statementnoshortif ELSE statement (173) - ifthenelsestatementnoshortif : IF . '(' expression ')' statementnoshortif ELSE statementnoshortif (201) +state 348 + ifthenstatement : IF '(' expression . ')' statement (174) + ifthenelsestatement : IF '(' expression . ')' statementnoshortif ELSE statement (175) - '(' shift 450 + ')' shift 395 . error -state 428 - whilestatement : WHILE . '(' expression ')' statement (174) - whilestatementnoshortif : WHILE . '(' expression ')' statementnoshortif (202) - - '(' shift 451 - . error - - -state 429 - statement : statementwithouttrailingsubstatement . (157) - statementnoshortif : statementwithouttrailingsubstatement . (189) - - BOOLEAN reduce 157 - CHAR reduce 157 - ELSE reduce 189 - FOR reduce 157 - IF reduce 157 - INT reduce 157 - RETURN reduce 157 - THIS reduce 157 - WHILE reduce 157 - INTLITERAL reduce 157 - LONGLITERAL reduce 157 - DOUBLELITERAL reduce 157 - FLOATLITERAL reduce 157 - BOOLLITERAL reduce 157 - JNULL reduce 157 - CHARLITERAL reduce 157 - STRINGLITERAL reduce 157 - IDENTIFIER reduce 157 - INCREMENT reduce 157 - DECREMENT reduce 157 - ';' reduce 157 - '{' reduce 157 - '}' reduce 157 - '(' reduce 157 - - -state 430 - ifthenstatement : IF '(' expression ')' statement . (172) - - . reduce 172 - - -state 431 - ifthenelsestatement : IF '(' expression ')' statementnoshortif . ELSE statement (173) - - ELSE shift 452 - . error - - -state 432 - statementnoshortif : whilestatementnoshortif . (191) - - . reduce 191 - - -state 433 - statementnoshortif : ifthenelsestatementnoshortif . (190) +state 349 + returnstatement : RETURN expression ';' . (190) . reduce 190 -state 434 - whilestatement : WHILE '(' expression ')' statement . (174) +state 350 + whilestatement : WHILE '(' expression . ')' statement (176) - . reduce 174 + ')' shift 396 + . error -state 435 - argumentlist : argumentlist ',' expression . (152) +state 351 + lambdaexpressionparameter : '(' formalparameterlist ')' . (211) - . reduce 152 + . reduce 211 -state 436 - methodinvocation : primary '.' IDENTIFIER '(' ')' . (224) +state 352 + qualifiedname : name '.' IDENTIFIER . (12) + + . reduce 12 + + +state 353 + methodinvocation : name '(' ')' . (224) . reduce 224 -state 437 - argumentlist : argumentlist . ',' expression (152) - methodinvocation : primary '.' IDENTIFIER '(' argumentlist . ')' (225) +state 354 + argumentlist : expression . (153) - ',' shift 408 - ')' shift 453 + . reduce 153 + + +state 355 + argumentlist : argumentlist . ',' expression (154) + methodinvocation : name '(' argumentlist . ')' (225) + + ',' shift 397 + ')' shift 398 . error -state 438 - classinstancecreationexpression : NEW classtype '(' argumentlist ')' . (227) +state 356 + lambdabody : block . (208) - . reduce 227 + . reduce 208 -state 439 - methodheader : modifiers '<' boundedMethodParameters '>' VOID methoddeclarator throws . (120) +state 357 + lambdaexpression : lambdaexpressionparameter lambdaassignmentoperator lambdabody . (212) - . reduce 120 + . reduce 212 -state 440 - methodheader : modifiers '<' boundedMethodParameters '>' type methoddeclarator throws . (112) +state 358 + lambdabody : expression . (209) - . reduce 112 + . reduce 209 -state 441 - explicitconstructorinvocation : THIS '(' argumentlist ')' ';' . (138) +state 359 + methodinvocation : primary '.' IDENTIFIER . '(' ')' (226) + methodinvocation : primary '.' IDENTIFIER . '(' argumentlist ')' (227) + + '(' shift 399 + . error + + +state 360 + assignment : lefthandside assignmentoperator assignmentexpression . (195) + + . reduce 195 + + +state 361 + assignment : lefthandside assignmentoperator classinstancecreationexpression . (196) + + . reduce 196 + + +state 362 + formalparameterlist : formalparameterlist ',' formalparameter . (138) . reduce 138 +state 363 + methodheader : '<' boundedMethodParameters '>' VOID methoddeclarator . (119) + methodheader : '<' boundedMethodParameters '>' VOID methoddeclarator . throws (121) + + THROWS shift 114 + ';' reduce 119 + '{' reduce 119 + + throws goto 400 + + +state 364 + methodheader : '<' boundedMethodParameters '>' type methoddeclarator . (107) + methodheader : '<' boundedMethodParameters '>' type methoddeclarator . throws (112) + + THROWS shift 114 + ';' reduce 107 + '{' reduce 107 + + throws goto 401 + + +state 365 + classtypelist : classtypelist ',' classtype . (142) + + . reduce 142 + + +state 366 + classinstancecreationexpression : NEW classtype '(' . ')' (228) + classinstancecreationexpression : NEW classtype '(' . argumentlist ')' (229) + + NEW shift 219 + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + ')' shift 402 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 177 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 231 + equalityexpression goto 232 + andexpression goto 233 + exclusiveorexpression goto 234 + inclusiveorexpression goto 235 + conditionalandexpression goto 236 + conditionalorexpression goto 237 + conditionalexpression goto 238 + assignmentexpression goto 239 + lambdaexpression goto 188 + expression goto 354 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + classinstancecreationexpression goto 245 + assignment goto 246 + lefthandside goto 205 + argumentlist goto 403 + methodinvocation goto 247 + castexpression goto 248 + + +state 367 + castexpression : '(' primitivetype ')' . unaryexpression (261) + + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 278 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 404 + lambdaexpression goto 188 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + methodinvocation goto 247 + castexpression goto 248 + + +state 368 + multiplicativeexpression : multiplicativeexpression '*' unaryexpression . (278) + + . reduce 278 + + +state 369 + multiplicativeexpression : multiplicativeexpression '/' unaryexpression . (279) + + . reduce 279 + + +state 370 + multiplicativeexpression : multiplicativeexpression '%' unaryexpression . (280) + + . reduce 280 + + +371: shift/reduce conflict (shift 315, reduce 275) on '*' +371: shift/reduce conflict (shift 316, reduce 275) on '/' +371: shift/reduce conflict (shift 317, reduce 275) on '%' +state 371 + additiveexpression : additiveexpression '+' multiplicativeexpression . (275) + multiplicativeexpression : multiplicativeexpression . '*' unaryexpression (278) + multiplicativeexpression : multiplicativeexpression . '/' unaryexpression (279) + multiplicativeexpression : multiplicativeexpression . '%' unaryexpression (280) + + '*' shift 315 + '/' shift 316 + '%' shift 317 + ABSTRACT reduce 275 + BOOLEAN reduce 275 + CHAR reduce 275 + FINAL reduce 275 + INSTANCEOF reduce 275 + INT reduce 275 + PRIVATE reduce 275 + PROTECTED reduce 275 + PUBLIC reduce 275 + STATIC reduce 275 + VOID reduce 275 + IDENTIFIER reduce 275 + EQUAL reduce 275 + LESSEQUAL reduce 275 + GREATEREQUAL reduce 275 + NOTEQUAL reduce 275 + LOGICALOR reduce 275 + LOGICALAND reduce 275 + INCREMENT reduce 275 + DECREMENT reduce 275 + ',' reduce 275 + ';' reduce 275 + '.' reduce 275 + '<' reduce 275 + '>' reduce 275 + '}' reduce 275 + ')' reduce 275 + '&' reduce 275 + '+' reduce 275 + '-' reduce 275 + '|' reduce 275 + '^' reduce 275 + + +372: shift/reduce conflict (shift 315, reduce 276) on '*' +372: shift/reduce conflict (shift 316, reduce 276) on '/' +372: shift/reduce conflict (shift 317, reduce 276) on '%' +state 372 + additiveexpression : additiveexpression '-' multiplicativeexpression . (276) + multiplicativeexpression : multiplicativeexpression . '*' unaryexpression (278) + multiplicativeexpression : multiplicativeexpression . '/' unaryexpression (279) + multiplicativeexpression : multiplicativeexpression . '%' unaryexpression (280) + + '*' shift 315 + '/' shift 316 + '%' shift 317 + ABSTRACT reduce 276 + BOOLEAN reduce 276 + CHAR reduce 276 + FINAL reduce 276 + INSTANCEOF reduce 276 + INT reduce 276 + PRIVATE reduce 276 + PROTECTED reduce 276 + PUBLIC reduce 276 + STATIC reduce 276 + VOID reduce 276 + IDENTIFIER reduce 276 + EQUAL reduce 276 + LESSEQUAL reduce 276 + GREATEREQUAL reduce 276 + NOTEQUAL reduce 276 + LOGICALOR reduce 276 + LOGICALAND reduce 276 + INCREMENT reduce 276 + DECREMENT reduce 276 + ',' reduce 276 + ';' reduce 276 + '.' reduce 276 + '<' reduce 276 + '>' reduce 276 + '}' reduce 276 + ')' reduce 276 + '&' reduce 276 + '+' reduce 276 + '-' reduce 276 + '|' reduce 276 + '^' reduce 276 + + +state 373 + relationalexpression : relationalexpression INSTANCEOF referencetype . (272) + + . reduce 272 + + +state 374 + relationalexpression : relationalexpression LESSEQUAL shiftexpression . (270) + + . reduce 270 + + +state 375 + relationalexpression : relationalexpression GREATEREQUAL shiftexpression . (271) + + . reduce 271 + + +state 376 + relationalexpression : relationalexpression '<' shiftexpression . (268) + + . reduce 268 + + +state 377 + relationalexpression : relationalexpression '>' shiftexpression . (269) + + . reduce 269 + + +378: shift/reduce conflict (shift 320, reduce 265) on INSTANCEOF +378: shift/reduce conflict (shift 321, reduce 265) on LESSEQUAL +378: shift/reduce conflict (shift 322, reduce 265) on GREATEREQUAL +378: shift/reduce conflict (shift 323, reduce 265) on '<' +378: shift/reduce conflict (shift 324, reduce 265) on '>' +state 378 + equalityexpression : equalityexpression EQUAL relationalexpression . (265) + relationalexpression : relationalexpression . '<' shiftexpression (268) + relationalexpression : relationalexpression . '>' shiftexpression (269) + relationalexpression : relationalexpression . LESSEQUAL shiftexpression (270) + relationalexpression : relationalexpression . GREATEREQUAL shiftexpression (271) + relationalexpression : relationalexpression . INSTANCEOF referencetype (272) + + INSTANCEOF shift 320 + LESSEQUAL shift 321 + GREATEREQUAL shift 322 + '<' shift 323 + '>' shift 324 + ABSTRACT reduce 265 + BOOLEAN reduce 265 + CHAR reduce 265 + FINAL reduce 265 + INT reduce 265 + PRIVATE reduce 265 + PROTECTED reduce 265 + PUBLIC reduce 265 + STATIC reduce 265 + VOID reduce 265 + IDENTIFIER reduce 265 + EQUAL reduce 265 + NOTEQUAL reduce 265 + LOGICALOR reduce 265 + LOGICALAND reduce 265 + INCREMENT reduce 265 + DECREMENT reduce 265 + ',' reduce 265 + ';' reduce 265 + '.' reduce 265 + '*' reduce 265 + '}' reduce 265 + ')' reduce 265 + '&' reduce 265 + '+' reduce 265 + '-' reduce 265 + '|' reduce 265 + '^' reduce 265 + '/' reduce 265 + '%' reduce 265 + + +379: shift/reduce conflict (shift 320, reduce 266) on INSTANCEOF +379: shift/reduce conflict (shift 321, reduce 266) on LESSEQUAL +379: shift/reduce conflict (shift 322, reduce 266) on GREATEREQUAL +379: shift/reduce conflict (shift 323, reduce 266) on '<' +379: shift/reduce conflict (shift 324, reduce 266) on '>' +state 379 + equalityexpression : equalityexpression NOTEQUAL relationalexpression . (266) + relationalexpression : relationalexpression . '<' shiftexpression (268) + relationalexpression : relationalexpression . '>' shiftexpression (269) + relationalexpression : relationalexpression . LESSEQUAL shiftexpression (270) + relationalexpression : relationalexpression . GREATEREQUAL shiftexpression (271) + relationalexpression : relationalexpression . INSTANCEOF referencetype (272) + + INSTANCEOF shift 320 + LESSEQUAL shift 321 + GREATEREQUAL shift 322 + '<' shift 323 + '>' shift 324 + ABSTRACT reduce 266 + BOOLEAN reduce 266 + CHAR reduce 266 + FINAL reduce 266 + INT reduce 266 + PRIVATE reduce 266 + PROTECTED reduce 266 + PUBLIC reduce 266 + STATIC reduce 266 + VOID reduce 266 + IDENTIFIER reduce 266 + EQUAL reduce 266 + NOTEQUAL reduce 266 + LOGICALOR reduce 266 + LOGICALAND reduce 266 + INCREMENT reduce 266 + DECREMENT reduce 266 + ',' reduce 266 + ';' reduce 266 + '.' reduce 266 + '*' reduce 266 + '}' reduce 266 + ')' reduce 266 + '&' reduce 266 + '+' reduce 266 + '-' reduce 266 + '|' reduce 266 + '^' reduce 266 + '/' reduce 266 + '%' reduce 266 + + +380: shift/reduce conflict (shift 325, reduce 263) on EQUAL +380: shift/reduce conflict (shift 326, reduce 263) on NOTEQUAL +state 380 + andexpression : andexpression '&' equalityexpression . (263) + equalityexpression : equalityexpression . EQUAL relationalexpression (265) + equalityexpression : equalityexpression . NOTEQUAL relationalexpression (266) + + EQUAL shift 325 + NOTEQUAL shift 326 + ABSTRACT reduce 263 + BOOLEAN reduce 263 + CHAR reduce 263 + FINAL reduce 263 + INSTANCEOF reduce 263 + INT reduce 263 + PRIVATE reduce 263 + PROTECTED reduce 263 + PUBLIC reduce 263 + STATIC reduce 263 + VOID reduce 263 + IDENTIFIER reduce 263 + LESSEQUAL reduce 263 + GREATEREQUAL reduce 263 + LOGICALOR reduce 263 + LOGICALAND reduce 263 + INCREMENT reduce 263 + DECREMENT reduce 263 + ',' reduce 263 + ';' reduce 263 + '.' reduce 263 + '*' reduce 263 + '<' reduce 263 + '>' reduce 263 + '}' reduce 263 + ')' reduce 263 + '&' reduce 263 + '+' reduce 263 + '-' reduce 263 + '|' reduce 263 + '^' reduce 263 + '/' reduce 263 + '%' reduce 263 + + +381: shift/reduce conflict (shift 327, reduce 252) on '&' +state 381 + exclusiveorexpression : exclusiveorexpression '^' andexpression . (252) + andexpression : andexpression . '&' equalityexpression (263) + + '&' shift 327 + ABSTRACT reduce 252 + BOOLEAN reduce 252 + CHAR reduce 252 + FINAL reduce 252 + INSTANCEOF reduce 252 + INT reduce 252 + PRIVATE reduce 252 + PROTECTED reduce 252 + PUBLIC reduce 252 + STATIC reduce 252 + VOID reduce 252 + IDENTIFIER reduce 252 + EQUAL reduce 252 + LESSEQUAL reduce 252 + GREATEREQUAL reduce 252 + NOTEQUAL reduce 252 + LOGICALOR reduce 252 + LOGICALAND reduce 252 + INCREMENT reduce 252 + DECREMENT reduce 252 + ',' reduce 252 + ';' reduce 252 + '.' reduce 252 + '*' reduce 252 + '<' reduce 252 + '>' reduce 252 + '}' reduce 252 + ')' reduce 252 + '+' reduce 252 + '-' reduce 252 + '|' reduce 252 + '^' reduce 252 + '/' reduce 252 + '%' reduce 252 + + +382: shift/reduce conflict (shift 328, reduce 243) on '^' +state 382 + inclusiveorexpression : inclusiveorexpression '|' exclusiveorexpression . (243) + exclusiveorexpression : exclusiveorexpression . '^' andexpression (252) + + '^' shift 328 + ABSTRACT reduce 243 + BOOLEAN reduce 243 + CHAR reduce 243 + FINAL reduce 243 + INSTANCEOF reduce 243 + INT reduce 243 + PRIVATE reduce 243 + PROTECTED reduce 243 + PUBLIC reduce 243 + STATIC reduce 243 + VOID reduce 243 + IDENTIFIER reduce 243 + EQUAL reduce 243 + LESSEQUAL reduce 243 + GREATEREQUAL reduce 243 + NOTEQUAL reduce 243 + LOGICALOR reduce 243 + LOGICALAND reduce 243 + INCREMENT reduce 243 + DECREMENT reduce 243 + ',' reduce 243 + ';' reduce 243 + '.' reduce 243 + '*' reduce 243 + '<' reduce 243 + '>' reduce 243 + '}' reduce 243 + ')' reduce 243 + '&' reduce 243 + '+' reduce 243 + '-' reduce 243 + '|' reduce 243 + '/' reduce 243 + '%' reduce 243 + + +383: shift/reduce conflict (shift 329, reduce 231) on '|' +state 383 + conditionalandexpression : conditionalandexpression LOGICALAND inclusiveorexpression . (231) + inclusiveorexpression : inclusiveorexpression . '|' exclusiveorexpression (243) + + '|' shift 329 + ABSTRACT reduce 231 + BOOLEAN reduce 231 + CHAR reduce 231 + FINAL reduce 231 + INSTANCEOF reduce 231 + INT reduce 231 + PRIVATE reduce 231 + PROTECTED reduce 231 + PUBLIC reduce 231 + STATIC reduce 231 + VOID reduce 231 + IDENTIFIER reduce 231 + EQUAL reduce 231 + LESSEQUAL reduce 231 + GREATEREQUAL reduce 231 + NOTEQUAL reduce 231 + LOGICALOR reduce 231 + LOGICALAND reduce 231 + INCREMENT reduce 231 + DECREMENT reduce 231 + ',' reduce 231 + ';' reduce 231 + '.' reduce 231 + '*' reduce 231 + '<' reduce 231 + '>' reduce 231 + '}' reduce 231 + ')' reduce 231 + '&' reduce 231 + '+' reduce 231 + '-' reduce 231 + '^' reduce 231 + '/' reduce 231 + '%' reduce 231 + + +384: shift/reduce conflict (shift 330, reduce 206) on LOGICALAND +state 384 + conditionalorexpression : conditionalorexpression LOGICALOR conditionalandexpression . (206) + conditionalandexpression : conditionalandexpression . LOGICALAND inclusiveorexpression (231) + + LOGICALAND shift 330 + ABSTRACT reduce 206 + BOOLEAN reduce 206 + CHAR reduce 206 + FINAL reduce 206 + INSTANCEOF reduce 206 + INT reduce 206 + PRIVATE reduce 206 + PROTECTED reduce 206 + PUBLIC reduce 206 + STATIC reduce 206 + VOID reduce 206 + IDENTIFIER reduce 206 + EQUAL reduce 206 + LESSEQUAL reduce 206 + GREATEREQUAL reduce 206 + NOTEQUAL reduce 206 + LOGICALOR reduce 206 + INCREMENT reduce 206 + DECREMENT reduce 206 + ',' reduce 206 + ';' reduce 206 + '.' reduce 206 + '*' reduce 206 + '<' reduce 206 + '>' reduce 206 + '}' reduce 206 + ')' reduce 206 + '&' reduce 206 + '+' reduce 206 + '-' reduce 206 + '|' reduce 206 + '^' reduce 206 + '/' reduce 206 + '%' reduce 206 + + +state 385 + fielddeclarator : type variabledeclarator '=' expression . (81) + + . reduce 81 + + +state 386 + methodheader : modifiers '<' boundedMethodParameters '>' VOID . methoddeclarator (120) + methodheader : modifiers '<' boundedMethodParameters '>' VOID . methoddeclarator throws (122) + + IDENTIFIER shift 107 + . error + + methoddeclarator goto 405 + + +state 387 + methodheader : modifiers '<' boundedMethodParameters '>' type . methoddeclarator (110) + methodheader : modifiers '<' boundedMethodParameters '>' type . methoddeclarator throws (114) + + IDENTIFIER shift 107 + . error + + methoddeclarator goto 406 + + +state 388 + explicitconstructorinvocation : THIS '(' ')' . ';' (139) + + ';' shift 407 + . error + + +state 389 + explicitconstructorinvocation : THIS '(' argumentlist . ')' ';' (140) + argumentlist : argumentlist . ',' expression (154) + + ',' shift 397 + ')' shift 408 + . error + + +state 390 + constructorbody : '{' explicitconstructorinvocation blockstatements '}' . (96) + + . reduce 96 + + +state 391 + constantdeclaration : modifiers type IDENTIFIER '=' expression . ';' (79) + + ';' shift 409 + . error + + +state 392 + forstatement : FOR '(' ';' ';' . expression ')' statement (183) + forstatement : FOR '(' ';' ';' . ')' statement (184) + + NEW shift 219 + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + ')' shift 410 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 177 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 231 + equalityexpression goto 232 + andexpression goto 233 + exclusiveorexpression goto 234 + inclusiveorexpression goto 235 + conditionalandexpression goto 236 + conditionalorexpression goto 237 + conditionalexpression goto 238 + assignmentexpression goto 239 + lambdaexpression goto 188 + expression goto 411 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + classinstancecreationexpression goto 245 + assignment goto 246 + lefthandside goto 205 + methodinvocation goto 247 + castexpression goto 248 + + +state 393 + forstatement : FOR '(' ';' expression . ';' expression ')' statement (180) + forstatement : FOR '(' ';' expression . ';' ')' statement (182) + + ';' shift 412 + . error + + +state 394 + forstatement : FOR '(' expression ';' . expression ';' expression ')' statement (177) + forstatement : FOR '(' expression ';' . expression ';' ')' statement (178) + forstatement : FOR '(' expression ';' . ';' expression ')' statement (179) + forstatement : FOR '(' expression ';' . ';' ')' statement (181) + + NEW shift 219 + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + ';' shift 413 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 177 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 231 + equalityexpression goto 232 + andexpression goto 233 + exclusiveorexpression goto 234 + inclusiveorexpression goto 235 + conditionalandexpression goto 236 + conditionalorexpression goto 237 + conditionalexpression goto 238 + assignmentexpression goto 239 + lambdaexpression goto 188 + expression goto 414 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + classinstancecreationexpression goto 245 + assignment goto 246 + lefthandside goto 205 + methodinvocation goto 247 + castexpression goto 248 + + +state 395 + ifthenstatement : IF '(' expression ')' . statement (174) + ifthenelsestatement : IF '(' expression ')' . statementnoshortif ELSE statement (175) + + FOR shift 154 + IF shift 415 + RETURN shift 156 + THIS shift 157 + WHILE shift 416 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + ';' shift 170 + '{' shift 105 + '(' shift 172 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 177 + block goto 179 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 187 + lambdaexpression goto 188 + statementexpression goto 189 + preincrementexpression goto 190 + predecrementexpression goto 191 + postincrementexpression goto 192 + postdecrementexpression goto 193 + expressionstatement goto 194 + statementwithouttrailingsubstatement goto 417 + statement goto 418 + statementnoshortif goto 419 + whilestatement goto 198 + forstatement goto 199 + whilestatementnoshortif goto 420 + ifthenstatement goto 200 + ifthenelsestatement goto 201 + ifthenelsestatementnoshortif goto 421 + emptystatement goto 202 + returnstatement goto 203 + assignment goto 204 + lefthandside goto 205 + methodinvocation goto 206 + + +state 396 + whilestatement : WHILE '(' expression ')' . statement (176) + + FOR shift 154 + IF shift 155 + RETURN shift 156 + THIS shift 157 + WHILE shift 158 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + ';' shift 170 + '{' shift 105 + '(' shift 172 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 177 + block goto 179 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 187 + lambdaexpression goto 188 + statementexpression goto 189 + preincrementexpression goto 190 + predecrementexpression goto 191 + postincrementexpression goto 192 + postdecrementexpression goto 193 + expressionstatement goto 194 + statementwithouttrailingsubstatement goto 195 + statement goto 422 + whilestatement goto 198 + forstatement goto 199 + ifthenstatement goto 200 + ifthenelsestatement goto 201 + emptystatement goto 202 + returnstatement goto 203 + assignment goto 204 + lefthandside goto 205 + methodinvocation goto 206 + + +state 397 + argumentlist : argumentlist ',' . expression (154) + + NEW shift 219 + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 177 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 231 + equalityexpression goto 232 + andexpression goto 233 + exclusiveorexpression goto 234 + inclusiveorexpression goto 235 + conditionalandexpression goto 236 + conditionalorexpression goto 237 + conditionalexpression goto 238 + assignmentexpression goto 239 + lambdaexpression goto 188 + expression goto 423 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + classinstancecreationexpression goto 245 + assignment goto 246 + lefthandside goto 205 + methodinvocation goto 247 + castexpression goto 248 + + +state 398 + methodinvocation : name '(' argumentlist ')' . (225) + + . reduce 225 + + +state 399 + methodinvocation : primary '.' IDENTIFIER '(' . ')' (226) + methodinvocation : primary '.' IDENTIFIER '(' . argumentlist ')' (227) + + NEW shift 219 + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + ')' shift 424 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 177 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 231 + equalityexpression goto 232 + andexpression goto 233 + exclusiveorexpression goto 234 + inclusiveorexpression goto 235 + conditionalandexpression goto 236 + conditionalorexpression goto 237 + conditionalexpression goto 238 + assignmentexpression goto 239 + lambdaexpression goto 188 + expression goto 354 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + classinstancecreationexpression goto 245 + assignment goto 246 + lefthandside goto 205 + argumentlist goto 425 + methodinvocation goto 247 + castexpression goto 248 + + +state 400 + methodheader : '<' boundedMethodParameters '>' VOID methoddeclarator throws . (121) + + . reduce 121 + + +state 401 + methodheader : '<' boundedMethodParameters '>' type methoddeclarator throws . (112) + + . reduce 112 + + +state 402 + classinstancecreationexpression : NEW classtype '(' ')' . (228) + + . reduce 228 + + +state 403 + argumentlist : argumentlist . ',' expression (154) + classinstancecreationexpression : NEW classtype '(' argumentlist . ')' (229) + + ',' shift 397 + ')' shift 426 + . error + + +state 404 + castexpression : '(' primitivetype ')' unaryexpression . (261) + + . reduce 261 + + +state 405 + methodheader : modifiers '<' boundedMethodParameters '>' VOID methoddeclarator . (120) + methodheader : modifiers '<' boundedMethodParameters '>' VOID methoddeclarator . throws (122) + + THROWS shift 114 + ';' reduce 120 + '{' reduce 120 + + throws goto 427 + + +state 406 + methodheader : modifiers '<' boundedMethodParameters '>' type methoddeclarator . (110) + methodheader : modifiers '<' boundedMethodParameters '>' type methoddeclarator . throws (114) + + THROWS shift 114 + ';' reduce 110 + '{' reduce 110 + + throws goto 428 + + +state 407 + explicitconstructorinvocation : THIS '(' ')' ';' . (139) + + . reduce 139 + + +state 408 + explicitconstructorinvocation : THIS '(' argumentlist ')' . ';' (140) + + ';' shift 429 + . error + + +state 409 + constantdeclaration : modifiers type IDENTIFIER '=' expression ';' . (79) + + . reduce 79 + + +state 410 + forstatement : FOR '(' ';' ';' ')' . statement (184) + + FOR shift 154 + IF shift 155 + RETURN shift 156 + THIS shift 157 + WHILE shift 158 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + ';' shift 170 + '{' shift 105 + '(' shift 172 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 177 + block goto 179 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 187 + lambdaexpression goto 188 + statementexpression goto 189 + preincrementexpression goto 190 + predecrementexpression goto 191 + postincrementexpression goto 192 + postdecrementexpression goto 193 + expressionstatement goto 194 + statementwithouttrailingsubstatement goto 195 + statement goto 430 + whilestatement goto 198 + forstatement goto 199 + ifthenstatement goto 200 + ifthenelsestatement goto 201 + emptystatement goto 202 + returnstatement goto 203 + assignment goto 204 + lefthandside goto 205 + methodinvocation goto 206 + + +state 411 + forstatement : FOR '(' ';' ';' expression . ')' statement (183) + + ')' shift 431 + . error + + +state 412 + forstatement : FOR '(' ';' expression ';' . expression ')' statement (180) + forstatement : FOR '(' ';' expression ';' . ')' statement (182) + + NEW shift 219 + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + ')' shift 432 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 177 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 231 + equalityexpression goto 232 + andexpression goto 233 + exclusiveorexpression goto 234 + inclusiveorexpression goto 235 + conditionalandexpression goto 236 + conditionalorexpression goto 237 + conditionalexpression goto 238 + assignmentexpression goto 239 + lambdaexpression goto 188 + expression goto 433 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + classinstancecreationexpression goto 245 + assignment goto 246 + lefthandside goto 205 + methodinvocation goto 247 + castexpression goto 248 + + +state 413 + forstatement : FOR '(' expression ';' ';' . expression ')' statement (179) + forstatement : FOR '(' expression ';' ';' . ')' statement (181) + + NEW shift 219 + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + ')' shift 434 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 177 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 231 + equalityexpression goto 232 + andexpression goto 233 + exclusiveorexpression goto 234 + inclusiveorexpression goto 235 + conditionalandexpression goto 236 + conditionalorexpression goto 237 + conditionalexpression goto 238 + assignmentexpression goto 239 + lambdaexpression goto 188 + expression goto 435 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + classinstancecreationexpression goto 245 + assignment goto 246 + lefthandside goto 205 + methodinvocation goto 247 + castexpression goto 248 + + +state 414 + forstatement : FOR '(' expression ';' expression . ';' expression ')' statement (177) + forstatement : FOR '(' expression ';' expression . ';' ')' statement (178) + + ';' shift 436 + . error + + +state 415 + ifthenstatement : IF . '(' expression ')' statement (174) + ifthenelsestatement : IF . '(' expression ')' statementnoshortif ELSE statement (175) + ifthenelsestatementnoshortif : IF . '(' expression ')' statementnoshortif ELSE statementnoshortif (203) + + '(' shift 437 + . error + + +state 416 + whilestatement : WHILE . '(' expression ')' statement (176) + whilestatementnoshortif : WHILE . '(' expression ')' statementnoshortif (204) + + '(' shift 438 + . error + + +state 417 + statement : statementwithouttrailingsubstatement . (159) + statementnoshortif : statementwithouttrailingsubstatement . (191) + + BOOLEAN reduce 159 + CHAR reduce 159 + ELSE reduce 191 + FOR reduce 159 + IF reduce 159 + INT reduce 159 + RETURN reduce 159 + THIS reduce 159 + WHILE reduce 159 + INTLITERAL reduce 159 + LONGLITERAL reduce 159 + DOUBLELITERAL reduce 159 + FLOATLITERAL reduce 159 + BOOLLITERAL reduce 159 + JNULL reduce 159 + CHARLITERAL reduce 159 + STRINGLITERAL reduce 159 + IDENTIFIER reduce 159 + INCREMENT reduce 159 + DECREMENT reduce 159 + ';' reduce 159 + '{' reduce 159 + '}' reduce 159 + '(' reduce 159 + + +state 418 + ifthenstatement : IF '(' expression ')' statement . (174) + + . reduce 174 + + +state 419 + ifthenelsestatement : IF '(' expression ')' statementnoshortif . ELSE statement (175) + + ELSE shift 439 + . error + + +state 420 + statementnoshortif : whilestatementnoshortif . (193) + + . reduce 193 + + +state 421 + statementnoshortif : ifthenelsestatementnoshortif . (192) + + . reduce 192 + + +state 422 + whilestatement : WHILE '(' expression ')' statement . (176) + + . reduce 176 + + +state 423 + argumentlist : argumentlist ',' expression . (154) + + . reduce 154 + + +state 424 + methodinvocation : primary '.' IDENTIFIER '(' ')' . (226) + + . reduce 226 + + +state 425 + argumentlist : argumentlist . ',' expression (154) + methodinvocation : primary '.' IDENTIFIER '(' argumentlist . ')' (227) + + ',' shift 397 + ')' shift 440 + . error + + +state 426 + classinstancecreationexpression : NEW classtype '(' argumentlist ')' . (229) + + . reduce 229 + + +state 427 + methodheader : modifiers '<' boundedMethodParameters '>' VOID methoddeclarator throws . (122) + + . reduce 122 + + +state 428 + methodheader : modifiers '<' boundedMethodParameters '>' type methoddeclarator throws . (114) + + . reduce 114 + + +state 429 + explicitconstructorinvocation : THIS '(' argumentlist ')' ';' . (140) + + . reduce 140 + + +state 430 + forstatement : FOR '(' ';' ';' ')' statement . (184) + + . reduce 184 + + +state 431 + forstatement : FOR '(' ';' ';' expression ')' . statement (183) + + FOR shift 154 + IF shift 155 + RETURN shift 156 + THIS shift 157 + WHILE shift 158 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + ';' shift 170 + '{' shift 105 + '(' shift 172 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 177 + block goto 179 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 187 + lambdaexpression goto 188 + statementexpression goto 189 + preincrementexpression goto 190 + predecrementexpression goto 191 + postincrementexpression goto 192 + postdecrementexpression goto 193 + expressionstatement goto 194 + statementwithouttrailingsubstatement goto 195 + statement goto 441 + whilestatement goto 198 + forstatement goto 199 + ifthenstatement goto 200 + ifthenelsestatement goto 201 + emptystatement goto 202 + returnstatement goto 203 + assignment goto 204 + lefthandside goto 205 + methodinvocation goto 206 + + +state 432 + forstatement : FOR '(' ';' expression ';' ')' . statement (182) + + FOR shift 154 + IF shift 155 + RETURN shift 156 + THIS shift 157 + WHILE shift 158 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + ';' shift 170 + '{' shift 105 + '(' shift 172 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 177 + block goto 179 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 187 + lambdaexpression goto 188 + statementexpression goto 189 + preincrementexpression goto 190 + predecrementexpression goto 191 + postincrementexpression goto 192 + postdecrementexpression goto 193 + expressionstatement goto 194 + statementwithouttrailingsubstatement goto 195 + statement goto 442 + whilestatement goto 198 + forstatement goto 199 + ifthenstatement goto 200 + ifthenelsestatement goto 201 + emptystatement goto 202 + returnstatement goto 203 + assignment goto 204 + lefthandside goto 205 + methodinvocation goto 206 + + +state 433 + forstatement : FOR '(' ';' expression ';' expression . ')' statement (180) + + ')' shift 443 + . error + + +state 434 + forstatement : FOR '(' expression ';' ';' ')' . statement (181) + + FOR shift 154 + IF shift 155 + RETURN shift 156 + THIS shift 157 + WHILE shift 158 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + ';' shift 170 + '{' shift 105 + '(' shift 172 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 177 + block goto 179 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 187 + lambdaexpression goto 188 + statementexpression goto 189 + preincrementexpression goto 190 + predecrementexpression goto 191 + postincrementexpression goto 192 + postdecrementexpression goto 193 + expressionstatement goto 194 + statementwithouttrailingsubstatement goto 195 + statement goto 444 + whilestatement goto 198 + forstatement goto 199 + ifthenstatement goto 200 + ifthenelsestatement goto 201 + emptystatement goto 202 + returnstatement goto 203 + assignment goto 204 + lefthandside goto 205 + methodinvocation goto 206 + + +state 435 + forstatement : FOR '(' expression ';' ';' expression . ')' statement (179) + + ')' shift 445 + . error + + +state 436 + forstatement : FOR '(' expression ';' expression ';' . expression ')' statement (177) + forstatement : FOR '(' expression ';' expression ';' . ')' statement (178) + + NEW shift 219 + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + ')' shift 446 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 177 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 231 + equalityexpression goto 232 + andexpression goto 233 + exclusiveorexpression goto 234 + inclusiveorexpression goto 235 + conditionalandexpression goto 236 + conditionalorexpression goto 237 + conditionalexpression goto 238 + assignmentexpression goto 239 + lambdaexpression goto 188 + expression goto 447 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + classinstancecreationexpression goto 245 + assignment goto 246 + lefthandside goto 205 + methodinvocation goto 247 + castexpression goto 248 + + +state 437 + ifthenstatement : IF '(' . expression ')' statement (174) + ifthenelsestatement : IF '(' . expression ')' statementnoshortif ELSE statement (175) + ifthenelsestatementnoshortif : IF '(' . expression ')' statementnoshortif ELSE statementnoshortif (203) + + NEW shift 219 + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 177 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 231 + equalityexpression goto 232 + andexpression goto 233 + exclusiveorexpression goto 234 + inclusiveorexpression goto 235 + conditionalandexpression goto 236 + conditionalorexpression goto 237 + conditionalexpression goto 238 + assignmentexpression goto 239 + lambdaexpression goto 188 + expression goto 448 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + classinstancecreationexpression goto 245 + assignment goto 246 + lefthandside goto 205 + methodinvocation goto 247 + castexpression goto 248 + + +state 438 + whilestatement : WHILE '(' . expression ')' statement (176) + whilestatementnoshortif : WHILE '(' . expression ')' statementnoshortif (204) + + NEW shift 219 + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 177 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 231 + equalityexpression goto 232 + andexpression goto 233 + exclusiveorexpression goto 234 + inclusiveorexpression goto 235 + conditionalandexpression goto 236 + conditionalorexpression goto 237 + conditionalexpression goto 238 + assignmentexpression goto 239 + lambdaexpression goto 188 + expression goto 449 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + classinstancecreationexpression goto 245 + assignment goto 246 + lefthandside goto 205 + methodinvocation goto 247 + castexpression goto 248 + + +state 439 + ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE . statement (175) + + FOR shift 154 + IF shift 155 + RETURN shift 156 + THIS shift 157 + WHILE shift 158 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + ';' shift 170 + '{' shift 105 + '(' shift 172 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 177 + block goto 179 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 187 + lambdaexpression goto 188 + statementexpression goto 189 + preincrementexpression goto 190 + predecrementexpression goto 191 + postincrementexpression goto 192 + postdecrementexpression goto 193 + expressionstatement goto 194 + statementwithouttrailingsubstatement goto 195 + statement goto 450 + whilestatement goto 198 + forstatement goto 199 + ifthenstatement goto 200 + ifthenelsestatement goto 201 + emptystatement goto 202 + returnstatement goto 203 + assignment goto 204 + lefthandside goto 205 + methodinvocation goto 206 + + +state 440 + methodinvocation : primary '.' IDENTIFIER '(' argumentlist ')' . (227) + + . reduce 227 + + +state 441 + forstatement : FOR '(' ';' ';' expression ')' statement . (183) + + . reduce 183 + + state 442 - paralist : paralist ',' IDENTIFIER '<' paralist '>' . (36) - - . reduce 36 - - -state 443 - forstatement : FOR '(' ';' ';' ')' statement . (182) + forstatement : FOR '(' ';' expression ';' ')' statement . (182) . reduce 182 -state 444 - forstatement : FOR '(' ';' ';' expression ')' . statement (181) +state 443 + forstatement : FOR '(' ';' expression ';' expression ')' . statement (180) - FOR shift 156 - IF shift 157 - RETURN shift 158 - THIS shift 159 - WHILE shift 160 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 + FOR shift 154 + IF shift 155 + RETURN shift 156 + THIS shift 157 + WHILE shift 158 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - ';' shift 172 + INCREMENT shift 168 + DECREMENT shift 169 + ';' shift 170 '{' shift 105 - '(' shift 174 + '(' shift 172 . error - simplename goto 226 - qualifiedname goto 178 - name goto 179 - block goto 181 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 189 - lambdaexpression goto 190 - statementexpression goto 191 - preincrementexpression goto 192 - predecrementexpression goto 193 - postincrementexpression goto 194 - postdecrementexpression goto 195 - expressionstatement goto 196 - statementwithouttrailingsubstatement goto 197 - statement goto 454 - whilestatement goto 200 - forstatement goto 201 - ifthenstatement goto 202 - ifthenelsestatement goto 203 - emptystatement goto 204 - returnstatement goto 205 - assignment goto 206 - lefthandside goto 207 - methodinvocation goto 208 + simplename goto 224 + qualifiedname goto 176 + name goto 177 + block goto 179 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 187 + lambdaexpression goto 188 + statementexpression goto 189 + preincrementexpression goto 190 + predecrementexpression goto 191 + postincrementexpression goto 192 + postdecrementexpression goto 193 + expressionstatement goto 194 + statementwithouttrailingsubstatement goto 195 + statement goto 451 + whilestatement goto 198 + forstatement goto 199 + ifthenstatement goto 200 + ifthenelsestatement goto 201 + emptystatement goto 202 + returnstatement goto 203 + assignment goto 204 + lefthandside goto 205 + methodinvocation goto 206 + + +state 444 + forstatement : FOR '(' expression ';' ';' ')' statement . (181) + + . reduce 181 state 445 - forstatement : FOR '(' ';' expression ';' ')' . statement (180) + forstatement : FOR '(' expression ';' ';' expression ')' . statement (179) - FOR shift 156 - IF shift 157 - RETURN shift 158 - THIS shift 159 - WHILE shift 160 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 + FOR shift 154 + IF shift 155 + RETURN shift 156 + THIS shift 157 + WHILE shift 158 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - ';' shift 172 + INCREMENT shift 168 + DECREMENT shift 169 + ';' shift 170 '{' shift 105 - '(' shift 174 + '(' shift 172 . error - simplename goto 226 - qualifiedname goto 178 - name goto 179 - block goto 181 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 189 - lambdaexpression goto 190 - statementexpression goto 191 - preincrementexpression goto 192 - predecrementexpression goto 193 - postincrementexpression goto 194 - postdecrementexpression goto 195 - expressionstatement goto 196 - statementwithouttrailingsubstatement goto 197 - statement goto 455 - whilestatement goto 200 - forstatement goto 201 - ifthenstatement goto 202 - ifthenelsestatement goto 203 - emptystatement goto 204 - returnstatement goto 205 - assignment goto 206 - lefthandside goto 207 - methodinvocation goto 208 + simplename goto 224 + qualifiedname goto 176 + name goto 177 + block goto 179 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 187 + lambdaexpression goto 188 + statementexpression goto 189 + preincrementexpression goto 190 + predecrementexpression goto 191 + postincrementexpression goto 192 + postdecrementexpression goto 193 + expressionstatement goto 194 + statementwithouttrailingsubstatement goto 195 + statement goto 452 + whilestatement goto 198 + forstatement goto 199 + ifthenstatement goto 200 + ifthenelsestatement goto 201 + emptystatement goto 202 + returnstatement goto 203 + assignment goto 204 + lefthandside goto 205 + methodinvocation goto 206 state 446 - forstatement : FOR '(' ';' expression ';' expression . ')' statement (178) + forstatement : FOR '(' expression ';' expression ';' ')' . statement (178) + + FOR shift 154 + IF shift 155 + RETURN shift 156 + THIS shift 157 + WHILE shift 158 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + ';' shift 170 + '{' shift 105 + '(' shift 172 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 177 + block goto 179 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 187 + lambdaexpression goto 188 + statementexpression goto 189 + preincrementexpression goto 190 + predecrementexpression goto 191 + postincrementexpression goto 192 + postdecrementexpression goto 193 + expressionstatement goto 194 + statementwithouttrailingsubstatement goto 195 + statement goto 453 + whilestatement goto 198 + forstatement goto 199 + ifthenstatement goto 200 + ifthenelsestatement goto 201 + emptystatement goto 202 + returnstatement goto 203 + assignment goto 204 + lefthandside goto 205 + methodinvocation goto 206 + + +state 447 + forstatement : FOR '(' expression ';' expression ';' expression . ')' statement (177) + + ')' shift 454 + . error + + +state 448 + ifthenstatement : IF '(' expression . ')' statement (174) + ifthenelsestatement : IF '(' expression . ')' statementnoshortif ELSE statement (175) + ifthenelsestatementnoshortif : IF '(' expression . ')' statementnoshortif ELSE statementnoshortif (203) + + ')' shift 455 + . error + + +state 449 + whilestatement : WHILE '(' expression . ')' statement (176) + whilestatementnoshortif : WHILE '(' expression . ')' statementnoshortif (204) ')' shift 456 . error -state 447 - forstatement : FOR '(' expression ';' ';' ')' . statement (179) - - FOR shift 156 - IF shift 157 - RETURN shift 158 - THIS shift 159 - WHILE shift 160 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - ';' shift 172 - '{' shift 105 - '(' shift 174 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 179 - block goto 181 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 189 - lambdaexpression goto 190 - statementexpression goto 191 - preincrementexpression goto 192 - predecrementexpression goto 193 - postincrementexpression goto 194 - postdecrementexpression goto 195 - expressionstatement goto 196 - statementwithouttrailingsubstatement goto 197 - statement goto 457 - whilestatement goto 200 - forstatement goto 201 - ifthenstatement goto 202 - ifthenelsestatement goto 203 - emptystatement goto 204 - returnstatement goto 205 - assignment goto 206 - lefthandside goto 207 - methodinvocation goto 208 - - -state 448 - forstatement : FOR '(' expression ';' ';' expression . ')' statement (177) - - ')' shift 458 - . error - - -state 449 - forstatement : FOR '(' expression ';' expression ';' . expression ')' statement (175) - forstatement : FOR '(' expression ';' expression ';' . ')' statement (176) - - NEW shift 221 - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - ')' shift 459 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 179 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 233 - equalityexpression goto 234 - andexpression goto 235 - exclusiveorexpression goto 236 - inclusiveorexpression goto 237 - conditionalandexpression goto 238 - conditionalorexpression goto 239 - conditionalexpression goto 240 - assignmentexpression goto 241 - lambdaexpression goto 190 - expression goto 460 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - classinstancecreationexpression goto 247 - assignment goto 248 - lefthandside goto 207 - methodinvocation goto 249 - castexpression goto 250 - - state 450 - ifthenstatement : IF '(' . expression ')' statement (172) - ifthenelsestatement : IF '(' . expression ')' statementnoshortif ELSE statement (173) - ifthenelsestatementnoshortif : IF '(' . expression ')' statementnoshortif ELSE statementnoshortif (201) - - NEW shift 221 - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 179 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 233 - equalityexpression goto 234 - andexpression goto 235 - exclusiveorexpression goto 236 - inclusiveorexpression goto 237 - conditionalandexpression goto 238 - conditionalorexpression goto 239 - conditionalexpression goto 240 - assignmentexpression goto 241 - lambdaexpression goto 190 - expression goto 461 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - classinstancecreationexpression goto 247 - assignment goto 248 - lefthandside goto 207 - methodinvocation goto 249 - castexpression goto 250 - - -state 451 - whilestatement : WHILE '(' . expression ')' statement (174) - whilestatementnoshortif : WHILE '(' . expression ')' statementnoshortif (202) - - NEW shift 221 - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 179 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 233 - equalityexpression goto 234 - andexpression goto 235 - exclusiveorexpression goto 236 - inclusiveorexpression goto 237 - conditionalandexpression goto 238 - conditionalorexpression goto 239 - conditionalexpression goto 240 - assignmentexpression goto 241 - lambdaexpression goto 190 - expression goto 462 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - classinstancecreationexpression goto 247 - assignment goto 248 - lefthandside goto 207 - methodinvocation goto 249 - castexpression goto 250 - - -state 452 - ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE . statement (173) - - FOR shift 156 - IF shift 157 - RETURN shift 158 - THIS shift 159 - WHILE shift 160 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - ';' shift 172 - '{' shift 105 - '(' shift 174 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 179 - block goto 181 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 189 - lambdaexpression goto 190 - statementexpression goto 191 - preincrementexpression goto 192 - predecrementexpression goto 193 - postincrementexpression goto 194 - postdecrementexpression goto 195 - expressionstatement goto 196 - statementwithouttrailingsubstatement goto 197 - statement goto 463 - whilestatement goto 200 - forstatement goto 201 - ifthenstatement goto 202 - ifthenelsestatement goto 203 - emptystatement goto 204 - returnstatement goto 205 - assignment goto 206 - lefthandside goto 207 - methodinvocation goto 208 - - -state 453 - methodinvocation : primary '.' IDENTIFIER '(' argumentlist ')' . (225) - - . reduce 225 - - -state 454 - forstatement : FOR '(' ';' ';' expression ')' statement . (181) - - . reduce 181 - - -state 455 - forstatement : FOR '(' ';' expression ';' ')' statement . (180) - - . reduce 180 - - -state 456 - forstatement : FOR '(' ';' expression ';' expression ')' . statement (178) - - FOR shift 156 - IF shift 157 - RETURN shift 158 - THIS shift 159 - WHILE shift 160 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - ';' shift 172 - '{' shift 105 - '(' shift 174 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 179 - block goto 181 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 189 - lambdaexpression goto 190 - statementexpression goto 191 - preincrementexpression goto 192 - predecrementexpression goto 193 - postincrementexpression goto 194 - postdecrementexpression goto 195 - expressionstatement goto 196 - statementwithouttrailingsubstatement goto 197 - statement goto 464 - whilestatement goto 200 - forstatement goto 201 - ifthenstatement goto 202 - ifthenelsestatement goto 203 - emptystatement goto 204 - returnstatement goto 205 - assignment goto 206 - lefthandside goto 207 - methodinvocation goto 208 - - -state 457 - forstatement : FOR '(' expression ';' ';' ')' statement . (179) - - . reduce 179 - - -state 458 - forstatement : FOR '(' expression ';' ';' expression ')' . statement (177) - - FOR shift 156 - IF shift 157 - RETURN shift 158 - THIS shift 159 - WHILE shift 160 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - ';' shift 172 - '{' shift 105 - '(' shift 174 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 179 - block goto 181 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 189 - lambdaexpression goto 190 - statementexpression goto 191 - preincrementexpression goto 192 - predecrementexpression goto 193 - postincrementexpression goto 194 - postdecrementexpression goto 195 - expressionstatement goto 196 - statementwithouttrailingsubstatement goto 197 - statement goto 465 - whilestatement goto 200 - forstatement goto 201 - ifthenstatement goto 202 - ifthenelsestatement goto 203 - emptystatement goto 204 - returnstatement goto 205 - assignment goto 206 - lefthandside goto 207 - methodinvocation goto 208 - - -state 459 - forstatement : FOR '(' expression ';' expression ';' ')' . statement (176) - - FOR shift 156 - IF shift 157 - RETURN shift 158 - THIS shift 159 - WHILE shift 160 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - ';' shift 172 - '{' shift 105 - '(' shift 174 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 179 - block goto 181 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 189 - lambdaexpression goto 190 - statementexpression goto 191 - preincrementexpression goto 192 - predecrementexpression goto 193 - postincrementexpression goto 194 - postdecrementexpression goto 195 - expressionstatement goto 196 - statementwithouttrailingsubstatement goto 197 - statement goto 466 - whilestatement goto 200 - forstatement goto 201 - ifthenstatement goto 202 - ifthenelsestatement goto 203 - emptystatement goto 204 - returnstatement goto 205 - assignment goto 206 - lefthandside goto 207 - methodinvocation goto 208 - - -state 460 - forstatement : FOR '(' expression ';' expression ';' expression . ')' statement (175) - - ')' shift 467 - . error - - -state 461 - ifthenstatement : IF '(' expression . ')' statement (172) - ifthenelsestatement : IF '(' expression . ')' statementnoshortif ELSE statement (173) - ifthenelsestatementnoshortif : IF '(' expression . ')' statementnoshortif ELSE statementnoshortif (201) - - ')' shift 468 - . error - - -state 462 - whilestatement : WHILE '(' expression . ')' statement (174) - whilestatementnoshortif : WHILE '(' expression . ')' statementnoshortif (202) - - ')' shift 469 - . error - - -state 463 - ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE statement . (173) - - . reduce 173 - - -state 464 - forstatement : FOR '(' ';' expression ';' expression ')' statement . (178) - - . reduce 178 - - -state 465 - forstatement : FOR '(' expression ';' ';' expression ')' statement . (177) - - . reduce 177 - - -state 466 - forstatement : FOR '(' expression ';' expression ';' ')' statement . (176) - - . reduce 176 - - -state 467 - forstatement : FOR '(' expression ';' expression ';' expression ')' . statement (175) - - FOR shift 156 - IF shift 157 - RETURN shift 158 - THIS shift 159 - WHILE shift 160 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - ';' shift 172 - '{' shift 105 - '(' shift 174 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 179 - block goto 181 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 189 - lambdaexpression goto 190 - statementexpression goto 191 - preincrementexpression goto 192 - predecrementexpression goto 193 - postincrementexpression goto 194 - postdecrementexpression goto 195 - expressionstatement goto 196 - statementwithouttrailingsubstatement goto 197 - statement goto 470 - whilestatement goto 200 - forstatement goto 201 - ifthenstatement goto 202 - ifthenelsestatement goto 203 - emptystatement goto 204 - returnstatement goto 205 - assignment goto 206 - lefthandside goto 207 - methodinvocation goto 208 - - -state 468 - ifthenstatement : IF '(' expression ')' . statement (172) - ifthenelsestatement : IF '(' expression ')' . statementnoshortif ELSE statement (173) - ifthenelsestatementnoshortif : IF '(' expression ')' . statementnoshortif ELSE statementnoshortif (201) - - FOR shift 156 - IF shift 427 - RETURN shift 158 - THIS shift 159 - WHILE shift 428 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - ';' shift 172 - '{' shift 105 - '(' shift 174 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 179 - block goto 181 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 189 - lambdaexpression goto 190 - statementexpression goto 191 - preincrementexpression goto 192 - predecrementexpression goto 193 - postincrementexpression goto 194 - postdecrementexpression goto 195 - expressionstatement goto 196 - statementwithouttrailingsubstatement goto 429 - statement goto 430 - statementnoshortif goto 471 - whilestatement goto 200 - forstatement goto 201 - whilestatementnoshortif goto 432 - ifthenstatement goto 202 - ifthenelsestatement goto 203 - ifthenelsestatementnoshortif goto 433 - emptystatement goto 204 - returnstatement goto 205 - assignment goto 206 - lefthandside goto 207 - methodinvocation goto 208 - - -state 469 - whilestatement : WHILE '(' expression ')' . statement (174) - whilestatementnoshortif : WHILE '(' expression ')' . statementnoshortif (202) - - FOR shift 156 - IF shift 427 - RETURN shift 158 - THIS shift 159 - WHILE shift 428 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - ';' shift 172 - '{' shift 105 - '(' shift 174 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 179 - block goto 181 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 189 - lambdaexpression goto 190 - statementexpression goto 191 - preincrementexpression goto 192 - predecrementexpression goto 193 - postincrementexpression goto 194 - postdecrementexpression goto 195 - expressionstatement goto 196 - statementwithouttrailingsubstatement goto 429 - statement goto 434 - statementnoshortif goto 472 - whilestatement goto 200 - forstatement goto 201 - whilestatementnoshortif goto 432 - ifthenstatement goto 202 - ifthenelsestatement goto 203 - ifthenelsestatementnoshortif goto 433 - emptystatement goto 204 - returnstatement goto 205 - assignment goto 206 - lefthandside goto 207 - methodinvocation goto 208 - - -state 470 - forstatement : FOR '(' expression ';' expression ';' expression ')' statement . (175) + ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE statement . (175) . reduce 175 -state 471 - ifthenelsestatement : IF '(' expression ')' statementnoshortif . ELSE statement (173) - ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif . ELSE statementnoshortif (201) +state 451 + forstatement : FOR '(' ';' expression ';' expression ')' statement . (180) - ELSE shift 473 - . error + . reduce 180 -state 472 - whilestatementnoshortif : WHILE '(' expression ')' statementnoshortif . (202) +state 452 + forstatement : FOR '(' expression ';' ';' expression ')' statement . (179) - . reduce 202 + . reduce 179 -state 473 - ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE . statement (173) - ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif ELSE . statementnoshortif (201) +state 453 + forstatement : FOR '(' expression ';' expression ';' ')' statement . (178) - FOR shift 156 - IF shift 427 - RETURN shift 158 - THIS shift 159 - WHILE shift 428 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 + . reduce 178 + + +state 454 + forstatement : FOR '(' expression ';' expression ';' expression ')' . statement (177) + + FOR shift 154 + IF shift 155 + RETURN shift 156 + THIS shift 157 + WHILE shift 158 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - ';' shift 172 + INCREMENT shift 168 + DECREMENT shift 169 + ';' shift 170 '{' shift 105 - '(' shift 174 + '(' shift 172 . error - simplename goto 226 - qualifiedname goto 178 - name goto 179 - block goto 181 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 189 - lambdaexpression goto 190 - statementexpression goto 191 - preincrementexpression goto 192 - predecrementexpression goto 193 - postincrementexpression goto 194 - postdecrementexpression goto 195 - expressionstatement goto 196 - statementwithouttrailingsubstatement goto 429 - statement goto 463 - statementnoshortif goto 474 - whilestatement goto 200 - forstatement goto 201 - whilestatementnoshortif goto 432 - ifthenstatement goto 202 - ifthenelsestatement goto 203 - ifthenelsestatementnoshortif goto 433 - emptystatement goto 204 - returnstatement goto 205 - assignment goto 206 - lefthandside goto 207 - methodinvocation goto 208 + simplename goto 224 + qualifiedname goto 176 + name goto 177 + block goto 179 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 187 + lambdaexpression goto 188 + statementexpression goto 189 + preincrementexpression goto 190 + predecrementexpression goto 191 + postincrementexpression goto 192 + postdecrementexpression goto 193 + expressionstatement goto 194 + statementwithouttrailingsubstatement goto 195 + statement goto 457 + whilestatement goto 198 + forstatement goto 199 + ifthenstatement goto 200 + ifthenelsestatement goto 201 + emptystatement goto 202 + returnstatement goto 203 + assignment goto 204 + lefthandside goto 205 + methodinvocation goto 206 -state 474 - ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif ELSE statementnoshortif . (201) +state 455 + ifthenstatement : IF '(' expression ')' . statement (174) + ifthenelsestatement : IF '(' expression ')' . statementnoshortif ELSE statement (175) + ifthenelsestatementnoshortif : IF '(' expression ')' . statementnoshortif ELSE statementnoshortif (203) - . reduce 201 + FOR shift 154 + IF shift 415 + RETURN shift 156 + THIS shift 157 + WHILE shift 416 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + ';' shift 170 + '{' shift 105 + '(' shift 172 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 177 + block goto 179 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 187 + lambdaexpression goto 188 + statementexpression goto 189 + preincrementexpression goto 190 + predecrementexpression goto 191 + postincrementexpression goto 192 + postdecrementexpression goto 193 + expressionstatement goto 194 + statementwithouttrailingsubstatement goto 417 + statement goto 418 + statementnoshortif goto 458 + whilestatement goto 198 + forstatement goto 199 + whilestatementnoshortif goto 420 + ifthenstatement goto 200 + ifthenelsestatement goto 201 + ifthenelsestatementnoshortif goto 421 + emptystatement goto 202 + returnstatement goto 203 + assignment goto 204 + lefthandside goto 205 + methodinvocation goto 206 + + +state 456 + whilestatement : WHILE '(' expression ')' . statement (176) + whilestatementnoshortif : WHILE '(' expression ')' . statementnoshortif (204) + + FOR shift 154 + IF shift 415 + RETURN shift 156 + THIS shift 157 + WHILE shift 416 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + ';' shift 170 + '{' shift 105 + '(' shift 172 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 177 + block goto 179 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 187 + lambdaexpression goto 188 + statementexpression goto 189 + preincrementexpression goto 190 + predecrementexpression goto 191 + postincrementexpression goto 192 + postdecrementexpression goto 193 + expressionstatement goto 194 + statementwithouttrailingsubstatement goto 417 + statement goto 422 + statementnoshortif goto 459 + whilestatement goto 198 + forstatement goto 199 + whilestatementnoshortif goto 420 + ifthenstatement goto 200 + ifthenelsestatement goto 201 + ifthenelsestatementnoshortif goto 421 + emptystatement goto 202 + returnstatement goto 203 + assignment goto 204 + lefthandside goto 205 + methodinvocation goto 206 + + +state 457 + forstatement : FOR '(' expression ';' expression ';' expression ')' statement . (177) + + . reduce 177 + + +state 458 + ifthenelsestatement : IF '(' expression ')' statementnoshortif . ELSE statement (175) + ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif . ELSE statementnoshortif (203) + + ELSE shift 460 + . error + + +state 459 + whilestatementnoshortif : WHILE '(' expression ')' statementnoshortif . (204) + + . reduce 204 + + +state 460 + ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE . statement (175) + ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif ELSE . statementnoshortif (203) + + FOR shift 154 + IF shift 415 + RETURN shift 156 + THIS shift 157 + WHILE shift 416 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + ';' shift 170 + '{' shift 105 + '(' shift 172 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 177 + block goto 179 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 187 + lambdaexpression goto 188 + statementexpression goto 189 + preincrementexpression goto 190 + predecrementexpression goto 191 + postincrementexpression goto 192 + postdecrementexpression goto 193 + expressionstatement goto 194 + statementwithouttrailingsubstatement goto 417 + statement goto 450 + statementnoshortif goto 461 + whilestatement goto 198 + forstatement goto 199 + whilestatementnoshortif goto 420 + ifthenstatement goto 200 + ifthenelsestatement goto 201 + ifthenelsestatementnoshortif goto 421 + emptystatement goto 202 + returnstatement goto 203 + assignment goto 204 + lefthandside goto 205 + methodinvocation goto 206 + + +state 461 + ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif ELSE statementnoshortif . (203) + + . reduce 203 Rules never reduced: @@ -8278,35 +8178,44 @@ Rules never reduced: importdeclaration : IMPORT importqualifiedname ';' (5) importqualifiedname : name '.' IDENTIFIER (13) importqualifiedname : name '.' '*' (14) - variableinitializer : expression (155) + paralist : IDENTIFIER (32) + paralist : IDENTIFIER '<' paralist '>' (33) + paralist : wildcardparameter (34) + paralist : paralist ',' IDENTIFIER (35) + paralist : paralist ',' IDENTIFIER '<' paralist '>' (36) + paralist : paralist ',' wildcardparameter (37) + wildcardparameter : '?' (38) + wildcardparameter : '?' EXTENDS referencetype (39) + wildcardparameter : '?' SUPER referencetype (40) + variableinitializer : expression (157) State 43 contains 1 shift/reduce conflict. State 53 contains 1 shift/reduce conflict. State 84 contains 1 shift/reduce conflict. -State 179 contains 1 shift/reduce conflict. -State 188 contains 1 shift/reduce conflict. -State 227 contains 2 shift/reduce conflicts. -State 230 contains 3 shift/reduce conflicts. -State 231 contains 2 shift/reduce conflicts. -State 233 contains 5 shift/reduce conflicts. -State 234 contains 2 shift/reduce conflicts. +State 177 contains 1 shift/reduce conflict. +State 186 contains 1 shift/reduce conflict. +State 225 contains 2 shift/reduce conflicts. +State 228 contains 3 shift/reduce conflicts. +State 229 contains 2 shift/reduce conflicts. +State 231 contains 5 shift/reduce conflicts. +State 232 contains 2 shift/reduce conflicts. +State 233 contains 1 shift/reduce conflict. +State 234 contains 1 shift/reduce conflict. State 235 contains 1 shift/reduce conflict. State 236 contains 1 shift/reduce conflict. State 237 contains 1 shift/reduce conflict. -State 238 contains 1 shift/reduce conflict. -State 239 contains 1 shift/reduce conflict. -State 283 contains 1 shift/reduce conflict. -State 380 contains 3 shift/reduce conflicts. -State 381 contains 3 shift/reduce conflicts. -State 387 contains 5 shift/reduce conflicts. -State 388 contains 5 shift/reduce conflicts. -State 389 contains 2 shift/reduce conflicts. -State 390 contains 1 shift/reduce conflict. -State 391 contains 1 shift/reduce conflict. -State 392 contains 1 shift/reduce conflict. -State 393 contains 1 shift/reduce conflict. +State 278 contains 1 shift/reduce conflict. +State 371 contains 3 shift/reduce conflicts. +State 372 contains 3 shift/reduce conflicts. +State 378 contains 5 shift/reduce conflicts. +State 379 contains 5 shift/reduce conflicts. +State 380 contains 2 shift/reduce conflicts. +State 381 contains 1 shift/reduce conflict. +State 382 contains 1 shift/reduce conflict. +State 383 contains 1 shift/reduce conflict. +State 384 contains 1 shift/reduce conflict. -97 terminals, 116 nonterminals -279 grammar rules, 475 states +97 terminals, 117 nonterminals +281 grammar rules, 462 states From c65774492e05605d2ff3cddef26a122c546e0f18 Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Thu, 27 Mar 2014 16:50:36 +0100 Subject: [PATCH 39/79] =?UTF-8?q?Obsolete=20Klassen=20gel=C3=B6scht.=20All?= =?UTF-8?q?e=20Fehlermeldungen=20im=20src-Ordner=20behoben?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/mycompiler/MyCompiler.java | 1 - src/mycompiler/SourceFile.java | 2 +- src/mycompiler/myclass/Interface.java | 20 - src/mycompiler/myinterface/Interface.java | 60 ++- src/mycompiler/mytest/CByteCodeTest.java | 58 --- src/mycompiler/mytest/CInferenceTest.java | 103 ---- src/mycompiler/mytest/CSimpleTest.java | 90 ---- src/mycompiler/mytest/CWildcardTest.java | 92 ---- src/mycompiler/mytest/CompilerTestCase.java | 162 ------- src/mycompiler/mytest/JUnitTests.java | 98 ---- .../assumptions/CopyOfTypeAssumptions.java | 303 ------------ .../test/AbstractInferenceTest.java | 446 ------------------ 12 files changed, 38 insertions(+), 1397 deletions(-) delete mode 100644 src/mycompiler/myclass/Interface.java delete mode 100755 src/mycompiler/mytest/CByteCodeTest.java delete mode 100755 src/mycompiler/mytest/CInferenceTest.java delete mode 100755 src/mycompiler/mytest/CSimpleTest.java delete mode 100755 src/mycompiler/mytest/CWildcardTest.java delete mode 100755 src/mycompiler/mytest/CompilerTestCase.java delete mode 100755 src/mycompiler/mytest/JUnitTests.java delete mode 100644 src/typinferenz/assumptions/CopyOfTypeAssumptions.java delete mode 100755 test/mycompiler/test/AbstractInferenceTest.java diff --git a/src/mycompiler/MyCompiler.java b/src/mycompiler/MyCompiler.java index 1460ab22a..1788f1660 100755 --- a/src/mycompiler/MyCompiler.java +++ b/src/mycompiler/MyCompiler.java @@ -16,7 +16,6 @@ import java.util.Vector; import mycompiler.mybytecode.ClassFile; import mycompiler.myclass.Class; import mycompiler.myclass.ClassBody; -import mycompiler.myclass.Constructor_Backup; import mycompiler.myclass.DeclId; import mycompiler.myclass.FormalParameter; import mycompiler.myclass.ImportDeclarations; diff --git a/src/mycompiler/SourceFile.java b/src/mycompiler/SourceFile.java index 7b478a1ca..f4d57cf54 100755 --- a/src/mycompiler/SourceFile.java +++ b/src/mycompiler/SourceFile.java @@ -230,7 +230,7 @@ public class SourceFile codegenlog.info("Anzahl der Interfaces: " + Integer.toString(InterfaceVektor.size())); for(int i = 0; i < InterfaceVektor.size(); i++) { - InterfaceVektor.elementAt(i).codegen(this); + InterfaceVektor.elementAt(i).codegen(result); } codegenlog.info("Anzahl der Klassen: " diff --git a/src/mycompiler/myclass/Interface.java b/src/mycompiler/myclass/Interface.java deleted file mode 100644 index 4434b55bd..000000000 --- a/src/mycompiler/myclass/Interface.java +++ /dev/null @@ -1,20 +0,0 @@ -package mycompiler.myclass; - -import java.util.Vector; - -import mycompiler.mymodifier.Modifiers; -import mycompiler.mytype.Type; - -/** - * Ein Interface ist eine abstrakte Klasse, erbt daher von Class - * @author janulrich - * - */ -public class Interface extends Class { - - public Interface(String name){ - super(name); - } - - -} diff --git a/src/mycompiler/myinterface/Interface.java b/src/mycompiler/myinterface/Interface.java index 3005d2742..5394d0706 100755 --- a/src/mycompiler/myinterface/Interface.java +++ b/src/mycompiler/myinterface/Interface.java @@ -7,6 +7,7 @@ import java.util.Vector; import mycompiler.AClassOrInterface; import mycompiler.mybytecode.ClassFile; +import mycompiler.myclass.Class; import mycompiler.myclass.ClassHelper; import mycompiler.myclass.Constant; import mycompiler.myclass.FormalParameter; @@ -27,12 +28,46 @@ import mycompiler.mytypereconstruction.typeassumption.CParaTypeAssumption; import mycompiler.SourceFile; // ino.end +/** + * Ein Interface ist eine abstrakte Klasse, erbt daher von Class + * @author janulrich + * + */ +public class Interface extends Class { + + public Interface(String name){ + super(name); + } + + public Interface(String name, Modifiers modifiers) { + super(name,modifiers); + } + + public Vector getParaList() { + // TODO Auto-generated method stub + return null; + } + + public void setInterfaceBody(InterfaceBody interfaceBody) { + // TODO Auto-generated method stub + + } + + public void setParaList(Vector paraVector) { + // TODO Auto-generated method stub + + } + + +} + // ino.class.Interface.23932.description type=javadoc /** * Die Klasse stellt die Definition eines Interfaces dar. * @author SCJU * */ +/* // ino.end // ino.class.Interface.23932.declaration public class Interface implements AClassOrInterface @@ -85,23 +120,7 @@ public class Interface implements AClassOrInterface } // ino.end - - // ino.method.getParaList.23954.defdescription type=block - /*public Vector complete_paralist(boolean ext) - { - - Diese Funktion vervollt�ndigt die Parameterliste f�r vererbte Klassen - Vector child = paralist; - - paralist = (Vector)superclassid.get_ParaList(); - - for(Enumeration e = child.elements();e.hasMoreElements();){ - paralist.addElement(e.nextElement()); - } - - return this.paralist; - }*/ - // ino.end + @@ -209,12 +228,6 @@ public class Interface implements AClassOrInterface } // ino.end // ino.method.wandleRefTypeAttributes2GenericAttributes.23981.defdescription type=javadoc - /** - * Alle RefTypes, die hier im Interface definiert sind - * bspw: E doSomething() - * und eigentlich Generics sind werden zu generics gewandelt - * - */ // ino.end // ino.method.wandleRefTypeAttributes2GenericAttributes.23981.definition public void wandleRefTypeAttributes2GenericAttributes() @@ -255,3 +268,4 @@ public class Interface implements AClassOrInterface } // ino.end +*/ \ No newline at end of file diff --git a/src/mycompiler/mytest/CByteCodeTest.java b/src/mycompiler/mytest/CByteCodeTest.java deleted file mode 100755 index 23b97c6c3..000000000 --- a/src/mycompiler/mytest/CByteCodeTest.java +++ /dev/null @@ -1,58 +0,0 @@ -// ino.module.CByteCodeTest.8661.package -package mycompiler.mytest; -// ino.end - -// ino.module.CByteCodeTest.8661.import -import java.io.File; -import java.util.Iterator; -import java.util.Vector; -import mycompiler.MyCompiler; -import mycompiler.MyCompilerAPI; -import mycompiler.mytypereconstruction.CSubstitution; -import mycompiler.mytypereconstruction.TypeinferenceResultSet; -// ino.end - -// ino.class.CByteCodeTest.26367.description type=javadoc -/** - * Testklasse zum Generieren des ByteCode. - * @author scju - */ -// ino.end -// ino.class.CByteCodeTest.26367.declaration -public class CByteCodeTest -// ino.end -// ino.class.CByteCodeTest.26367.body -{ - - // ino.method.main.26370.definition - public static void main(String[] args) - throws Exception - // ino.end - // ino.method.main.26370.body - { - MyCompilerAPI compiler = MyCompiler.getAPI(); - - // Ausgabeverzeichnis festlegen - compiler.setOutputDir("Bytecode/"); - - // Parsen der Klasse - compiler.parse(new File(args[0])); - - // Typ-Rekonstruktion - Vector resultSet = compiler.typeReconstruction(); - if ((resultSet != null) && (resultSet.size() > 0)) { - TypeinferenceResultSet onePossibility = resultSet.firstElement(); - Iterator substIt = onePossibility.getSubstitutions().getIterator(); - while(substIt.hasNext()){ - CSubstitution subst = (CSubstitution)substIt.next(); - // Substition machen - subst.execute(); - } - } - - // Code generieren - compiler.codeGeneration(); - } - // ino.end -} -// ino.end diff --git a/src/mycompiler/mytest/CInferenceTest.java b/src/mycompiler/mytest/CInferenceTest.java deleted file mode 100755 index 256c7022e..000000000 --- a/src/mycompiler/mytest/CInferenceTest.java +++ /dev/null @@ -1,103 +0,0 @@ -// ino.module.CInferenceTest.8662.package -package mycompiler.mytest; -// ino.end - -// ino.module.CInferenceTest.8662.import -import java.io.File; -import java.util.Iterator; -import java.util.Vector; -import mycompiler.MyCompiler; -import mycompiler.MyCompilerAPI; -import mycompiler.myexception.CTypeReconstructionException; -import mycompiler.mytypereconstruction.CSubstitution; -import mycompiler.mytypereconstruction.TypeinferenceResultSet; -import org.apache.log4j.Logger; -// ino.end - -// ino.class.CInferenceTest.26373.description type=javadoc -/** - * Testklasse fr die Typinferenz - * @author Timo Holzherr - */ -// ino.end -// ino.class.CInferenceTest.26373.declaration -public class CInferenceTest -// ino.end -// ino.class.CInferenceTest.26373.body -{ - - // ino.attribute.inferencelog.26376.declaration - protected static Logger inferencelog = Logger.getLogger("inference"); - // ino.end - - // ino.method.main.26379.definition - public static void main(String[] args) - throws Exception - // ino.end - // ino.method.main.26379.body - { - MyCompilerAPI compiler = MyCompiler.getAPI(); - try{ - - ///////////////////////// - // Parsen: - ///////////////////////// - - //1. Argument: zu kompilierende Datei - compiler.parse(new File(args[0])); - - MyCompiler.getAPI().setOutputDir("Bytecode/"); - - //compiler.semanticCheck(); - - ///////////////////////// - // Typrekonstruktion: - ///////////////////////// - Vector resultSet = compiler.typeReconstruction(); - ///////////////////////// - // Ausgabe: - ///////////////////////// - - - if(resultSet==null||resultSet.size()==0){ - inferencelog.error("Das Resultset ist leer!!!"); - System.exit(1); - } - - // if(true)System.exit(0); - TypeinferenceResultSet onePossibility = resultSet.firstElement(); - Iterator substIt = onePossibility.getSubstitutions().getIterator(); - while(substIt.hasNext()){ - CSubstitution subst = (CSubstitution)substIt.next(); - /*Vector lineNumbers = ((TypePlaceholder)subst.getTypeVar()).getLineNumbers(); - String s = new String(); - for(int l=0; l resultSet = compiler.typeReconstruction(); - ///////////////////////// - // Ausgabe: - ///////////////////////// - TypeinferenceResultSet onePossibility = resultSet.firstElement(); - Iterator substIt = onePossibility.getSubstitutions().getIterator(); - while(substIt.hasNext()){ - CSubstitution subst = (CSubstitution)substIt.next(); - Vector lineNumbers = ((TypePlaceholder)subst.getTypeVar()).getLineNumbers(); - String s = new String(); - for(int l=0; l resultSet = compiler.typeReconstruction(); - ///////////////////////// - // Ausgabe: - ///////////////////////// - - //test - SourceFile file = compiler.getSyntaxTree(); - FC_TTO fc_tto = file.makeFC(); - for(Pair p : fc_tto.getFC()) - { - if(p.TA1 instanceof RefType && ((RefType)p.TA1).get_ParaList() != null) - MyCompiler.wandleGeneric2RefType(((RefType)p.TA1).get_ParaList(),fc_tto.getClasses()); - - if(p.TA2 instanceof RefType && ((RefType)p.TA2).get_ParaList() != null) - MyCompiler.wandleGeneric2RefType(((RefType)p.TA2).get_ParaList(),fc_tto.getClasses()); - } - for(Pair p : ((MyCompiler)compiler).testPair) - { - RefType TA1 = (RefType)p.TA1; - RefType TA2 = (RefType)p.TA2; - MyCompiler.wandleGeneric2RefType(TA1.get_ParaList(),fc_tto.getClasses()); - MyCompiler.wandleGeneric2RefType(TA2.get_ParaList(),fc_tto.getClasses()); - - //Vector smallers = Unify.smaller(TA2,fc_tto); - //Vector greaters = Unify.greater(TA2,fc_tto); - MyCompiler.makeGenericTypeVars2TypePlaceHolders(TA2); - MyCompiler.makeGenericTypeVars2TypePlaceHolders(TA1); - } - Vector> unifyers = Unify.unify(((MyCompiler)compiler).testPair,fc_tto); - - //Vector> testUni = Unify.unify(TypePlaceholder.fresh(),TypePlaceholder.fresh(),fc_tto); - /* - if(resultSet==null||resultSet.size()==0){ - //inferencelog.error("Das Resultset ist leer!!!"); - System.exit(1); - }*/ - - // inferencelog.debug("========FERTIG========"); - - compiler.codeGeneration(); - - - }catch(CTypeReconstructionException tre){ - tre.printStackTrace(); - }catch(Exception e){ - e.printStackTrace(); - } - } -} diff --git a/src/mycompiler/mytest/CompilerTestCase.java b/src/mycompiler/mytest/CompilerTestCase.java deleted file mode 100755 index ca753cf04..000000000 --- a/src/mycompiler/mytest/CompilerTestCase.java +++ /dev/null @@ -1,162 +0,0 @@ -// ino.module.CompilerTestCase.8663.package -package mycompiler.mytest; -// ino.end - -// ino.module.CompilerTestCase.8663.import -import java.io.File; -import java.util.Iterator; -import java.util.Vector; -import junit.framework.TestCase; -import mycompiler.MyCompiler; -import mycompiler.MyCompilerAPI; -import mycompiler.mytypereconstruction.CSubstitution; -import mycompiler.mytypereconstruction.TypeinferenceResultSet; -import org.apache.log4j.FileAppender; -import org.apache.log4j.Level; -import org.apache.log4j.Logger; -import org.apache.log4j.PatternLayout; -// ino.end - - -// ino.class.CompilerTestCase.26382.description type=javadoc -/** - * Testet den Compiler mit dem angegebenen JAV-File. - * @author SCJU - * - */ -// ino.end -// ino.class.CompilerTestCase.26382.declaration -public class CompilerTestCase extends TestCase -// ino.end -// ino.class.CompilerTestCase.26382.body -{ - - // ino.attribute.javFile.26386.declaration - protected File javFile; - // ino.end - // ino.attribute.compiler.26389.declaration - protected MyCompilerAPI compiler = MyCompiler.getAPI(); - // ino.end - - // ino.method.CompilerTestCase.26392.definition - public CompilerTestCase(String javFile, String name) - // ino.end - // ino.method.CompilerTestCase.26392.body - { - this.javFile = new File(javFile); - setName(name); - } - // ino.end - - // ino.method.CompilerTestCase.26395.definition - public CompilerTestCase(String javFile) - // ino.end - // ino.method.CompilerTestCase.26395.body - { - this.javFile = new File(javFile); - setName(this.javFile.getName()); - } - // ino.end - - - // ino.method.runTest.26398.definition - protected void runTest() - throws Throwable - // ino.end - // ino.method.runTest.26398.body - { - // Testablauf. Tritt eine Exception auf, - // schlaegt der Test fehl. - parseFile(); - typeReconstruction(); - codeGeneration(); - } - // ino.end - - // ino.method.parseFile.26401.definition - protected void parseFile() - throws Throwable - // ino.end - // ino.method.parseFile.26401.body - { - // Parsen der Klasse - compiler.parse(javFile); - } - // ino.end - - // ino.method.typeReconstruction.26404.definition - protected void typeReconstruction() - throws Exception - // ino.end - // ino.method.typeReconstruction.26404.body - { - // Typ-Rekonstruktion - Vector resultSet = compiler.typeReconstruction(); - // Keine Typ-Rekonstruktion erforderlich - if (resultSet == null || resultSet.size() == 0) throw new Exception("Typrekonstruktion nicht durchfuehrbar!"); - TypeinferenceResultSet onePossibility = resultSet.firstElement(); - Iterator substIt = onePossibility.getSubstitutions().getIterator(); - while(substIt.hasNext()){ - CSubstitution subst = (CSubstitution)substIt.next(); - // Substition machen - subst.execute(); - } - } - // ino.end - - // ino.method.codeGeneration.26407.definition - protected void codeGeneration() - throws Exception - // ino.end - // ino.method.codeGeneration.26407.body - { - // Code generieren - compiler.codeGeneration(); - } - // ino.end - - // ino.method.setUp.26410.definition - protected void setUp() - throws Exception - // ino.end - // ino.method.setUp.26410.body - { - super.setUp(); - - // Setup fuer Log4J - // Logfiles werden im Ordner testResults gespeichert - // Der Dateiname ist der Klassename plus .log - String logFile = "testResults/"+ javFile.getName() + ".log"; - - File f = new File(logFile); // Altes Logfile loeschen - f.delete(); - - // Ausgabeoptionen fuer die Logger - PatternLayout pl = new PatternLayout("%-15C{1} %-5p [%-9c] %m%n"); - FileAppender fa = new FileAppender(pl, logFile); - - // Die Einstellungen jedes Loggers veraendern - ModifyLogger("parser", Level.ALL, fa); - ModifyLogger("inference", Level.INFO, fa); - ModifyLogger("codegen", Level.ALL, fa); - ModifyLogger("bytecode", Level.ALL, fa); - } - // ino.end - - // ino.method.ModifyLogger.26413.defdescription type=line - // Veraendert die Ausgabeoptionen des angegebenen Loggers - // ino.end - // ino.method.ModifyLogger.26413.definition - protected void ModifyLogger(String strlogger, Level lv, FileAppender fa) - // ino.end - // ino.method.ModifyLogger.26413.body - { - Logger lg = Logger.getLogger(strlogger); - - lg.setLevel(lv); - lg.removeAllAppenders(); - lg.addAppender(fa); - } - // ino.end -} -// ino.end diff --git a/src/mycompiler/mytest/JUnitTests.java b/src/mycompiler/mytest/JUnitTests.java deleted file mode 100755 index e602650bf..000000000 --- a/src/mycompiler/mytest/JUnitTests.java +++ /dev/null @@ -1,98 +0,0 @@ -// ino.module.JUnitTests.8665.package -package mycompiler.mytest; -// ino.end - -// ino.module.JUnitTests.8665.import -import junit.framework.Test; -import junit.framework.TestSuite; -import mycompiler.MyCompiler; -// ino.end - -// ino.class.JUnitTests.26425.description type=javadoc -/** - * Erstellt eine JUnit-Testsuite, die saemtliche Testcases enthaelt und - * ausfuehrt. - * @author SCJU - * - */ -// ino.end -// ino.class.JUnitTests.26425.declaration -public class JUnitTests -// ino.end -// ino.class.JUnitTests.26425.body -{ - - - // ino.method.main.26428.defdescription type=line - // Aufruf ist auch als normale Anwendung moeglich. - // In Eclipse bietet sich allerdings eine Run-Config - // als JUnit-Test an! - // ino.end - // ino.method.main.26428.definition - public static void main(String[] args) - // ino.end - // ino.method.main.26428.body - { - junit.textui.TestRunner.run(JUnitTests.suite()); - } - // ino.end - - // ino.method.suite.26431.definition - public static Test suite() - // ino.end - // ino.method.suite.26431.body - { - TestSuite suite = new TestSuite("Teste Usecases for Compiler ..."); - //$JUnit-BEGIN$ - - - MyCompiler.getAPI().setOutputDir("Bytecode/"); - - - - // DER WICHTIGSTE - suite.addTest(new CompilerTestCase("examples/bajo1_usecases/Matrix.jav")); - - // Usecases PL - suite.addTest(new CompilerTestCase("examples/pl_usecases/UsecaseOne_pl.jav")); - suite.addTest(new CompilerTestCase("examples/pl_usecases/UsecaseTwo_pl.jav")); - suite.addTest(new CompilerTestCase("examples/pl_usecases/UsecaseThree_pl.jav")); - suite.addTest(new CompilerTestCase("examples/pl_usecases/UsecaseFour_pl.jav")); - suite.addTest(new CompilerTestCase("examples/pl_usecases/UsecaseFive_pl.jav")); - suite.addTest(new CompilerTestCase("examples/pl_usecases/UsecaseSix_pl.jav")); - suite.addTest(new CompilerTestCase("examples/pl_usecases/UsecaseSeven_pl.jav")); - suite.addTest(new CompilerTestCase("examples/pl_usecases/UsecaseEight_pl.jav")); - suite.addTest(new CompilerTestCase("examples/pl_usecases/UsecaseNine_pl.jav")); - suite.addTest(new CompilerTestCase("examples/pl_usecases/UsecaseTen_pl.jav")); - - - // Usecases HOTI - suite.addTest(new CompilerTestCase("examples/hoti/Constr.jav")); - suite.addTest(new CompilerTestCase("examples/hoti/Generic.jav")); - suite.addTest(new CompilerTestCase("examples/hoti/GenericsTest.jav")); - suite.addTest(new CompilerTestCase("examples/hoti/ImplClass.jav")); - suite.addTest(new CompilerTestCase("examples/hoti/Import.jav")); - suite.addTest(new CompilerTestCase("examples/hoti/Intf.jav")); - suite.addTest(new CompilerTestCase("examples/hoti/Multiclass.jav")); - suite.addTest(new CompilerTestCase("examples/hoti/Overl.jav")); - suite.addTest(new CompilerTestCase("examples/hoti/Simple.jav")); - suite.addTest(new CompilerTestCase("examples/hoti/Simple2.jav")); - suite.addTest(new CompilerTestCase("examples/hoti/Test.jav")); - suite.addTest(new CompilerTestCase("examples/hoti/Test2.jav")); - suite.addTest(new CompilerTestCase("examples/hoti/Test3.jav")); - suite.addTest(new CompilerTestCase("examples/hoti/VererbProb.jav")); - - // Usecases SCJU - suite.addTest(new CompilerTestCase("examples/scju/ClassGenerics.jav")); - suite.addTest(new CompilerTestCase("examples/scju/FieldGenerics.jav")); - suite.addTest(new CompilerTestCase("examples/scju/MethodGenerics.jav")); - suite.addTest(new CompilerTestCase("examples/scju/ClassKonstanten.jav")); - suite.addTest(new CompilerTestCase("examples/scju/InterfaceTest.jav")); - suite.addTest(new CompilerTestCase("examples/scju/testPackage/Test.jav")); - //$JUnit-END$ - return suite; - } - // ino.end - -} -// ino.end diff --git a/src/typinferenz/assumptions/CopyOfTypeAssumptions.java b/src/typinferenz/assumptions/CopyOfTypeAssumptions.java deleted file mode 100644 index 53672cac8..000000000 --- a/src/typinferenz/assumptions/CopyOfTypeAssumptions.java +++ /dev/null @@ -1,303 +0,0 @@ -package typinferenz.assumptions; - -import java.util.Iterator; -import java.util.Vector; - -import sun.reflect.generics.reflectiveObjects.NotImplementedException; -import typinferenz.FunN; -import typinferenz.exceptions.TypinferenzException; -import mycompiler.mytype.GenericTypeVar; -import mycompiler.mytype.RefType; -import mycompiler.mytype.Type; -import mycompiler.mytype.TypePlaceholder; -import mycompiler.mytypereconstruction.set.CTypeAssumptionSet; -import mycompiler.mytypereconstruction.typeassumption.CInstVarTypeAssumption; -import mycompiler.mytypereconstruction.typeassumption.CLocalVarTypeAssumption; -import mycompiler.mytypereconstruction.typeassumption.CMethodTypeAssumption; -import mycompiler.mytypereconstruction.typeassumption.CParaTypeAssumption; -import mycompiler.mytypereconstruction.typeassumption.CTypeAssumption; - -/** - * Eine Sammlung von TypeAssumptions. - * Jede Expression und jedes Statement erhält beim Aufrufen ihrer TYPE-Methode ein AssumptionSet mit den Assumptions ihrer Umgebung als Parameter übergeben. - * @author janulrich - * - * Es gibt verschiedene Assumptions: - * 1. Methoden Assumptions - * 2. Konstruktor Assumptions - * 3. Lokale Variablen Assumptions - * 4. Feldvariablen Assumptions - * - */ -public class CopyOfTypeAssumptions implements Iterable { - - //private static CTypeAssumptionSet globalAssumptions = new CTypeAssumptionSet(); - private String thisClassName; - - //private Vector assumptions; - CTypeAssumptionSet assumptions = new CTypeAssumptionSet(); - - private Vector methodAssumptions = new Vector(); - - public CopyOfTypeAssumptions(){ - assumptions = new CTypeAssumptionSet(); - } - - /** - * Dieser Konstruktor setzt bei der Initialisierung auch den Wert von "this" - * @param klassenname - Wert für "this" - */ - public CopyOfTypeAssumptions(String klassenname){ - this(); - this.setThisClassname(klassenname); - } - - public CopyOfTypeAssumptions(CTypeAssumptionSet ass, String classname){ - assumptions = ass; - this.setThisClassname(classname); - } - - public CopyOfTypeAssumptions(CopyOfTypeAssumptions assumptions2) { - assumptions = new CTypeAssumptionSet(); - this.add(assumptions2); - } - - /** - * Im AssumptionSet muss je nach Umfeld der Wert von "this" neu gesetzt werden. - * Dies übernimmt diese Funktion. - * @param name - Der Klassenname der von this referenzierten Klasse. - */ - public void setThisClassname(String name){ - this.thisClassName = name; - } - - /** - * Erstellt eine CInstVarTypeAssumption und fügt sie den Assumptions hinzu. - * @param className - * @param identifier - * @param assumedType - */ - public void addInstVarAssumption(String className, String identifier, Type assumedType){ - this.add(createFieldVarAssumption(className, identifier, assumedType)); - } - - - /** - * Ruft createMethodAssumption auf und fügt die Assumption dem AssumptionSet hinzu - * @param classType - * @param identifier - * @param assumedType - * @param parameterTypes - */ - @Deprecated - public void addMethodAssumption_Backup(Type classType, String identifier, Type assumedType, Vector parameterTypes){ - CMethodTypeAssumption ass = createMethodAssumption(classType, identifier, assumedType, parameterTypes); - this.add(ass); - } - - public void addMethodAssumption(MethodAssumption mAss){ - this.methodAssumptions.add(mAss); - } - - /** - * - * @param className - * @param identifier - * @param assumedType - ReturnTyp der Methode - * @param parameterTypes - Liste der Parameter der Methode. TIPP: Zur Erstellung der CParaTypeAssumption-Liste kann die Methode TypeAssumptions.createCParaTypeAssumption verwendert werden. - */ - public static CMethodTypeAssumption createMethodAssumption_backup(Type classType, String identifier, Type assumedType, Vector parameterTypes){ - CMethodTypeAssumption ass = new CMethodTypeAssumption(classType, identifier, assumedType, parameterTypes.size(), 0, 0, null, null); - for(CParaTypeAssumption paraAssumption : parameterTypes){ - //Es wird eine neue ParameterAssumption generiert. Nur der Identifier und der AssumedType der CParaTypeAssumption wird dabei übernommen. - CParaTypeAssumption newParaAssumption = new CParaTypeAssumption(classType.get_Name(), identifier, parameterTypes.size(),0, paraAssumption.getIdentifier(), paraAssumption.getAssumedType(), 0,0,null); - ass.addParaAssumption(newParaAssumption); - } - return ass; - } - - public static CInstVarTypeAssumption createFieldVarAssumption_backup(String className, String fieldName, Type type){ - if(className==null || fieldName == null || type == null) throw new TypinferenzException("Ungültige Feld-Assumption"); - CInstVarTypeAssumption ret = new CInstVarTypeAssumption(className, fieldName, type, 0,0,null); - - return ret; - } - - /** - * Erstellt eine CParaTypeAssumption. - * Diese enthält nur den Identifier und den Typ des Parameters. Die Zuordnung zu einer Methode und einer Klasse erhält die Assumption erst durch den Einsatz in der TypeAssumptions.addMethodAssumption. - * @param identifier - * @param assumedType - * @return - */ - public static CParaTypeAssumption createCParaTypeAssumption_backup( String identifier, Type assumedType){ - CParaTypeAssumption ret; - ret = new CParaTypeAssumption( null, null, 0, 0, identifier, assumedType, 0,0, null); - return ret; - } - - public void addLocalVarAssumption(){ - throw new NotImplementedException(); - } - - - - /** - * Durchsucht die Assumptions des aktuellen Gültigkeitsbereichs (lokale Variablen und Felder der aktuellen Klasse) nach einem Eintrag für den übergebenen Variablennamen. - * In den Assumptions wird dann in der Reihenfolge LocalVarAssumptions, FieldAssumption nach dem übergebenen Variablennamen gesucht. - * @param variableName - der Identifier der gesuchten Variablen - * @return - Der Typ für diesen Identifier. - */ - public Type getVarType(String variableName){ - //Zuerst die Parameter durchsuchen - for(CTypeAssumption ass : this.assumptions){//this.getParameterAssumptions(null)){ - if(ass.getIdentifier().equals(variableName))return ass.getAssumedType(); - } - //TODO: Dann die lokalen Variablen - // ... (noch nicht implementiert) - - //und zuletzt die Felder der Klasse in dessen Namensraum sich dieses AssumptionSet befindet. - for(CTypeAssumption ass : this.getInstVarAssumptions()){ - if(ass.getIdentifier().equals(variableName))return ass.getAssumedType(); - } - //Wird keine Assumption gefunden, muss ein Fehler vorliegen: - throw new TypinferenzException("Eine Variable "+variableName+" ist in den Assumptions nicht vorhanden"); - } - - /** - * Ermittelt alle Assumptions zu Instanzvariablen, welche sich in der Klasse "this" befinden, also der Klasse für welche dieses AssumptionSet gültig ist. - * @return - */ - public CopyOfTypeAssumptions getInstVarAssumptions(){ - String className = this.getThisValue().getName(); - CopyOfTypeAssumptions ret = new CopyOfTypeAssumptions(); - for(CTypeAssumption ass : this.assumptions){ - if(ass instanceof CInstVarTypeAssumption && ass.getClassName().equals(className))ret.add(ass); - } - return ret; - } - - /** - * @return - Alle Assumptions dieses AssumptionSets, welche Annahmen für Parameter darstellen - */ - private CopyOfTypeAssumptions getParameterAssumptions(CMethodTypeAssumption method) { - CopyOfTypeAssumptions ret = new CopyOfTypeAssumptions(); - if(method==null)return ret; - for(CParaTypeAssumption ass : method.getParaAssumptions()){ - //if(ass instanceof CParaTypeAssumption)ret.add(ass); - ret.add(ass); - } - return ret; - } - - /** - * Sucht nach MethodAssumptions einer bestimmten Klasse mit einem bestimmten Namen. - * @param className - * @param methodName - * @param parameterCount - * @return - */ - public Vector getMethodAssumptions(String className, String methodName){ - Vector ret = new Vector(); - for(CTypeAssumption ass : this.getAssumptionsFor(className)){ - //System.out.println(ass.getIdentifier()); - if(ass.getIdentifier().equals(methodName) && ass instanceof CMethodTypeAssumption)ret.add((CMethodTypeAssumption)ass); - } - //if(ret.size()==0)throw new TypinferenzException("Eine Methode "+methodName+" ist in den Assumptions nicht vorhanden"); - return ret; - } - - /** - * Sucht nach Assumptions zu einer Methode mit dem Namen methodName und parameterCount Parametern. - * @param methodName - * @param parameterCount Anzahl der Parameter der gesuchten Methoden-Assumption - * @return - */ - public Vector getMethodAssumptions(String methodName, int parameterCount){ - Vector ret = new Vector(); - for(CTypeAssumption ass : assumptions){ - //System.out.println(ass.getIdentifier()); - if(ass.getIdentifier().equals(methodName) && ass instanceof CMethodTypeAssumption){ - CMethodTypeAssumption toAdd = (CMethodTypeAssumption)ass; - if(toAdd.getParaCount() == parameterCount)ret.add(toAdd); - } - } - //Falls es sich um die apply-Methode eines FunN-Interface handelt: - if(methodName.equals("apply")){ //Ein Workaround für den Typinferenzalgorithmus TODO: Das hier rausnehmen. - CMethodTypeAssumption funNAssumption = new FunN(parameterCount).toCMethodTypeAssumption(); - ret.add(funNAssumption); - } - if(ret.size()==0)throw new TypinferenzException("Eine Methode "+methodName+" ist in den Assumptions nicht vorhanden"); - return ret; - } - - - /** - * Fügt dem Assumption-Set eine neue Assumption hinzu. - * @param ass - * @return - */ - public CopyOfTypeAssumptions add(CTypeAssumption ass){ - if(ass.getAssumedType()==null)throw new NullPointerException();//ass.setAssumedType(TypePlaceholder.fresh()); - - //if(ass instanceof CParaTypeAssumption)throw new TypinferenzException("ParameterAssumptions müssen einer Methode zugewiesen sein"); - - //globalAssumptions.addElement(ass); - assumptions.addElement(ass); - return this; - } - - public void remove(CTypeAssumption typeAssumption){ - throw new NotImplementedException(); - } - - public CopyOfTypeAssumptions add(CopyOfTypeAssumptions assumptions){ - for(CTypeAssumption ass : assumptions){ - this.add(ass); - } - return this; - } - - public CopyOfTypeAssumptions add(CTypeAssumptionSet assumptionSet){ - assumptions.unite(assumptionSet); - return this; - } - - public Iterator iterator() { - return assumptions.iterator(); - } - - @Override - public CopyOfTypeAssumptions clone(){ - CTypeAssumptionSet assSet = new CTypeAssumptionSet(); - for(CTypeAssumption ass : assumptions){ - assSet.addElement(ass); - } - return new CopyOfTypeAssumptions(assSet, thisClassName); - } - - /** - * Jede erstellte Assumption wird von der TypeAssumptions-Klasse gespeichert. - * Diese Funktion ermittelt alle zu einer Klasse gehörenden Assumptions. - * @param classname - * @return Alle Assumptions mit - assumption.getClassname().equals(classname) - der this-Wert ist auf "classname" gesetzt. - */ - public CopyOfTypeAssumptions getAssumptionsFor(String classname){ - CTypeAssumptionSet assumptions = new CTypeAssumptionSet(); - //for(CTypeAssumption ass : globalAssumptions){ - for(CTypeAssumption ass : this.assumptions){ - if(ass.getClassName().equals(classname))assumptions.addElement(ass); - } - return new CopyOfTypeAssumptions(assumptions, classname); - } - - @Override - public String toString(){ - return assumptions.toString(); - } - - public Type getThisValue() { - return new RefType(thisClassName, 0); - } - -} diff --git a/test/mycompiler/test/AbstractInferenceTest.java b/test/mycompiler/test/AbstractInferenceTest.java deleted file mode 100755 index acba625c0..000000000 --- a/test/mycompiler/test/AbstractInferenceTest.java +++ /dev/null @@ -1,446 +0,0 @@ -package mycompiler.test; - -import java.io.File; -import java.util.HashMap; -import java.util.Iterator; -import java.util.Vector; - -import junit.framework.TestCase; -import mycompiler.MyCompiler; -import mycompiler.MyCompilerAPI; -import mycompiler.mytype.BoundedGenericTypeVar; -import mycompiler.mytype.GenericTypeVar; -import mycompiler.mytype.RefType; -import mycompiler.mytype.Type; -import mycompiler.mytype.TypePlaceholder; -import mycompiler.mytypereconstruction.CIntersectionType; -import mycompiler.mytypereconstruction.CSubstitution; -import mycompiler.mytypereconstruction.TypeinferenceResultSet; -import mycompiler.mytypereconstruction.typeassumption.CInstVarTypeAssumption; -import mycompiler.mytypereconstruction.typeassumption.CLocalVarTypeAssumption; -import mycompiler.mytypereconstruction.typeassumption.CMethodTypeAssumption; -import mycompiler.mytypereconstruction.typeassumption.CParaTypeAssumption; -import mycompiler.mytypereconstruction.typeassumption.CTypeAssumption; -import mycompiler.mytypereconstruction.typeassumptionkey.CMethodKey; -import mycompiler.test.expectationTypes.BlockExpect; -import mycompiler.test.expectationTypes.ClassExpect; -import mycompiler.test.expectationTypes.Expectation; -import mycompiler.test.expectationTypes.GenericTypeVarExpect; -import mycompiler.test.expectationTypes.IExpectation; -import mycompiler.test.expectationTypes.IUnknownTypeExpect; -import mycompiler.test.expectationTypes.MethodExpect; -import mycompiler.test.expectationTypes.TypePlaceholderExpect; -import mycompiler.test.expectationTypes.VarExpect; - -import org.apache.log4j.Logger; - -/** Todo: - * - exception handling cannot verify correct exception yet - * - * done: - exception handling - * - commented asserts - * - log4j - * - cmethodkey usage - * - Typeplaceholder support - * @author - * last change: 26-05-08 - */ -public abstract class AbstractInferenceTest extends TestCase { - - private static Logger testlog = Logger.getLogger("funcTest"); - private File javFile=null; - private Expectation expectation=null; - private MyCompilerAPI compiler = MyCompiler.getAPI(); - - protected AbstractInferenceTest(String name, String javFilename) { - super(name); - - javFile = new File(javFilename); - - //retrieve Expectation object from specific Testcase for comparisons - this.expectation = getExpectations(); - } - - /** - * runs the JUnit-Test, calls all compiler steps - * @throws Throwable - */ - public void testSetup() throws Throwable { - //runs all compiler steps, any exception will cause the Test to fail, if not expected - - //enable Logging - Log4jWrapper.getInstance().configureLog4j(); - - try { - testlog.info("Parsing..."); - parseFile(); - testlog.info("Type reconstruction..."); - typeReconstruction(); - testlog.info("Code generation..."); - codeGeneration(); - //checks whether there is an expected exception that has not been thrown - AbstractInferenceTest.assertTrue("exception expected but not found",this.expectation.getExceptions().isEmpty()); - } catch (Exception e) { - testlog.info("Error during compiler step: " + e); - checkForExpectedException(e); - - } - } - - /** - * calls parse() from Compiler-API - * @throws Throwable - */ - - protected void parseFile() - throws Throwable - { - // Parse file - compiler.parse(javFile); - } - - /** - * calls typeReconstruction() from Compiler-API, checks result against expectations and substitutes all types according to first assumption - * @throws Exception - */ - - protected void typeReconstruction() - throws Exception - { - // Typ-Rekonstruktion - Vector resultSet = compiler.typeReconstruction(); - testlog.info("Type reconstruction completed..."); - // Keine Typ-Rekonstruktion erforderlich - if (resultSet == null || resultSet.size() == 0) throw new Exception("Type reconstruction could not be done!"); - - if (this.expectation!=null) { - if(this.expectation.getClasses()!=null) - checkResults(resultSet,this.expectation); - } - else - testlog.info("An Error has occurred receiving the expectations for this testcase: "+ this.javFile); - - TypeinferenceResultSet onePossibility = resultSet.firstElement(); - Iterator substIt = onePossibility.getSubstitutions().getIterator(); - while(substIt.hasNext()){ - CSubstitution subst = (CSubstitution)substIt.next(); - // Substition machen - subst.execute(); - } - } - - /** - * calls codeGeneration from Compiler-API - * @throws Exception - */ - - protected void codeGeneration() - throws Exception - { - // Code generieren - compiler.codeGeneration(); - } - - /** - * compares resultSet from compiler to expectations - * @param resultSet - * @param expect - */ - - protected void checkResults(Vector resultSet, Expectation expect) { - - //iterates thru all available assumption-sets - testlog.info("Starting checking for valid type assumptions..."); - for (int resIndex=0; resIndex < resultSet.size(); resIndex++) { - //checks whether all expected classes, methods, members are available - checkClasses(resultSet.get(resIndex),expect); - //-------------- - //Methods - //-------------- - //iterates through all found methods - for (CIntersectionType vecAssumpt : resultSet.get(resIndex).getMethodIntersectionTypes().values()) { - //for (int i=0; i iter2 = resultSet.get(resIndex).getFieldAndLocalVarAssumptions().values().iterator(); - //while (iter2.hasNext()) { - //CTypeAssumption assumption = iter2.next(); - for (CTypeAssumption assumption : resultSet.get(resIndex).getFieldAndLocalVarAssumptions().values()) { - // local variable - if (assumption instanceof CLocalVarTypeAssumption) { - - CLocalVarTypeAssumption assu = (CLocalVarTypeAssumption)assumption; - if (expect.getClasses().containsKey(assu.getClassName())){ - //current method to compare assumption to: - MethodExpect method = expect.getClasses().get(assu.getClassName()).getMethods().get(new CMethodKey(assu.getClassName(),assu.getMethodName(),assu.getMethodParaCount(),assu.getMethodOverloadedID())); - testlog.debug("assumption: local variable '"+assu.getIdentifier()+"' of '"+assu.getClassName()+":"+assu.getMethodName()+"'"); - testlog.debug("searching in: '"+method.getName()+"'"); - AbstractInferenceTest.assertTrue("block variable '" + assu.getIdentifier() + "' in '" + assu.getMethodName()+ "' not valid or not found!",checkFoundVariable(assu, method.getBlock())); - } - - } - - // member variable - else if (assumption instanceof CInstVarTypeAssumption) { - - CInstVarTypeAssumption assu = (CInstVarTypeAssumption)assumption; - if (expect.getClasses().containsKey(assu.getClassName())){ - //current class to compare assumption to: - ClassExpect classexpect = expect.getClasses().get(assu.getClassName()); - testlog.debug("assumption: member variable '"+assu.getIdentifier()+"' of '"+assu.getClassName()+"'"); - testlog.debug("searching in: '"+classexpect.getName()+"'"); - checkFoundMembers(assu, classexpect.getMembers()); - } - } - } - } - - //verify that every single type assumption that was expected has been detected by the compiler - testlog.info("verifying all expectations have been met"); - AbstractInferenceTest.assertTrue("not all expected types have been found", expectation.verifyTypeExpectationsCompletelyMet()); - } - - /** - * @return returns a vector of class names of tested file - */ - protected abstract Expectation getExpectations(); - - - /** - * checks the return type of a method comparing it to the expectation - * @param assumpt - * @param expect - */ - protected void checkReturnType(Type assumpt, MethodExpect expect) { - if (!expect.getReturntypes().isEmpty()) { - AbstractInferenceTest.assertTrue("found return type " + assumpt.getName() + " is not in expected list", expect.getReturntypes().contains(assumpt)); - - checkBoundedTypes(assumpt,expect.getReturntypes().get(expect.getReturntypes().indexOf(assumpt))); - //remove this expectation to assure, all expectations have been met at least once - if (expect.getReturntypesCopy().contains(assumpt)) - expect.getReturntypesCopy().remove(assumpt); - } - else if ((assumpt instanceof GenericTypeVar || assumpt instanceof TypePlaceholder) && expect.getUnknownReturnType()!=null) { - //expect.addGeneric((GenericTypeVar) assumpt); - - checkUnknownTypes(assumpt, expect.getUnknownReturnType()); - } - else - AbstractInferenceTest.fail("no return type for " + assumpt.getName() +" has been defined in expectation"); - } - - /** - * checks for generic methods comparing them to the expectation - * @param assumpt - * @param expect - */ - protected void checkFoundGenerics(Vector assumpt, Vector expect) { - AbstractInferenceTest.assertTrue("amount of generic variables expected != assumed",((assumpt==null || assumpt.size()==0) && (expect==null || expect.size()==0)) || assumpt.size()==expect.size()); - for (GenericTypeVar typ : assumpt) { - //System.out.println("Generics: " + typ.get_Name() + ((BoundedGenericTypeVar)typ).getBounds() + ", " + expect.indexOf(typ)); - AbstractInferenceTest.assertTrue("Generic " + typ.getName() + " has not been expected",expect.contains(typ)); - - checkBoundedTypes(typ,expect.get(expect.indexOf(typ))); - } - } - - protected void checkBoundedTypes(Type assumed, Type expected) { - if (assumed instanceof BoundedGenericTypeVar) { - AbstractInferenceTest.assertTrue("assumed: BoundedGenericTypeVar, expected:' "+expected.getClass()+"'",expected instanceof BoundedGenericTypeVar); - BoundedGenericTypeVar typBound = (BoundedGenericTypeVar)assumed; - BoundedGenericTypeVar expBound = (BoundedGenericTypeVar)expected; - for (Type t : typBound.getBounds()) { - boolean ret = false; - for (Type e : expBound.getBounds()) { -//System.out.println(" here " + t + " -- " + e); - if (e.equals(t)) { - ret=true; - } - } - AbstractInferenceTest.assertTrue("Bounded generic's type is not equal", ret); - } - } - else if (assumed instanceof GenericTypeVar) { -// System.out.println("GENERICTYPEVAR"); - } - } - - protected void checkUnknownTypes(Type assumed, IUnknownTypeExpect expect) { - if (assumed instanceof GenericTypeVar) { - AbstractInferenceTest.assertTrue("Assumed type is of GenericTypeVar",expect instanceof GenericTypeVarExpect); - } - else if (assumed instanceof TypePlaceholder) { - AbstractInferenceTest.assertTrue("Assumed type is of TypePlaceholder",expect instanceof TypePlaceholderExpect); - } - - String mappedType=this.expectation.getMappings().getMappedType(expect.getName()); - if (mappedType!=null) { - AbstractInferenceTest.assertEquals("Same expected UnknownType mapped to different assumed types",mappedType,assumed.getName()); - } - else - this.expectation.getMappings().addMapping(expect.getName(), assumed.getName()); - } - - /** - * searches recursively for the matching block in the expectation set and compares found variables to the expectation - * @param assumpt - * @param expect - * @return - */ - - protected boolean checkFoundVariable(CLocalVarTypeAssumption assumpt, BlockExpect expect) { - //there is an expectation for a variable - AbstractInferenceTest.assertTrue(expect!=null); - boolean ret=false; - if (expect.getBlockID().equals(assumpt.getBlockId())) { - AbstractInferenceTest.assertTrue("Variable "+assumpt.getIdentifier() + " is not defined in expectation",expect.getLocalVar().containsKey(assumpt.getIdentifier())); - VarExpect varExpect = expect.getLocalVar().get(assumpt.getIdentifier()); - Vector expTypes = varExpect.getExpectedType(); - //check if a specific type for this variable is expected or whether it should be a typeplaceholder/generictypevar - if (!expTypes.isEmpty()) { - AbstractInferenceTest.assertTrue("Type " + assumpt.getAssumedType() + " for variable " + assumpt.getIdentifier() + " is not found in expectations", expTypes.contains(assumpt.getAssumedType())); - checkBoundedTypes(assumpt.getAssumedType(), expTypes.get(expTypes.indexOf(assumpt.getAssumedType()))); - - //remove this expectation to assure, all expectations have been met at least once - expect.getLocalVar().get(assumpt.getIdentifier()).getExpectedTypeCopy().remove(assumpt.getAssumedType()); - } - else if ((assumpt.getAssumedType() instanceof GenericTypeVar || assumpt.getAssumedType() instanceof TypePlaceholder) && varExpect.getExpectedUnknownType()!=null) { - checkUnknownTypes(assumpt.getAssumedType(),varExpect.getExpectedUnknownType()); - } - else - AbstractInferenceTest.fail("no type for variable "+ assumpt.getIdentifier() + " has been defined"); - - return true; - } - else if (expect.getContainedBlocks()!=null){ - //dig one block deeper in hierarchy - for (BlockExpect exp : expect.getContainedBlocks()) - ret |= checkFoundVariable(assumpt,exp); - return ret; - } - return false; - } - /** - * checks method parameters comparing them to the expectation - * @param assumpt - * @param expect - */ - - protected void checkParameters(CMethodTypeAssumption methodAssumpt, MethodExpect methodExpect) { - Vector assumpt = methodAssumpt.getParaAssumptions(); - HashMap expect = methodExpect.getParameter(); - //amount of parameter - not needed anymore since methodkey contains amount of parameters already - //AbstractInferenceTest.assertEquals("amount of parameters not equal!", assumpt.size(),expect.size()); - - for (CParaTypeAssumption paraAssumpt : assumpt) { - //check if variable is expected - AbstractInferenceTest.assertTrue("variable " + paraAssumpt.getIdentifier() + " is not expected!", expect.containsKey(paraAssumpt.getIdentifier())); - Vector expectedTypes = expect.get(paraAssumpt.getIdentifier()).getExpectedType(); - //check if variable's type is expected - if (!expectedTypes.isEmpty()) { - AbstractInferenceTest.assertTrue("type " + paraAssumpt.getAssumedType() + " for variable " + paraAssumpt.getIdentifier() + " is not expected!", expectedTypes.contains(paraAssumpt.getAssumedType())); - AbstractInferenceTest.assertEquals("type " + paraAssumpt.getAssumedType() + " for variable " + paraAssumpt.getIdentifier() + " is not expected!", expectedTypes.get(expectedTypes.indexOf(paraAssumpt.getAssumedType())).getClass(),paraAssumpt.getAssumedType().getClass()); - checkBoundedTypes(paraAssumpt.getAssumedType(), expectedTypes.get(expectedTypes.indexOf(paraAssumpt.getAssumedType()))); - - //remove this expectation to assure, all expectations have been met at least once - expect.get(paraAssumpt.getIdentifier()).getExpectedTypeCopy().remove(paraAssumpt.getAssumedType()); - } - else if (paraAssumpt.getAssumedType() instanceof GenericTypeVar && expect.get(paraAssumpt.getIdentifier()).getExpectedUnknownType()!=null) { - //case of undefined type (generic variable), add generic to generic list - if (!methodExpect.getGenerics().contains((GenericTypeVar)paraAssumpt.getAssumedType())) - methodExpect.addGeneric((GenericTypeVar) paraAssumpt.getAssumedType()); - checkUnknownTypes(paraAssumpt.getAssumedType(),expect.get(paraAssumpt.getIdentifier()).getExpectedUnknownType() ); - } - else if (paraAssumpt.getAssumedType() instanceof TypePlaceholder && expect.get(paraAssumpt.getIdentifier()).getExpectedUnknownType()!=null) - checkUnknownTypes(paraAssumpt.getAssumedType(),expect.get(paraAssumpt.getIdentifier()).getExpectedUnknownType() ); - else - AbstractInferenceTest.fail("no type for " + paraAssumpt.getIdentifier() +" has been defined in expectation"); - } - } - - /** - * checks every class expected is included in compiler assumption + available generics - * @param assumption - * @param expectation - */ - protected void checkClasses(TypeinferenceResultSet assumption, Expectation expectation) { - - - for (String expect : expectation.getClasses().keySet()) { - //class exists - AbstractInferenceTest.assertTrue("class " + expect + " is not found in assumption!", assumption.getClassNameList().contains(expect)); - //generics - checkFoundGenerics(assumption.getGenerics(expect), expectation.getClasses().get(expect).getGenerics()); - } - } - - /** - * members found are compared to the expectation - * @param assumpt - * @param expect - */ - - protected void checkFoundMembers(CInstVarTypeAssumption assumpt, HashMap expect) { - AbstractInferenceTest.assertTrue("Member " + assumpt.getIdentifier() + " is not found in expectation!", expect.containsKey(assumpt.getIdentifier())); - AbstractInferenceTest.assertTrue("Type " + assumpt.getAssumedType() + " for member " + assumpt.getIdentifier() + " is not found in expectation",expect.get(assumpt.getIdentifier()).getExpectedType().contains(assumpt.getAssumedType())); - // - //remove this expectation to assure, all expectations have been met at least once - if (expect.get(assumpt.getIdentifier()).getExpectedTypeCopy().contains(assumpt.getAssumedType())) - expect.get(assumpt.getIdentifier()).getExpectedTypeCopy().remove(assumpt.getAssumedType()); - } - - /** - * called to verify whether thrown exception from compiler calls is expected - * @param e - * @throws Throwable - */ - protected void checkForExpectedException (Exception e) throws Throwable { - if (!this.expectation.getExceptions().isEmpty()) { - //check if thrown exception has been expected - e.printStackTrace(); -// System.out.println(e.getClass()); - //AbstractInferenceTest2.assertTrue("Exception " + e.getMessage() + " is not same as expected", e.getClass().equals(this.expectation.getExceptions().firstElement())); - AbstractInferenceTest.assertTrue("Exception " + e.getMessage() + " is not expected", !this.expectation.getExceptions().isEmpty()); - } - else - throw e; - } - -// @Deprecated -// protected void checkForValidMethodTypes(CMethodTypeAssumption assumpt) {} -// protected void setUp() {} -// protected void tearDown() {} - - protected Vector createVectorAllNumberTypes() { - Vector ret = new Vector(); - ret.add(new RefType("java.lang.Integer",-1)); - ret.add(new RefType("java.lang.Long",-1)); - ret.add(new RefType("java.lang.Double",-1)); - ret.add(new RefType("java.lang.Float",-1)); -// ret.add(new RefType("java.lang.Short",-1)); -// ret.add(new RefType("java.lang.Byte",-1)); -// ret.add(new RefType("java.lang.Character",-1)); - - return ret; - } -} From b432c74ec40b961233f465ff89204f00822838b6 Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Thu, 27 Mar 2014 16:51:57 +0100 Subject: [PATCH 40/79] Fehler in SourceFile behoben --- src/mycompiler/SourceFile.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mycompiler/SourceFile.java b/src/mycompiler/SourceFile.java index f4d57cf54..7b95736ba 100755 --- a/src/mycompiler/SourceFile.java +++ b/src/mycompiler/SourceFile.java @@ -331,7 +331,7 @@ public class SourceFile while(interfaceIterator.hasNext()){ UsedId superintf=interfaceIterator.next(); String superinterfaceName=superintf.getQualifiedName(); - Pair P=createPairFromClassAndSuperclass(intf.getName(),superinterfaceName,intf. getParaList(), superintf.get_ParaList()); + Pair P=createPairFromClassAndSuperclass(intf.getName(),superinterfaceName,intf.getParaList(), superintf.get_ParaList()); vFC.add( P ); } From 8e7776dc4c540792dc3ee0dd6f76b3735be57839 Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Fri, 28 Mar 2014 18:36:08 +0100 Subject: [PATCH 41/79] =?UTF-8?q?GTV2TPH=20eingef=C3=BChrt.=20Beim=20Anf?= =?UTF-8?q?=C3=BCgen=20eines=20SingleConstraints=20werden=20GenericTypeVar?= =?UTF-8?q?s=20nun=20durch=20Typeplaceholder=20ausgetauscht.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/mycompiler/myparser/JavaParser.jay | 4 +- src/mycompiler/SourceFile.java | 22 + src/mycompiler/myclass/Class.java | 4 + src/mycompiler/myclass/Method.java | 4 +- src/mycompiler/myparser/JavaParser.java | 2531 +-- src/mycompiler/myparser/JavaParser.jay | 4 +- src/mycompiler/mystatement/InstVar.java | 39 +- src/mycompiler/mytype/GenericTypeVar.java | 6 + src/mycompiler/mytype/RefType.java | 36 +- src/typinferenz/FunNInterface.java | 2 + src/typinferenz/SingleConstraint.java | 15 +- .../assumptions/MethodAssumption.java | 3 +- .../assumptions/TypeAssumptions.java | 20 +- test/parser/GeneralParserTest.java | 1 + test/parser/ImportTest.jav | 4 + .../TypeInsertTests/GenericTypeVarTest.jav | 11 + .../TypeInsertTests/GenericTypeVarTest.java | 18 + .../TypeInsertTests/LambdaTest1.java | 2 +- tools/y.output | 15930 ++++++++-------- 19 files changed, 9576 insertions(+), 9080 deletions(-) create mode 100644 test/parser/ImportTest.jav create mode 100644 test/plugindevelopment/TypeInsertTests/GenericTypeVarTest.jav create mode 100644 test/plugindevelopment/TypeInsertTests/GenericTypeVarTest.java diff --git a/bin/mycompiler/myparser/JavaParser.jay b/bin/mycompiler/myparser/JavaParser.jay index 69dc34481..0bcaee019 100755 --- a/bin/mycompiler/myparser/JavaParser.jay +++ b/bin/mycompiler/myparser/JavaParser.jay @@ -323,7 +323,7 @@ compilationunit : typedeclarations { $$=$1; } -/* |importdeclarations typedeclarations + |importdeclarations typedeclarations { $2.addImports($1); $$=$2; @@ -346,7 +346,7 @@ compilationunit : typedeclarations this.testPair.add(new Pair($1,$2)); $$=$3; } - */ + packagedeclaration : PACKAGE name ';' ; { // SCJU: Package diff --git a/src/mycompiler/SourceFile.java b/src/mycompiler/SourceFile.java index 7b95736ba..4918595de 100755 --- a/src/mycompiler/SourceFile.java +++ b/src/mycompiler/SourceFile.java @@ -5,6 +5,7 @@ package mycompiler; // ino.module.SourceFile.8722.import import java.util.Collection; import java.util.Enumeration; +import java.util.HashMap; import java.util.Hashtable; import java.util.Iterator; import java.util.Vector; @@ -690,6 +691,27 @@ public class SourceFile } } + //Alle Generischen Typvariablen in TPH umwandeln: + HashMap gtv2tph = new HashMap(); + for(Pair pair : constraints){ + if(pair.TA1 instanceof GenericTypeVar){ + TypePlaceholder tph = gtv2tph.get(pair.TA1); + if(tph == null){ + tph = TypePlaceholder.fresh(); + gtv2tph.put((GenericTypeVar)pair.TA1, tph); + } + pair.TA1 = tph; + } + if(pair.TA2 instanceof GenericTypeVar){ + TypePlaceholder tph = gtv2tph.get(pair.TA2); + if(tph == null){ + tph = TypePlaceholder.fresh(); + gtv2tph.put((GenericTypeVar)pair.TA2, tph); + } + pair.TA2 = tph; + } + } + //Erst die Unifizierung erstellen: Vector constraintsClone = (Vector)constraints.clone(); Vector> unifyResult = Unify.unify(constraintsClone, finiteClosure); diff --git a/src/mycompiler/myclass/Class.java b/src/mycompiler/myclass/Class.java index ca4c87c8e..a35316475 100755 --- a/src/mycompiler/myclass/Class.java +++ b/src/mycompiler/myclass/Class.java @@ -1250,6 +1250,10 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface * @return */ public RefType getType() { + Vector parameter = new Vector(); + for(Type param : this.get_ParaList()){ + parameter.add(((GenericTypeVar)param).getTypePlaceHolder());//(TypePlaceholder.fresh()); //Hier ist kein ReplacementListener notwendig. Der Typ soll nie eingesetzt werden. Der TPH wird nur gebraucht, damit das Unifizieren funktioniert. + } return new RefType(this.getName(), this.get_ParaList(), 0); } diff --git a/src/mycompiler/myclass/Method.java b/src/mycompiler/myclass/Method.java index 97f7df39a..3acb403ab 100755 --- a/src/mycompiler/myclass/Method.java +++ b/src/mycompiler/myclass/Method.java @@ -705,7 +705,9 @@ public class Method extends Field implements IItemWithOffset, TypeInsertable public boolean equals(Object obj){ if(!(obj instanceof Method))return false; Method equals = (Method) obj; - if(!this.returntype.equals(equals.returntype))return false; + if((this.returntype!=null && equals.returntype==null))return false; + if((this.returntype==null && equals.returntype!=null))return false; + if(this.returntype!=null && equals.returntype!=null)if(!this.returntype.equals(equals.returntype))return false; if(!this.parameterlist.equals(equals.parameterlist))return false; return super.equals(obj); } diff --git a/src/mycompiler/myparser/JavaParser.java b/src/mycompiler/myparser/JavaParser.java index ef95bad58..9dcd124ef 100644 --- a/src/mycompiler/myparser/JavaParser.java +++ b/src/mycompiler/myparser/JavaParser.java @@ -266,10 +266,14 @@ public Vector testPair = new Vector(); */ //t protected jay.yydebug.yyDebug yydebug; - protected static final int yyFinal = 9; + protected static final int yyFinal = 15; //t public static final String yyRule [] = { //t "$accept : compilationunit", //t "compilationunit : typedeclarations", +//t "compilationunit : importdeclarations typedeclarations", +//t "compilationunit : packagedeclaration importdeclarations typedeclarations", +//t "compilationunit : packagedeclaration typedeclarations", +//t "compilationunit : type type compilationunit", //t "packagedeclaration : PACKAGE name ';'", //t "importdeclarations : importdeclaration", //t "importdeclarations : importdeclarations importdeclaration", @@ -755,13 +759,44 @@ case 1: } break; case 2: + // line 327 "./../src/mycompiler/myparser/JavaParser.jay" + { + ((SourceFile)yyVals[0+yyTop]).addImports(((ImportDeclarations)yyVals[-1+yyTop])); + yyVal=((SourceFile)yyVals[0+yyTop]); + } + break; +case 3: + // line 332 "./../src/mycompiler/myparser/JavaParser.jay" + { + /* SCJU: Package*/ + ((SourceFile)yyVals[0+yyTop]).setPackageName(((UsedId)yyVals[-2+yyTop])); + ((SourceFile)yyVals[0+yyTop]).addImports(((ImportDeclarations)yyVals[-1+yyTop])); + yyVal=((SourceFile)yyVals[0+yyTop]); + } + break; +case 4: + // line 339 "./../src/mycompiler/myparser/JavaParser.jay" + { + /* SCJU: Package*/ + ((SourceFile)yyVals[0+yyTop]).setPackageName(((UsedId)yyVals[-1+yyTop])); + yyVal=((SourceFile)yyVals[0+yyTop]); + } + break; +case 5: + // line 345 "./../src/mycompiler/myparser/JavaParser.jay" + { + this.testPair.add(new Pair(((Type)yyVals[-2+yyTop]),((Type)yyVals[-1+yyTop]))); + yyVal=((SourceFile)yyVals[0+yyTop]); + } + break; +case 6: // line 351 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Package*/ yyVal = ((UsedId)yyVals[-1+yyTop]); } break; -case 3: +case 7: // line 357 "./../src/mycompiler/myparser/JavaParser.jay" { ImportDeclarations declarations=new ImportDeclarations(); @@ -769,20 +804,20 @@ case 3: yyVal=declarations; } break; -case 4: +case 8: // line 363 "./../src/mycompiler/myparser/JavaParser.jay" { ((ImportDeclarations)yyVals[-1+yyTop]).addElement(((UsedId)yyVals[0+yyTop])); yyVal=((ImportDeclarations)yyVals[-1+yyTop]); } break; -case 5: +case 9: // line 369 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((UsedId)yyVals[-1+yyTop]); } break; -case 6: +case 10: // line 374 "./../src/mycompiler/myparser/JavaParser.jay" { SourceFile Scfile = new SourceFile(); @@ -790,39 +825,39 @@ case 6: yyVal=Scfile; } break; -case 7: +case 11: // line 380 "./../src/mycompiler/myparser/JavaParser.jay" { ((SourceFile)yyVals[-1+yyTop]).addElement(((AClassOrInterface)yyVals[0+yyTop])); yyVal=((SourceFile)yyVals[-1+yyTop]); } break; -case 8: +case 12: // line 386 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((UsedId)yyVals[0+yyTop]); } break; -case 9: +case 13: // line 390 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((UsedId)yyVals[0+yyTop]); } break; -case 10: +case 14: // line 395 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Class)yyVals[0+yyTop]); } break; -case 11: +case 15: // line 399 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Interface*/ yyVal=((Interface)yyVals[0+yyTop]); } break; -case 12: +case 16: // line 406 "./../src/mycompiler/myparser/JavaParser.jay" { ((UsedId)yyVals[-2+yyTop]).set_Name(((Token)yyVals[0+yyTop]).getLexem()); @@ -830,7 +865,7 @@ case 12: yyVal=((UsedId)yyVals[-2+yyTop]); } break; -case 13: +case 17: // line 413 "./../src/mycompiler/myparser/JavaParser.jay" { ((UsedId)yyVals[-2+yyTop]).set_Name(((Token)yyVals[0+yyTop]).getLexem()); @@ -838,7 +873,7 @@ case 13: yyVal=((UsedId)yyVals[-2+yyTop]); } break; -case 14: +case 18: // line 419 "./../src/mycompiler/myparser/JavaParser.jay" { ((UsedId)yyVals[-2+yyTop]).set_Name("*"); @@ -846,7 +881,7 @@ case 14: yyVal=((UsedId)yyVals[-2+yyTop]); } break; -case 15: +case 19: // line 427 "./../src/mycompiler/myparser/JavaParser.jay" { UsedId UI = new UsedId(((Token)yyVals[0+yyTop]).getOffset()); @@ -855,7 +890,7 @@ case 15: yyVal = UI; } break; -case 16: +case 20: // line 435 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Um das hier uebersichtlicher zu halten,*/ @@ -874,7 +909,7 @@ case 16: this.initUsedIdsToCheck(); } break; -case 17: +case 21: // line 452 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = new Class(((ClassAndParameter)yyVals[-1+yyTop]).getName(), ((Modifiers)yyVals[-3+yyTop]), ((ClassBody)yyVals[0+yyTop]), containedTypes,usedIdsToCheck, null, null, ((ClassAndParameter)yyVals[-1+yyTop]).getParaVector()); @@ -882,7 +917,7 @@ case 17: this.initUsedIdsToCheck(); } break; -case 18: +case 22: // line 458 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = new Class(((ClassAndParameter)yyVals[-2+yyTop]).getName(), null, ((ClassBody)yyVals[0+yyTop]), containedTypes,usedIdsToCheck, ((UsedId)yyVals[-1+yyTop]), null, ((ClassAndParameter)yyVals[-2+yyTop]).getParaVector()); @@ -890,7 +925,7 @@ case 18: this.initUsedIdsToCheck(); } break; -case 19: +case 23: // line 464 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = new Class(((ClassAndParameter)yyVals[-2+yyTop]).getName(), ((Modifiers)yyVals[-4+yyTop]), ((ClassBody)yyVals[0+yyTop]), containedTypes, usedIdsToCheck, ((UsedId)yyVals[-1+yyTop]), null, ((ClassAndParameter)yyVals[-2+yyTop]).getParaVector()); @@ -898,7 +933,7 @@ case 19: this.initUsedIdsToCheck(); } break; -case 20: +case 24: // line 471 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = new Class(((ClassAndParameter)yyVals[-2+yyTop]).getName(), null, ((ClassBody)yyVals[0+yyTop]), containedTypes, usedIdsToCheck, null, ((InterfaceList)yyVals[-1+yyTop]).getVector(), ((ClassAndParameter)yyVals[-2+yyTop]).getParaVector()); @@ -906,7 +941,7 @@ case 20: this.initUsedIdsToCheck(); } break; -case 21: +case 25: // line 477 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = new Class(((ClassAndParameter)yyVals[-2+yyTop]).getName(), ((Modifiers)yyVals[-4+yyTop]), ((ClassBody)yyVals[0+yyTop]), containedTypes, usedIdsToCheck, null, ((InterfaceList)yyVals[-1+yyTop]).getVector(), ((ClassAndParameter)yyVals[-2+yyTop]).getParaVector()); @@ -914,7 +949,7 @@ case 21: this.initUsedIdsToCheck(); } break; -case 22: +case 26: // line 483 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = new Class(((ClassAndParameter)yyVals[-3+yyTop]).getName(), null, ((ClassBody)yyVals[0+yyTop]), containedTypes,usedIdsToCheck, ((UsedId)yyVals[-2+yyTop]), ((InterfaceList)yyVals[-1+yyTop]).getVector(), ((ClassAndParameter)yyVals[-3+yyTop]).getParaVector()); @@ -922,7 +957,7 @@ case 22: this.initUsedIdsToCheck(); } break; -case 23: +case 27: // line 489 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = new Class(((ClassAndParameter)yyVals[-3+yyTop]).getName(), ((Modifiers)yyVals[-5+yyTop]), ((ClassBody)yyVals[0+yyTop]), containedTypes, usedIdsToCheck, ((UsedId)yyVals[-2+yyTop]), ((InterfaceList)yyVals[-1+yyTop]).getVector(), ((ClassAndParameter)yyVals[-3+yyTop]).getParaVector()); @@ -930,7 +965,7 @@ case 23: this.initUsedIdsToCheck(); } break; -case 24: +case 28: // line 496 "./../src/mycompiler/myparser/JavaParser.jay" { /* HOTI*/ @@ -938,13 +973,13 @@ case 24: yyVal = new InterfaceAndParameter(((Token)yyVals[0+yyTop]).getLexem()); } break; -case 25: +case 29: // line 502 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = new InterfaceAndParameter(((Token)yyVals[-3+yyTop]).getLexem(), ((ParaList)yyVals[-1+yyTop])); } break; -case 26: +case 30: // line 507 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Hilfskonstrukt, um die Grammatik ueberschaubar zu halten*/ @@ -952,13 +987,13 @@ case 26: yyVal = new ClassAndParameter(((Token)yyVals[0+yyTop]).getLexem()); } break; -case 27: +case 31: // line 513 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = new ClassAndParameter(((Token)yyVals[-3+yyTop]).getLexem(), ((ParaList)yyVals[-1+yyTop])); } break; -case 28: +case 32: // line 518 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Interface*/ @@ -970,7 +1005,7 @@ case 28: yyVal = ic; } break; -case 29: +case 33: // line 528 "./../src/mycompiler/myparser/JavaParser.jay" { Interface ic = new Interface(((InterfaceAndParameter)yyVals[-1+yyTop]).getName(), ((Modifiers)yyVals[-3+yyTop])); @@ -981,7 +1016,7 @@ case 29: yyVal = ic; } break; -case 30: +case 34: // line 537 "./../src/mycompiler/myparser/JavaParser.jay" { Interface ic = new Interface(((InterfaceAndParameter)yyVals[-2+yyTop]).getName()); @@ -993,7 +1028,7 @@ case 30: yyVal = ic; } break; -case 31: +case 35: // line 547 "./../src/mycompiler/myparser/JavaParser.jay" { Interface ic = new Interface(((InterfaceAndParameter)yyVals[-2+yyTop]).getName(), ((Modifiers)yyVals[-4+yyTop])); @@ -1005,7 +1040,7 @@ case 31: yyVal = ic; } break; -case 32: +case 36: // line 558 "./../src/mycompiler/myparser/JavaParser.jay" { ParaList pl = new ParaList(); @@ -1018,7 +1053,7 @@ case 32: yyVal = pl; } break; -case 33: +case 37: // line 569 "./../src/mycompiler/myparser/JavaParser.jay" { ParaList pl = new ParaList(); @@ -1029,7 +1064,7 @@ case 33: yyVal = pl; } break; -case 34: +case 38: // line 578 "./../src/mycompiler/myparser/JavaParser.jay" { ParaList pl = new ParaList(); @@ -1037,7 +1072,7 @@ case 34: yyVal = pl; } break; -case 35: +case 39: // line 584 "./../src/mycompiler/myparser/JavaParser.jay" { @@ -1051,7 +1086,7 @@ case 35: yyVal=((ParaList)yyVals[-2+yyTop]); } break; -case 36: +case 40: // line 597 "./../src/mycompiler/myparser/JavaParser.jay" { RefType t = new RefType( ((Token)yyVals[-3+yyTop]).getLexem() ,((Token)yyVals[-3+yyTop]).getOffset() ); @@ -1061,14 +1096,14 @@ case 36: yyVal=((ParaList)yyVals[-5+yyTop]); } break; -case 37: +case 41: // line 605 "./../src/mycompiler/myparser/JavaParser.jay" { ((ParaList)yyVals[-2+yyTop]).getParalist().addElement(((WildcardType)yyVals[0+yyTop])); yyVal=((ParaList)yyVals[-2+yyTop]); } break; -case 38: +case 42: // line 611 "./../src/mycompiler/myparser/JavaParser.jay" { /*Luar 29.11.06 Offset auf -1, da keine Angabe vorhanden*/ @@ -1076,34 +1111,34 @@ case 38: yyVal = wc; } break; -case 39: +case 43: // line 617 "./../src/mycompiler/myparser/JavaParser.jay" { ExtendsWildcardType ewc = new ExtendsWildcardType(((Token)yyVals[-1+yyTop]).getOffset(),((RefType)yyVals[0+yyTop])); yyVal = ewc; } break; -case 40: +case 44: // line 622 "./../src/mycompiler/myparser/JavaParser.jay" { SuperWildcardType swc = new SuperWildcardType(((Token)yyVals[-1+yyTop]).getOffset(),((RefType)yyVals[0+yyTop])); yyVal = swc; } break; -case 41: +case 45: // line 628 "./../src/mycompiler/myparser/JavaParser.jay" { ClassBody CB = new ClassBody(); yyVal = CB; } break; -case 42: +case 46: // line 634 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = ((ClassBody)yyVals[-1+yyTop]); } break; -case 43: +case 47: // line 639 "./../src/mycompiler/myparser/JavaParser.jay" { Modifiers Mod = new Modifiers(); @@ -1111,20 +1146,20 @@ case 43: yyVal = Mod; } break; -case 44: +case 48: // line 645 "./../src/mycompiler/myparser/JavaParser.jay" { ((Modifiers)yyVals[-1+yyTop]).addModifier(((Modifier)yyVals[0+yyTop])); yyVal = ((Modifiers)yyVals[-1+yyTop]); } break; -case 45: +case 49: // line 651 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = ((UsedId)yyVals[0+yyTop]); } break; -case 46: +case 50: // line 656 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Interface*/ @@ -1133,27 +1168,27 @@ case 46: yyVal = il; } break; -case 47: +case 51: // line 663 "./../src/mycompiler/myparser/JavaParser.jay" { ((InterfaceList)yyVals[-2+yyTop]).addInterface(((UsedId)yyVals[0+yyTop])); yyVal = ((InterfaceList)yyVals[-2+yyTop]); } break; -case 48: +case 52: // line 669 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Interface*/ yyVal = new InterfaceBody(); } break; -case 49: +case 53: // line 674 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = ((InterfaceBody)yyVals[-1+yyTop]); } break; -case 50: +case 54: // line 681 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Interface*/ @@ -1162,14 +1197,14 @@ case 50: yyVal = il; } break; -case 51: +case 55: // line 688 "./../src/mycompiler/myparser/JavaParser.jay" { ((InterfaceList)yyVals[-2+yyTop]).addInterface(((UsedId)yyVals[0+yyTop])); yyVal = ((InterfaceList)yyVals[-2+yyTop]); } break; -case 52: +case 56: // line 695 "./../src/mycompiler/myparser/JavaParser.jay" { ClassBody CB = new ClassBody(); @@ -1177,55 +1212,55 @@ case 52: yyVal=CB; } break; -case 53: +case 57: // line 701 "./../src/mycompiler/myparser/JavaParser.jay" { ((ClassBody)yyVals[-1+yyTop]).addField(((Field)yyVals[0+yyTop])); yyVal = ((ClassBody)yyVals[-1+yyTop]); } break; -case 54: +case 58: // line 708 "./../src/mycompiler/myparser/JavaParser.jay" { Public Pub = new Public(); yyVal=Pub; } break; -case 55: +case 59: // line 713 "./../src/mycompiler/myparser/JavaParser.jay" { Protected Pro = new Protected(); yyVal=Pro; } break; -case 56: +case 60: // line 718 "./../src/mycompiler/myparser/JavaParser.jay" { Private Pri = new Private(); yyVal=Pri; } break; -case 57: +case 61: // line 723 "./../src/mycompiler/myparser/JavaParser.jay" { Static Sta = new Static(); yyVal=Sta; } break; -case 58: +case 62: // line 728 "./../src/mycompiler/myparser/JavaParser.jay" { Abstract Abs = new Abstract(); yyVal=Abs; } break; -case 59: +case 63: // line 733 "./../src/mycompiler/myparser/JavaParser.jay" { Final fin = new Final(); yyVal = fin; } break; -case 60: +case 64: // line 739 "./../src/mycompiler/myparser/JavaParser.jay" { /*PL 05-07-30 eingefuegt containedTypes ANFANG*/ @@ -1240,7 +1275,7 @@ case 60: yyVal = ((UsedId)yyVals[0+yyTop]); } break; -case 61: +case 65: // line 754 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Interface*/ @@ -1249,39 +1284,39 @@ case 61: yyVal = ib; } break; -case 62: +case 66: // line 761 "./../src/mycompiler/myparser/JavaParser.jay" { ((InterfaceBody)yyVals[-1+yyTop]).addElement(((Field)yyVals[0+yyTop])); yyVal = ((InterfaceBody)yyVals[-1+yyTop]); } break; -case 63: +case 67: // line 767 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Interfaces*/ yyVal = ((UsedId)yyVals[0+yyTop]); } break; -case 64: +case 68: // line 773 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Field)yyVals[0+yyTop]); } break; -case 65: +case 69: // line 778 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Method)yyVals[0+yyTop]); } break; -case 66: +case 70: // line 782 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Field)yyVals[0+yyTop]); } break; -case 67: +case 71: // line 787 "./../src/mycompiler/myparser/JavaParser.jay" { if (((Vector)yyVals[0+yyTop]) != null) { @@ -1293,7 +1328,7 @@ case 67: yyVal=((UsedId)yyVals[-1+yyTop]); } break; -case 68: +case 72: // line 798 "./../src/mycompiler/myparser/JavaParser.jay" { Vector tl = new Vector(); @@ -1301,49 +1336,49 @@ case 68: yyVal = tl; } break; -case 69: +case 73: // line 804 "./../src/mycompiler/myparser/JavaParser.jay" { ((Vector)yyVals[-2+yyTop]).add(((Type)yyVals[0+yyTop])); yyVal=((Vector)yyVals[-2+yyTop]); } break; -case 70: +case 74: // line 811 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = null; } break; -case 71: +case 75: // line 813 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = ((Vector)yyVals[-1+yyTop]); } break; -case 72: +case 76: // line 818 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Interfaces, Spezialform Konstantendef.*/ yyVal = ((Constant)yyVals[0+yyTop]); } break; -case 73: +case 77: // line 823 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = ((Method)yyVals[0+yyTop]); } break; -case 74: +case 78: // line 828 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Field)yyVals[0+yyTop]); } break; -case 75: +case 79: // line 832 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Method)yyVals[0+yyTop]); } break; -case 76: +case 80: // line 837 "./../src/mycompiler/myparser/JavaParser.jay" { Method STAT = new Method(((Token)yyVals[-1+yyTop]).getOffset()); @@ -1358,14 +1393,14 @@ case 76: yyVal=STAT; } break; -case 77: +case 81: // line 851 "./../src/mycompiler/myparser/JavaParser.jay" { ((Constructor)yyVals[-1+yyTop]).set_Block(((Block)yyVals[0+yyTop])); yyVal = ((Constructor)yyVals[-1+yyTop]); } break; -case 78: +case 82: // line 856 "./../src/mycompiler/myparser/JavaParser.jay" { ((Constructor)yyVals[-1+yyTop]).set_Block(((Block)yyVals[0+yyTop])); @@ -1373,7 +1408,7 @@ case 78: yyVal = ((Constructor)yyVals[-1+yyTop]); } break; -case 79: +case 83: // line 863 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Interface*/ @@ -1383,14 +1418,14 @@ case 79: yyVal = c; } break; -case 80: +case 84: // line 872 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Interface*/ yyVal = ((Method)yyVals[-1+yyTop]); } break; -case 81: +case 85: // line 885 "./../src/mycompiler/myparser/JavaParser.jay" { FieldDeclaration ret = new FieldDeclaration(((DeclId)yyVals[-2+yyTop]).getOffset()); @@ -1400,7 +1435,7 @@ case 81: yyVal=ret; } break; -case 82: +case 86: // line 893 "./../src/mycompiler/myparser/JavaParser.jay" { FieldDeclaration ret = new FieldDeclaration(((DeclId)yyVals[-2+yyTop]).getOffset()); @@ -1409,26 +1444,26 @@ case 82: yyVal=ret; } break; -case 83: +case 87: // line 901 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((FieldDeclaration)yyVals[-1+yyTop]); } break; -case 84: +case 88: // line 905 "./../src/mycompiler/myparser/JavaParser.jay" { ((FieldDeclaration)yyVals[0+yyTop]).setType(((Type)yyVals[-1+yyTop])); yyVal=((FieldDeclaration)yyVals[0+yyTop]); } break; -case 85: +case 89: // line 911 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((FieldDeclaration)yyVals[-1+yyTop]); } break; -case 86: +case 90: // line 916 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("T->Parser->fielddeclaration ...: type " + ((Type)yyVals[-2+yyTop])); @@ -1436,7 +1471,7 @@ case 86: yyVal = ((FieldDeclaration)yyVals[-1+yyTop]); } break; -case 87: +case 91: // line 923 "./../src/mycompiler/myparser/JavaParser.jay" { ((FieldDeclaration)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); @@ -1447,27 +1482,27 @@ case 87: yyVal = ((FieldDeclaration)yyVals[-1+yyTop]); } break; -case 88: +case 92: // line 933 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[-1+yyTop]).set_Block(((Block)yyVals[0+yyTop])); yyVal=((Method)yyVals[-1+yyTop]); } break; -case 89: +case 93: // line 940 "./../src/mycompiler/myparser/JavaParser.jay" { Block Bl = new Block(); yyVal=Bl; } break; -case 90: +case 94: // line 946 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[-1+yyTop]); } break; -case 91: +case 95: // line 951 "./../src/mycompiler/myparser/JavaParser.jay" { Constructor CON = new Constructor(null); /*TODO: Der Parser kann sowieso nicht zwischen einem Konstruktor und einer Methode unterscheiden. Das hier kann wegfallen...*/ @@ -1477,7 +1512,7 @@ case 91: yyVal=CON; } break; -case 92: +case 96: // line 959 "./../src/mycompiler/myparser/JavaParser.jay" { Constructor CONpara = new Constructor(null); @@ -1488,14 +1523,14 @@ case 92: yyVal=CONpara; } break; -case 93: +case 97: // line 969 "./../src/mycompiler/myparser/JavaParser.jay" { Block CBL = new Block(); yyVal=CBL; } break; -case 94: +case 98: // line 974 "./../src/mycompiler/myparser/JavaParser.jay" { Block CBLexpl = new Block(); @@ -1503,13 +1538,13 @@ case 94: yyVal=CBLexpl; } break; -case 95: +case 99: // line 980 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[-1+yyTop]); } break; -case 96: +case 100: // line 984 "./../src/mycompiler/myparser/JavaParser.jay" { Block CBes = new Block(); @@ -1521,7 +1556,7 @@ case 96: yyVal=CBes; } break; -case 97: +case 101: // line 995 "./../src/mycompiler/myparser/JavaParser.jay" { ExceptionList EL = new ExceptionList(); @@ -1529,13 +1564,13 @@ case 97: yyVal=EL; } break; -case 98: +case 102: // line 1002 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = ((GenericTypeVar)yyVals[0+yyTop]); } break; -case 99: +case 103: // line 1007 "./../src/mycompiler/myparser/JavaParser.jay" { ParaList p = new ParaList(); @@ -1543,20 +1578,20 @@ case 99: yyVal=p; } break; -case 100: +case 104: // line 1013 "./../src/mycompiler/myparser/JavaParser.jay" { ((ParaList)yyVals[-2+yyTop]).add_ParaList(((GenericTypeVar)yyVals[0+yyTop])); yyVal=((ParaList)yyVals[-2+yyTop]); } break; -case 101: +case 105: // line 1020 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=new GenericTypeVar(((Token)yyVals[0+yyTop]).getLexem(),((Token)yyVals[0+yyTop]).getOffset()); } break; -case 102: +case 106: // line 1024 "./../src/mycompiler/myparser/JavaParser.jay" { BoundedGenericTypeVar gtv=new BoundedGenericTypeVar(((Token)yyVals[-2+yyTop]).getLexem(),((Token)yyVals[-2+yyTop]).getOffset()); @@ -1564,7 +1599,7 @@ case 102: yyVal=gtv; } break; -case 103: +case 107: // line 1031 "./../src/mycompiler/myparser/JavaParser.jay" { Vector vec=new Vector(); @@ -1573,7 +1608,7 @@ case 103: yyVal=vec; } break; -case 104: +case 108: // line 1038 "./../src/mycompiler/myparser/JavaParser.jay" { ((Vector)yyVals[-2+yyTop]).addElement(((RefType)yyVals[0+yyTop])); @@ -1581,7 +1616,7 @@ case 104: yyVal=((Vector)yyVals[-2+yyTop]); } break; -case 105: +case 109: // line 1045 "./../src/mycompiler/myparser/JavaParser.jay" { Vector vec=new Vector(); @@ -1589,14 +1624,14 @@ case 105: yyVal=vec; } break; -case 106: +case 110: // line 1051 "./../src/mycompiler/myparser/JavaParser.jay" { ((Vector)yyVals[-2+yyTop]).addElement(((GenericTypeVar)yyVals[0+yyTop])); yyVal=((Vector)yyVals[-2+yyTop]); } break; -case 107: +case 111: // line 1059 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[0+yyTop]).setType(((Type)yyVals[-1+yyTop])); @@ -1604,14 +1639,14 @@ case 107: yyVal=((Method)yyVals[0+yyTop]); } break; -case 108: +case 112: // line 1065 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[0+yyTop]).setType(((Type)yyVals[-1+yyTop])); yyVal=((Method)yyVals[0+yyTop]); } break; -case 109: +case 113: // line 1070 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-2+yyTop])); @@ -1619,7 +1654,7 @@ case 109: yyVal=((Method)yyVals[0+yyTop]); } break; -case 110: +case 114: // line 1076 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-5+yyTop])); @@ -1628,7 +1663,7 @@ case 110: yyVal=((Method)yyVals[0+yyTop]); } break; -case 111: +case 115: // line 1083 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); @@ -1636,7 +1671,7 @@ case 111: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 112: +case 116: // line 1089 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[-1+yyTop]).setGenericMethodParameters(((Vector)yyVals[-4+yyTop])); @@ -1645,7 +1680,7 @@ case 112: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 113: +case 117: // line 1096 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-3+yyTop])); @@ -1654,7 +1689,7 @@ case 113: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 114: +case 118: // line 1103 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-6+yyTop])); @@ -1664,7 +1699,7 @@ case 114: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 115: +case 119: // line 1111 "./../src/mycompiler/myparser/JavaParser.jay" { Void Voit = new Void(((Token)yyVals[-1+yyTop]).getOffset()); @@ -1672,7 +1707,7 @@ case 115: yyVal=((Method)yyVals[0+yyTop]); } break; -case 116: +case 120: // line 1117 "./../src/mycompiler/myparser/JavaParser.jay" { Void voit = new Void(((Token)yyVals[-1+yyTop]).getOffset()); @@ -1681,7 +1716,7 @@ case 116: yyVal=((Method)yyVals[0+yyTop]); } break; -case 117: +case 121: // line 1124 "./../src/mycompiler/myparser/JavaParser.jay" { Void voyt = new Void(((Token)yyVals[-2+yyTop]).getOffset()); @@ -1690,7 +1725,7 @@ case 117: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 118: +case 122: // line 1131 "./../src/mycompiler/myparser/JavaParser.jay" { Void voyd = new Void(((Token)yyVals[-2+yyTop]).getOffset()); @@ -1700,7 +1735,7 @@ case 118: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 119: +case 123: // line 1139 "./../src/mycompiler/myparser/JavaParser.jay" { Void Voit = new Void(((Token)yyVals[-1+yyTop]).getOffset()); @@ -1709,7 +1744,7 @@ case 119: yyVal=((Method)yyVals[0+yyTop]); } break; -case 120: +case 124: // line 1146 "./../src/mycompiler/myparser/JavaParser.jay" { Void voit = new Void(((Token)yyVals[-1+yyTop]).getOffset()); @@ -1719,7 +1754,7 @@ case 120: yyVal=((Method)yyVals[0+yyTop]); } break; -case 121: +case 125: // line 1154 "./../src/mycompiler/myparser/JavaParser.jay" { Void voyt = new Void(((Token)yyVals[-2+yyTop]).getOffset()); @@ -1729,7 +1764,7 @@ case 121: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 122: +case 126: // line 1162 "./../src/mycompiler/myparser/JavaParser.jay" { Void voyd = new Void(((Token)yyVals[-2+yyTop]).getOffset()); @@ -1740,14 +1775,14 @@ case 122: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 123: +case 127: // line 1172 "./../src/mycompiler/myparser/JavaParser.jay" { /*auskommentiert von Andreas Stadelmeier (a10023) $1.setType(TypePlaceholder.fresh()); */ yyVal=((Method)yyVals[0+yyTop]); } break; -case 124: +case 128: // line 1177 "./../src/mycompiler/myparser/JavaParser.jay" { /*auskommentiert von Andreas Stadelmeier (a10023) $4.setType(TypePlaceholder.fresh());*/ @@ -1755,7 +1790,7 @@ case 124: yyVal=((Method)yyVals[0+yyTop]); } break; -case 125: +case 129: // line 1184 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-1+yyTop])); @@ -1763,7 +1798,7 @@ case 125: yyVal=((Method)yyVals[0+yyTop]); } break; -case 126: +case 130: // line 1190 "./../src/mycompiler/myparser/JavaParser.jay" { /*auskommentiert von Andreas Stadelmeier (a10023) $1.setType(TypePlaceholder.fresh());*/ @@ -1771,7 +1806,7 @@ case 126: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 127: +case 131: // line 1196 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-2+yyTop])); @@ -1780,31 +1815,31 @@ case 127: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 128: +case 132: // line 1205 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((BaseType)yyVals[0+yyTop]); } break; -case 129: +case 133: // line 1209 "./../src/mycompiler/myparser/JavaParser.jay" { ((BaseType)yyVals[-2+yyTop]).setArray(true); } break; -case 130: +case 134: // line 1213 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((RefType)yyVals[0+yyTop]); } break; -case 131: +case 135: // line 1217 "./../src/mycompiler/myparser/JavaParser.jay" { ((RefType)yyVals[-2+yyTop]).setArray(true); } break; -case 132: +case 136: // line 1221 "./../src/mycompiler/myparser/JavaParser.jay" { FieldDeclaration IVD = new FieldDeclaration(((DeclId)yyVals[0+yyTop]).getOffset()); @@ -1813,20 +1848,20 @@ case 132: yyVal = IVD; } break; -case 133: +case 137: // line 1228 "./../src/mycompiler/myparser/JavaParser.jay" { ((FieldDeclaration)yyVals[-2+yyTop]).getDeclIdVector().addElement(((DeclId)yyVals[0+yyTop])); yyVal=((FieldDeclaration)yyVals[-2+yyTop]); } break; -case 134: +case 138: // line 1234 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[0+yyTop]); } break; -case 135: +case 139: // line 1239 "./../src/mycompiler/myparser/JavaParser.jay" { Block Blstat = new Block(); @@ -1834,14 +1869,14 @@ case 135: yyVal=Blstat; } break; -case 136: +case 140: // line 1246 "./../src/mycompiler/myparser/JavaParser.jay" { ((Block)yyVals[-1+yyTop]).set_Statement(((Statement)yyVals[0+yyTop])); yyVal=((Block)yyVals[-1+yyTop]); } break; -case 137: +case 141: // line 1252 "./../src/mycompiler/myparser/JavaParser.jay" { ParameterList PL = new ParameterList(); @@ -1849,21 +1884,21 @@ case 137: yyVal = PL; } break; -case 138: +case 142: // line 1258 "./../src/mycompiler/myparser/JavaParser.jay" { ((ParameterList)yyVals[-2+yyTop]).set_AddParameter(((FormalParameter)yyVals[0+yyTop])); yyVal = ((ParameterList)yyVals[-2+yyTop]); } break; -case 139: +case 143: // line 1264 "./../src/mycompiler/myparser/JavaParser.jay" { This THCON = new This(((Token)yyVals[-3+yyTop]).getOffset(),((Token)yyVals[-3+yyTop]).getLexem().length()); yyVal=THCON; } break; -case 140: +case 144: // line 1269 "./../src/mycompiler/myparser/JavaParser.jay" { This THCONargl = new This(((Token)yyVals[-4+yyTop]).getOffset(),((Token)yyVals[-4+yyTop]).getLexem().length()); @@ -1871,7 +1906,7 @@ case 140: yyVal=THCONargl; } break; -case 141: +case 145: // line 1278 "./../src/mycompiler/myparser/JavaParser.jay" { RefType RT = new RefType(-1); @@ -1880,7 +1915,7 @@ case 141: yyVal=RT; } break; -case 142: +case 146: // line 1285 "./../src/mycompiler/myparser/JavaParser.jay" { ((RefType)yyVals[-2+yyTop]).set_UsedId(((UsedId)yyVals[0+yyTop])); @@ -1888,7 +1923,7 @@ case 142: yyVal=((RefType)yyVals[-2+yyTop]); } break; -case 143: +case 147: // line 1292 "./../src/mycompiler/myparser/JavaParser.jay" { Method met = new Method(((Token)yyVals[-2+yyTop]).getOffset()); @@ -1903,7 +1938,7 @@ case 143: yyVal = met; } break; -case 144: +case 148: // line 1305 "./../src/mycompiler/myparser/JavaParser.jay" { Method met_para = new Method(((Token)yyVals[-3+yyTop]).getOffset()); @@ -1919,7 +1954,7 @@ case 144: yyVal = met_para; } break; -case 145: +case 149: // line 1320 "./../src/mycompiler/myparser/JavaParser.jay" { BooleanType BT = new BooleanType(); @@ -1930,13 +1965,13 @@ case 145: yyVal=BT; } break; -case 146: +case 150: // line 1329 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((BaseType)yyVals[0+yyTop]); } break; -case 147: +case 151: // line 1335 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("T->Parser->referenctype: " + ((UsedId)yyVals[0+yyTop])); @@ -1956,25 +1991,25 @@ case 147: yyVal=RT; } break; -case 148: +case 152: // line 1355 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((DeclId)yyVals[0+yyTop]); } break; -case 149: +case 153: // line 1376 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((LocalVarDecl)yyVals[0+yyTop]); } break; -case 150: +case 154: // line 1380 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Statement)yyVals[0+yyTop]); } break; -case 151: +case 155: // line 1385 "./../src/mycompiler/myparser/JavaParser.jay" { FormalParameter FP = new FormalParameter(((DeclId)yyVals[0+yyTop])); @@ -1983,7 +2018,7 @@ case 151: yyVal=FP; } break; -case 152: +case 156: // line 1410 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("\nFunktionsdeklaration mit typlosen Parametern: " + ((DeclId)yyVals[0+yyTop]).name); @@ -2003,7 +2038,7 @@ case 152: yyVal=FP; } break; -case 153: +case 157: // line 1429 "./../src/mycompiler/myparser/JavaParser.jay" { ArgumentList AL = new ArgumentList(); @@ -2011,20 +2046,20 @@ case 153: yyVal=AL; } break; -case 154: +case 158: // line 1435 "./../src/mycompiler/myparser/JavaParser.jay" { ((ArgumentList)yyVals[-2+yyTop]).expr.addElement(((Expr)yyVals[0+yyTop])); yyVal=((ArgumentList)yyVals[-2+yyTop]); } break; -case 155: +case 159: // line 1441 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((BaseType)yyVals[0+yyTop]); } break; -case 156: +case 160: // line 1446 "./../src/mycompiler/myparser/JavaParser.jay" { DeclId DI = new DeclId(); @@ -2037,61 +2072,61 @@ case 156: yyVal=DI; } break; -case 157: +case 161: // line 1458 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 158: +case 162: // line 1463 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((LocalVarDecl)yyVals[-1+yyTop]); } break; -case 159: +case 163: // line 1468 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Statement)yyVals[0+yyTop]); } break; -case 160: +case 164: // line 1472 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((IfStmt)yyVals[0+yyTop]); } break; -case 161: +case 165: // line 1476 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((IfStmt)yyVals[0+yyTop]); } break; -case 162: +case 166: // line 1480 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((WhileStmt)yyVals[0+yyTop]); } break; -case 163: +case 167: // line 1484 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((ForStmt)yyVals[0+yyTop]); } break; -case 164: +case 168: // line 1489 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 165: +case 169: // line 1493 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((NewClass)yyVals[0+yyTop]); } break; -case 166: +case 170: // line 1498 "./../src/mycompiler/myparser/JavaParser.jay" { IntegerType IT = new IntegerType(); @@ -2102,7 +2137,7 @@ case 166: yyVal=IT; } break; -case 167: +case 171: // line 1507 "./../src/mycompiler/myparser/JavaParser.jay" { CharacterType CT = new CharacterType(); @@ -2113,7 +2148,7 @@ case 167: yyVal=CT; } break; -case 168: +case 172: // line 1517 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("P -> Lokale Variable angelegt!"); @@ -2123,7 +2158,7 @@ case 168: yyVal = LVD; } break; -case 169: +case 173: // line 1528 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("P -> Lokale Variable angelegt!"); @@ -2133,31 +2168,31 @@ case 169: yyVal = LVD; } break; -case 170: +case 174: // line 1538 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[0+yyTop]); } break; -case 171: +case 175: // line 1542 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((EmptyStmt)yyVals[0+yyTop]); } break; -case 172: +case 176: // line 1546 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((ExprStmt)yyVals[0+yyTop]); } break; -case 173: +case 177: // line 1550 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Return)yyVals[0+yyTop]); } break; -case 174: +case 178: // line 1555 "./../src/mycompiler/myparser/JavaParser.jay" { IfStmt Ifst = new IfStmt(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); @@ -2166,7 +2201,7 @@ case 174: yyVal=Ifst; } break; -case 175: +case 179: // line 1563 "./../src/mycompiler/myparser/JavaParser.jay" { IfStmt IfstElst = new IfStmt(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength()); @@ -2176,7 +2211,7 @@ case 175: yyVal=IfstElst; } break; -case 176: +case 180: // line 1572 "./../src/mycompiler/myparser/JavaParser.jay" { WhileStmt Whlst = new WhileStmt(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); @@ -2185,7 +2220,7 @@ case 176: yyVal=Whlst; } break; -case 177: +case 181: // line 1583 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-6+yyTop]).getOffset(),((Expr)yyVals[-6+yyTop]).getVariableLength()); @@ -2198,7 +2233,7 @@ case 177: yyVal = Fst; } break; -case 178: +case 182: // line 1595 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-5+yyTop]).getOffset(),((Expr)yyVals[-5+yyTop]).getVariableLength()); @@ -2210,7 +2245,7 @@ case 178: yyVal = Fst; } break; -case 179: +case 183: // line 1606 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-5+yyTop]).getOffset(),((Expr)yyVals[-5+yyTop]).getVariableLength()); @@ -2222,7 +2257,7 @@ case 179: yyVal = Fst; } break; -case 180: +case 184: // line 1617 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength()); @@ -2234,7 +2269,7 @@ case 180: yyVal = Fst; } break; -case 181: +case 185: // line 1628 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength()); @@ -2245,7 +2280,7 @@ case 181: yyVal = Fst; } break; -case 182: +case 186: // line 1638 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-3+yyTop]).getOffset(),((Expr)yyVals[-3+yyTop]).getVariableLength()); @@ -2256,7 +2291,7 @@ case 182: yyVal = Fst; } break; -case 183: +case 187: // line 1648 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); @@ -2267,7 +2302,7 @@ case 183: yyVal = Fst; } break; -case 184: +case 188: // line 1658 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Statement)yyVals[0+yyTop]).getOffset(),((Statement)yyVals[0+yyTop]).getVariableLength()); @@ -2277,40 +2312,40 @@ case 184: yyVal = Fst; } break; -case 185: +case 189: // line 1667 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("conditionalexpression"); yyVal=((Expr)yyVals[0+yyTop]); } break; -case 186: +case 190: // line 1672 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Assign)yyVals[0+yyTop]); } break; -case 187: +case 191: // line 1678 "./../src/mycompiler/myparser/JavaParser.jay" { EmptyStmt Empst = new EmptyStmt(); yyVal=Empst; } break; -case 188: +case 192: // line 1684 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[-1+yyTop]); } break; -case 189: +case 193: // line 1689 "./../src/mycompiler/myparser/JavaParser.jay" { Return ret = new Return(-1,-1); yyVal= ret; } break; -case 190: +case 194: // line 1694 "./../src/mycompiler/myparser/JavaParser.jay" { Return retexp = new Return(((Expr)yyVals[-1+yyTop]).getOffset(),((Expr)yyVals[-1+yyTop]).getVariableLength()); @@ -2318,31 +2353,31 @@ case 190: yyVal=retexp; } break; -case 191: +case 195: // line 1701 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Statement)yyVals[0+yyTop]); } break; -case 192: +case 196: // line 1705 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((IfStmt)yyVals[0+yyTop]); } break; -case 193: +case 197: // line 1709 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((WhileStmt)yyVals[0+yyTop]); } break; -case 194: +case 198: // line 1714 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 195: +case 199: // line 1720 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("\nParser --> Zuweisung1!\n"); @@ -2369,7 +2404,7 @@ case 195: yyVal=Ass; } break; -case 196: +case 200: // line 1745 "./../src/mycompiler/myparser/JavaParser.jay" { Assign Ass =new Assign(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); @@ -2393,43 +2428,43 @@ case 196: yyVal=Ass; } break; -case 197: +case 201: // line 1768 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Assign)yyVals[0+yyTop]); } break; -case 198: +case 202: // line 1772 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 199: +case 203: // line 1776 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 200: +case 204: // line 1780 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 201: +case 205: // line 1784 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 202: +case 206: // line 1788 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((MethodCall)yyVals[0+yyTop]); } break; -case 203: +case 207: // line 1799 "./../src/mycompiler/myparser/JavaParser.jay" { IfStmt IfElno = new IfStmt(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength()); @@ -2439,7 +2474,7 @@ case 203: yyVal=IfElno; } break; -case 204: +case 208: // line 1808 "./../src/mycompiler/myparser/JavaParser.jay" { WhileStmt Whstno = new WhileStmt(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); @@ -2448,13 +2483,13 @@ case 204: yyVal=Whstno; } break; -case 205: +case 209: // line 1816 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 206: +case 210: // line 1820 "./../src/mycompiler/myparser/JavaParser.jay" { Binary LogOr = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); @@ -2466,19 +2501,19 @@ case 206: yyVal=LogOr; } break; -case 207: +case 211: // line 1833 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=null; } break; -case 208: +case 212: // line 1838 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[0+yyTop]); } break; -case 209: +case 213: // line 1842 "./../src/mycompiler/myparser/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.*/ @@ -2489,19 +2524,19 @@ case 209: yyVal=ret; } break; -case 210: +case 214: // line 1852 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=null; } break; -case 211: +case 215: // line 1856 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((ParameterList)yyVals[-1+yyTop]); } break; -case 212: +case 216: // line 1861 "./../src/mycompiler/myparser/JavaParser.jay" { LambdaExpression lambda = new LambdaExpression(/*((ParameSterList)$2).getOffset(),((ParameterList)$2).getVariableLength()*/0,0); @@ -2510,54 +2545,54 @@ case 212: yyVal=lambda; } break; -case 213: +case 217: // line 1880 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((UsedId)yyVals[0+yyTop]); } break; -case 214: +case 218: // line 1885 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=null; } break; -case 215: +case 219: // line 1889 "./../src/mycompiler/myparser/JavaParser.jay" { TimesOp TEO = new TimesOp(-1,-1); yyVal=TEO; } break; -case 216: +case 220: // line 1894 "./../src/mycompiler/myparser/JavaParser.jay" { DivideOp DEO = new DivideOp(-1,-1); yyVal=DEO; } break; -case 217: +case 221: // line 1899 "./../src/mycompiler/myparser/JavaParser.jay" { ModuloOp MEO = new ModuloOp(-1,-1); yyVal=MEO; } break; -case 218: +case 222: // line 1904 "./../src/mycompiler/myparser/JavaParser.jay" { PlusOp PEO = new PlusOp(-1,-1); yyVal=PEO; } break; -case 219: +case 223: // line 1909 "./../src/mycompiler/myparser/JavaParser.jay" { MinusOp MEO = new MinusOp(-1,-1); yyVal=MEO; } break; -case 220: +case 224: // line 1921 "./../src/mycompiler/myparser/JavaParser.jay" { PreIncExpr PRINC = new PreIncExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); @@ -2565,7 +2600,7 @@ case 220: yyVal=PRINC; } break; -case 221: +case 225: // line 1928 "./../src/mycompiler/myparser/JavaParser.jay" { PreDecExpr PRDEC = new PreDecExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); @@ -2573,7 +2608,7 @@ case 221: yyVal=PRDEC; } break; -case 222: +case 226: // line 1935 "./../src/mycompiler/myparser/JavaParser.jay" { PostIncExpr PIE = new PostIncExpr(((Expr)yyVals[-1+yyTop]).getOffset(),((Expr)yyVals[-1+yyTop]).getVariableLength()); @@ -2581,7 +2616,7 @@ case 222: yyVal=PIE; } break; -case 223: +case 227: // line 1942 "./../src/mycompiler/myparser/JavaParser.jay" { PostDecExpr PDE = new PostDecExpr(((Expr)yyVals[-1+yyTop]).getOffset(),((Expr)yyVals[-1+yyTop]).getVariableLength()); @@ -2589,7 +2624,7 @@ case 223: yyVal=PDE; } break; -case 224: +case 228: // line 1950 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("M1"); @@ -2621,7 +2656,7 @@ case 224: yyVal=MC; } break; -case 225: +case 229: // line 1980 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("M2"); @@ -2654,7 +2689,7 @@ case 225: yyVal=MCarg; } break; -case 226: +case 230: // line 2011 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("M3"); @@ -2675,7 +2710,7 @@ case 226: yyVal=MCpr; } break; -case 227: +case 231: // line 2030 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("M4"); @@ -2697,7 +2732,7 @@ case 227: yyVal=MCPA; } break; -case 228: +case 232: // line 2053 "./../src/mycompiler/myparser/JavaParser.jay" { NewClass NC = new NewClass(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); @@ -2707,7 +2742,7 @@ case 228: yyVal=NC; } break; -case 229: +case 233: // line 2061 "./../src/mycompiler/myparser/JavaParser.jay" { NewClass NCarg = new NewClass(((UsedId)yyVals[-3+yyTop]).getOffset(),((UsedId)yyVals[-3+yyTop]).getVariableLength()); @@ -2718,13 +2753,13 @@ case 229: yyVal=NCarg; } break; -case 230: +case 234: // line 2071 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 231: +case 235: // line 2075 "./../src/mycompiler/myparser/JavaParser.jay" { Binary And = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); @@ -2736,19 +2771,19 @@ case 231: yyVal=And; } break; -case 232: +case 236: // line 2091 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 233: +case 237: // line 2095 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 234: +case 238: // line 2099 "./../src/mycompiler/myparser/JavaParser.jay" { PositivExpr POSEX=new PositivExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); @@ -2758,7 +2793,7 @@ case 234: yyVal=POSEX; } break; -case 235: +case 239: // line 2107 "./../src/mycompiler/myparser/JavaParser.jay" { NegativeExpr NEGEX=new NegativeExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); @@ -2768,19 +2803,19 @@ case 235: yyVal=NEGEX; } break; -case 236: +case 240: // line 2115 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 237: +case 241: // line 2120 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 238: +case 242: // line 2124 "./../src/mycompiler/myparser/JavaParser.jay" { if (((UsedId)yyVals[0+yyTop]).get_Name().size() > 1) { @@ -2800,37 +2835,37 @@ case 238: } } break; -case 239: +case 243: // line 2142 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 240: +case 244: // line 2146 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 241: +case 245: // line 2151 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 242: +case 246: // line 2156 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 244: +case 248: // line 2162 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Literal)yyVals[0+yyTop]); } break; -case 245: +case 249: // line 2166 "./../src/mycompiler/myparser/JavaParser.jay" { This T = new This(((Token)yyVals[0+yyTop]).getOffset(),((Token)yyVals[0+yyTop]).getLexem().length()); @@ -2840,23 +2875,23 @@ case 245: yyVal=T; } break; -case 246: +case 250: // line 2187 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((MethodCall)yyVals[0+yyTop]); } break; -case 247: +case 251: // line 2191 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 248: +case 252: // line 2196 "./../src/mycompiler/myparser/JavaParser.jay" {yyVal=((Expr)yyVals[0+yyTop]);} break; -case 249: +case 253: // line 2198 "./../src/mycompiler/myparser/JavaParser.jay" {NotExpr NE=new NotExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); UnaryNot UN=new UnaryNot(); @@ -2865,36 +2900,36 @@ case 249: yyVal=NE; } break; -case 250: +case 254: // line 2204 "./../src/mycompiler/myparser/JavaParser.jay" {yyVal=((CastExpr)yyVals[0+yyTop]);} break; -case 251: +case 255: // line 2206 "./../src/mycompiler/myparser/JavaParser.jay" {yyVal=((Expr)yyVals[0+yyTop]);} break; -case 253: +case 257: // line 2211 "./../src/mycompiler/myparser/JavaParser.jay" {IntLiteral IL = new IntLiteral(); IL.set_Int(((Token)yyVals[0+yyTop]).String2Int()); yyVal = IL; } break; -case 254: +case 258: // line 2216 "./../src/mycompiler/myparser/JavaParser.jay" {BoolLiteral BL = new BoolLiteral(); BL.set_Bool(((Token)yyVals[0+yyTop]).String2Bool()); yyVal = BL; } break; -case 255: +case 259: // line 2220 "./../src/mycompiler/myparser/JavaParser.jay" {CharLiteral CL = new CharLiteral(); CL.set_Char(((Token)yyVals[0+yyTop]).CharInString()); yyVal=CL; } break; -case 256: +case 260: // line 2225 "./../src/mycompiler/myparser/JavaParser.jay" { StringLiteral ST = new StringLiteral(); @@ -2902,14 +2937,14 @@ case 256: yyVal=ST; } break; -case 257: +case 261: // line 2230 "./../src/mycompiler/myparser/JavaParser.jay" { LongLiteral LL = new LongLiteral(); LL.set_Long(((Token)yyVals[0+yyTop]).String2Long()); yyVal = LL; } break; -case 258: +case 262: // line 2234 "./../src/mycompiler/myparser/JavaParser.jay" { FloatLiteral FL = new FloatLiteral(); @@ -2917,7 +2952,7 @@ case 258: yyVal = FL; } break; -case 259: +case 263: // line 2239 "./../src/mycompiler/myparser/JavaParser.jay" { DoubleLiteral DL = new DoubleLiteral(); @@ -2925,14 +2960,14 @@ case 259: yyVal = DL; } break; -case 260: +case 264: // line 2245 "./../src/mycompiler/myparser/JavaParser.jay" { Null NN = new Null(); yyVal=NN; } break; -case 261: +case 265: // line 2251 "./../src/mycompiler/myparser/JavaParser.jay" { CastExpr CaEx=new CastExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); @@ -2941,24 +2976,24 @@ case 261: yyVal=CaEx; } break; -case 262: +case 266: // line 2260 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 263: +case 267: // line 2264 "./../src/mycompiler/myparser/JavaParser.jay" { } break; -case 264: +case 268: // line 2268 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 265: +case 269: // line 2272 "./../src/mycompiler/myparser/JavaParser.jay" { Binary EQ = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); @@ -2970,7 +3005,7 @@ case 265: yyVal=EQ; } break; -case 266: +case 270: // line 2282 "./../src/mycompiler/myparser/JavaParser.jay" { Binary NEQ = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); @@ -2982,13 +3017,13 @@ case 266: yyVal=NEQ; } break; -case 267: +case 271: // line 2293 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 268: +case 272: // line 2297 "./../src/mycompiler/myparser/JavaParser.jay" { Binary LO = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); @@ -3000,7 +3035,7 @@ case 268: yyVal=LO; } break; -case 269: +case 273: // line 2307 "./../src/mycompiler/myparser/JavaParser.jay" { Binary GO = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); @@ -3012,7 +3047,7 @@ case 269: yyVal=GO; } break; -case 270: +case 274: // line 2317 "./../src/mycompiler/myparser/JavaParser.jay" { Binary LE = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); @@ -3024,7 +3059,7 @@ case 270: yyVal=LE; } break; -case 271: +case 275: // line 2327 "./../src/mycompiler/myparser/JavaParser.jay" { Binary GE = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); @@ -3036,7 +3071,7 @@ case 271: yyVal=GE; } break; -case 272: +case 276: // line 2337 "./../src/mycompiler/myparser/JavaParser.jay" { InstanceOf ISO=new InstanceOf(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); @@ -3045,19 +3080,19 @@ case 272: yyVal=ISO; } break; -case 273: +case 277: // line 2345 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 274: +case 278: // line 2350 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 275: +case 279: // line 2354 "./../src/mycompiler/myparser/JavaParser.jay" { Binary AD = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); @@ -3069,7 +3104,7 @@ case 275: yyVal=AD; } break; -case 276: +case 280: // line 2364 "./../src/mycompiler/myparser/JavaParser.jay" { Binary MI = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); @@ -3081,13 +3116,13 @@ case 276: yyVal=MI; } break; -case 277: +case 281: // line 2375 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 278: +case 282: // line 2379 "./../src/mycompiler/myparser/JavaParser.jay" { Binary ML = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); @@ -3099,7 +3134,7 @@ case 278: yyVal=ML; } break; -case 279: +case 283: // line 2389 "./../src/mycompiler/myparser/JavaParser.jay" { Binary DV = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); @@ -3111,7 +3146,7 @@ case 279: yyVal = DV; } break; -case 280: +case 284: // line 2399 "./../src/mycompiler/myparser/JavaParser.jay" { Binary MD = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); @@ -3123,7 +3158,7 @@ case 280: yyVal =MD; } break; - // line 3127 "-" + // line 3162 "-" } yyTop -= yyLen[yyN]; yyState = yyStates[yyTop]; @@ -3154,1059 +3189,1053 @@ case 280: } protected static final short yyLhs [] = { -1, - 0, 98, 26, 26, 25, 92, 92, 27, 27, 105, - 105, 23, 24, 24, 22, 1, 1, 1, 1, 1, - 1, 1, 1, 9, 9, 8, 8, 2, 2, 2, - 2, 112, 112, 112, 112, 112, 112, 115, 115, 115, - 7, 7, 40, 40, 28, 32, 32, 3, 3, 33, - 33, 15, 15, 41, 41, 41, 41, 41, 41, 29, - 4, 4, 31, 16, 16, 16, 30, 113, 113, 114, - 114, 5, 5, 17, 17, 110, 106, 106, 10, 6, - 19, 19, 11, 11, 11, 11, 11, 13, 42, 42, - 107, 107, 108, 108, 108, 108, 48, 94, 97, 97, - 93, 93, 95, 95, 96, 96, 12, 12, 12, 12, + 0, 0, 0, 0, 0, 98, 26, 26, 25, 92, + 92, 27, 27, 105, 105, 23, 24, 24, 22, 1, + 1, 1, 1, 1, 1, 1, 1, 9, 9, 8, + 8, 2, 2, 2, 2, 112, 112, 112, 112, 112, + 112, 115, 115, 115, 7, 7, 40, 40, 28, 32, + 32, 3, 3, 33, 33, 15, 15, 41, 41, 41, + 41, 41, 41, 29, 4, 4, 31, 16, 16, 16, + 30, 113, 113, 114, 114, 5, 5, 17, 17, 110, + 106, 106, 10, 6, 19, 19, 11, 11, 11, 11, + 11, 13, 42, 42, 107, 107, 108, 108, 108, 108, + 48, 94, 97, 97, 93, 93, 95, 95, 96, 96, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 12, 12, 39, 39, 39, - 39, 18, 18, 43, 44, 44, 50, 50, 109, 109, - 38, 38, 14, 14, 36, 36, 37, 20, 80, 80, - 49, 49, 103, 103, 35, 21, 78, 46, 81, 81, - 81, 81, 81, 71, 71, 34, 34, 47, 47, 79, - 79, 79, 79, 86, 87, 83, 84, 84, 84, 84, - 84, 84, 84, 84, 69, 69, 89, 77, 90, 90, - 82, 82, 82, 68, 99, 99, 72, 72, 72, 72, - 72, 72, 88, 85, 67, 67, 101, 45, 45, 51, - 51, 70, 102, 100, 100, 100, 100, 100, 100, 73, - 74, 75, 76, 104, 104, 104, 104, 91, 91, 66, - 66, 57, 57, 57, 57, 57, 55, 55, 55, 55, - 54, 65, 65, 53, 53, 53, 53, 56, 56, 56, - 64, 64, 52, 52, 52, 52, 52, 52, 52, 52, - 111, 63, 63, 62, 62, 62, 61, 61, 61, 61, - 61, 61, 60, 59, 59, 59, 58, 58, 58, 58, + 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, + 12, 39, 39, 39, 39, 18, 18, 43, 44, 44, + 50, 50, 109, 109, 38, 38, 14, 14, 36, 36, + 37, 20, 80, 80, 49, 49, 103, 103, 35, 21, + 78, 46, 81, 81, 81, 81, 81, 71, 71, 34, + 34, 47, 47, 79, 79, 79, 79, 86, 87, 83, + 84, 84, 84, 84, 84, 84, 84, 84, 69, 69, + 89, 77, 90, 90, 82, 82, 82, 68, 99, 99, + 72, 72, 72, 72, 72, 72, 88, 85, 67, 67, + 101, 45, 45, 51, 51, 70, 102, 100, 100, 100, + 100, 100, 100, 73, 74, 75, 76, 104, 104, 104, + 104, 91, 91, 66, 66, 57, 57, 57, 57, 57, + 55, 55, 55, 55, 54, 65, 65, 53, 53, 53, + 53, 56, 56, 56, 64, 64, 52, 52, 52, 52, + 52, 52, 52, 52, 111, 63, 63, 62, 62, 62, + 61, 61, 61, 61, 61, 61, 60, 59, 59, 59, + 58, 58, 58, 58, }; protected static final short yyLen [] = { 2, - 1, 3, 1, 2, 3, 1, 2, 1, 1, 1, - 1, 3, 3, 3, 1, 3, 4, 4, 5, 4, - 5, 5, 6, 1, 4, 1, 4, 3, 4, 4, - 5, 1, 4, 1, 3, 6, 3, 1, 3, 3, - 2, 3, 1, 2, 2, 2, 3, 2, 3, 2, - 3, 1, 2, 1, 1, 1, 1, 1, 1, 1, - 1, 2, 1, 1, 1, 1, 2, 1, 3, 0, - 3, 1, 1, 1, 1, 2, 2, 3, 6, 2, - 4, 3, 2, 2, 2, 3, 4, 2, 2, 3, - 3, 4, 2, 3, 3, 4, 2, 1, 1, 3, - 1, 3, 1, 3, 1, 3, 5, 2, 3, 6, - 3, 6, 4, 7, 2, 3, 3, 4, 5, 6, - 6, 7, 1, 4, 2, 2, 3, 1, 3, 1, - 3, 1, 3, 1, 1, 2, 1, 3, 4, 5, - 1, 3, 3, 4, 1, 1, 1, 1, 1, 1, - 2, 1, 1, 3, 1, 1, 1, 2, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, - 1, 1, 1, 5, 7, 5, 9, 8, 8, 8, - 7, 7, 7, 6, 1, 1, 1, 2, 2, 3, - 1, 1, 1, 1, 3, 3, 1, 1, 1, 1, - 1, 1, 7, 5, 1, 3, 1, 1, 1, 2, - 3, 3, 1, 1, 1, 1, 1, 1, 1, 2, - 2, 2, 2, 3, 4, 5, 6, 4, 5, 1, - 3, 1, 1, 2, 2, 1, 1, 1, 1, 1, - 1, 1, 3, 1, 1, 1, 1, 1, 2, 1, - 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, - 4, 1, 3, 1, 3, 3, 1, 3, 3, 3, - 3, 3, 1, 1, 3, 3, 1, 3, 3, 3, + 1, 2, 3, 2, 3, 3, 1, 2, 3, 1, + 2, 1, 1, 1, 1, 3, 3, 3, 1, 3, + 4, 4, 5, 4, 5, 5, 6, 1, 4, 1, + 4, 3, 4, 4, 5, 1, 4, 1, 3, 6, + 3, 1, 3, 3, 2, 3, 1, 2, 2, 2, + 3, 2, 3, 2, 3, 1, 2, 1, 1, 1, + 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, + 2, 1, 3, 0, 3, 1, 1, 1, 1, 2, + 2, 3, 6, 2, 4, 3, 2, 2, 2, 3, + 4, 2, 2, 3, 3, 4, 2, 3, 3, 4, + 2, 1, 1, 3, 1, 3, 1, 3, 1, 3, + 5, 2, 3, 6, 3, 6, 4, 7, 2, 3, + 3, 4, 5, 6, 6, 7, 1, 4, 2, 2, + 3, 1, 3, 1, 3, 1, 3, 1, 1, 2, + 1, 3, 4, 5, 1, 3, 3, 4, 1, 1, + 1, 1, 1, 1, 2, 1, 1, 3, 1, 1, + 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 2, 1, 1, 1, 1, 1, 5, 7, 5, + 9, 8, 8, 8, 7, 7, 7, 6, 1, 1, + 1, 2, 2, 3, 1, 1, 1, 1, 3, 3, + 1, 1, 1, 1, 1, 1, 7, 5, 1, 3, + 1, 1, 1, 2, 3, 3, 1, 1, 1, 1, + 1, 1, 1, 2, 2, 2, 2, 3, 4, 5, + 6, 4, 5, 1, 3, 1, 1, 2, 2, 1, + 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, + 1, 1, 2, 1, 1, 3, 1, 1, 1, 1, + 1, 1, 1, 1, 4, 1, 3, 1, 3, 3, + 1, 3, 3, 3, 3, 3, 1, 1, 3, 3, + 1, 3, 3, 3, }; protected static final short yyDefRed [] = { 0, - 58, 0, 59, 56, 55, 54, 0, 57, 0, 10, - 11, 0, 43, 0, 6, 0, 0, 0, 0, 0, - 0, 44, 7, 0, 0, 0, 0, 16, 0, 0, - 0, 0, 0, 28, 0, 0, 0, 0, 98, 99, - 0, 15, 0, 45, 60, 63, 46, 145, 167, 166, - 0, 0, 0, 0, 41, 74, 0, 75, 0, 0, - 52, 64, 0, 0, 0, 148, 0, 147, 155, 146, - 0, 0, 0, 0, 66, 0, 65, 18, 0, 0, - 20, 0, 50, 0, 48, 0, 61, 73, 72, 0, - 0, 0, 0, 30, 17, 0, 0, 29, 0, 0, - 0, 27, 0, 67, 0, 76, 0, 0, 0, 105, - 0, 134, 88, 0, 126, 42, 53, 0, 85, 83, - 0, 0, 0, 0, 0, 0, 84, 0, 0, 0, - 0, 0, 0, 0, 0, 77, 22, 47, 25, 49, - 62, 80, 0, 51, 19, 0, 21, 31, 103, 0, - 100, 68, 0, 0, 0, 0, 245, 0, 253, 257, - 259, 258, 254, 260, 255, 256, 0, 0, 0, 187, - 89, 0, 0, 132, 0, 8, 0, 0, 170, 0, - 149, 0, 0, 244, 241, 0, 0, 247, 0, 198, - 199, 0, 0, 172, 159, 135, 150, 162, 163, 160, - 161, 171, 173, 197, 0, 0, 117, 143, 152, 0, - 137, 0, 0, 0, 141, 0, 156, 133, 0, 0, - 0, 0, 0, 9, 0, 236, 277, 0, 0, 267, - 0, 0, 0, 0, 0, 0, 0, 185, 164, 82, - 232, 233, 239, 240, 165, 186, 246, 250, 91, 0, - 129, 131, 111, 86, 0, 0, 0, 0, 127, 0, - 0, 0, 78, 0, 93, 0, 0, 0, 23, 0, - 0, 71, 0, 0, 189, 0, 0, 0, 220, 221, - 210, 0, 0, 0, 0, 90, 136, 158, 207, 0, - 0, 222, 223, 188, 218, 219, 215, 216, 217, 214, - 0, 151, 0, 144, 106, 0, 124, 0, 0, 0, - 0, 234, 235, 249, 0, 0, 0, 0, 0, 0, + 62, 149, 171, 0, 63, 170, 60, 59, 58, 0, + 0, 0, 61, 19, 0, 14, 15, 0, 7, 0, + 151, 159, 150, 0, 0, 0, 0, 47, 0, 0, + 10, 0, 0, 13, 12, 0, 0, 0, 0, 0, + 0, 71, 8, 0, 0, 0, 0, 0, 0, 48, + 11, 0, 0, 0, 0, 0, 0, 20, 0, 0, + 6, 0, 9, 0, 0, 0, 0, 32, 0, 72, + 0, 133, 135, 5, 0, 0, 0, 0, 102, 103, + 0, 49, 64, 67, 50, 0, 0, 0, 0, 45, + 78, 0, 79, 0, 0, 56, 68, 0, 0, 0, + 152, 0, 0, 0, 70, 0, 69, 22, 0, 0, + 24, 16, 0, 18, 0, 54, 0, 52, 0, 65, + 77, 76, 0, 0, 0, 0, 34, 0, 75, 21, + 0, 0, 33, 0, 0, 0, 31, 0, 80, 0, + 0, 0, 109, 0, 138, 92, 0, 130, 46, 57, + 0, 89, 87, 0, 0, 0, 0, 88, 0, 0, + 0, 0, 0, 0, 0, 0, 81, 26, 51, 29, + 53, 66, 84, 0, 55, 73, 23, 0, 25, 35, + 107, 0, 104, 0, 0, 0, 249, 0, 257, 261, + 263, 262, 258, 264, 259, 260, 0, 0, 0, 191, + 93, 0, 0, 136, 0, 0, 0, 174, 0, 153, + 0, 0, 248, 245, 0, 0, 251, 0, 202, 203, + 0, 0, 176, 163, 139, 154, 166, 167, 164, 165, + 175, 177, 201, 0, 0, 121, 147, 156, 0, 141, + 0, 0, 0, 145, 0, 160, 137, 0, 0, 0, + 0, 0, 0, 240, 281, 0, 0, 271, 0, 0, + 0, 0, 0, 0, 0, 189, 168, 86, 236, 237, + 243, 244, 169, 190, 250, 254, 95, 0, 115, 90, + 0, 0, 0, 0, 131, 0, 0, 0, 82, 0, + 97, 0, 0, 0, 27, 0, 0, 0, 193, 0, + 0, 0, 224, 225, 214, 0, 0, 0, 94, 140, + 162, 211, 0, 0, 226, 227, 192, 222, 223, 219, + 220, 221, 218, 0, 155, 0, 148, 110, 0, 128, + 0, 0, 0, 0, 238, 239, 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 92, 0, 0, 118, 0, 113, 87, 0, 95, - 94, 0, 0, 104, 69, 0, 0, 0, 190, 0, - 211, 12, 224, 153, 0, 208, 212, 209, 0, 195, - 196, 138, 0, 0, 142, 0, 0, 278, 279, 280, - 0, 0, 272, 270, 271, 268, 269, 0, 0, 0, - 0, 0, 0, 0, 81, 0, 0, 0, 0, 96, - 0, 0, 0, 0, 0, 0, 0, 225, 0, 121, - 112, 228, 0, 261, 0, 0, 139, 0, 79, 0, - 0, 0, 0, 0, 0, 0, 0, 174, 0, 193, - 192, 176, 154, 226, 0, 229, 122, 114, 140, 184, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 227, - 183, 182, 0, 181, 0, 0, 0, 0, 0, 175, - 180, 179, 178, 0, 0, 0, 177, 0, 204, 0, - 203, + 0, 0, 0, 0, 96, 0, 0, 122, 0, 117, + 91, 0, 99, 98, 0, 0, 108, 0, 0, 0, + 194, 0, 215, 228, 157, 0, 212, 216, 213, 0, + 199, 200, 142, 0, 0, 146, 0, 0, 282, 283, + 284, 0, 0, 276, 274, 275, 272, 273, 0, 0, + 0, 0, 0, 0, 0, 85, 0, 0, 0, 0, + 100, 0, 0, 0, 0, 0, 0, 0, 229, 0, + 125, 116, 232, 0, 265, 0, 0, 143, 0, 83, + 0, 0, 0, 0, 0, 0, 0, 0, 178, 0, + 197, 196, 180, 158, 230, 0, 233, 126, 118, 144, + 188, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 231, 187, 186, 0, 185, 0, 0, 0, 0, 0, + 179, 184, 183, 182, 0, 0, 0, 181, 0, 208, + 0, 207, }; - protected static final short yyDgoto [] = { 9, - 10, 11, 34, 86, 87, 88, 28, 17, 19, 89, - 56, 57, 58, 59, 60, 61, 62, 173, 64, 174, - 66, 224, 176, 0, 0, 0, 177, 29, 44, 68, - 47, 30, 35, 69, 70, 71, 72, 216, 178, 12, - 13, 179, 113, 180, 357, 181, 182, 115, 211, 282, - 183, 184, 185, 186, 225, 226, 227, 228, 229, 230, - 231, 232, 233, 234, 235, 236, 237, 238, 239, 188, - 354, 189, 241, 242, 243, 244, 194, 0, 195, 196, - 197, 419, 198, 199, 420, 200, 201, 421, 202, 203, - 245, 14, 39, 40, 150, 111, 41, 0, 246, 301, - 290, 205, 355, 247, 15, 75, 76, 136, 267, 77, - 248, 0, 153, 104, 0, + protected static final short yyDgoto [] = { 15, + 16, 17, 68, 119, 120, 121, 58, 33, 40, 122, + 91, 92, 93, 94, 95, 96, 97, 203, 99, 204, + 101, 34, 35, 37, 19, 20, 206, 59, 82, 21, + 85, 60, 69, 22, 23, 24, 25, 245, 207, 27, + 28, 208, 146, 209, 378, 210, 211, 148, 240, 306, + 212, 213, 214, 215, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 217, + 375, 218, 269, 270, 271, 272, 223, 0, 224, 225, + 226, 440, 227, 228, 441, 229, 230, 442, 231, 232, + 273, 29, 79, 80, 182, 144, 81, 30, 274, 324, + 313, 234, 376, 275, 31, 105, 106, 167, 293, 107, + 276, 0, 71, 42, 0, }; - protected static final short yySindex [] = { 350, - 0, -263, 0, 0, 0, 0, -230, 0, 0, 0, - 0, 548, 0, 350, 0, 29, -99, 61, -92, -263, - -230, 0, 0, -155, -133, -133, 3458, 0, -89, -9, - -155, -133, 3503, 0, -7, -99, -92, -93, 0, 0, - 3, 0, 144, 0, 0, 0, 0, 0, 0, 0, - 88, -85, 193, -155, 0, 0, 88, 0, -42, 3538, - 0, 0, 143, 212, 211, 0, 73, 0, 0, 0, - 187, 188, 276, 396, 0, 174, 0, 0, -9, -133, - 0, 127, 0, 193, 0, 3566, 0, 0, 0, 243, - -85, 396, -133, 0, 0, -89, -9, 0, -7, -133, - -155, 0, 296, 0, 3068, 0, 193, -42, -39, 0, - 137, 0, 0, -133, 0, 0, 0, 21, 0, 0, - 992, -28, 242, 273, -42, 150, 0, 275, 21, -85, - -155, -42, 71, 174, 3150, 0, 0, 0, 0, 0, - 0, 0, 86, 0, 0, -9, 0, 0, 0, 266, - 0, 0, 177, 334, 336, 597, 0, 351, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1039, 1039, 0, - 0, -13, 361, 0, 144, 0, 91, 21, 0, 3259, - 0, 335, 89, 0, 0, 376, -248, 0, 378, 0, + protected static final short yySindex [] = { 1561, + 0, 0, 0, -265, 0, 0, 0, 0, 0, -248, + -248, -239, 0, 0, 0, 0, 0, 8, 0, 504, + 0, 0, 0, 36, 83, 191, 361, 0, 1049, 504, + 0, 48, -97, 0, 0, 38, 125, 154, 149, -88, + 191, 0, 0, 1049, 127, 160, 1561, -265, -239, 0, + 0, 504, 1049, -42, -248, -248, 2581, 0, -104, -4, + 0, -26, 0, -37, -42, -248, 3380, 0, -3, 0, + 159, 0, 0, 0, -97, -88, 1049, 57, 0, 0, + 163, 0, 0, 0, 0, 185, 61, 326, -42, 0, + 0, 185, 0, 86, 3408, 0, 0, 93, 311, 329, + 0, 25, 223, 3471, 0, 259, 0, 0, -4, -248, + 0, 0, 0, 0, 168, 0, 326, 0, 3443, 0, + 0, 0, 336, 61, 3471, -248, 0, 191, 0, 0, + -104, -4, 0, -3, -248, -42, 0, 2993, 0, 326, + 86, -8, 0, 187, 0, 0, -248, 0, 0, 0, + 96, 0, 0, 1041, 173, 86, 235, 0, 359, 96, + 61, -42, 86, 138, 259, 3054, 0, 0, 0, 0, + 0, 0, 0, 139, 0, 0, 0, -4, 0, 0, + 0, 410, 0, 411, 412, 572, 0, 414, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 923, 923, 0, + 0, 176, 413, 0, 8, 56, 96, 0, 3110, 0, + 396, 130, 0, 0, 420, 68, 0, 408, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 117, 0, 0, 0, 0, 21, - 0, 53, -155, 186, 0, 391, 0, 0, -133, -13, - 1039, 1039, 1039, 0, -248, 0, 0, 399, 303, 0, - -3, 23, 401, 353, 321, 151, 155, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 339, - 0, 0, 0, 0, 992, 403, -42, 181, 0, 193, - -42, 259, 0, 422, 0, 3313, 3361, 22, 0, -133, - 296, 0, 624, 992, 0, 412, 992, 91, 0, 0, - 0, 341, 171, 651, 361, 0, 0, 0, 0, 668, - 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 992, 0, 299, 0, 0, -85, 0, -85, -133, 444, - 15, 0, 0, 0, 1039, 1039, 1039, 1039, 1039, -133, - 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, - 1039, 0, 0, 992, 0, 236, 0, 0, 695, 0, - 0, 3413, 992, 0, 0, 722, 426, 447, 0, 448, - 0, 0, 0, 0, 354, 0, 0, 0, 451, 0, - 0, 0, -42, -42, 0, 752, 1039, 0, 0, 0, - 399, 399, 0, 0, 0, 0, 0, -3, -3, 23, - 401, 353, 321, 151, 0, -85, -85, 436, 365, 0, - 437, 769, 440, 814, 1100, 1590, 992, 0, 867, 0, - 0, 0, 373, 0, -42, -42, 0, 449, 0, 1590, - 472, 894, 938, 455, 475, 480, 0, 0, 261, 0, - 0, 0, 0, 0, 382, 0, 0, 0, 0, 0, - 1590, 1590, 490, 1590, 494, 965, 992, 992, 1590, 0, - 0, 0, 1590, 0, 1590, 1590, 499, 504, 505, 0, - 0, 0, 0, 1590, 1100, 1100, 0, 269, 0, 1100, - 0, + 0, 0, 0, 40, 0, 0, 0, 0, 96, 0, + 72, -42, 249, 0, 424, 0, 0, -248, 176, 923, + 923, 923, 68, 0, 0, 459, 304, 0, -6, -211, + 437, 384, 366, 179, 182, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 110, 0, 0, + 1041, 438, 86, 245, 0, 326, 86, 262, 0, 460, + 0, 3154, 3198, 92, 0, -248, 601, 1041, 0, 446, + 1041, 56, 0, 0, 0, 167, 618, 413, 0, 0, + 0, 0, 678, 209, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1041, 0, 321, 0, 0, 61, 0, + 61, -248, 475, 42, 0, 0, 0, 923, 923, 923, + 923, 923, -248, 923, 923, 923, 923, 923, 923, 923, + 923, 923, 923, 923, 0, 0, 1041, 0, 291, 0, + 0, 714, 0, 0, 3255, 1041, 0, 731, 457, 487, + 0, 488, 0, 0, 0, 260, 0, 0, 0, 490, + 0, 0, 0, 86, 86, 0, 771, 923, 0, 0, + 0, 459, 459, 0, 0, 0, 0, 0, -6, -6, + -211, 437, 384, 366, 179, 0, 61, 61, 473, 323, + 0, 476, 808, 477, 844, 1169, 1447, 1041, 0, 888, + 0, 0, 0, 347, 0, 86, 86, 0, 478, 0, + 1447, 500, 905, 950, 486, 506, 507, 0, 0, 284, + 0, 0, 0, 0, 0, 362, 0, 0, 0, 0, + 0, 1447, 1447, 511, 1447, 513, 1002, 1041, 1041, 1447, + 0, 0, 0, 1447, 0, 1447, 1447, 514, 517, 518, + 0, 0, 0, 0, 1447, 1169, 1169, 0, 296, 0, + 1169, 0, }; protected static final short yyRindex [] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 549, 0, -96, 0, -83, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1223, 0, 0, + 0, 0, 0, 3312, 3352, 0, 0, 0, 568, 0, + 0, -92, 0, 0, 0, 0, 0, 0, -71, 0, + 0, 0, 0, 569, 0, 0, 0, 0, 0, 0, + 0, 0, 577, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 230, 0, 0, - 0, 0, 1265, 0, 0, 0, 0, 0, 0, 0, - 495, 0, -38, 0, 0, 0, 0, 0, 17, 0, - 0, 0, 0, 0, 271, 0, 286, 0, 0, 0, - 126, 166, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -48, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 27, 0, 0, 271, 0, 0, - 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 232, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 409, 0, 0, 0, - 0, 0, 492, 0, 208, 0, 561, 0, 0, 0, - 0, 0, 0, 0, 0, 1320, 0, 0, 0, 0, - 0, -58, -52, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -27, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, - 0, 0, 0, 0, 3204, 0, 0, 2844, 2228, 0, - 2424, 2479, 1374, 1428, 1679, 1733, 1771, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 75, 0, 0, 272, - 83, 0, 0, -43, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1808, 0, 0, - 0, 0, 0, 0, 497, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 578, 247, 0, 0, + 0, 0, 0, 0, 0, 3499, 0, 122, 0, 0, + 0, 0, 0, -12, 0, 0, 0, 0, 0, 267, + 0, -64, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 299, 0, 0, 0, -54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 262, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 5, 0, 0, 267, 0, + 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1235, 0, 0, 0, 0, 0, 0, 0, + 0, 252, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -31, 0, 0, 0, + 0, 0, 336, 0, 155, 529, 0, 0, 0, 0, + 0, 0, 0, 0, 1117, 0, 0, 0, 0, 0, + -57, -51, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -35, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, + 0, 0, 2968, 0, 0, 2693, 2216, 0, 2342, 2306, + 1318, 1391, 1503, 1592, 1664, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 34, 0, 0, 274, 50, 0, 0, -21, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1754, 0, 0, 0, 0, 0, 521, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 84, 85, 0, 0, 0, 0, 0, 0, - 2898, 2953, 0, 0, 0, 0, 0, 2593, 2784, 2533, - 1868, 2059, 2119, 2173, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 280, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 95, 115, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 3014, 0, 0, 0, + 0, 0, 0, 0, 0, 1825, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 76, 79, 0, 0, 0, 0, 0, + 0, 2782, 2894, 0, 0, 0, 0, 0, 2507, 2617, + 2417, 1865, 1940, 2030, 2141, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 81, 120, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2838, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, + 0, 0, }; - protected static final short yyGindex [] = { 0, - 0, 0, 37, 0, 476, 0, 51, 544, 553, 0, - 0, 55, 0, -23, 0, 515, 0, 18, 503, 6, - -5, 479, 0, 0, 0, 0, 1432, 542, -97, -16, - 12, 13, 543, 0, 0, 363, -80, 0, -19, 279, - 34, -46, 0, -109, 0, 0, 0, 7, 278, 202, - 0, 0, 0, 0, -105, 0, -57, -190, 0, 245, - -84, 258, 263, 257, 260, 264, 0, 0, 288, 0, - -117, 0, -87, -53, -35, 20, 0, 0, -337, -165, - 1791, -123, 0, 0, 0, 0, 0, 0, 0, 0, - 291, 0, -29, 493, 0, 465, 578, 0, 47, 0, - 0, 0, -303, 87, 596, 0, 537, 478, 0, 0, + protected static final short yyGindex [] = { 546, + 0, 0, 2, 0, 481, 0, 386, 553, 545, 0, + 0, -16, 0, 131, 0, 508, 0, -15, 499, 9, + -11, 20, 0, 0, 3, 576, -10, 532, -126, -52, + -28, -2, 533, 0, 0, 365, -128, 0, 22, 205, + 17, -74, 0, -123, 0, 0, 0, -124, 287, 77, + 0, 0, 0, 0, -66, 0, 174, 80, 0, 240, + 65, 276, 277, 275, 282, 286, 0, 0, 319, 0, + 335, 0, -48, 27, 67, 144, 0, 0, -371, -193, + 2296, -154, 0, 0, 0, 0, 0, 0, 0, 0, + 328, 29, -55, 519, 0, 485, 591, 0, 233, 0, + 0, 0, -139, 264, 364, 0, 558, 492, 0, 0, 0, 0, 0, 0, 0, }; - protected static final short yyTable [] = { 187, - 200, 208, 245, 240, 106, 156, 201, 73, 45, 46, - 112, 15, 249, 91, 287, 46, 215, 190, 246, 149, - 156, 15, 156, 27, 110, 266, 26, 281, 108, 187, - 33, 202, 65, 27, 80, 389, 93, 16, 276, 24, - 73, 79, 15, 83, 63, 22, 101, 190, 97, 125, - 132, 191, 15, 129, 133, 367, 323, 417, 324, 292, - 293, 109, 403, 46, 102, 65, 91, 125, 132, 192, - 18, 94, 143, 98, 187, 123, 46, 63, 128, 78, - 81, 191, 343, 152, 115, 108, 95, 90, 24, 210, - 126, 138, 190, 304, 125, 425, 303, 45, 97, 192, - 287, 110, 210, 209, 144, 123, 257, 22, 146, 261, - 279, 280, 122, 27, 207, 33, 209, 417, 417, 261, - 31, 310, 417, 218, 193, 22, 191, 371, 372, 137, - 284, 253, 103, 116, 256, 148, 283, 333, 259, 123, - 90, 109, 119, 107, 192, 38, 145, 147, 115, 108, - 262, 204, 210, 120, 193, 347, 348, 342, 125, 350, - 187, 187, 97, 312, 313, 314, 209, 42, 25, 128, - 101, 26, 358, 110, 100, 32, 287, 300, 190, 190, - 213, 204, 26, 305, 24, 26, 118, 128, 139, 344, - 307, 206, 26, 118, 308, 285, 269, 116, 214, 193, - 210, 119, 45, 103, 302, 109, 119, 107, 254, 130, - 105, 365, 191, 191, 209, 107, 385, 120, 48, 15, - 271, 206, 49, 15, 213, 391, 204, 130, 393, 48, - 192, 192, 109, 49, 50, 15, 187, 110, 272, 373, - 378, 379, 336, 356, 48, 50, 114, 9, 49, 239, - 239, 345, 15, 9, 190, 240, 240, 368, 369, 370, - 50, 167, 15, 335, 245, 245, 206, 337, 9, 320, - 120, 121, 167, 101, 411, 102, 414, 123, 124, 423, - 246, 246, 363, 210, 364, 193, 193, 167, 191, 187, - 187, 101, 45, 102, 433, 435, 135, 209, 70, 321, - 322, 142, 118, 270, 187, 74, 192, 190, 190, 404, - 212, 92, 204, 204, 132, 156, 387, 338, 447, 448, - 449, 217, 190, 250, 325, 187, 187, 326, 187, 132, - 156, 458, 459, 187, 251, 255, 461, 187, 74, 187, - 187, 191, 191, 190, 190, 318, 190, 319, 187, 187, - 187, 190, 206, 206, 187, 190, 191, 190, 190, 192, - 192, 193, 405, 406, 92, 252, 190, 190, 190, 400, - 401, 260, 190, 273, 192, 274, 70, 191, 191, 332, - 191, 351, 303, 128, 303, 191, 268, 128, 204, 191, - 277, 191, 191, 288, 398, 192, 192, 397, 192, 128, - 191, 191, 191, 192, 118, 408, 191, 192, 397, 192, - 192, 427, 428, 426, 193, 193, 397, 289, 192, 192, - 192, 291, 440, 130, 192, 397, 128, 130, 206, 193, - 295, 296, 297, 298, 309, 317, 294, 299, 327, 130, - 315, 204, 204, 48, 329, 316, 328, 49, 15, 156, - 193, 193, 156, 193, 15, 131, 204, 330, 193, 50, - 331, 339, 193, 334, 193, 193, 130, 156, 15, 15, - 349, 352, 359, 193, 193, 193, 306, 204, 204, 193, - 204, 206, 206, 366, 394, 204, 84, 395, 396, 204, - 399, 204, 204, 48, 407, 409, 206, 49, 412, 15, - 204, 204, 204, 43, 43, 67, 204, 429, 70, 50, - 43, 43, 431, 436, 437, 9, 9, 206, 206, 438, - 206, 9, 9, 9, 9, 206, 386, 439, 9, 206, - 443, 206, 206, 48, 445, 460, 42, 49, 67, 454, - 206, 206, 206, 70, 455, 456, 206, 70, 1, 50, - 169, 43, 67, 48, 57, 168, 48, 49, 43, 70, - 49, 141, 128, 36, 43, 374, 375, 376, 377, 50, - 43, 43, 50, 37, 117, 127, 53, 96, 43, 99, - 362, 43, 311, 175, 380, 382, 70, 43, 360, 383, - 381, 361, 43, 151, 384, 258, 42, 238, 238, 167, - 43, 238, 238, 238, 238, 238, 1, 238, 82, 23, - 134, 263, 2, 175, 0, 0, 0, 0, 3, 238, - 238, 213, 238, 0, 0, 4, 5, 6, 0, 223, - 7, 0, 0, 8, 0, 0, 220, 0, 0, 221, - 0, 222, 0, 0, 0, 0, 0, 0, 0, 0, - 43, 0, 1, 48, 238, 275, 223, 49, 175, 0, - 0, 0, 0, 220, 3, 0, 221, 0, 222, 50, - 0, 4, 5, 6, 0, 0, 0, 0, 0, 8, - 0, 0, 346, 223, 238, 238, 130, 0, 0, 0, - 220, 353, 43, 221, 0, 222, 84, 43, 43, 0, - 223, 0, 0, 0, 0, 0, 0, 220, 0, 15, - 221, 0, 222, 0, 0, 0, 15, 15, 0, 0, - 0, 0, 15, 15, 15, 15, 0, 223, 0, 15, - 0, 0, 0, 0, 220, 388, 0, 221, 0, 222, - 0, 0, 0, 0, 175, 175, 0, 0, 43, 43, - 0, 57, 57, 0, 223, 0, 57, 0, 0, 0, - 0, 220, 0, 57, 221, 0, 222, 0, 57, 0, - 57, 57, 57, 0, 0, 0, 0, 0, 57, 0, - 392, 43, 0, 0, 223, 57, 0, 43, 0, 0, - 105, 220, 402, 0, 221, 57, 222, 0, 43, 0, - 0, 223, 0, 0, 1, 0, 0, 0, 220, 410, - 20, 221, 0, 222, 43, 0, 3, 238, 238, 0, - 175, 0, 238, 4, 5, 6, 0, 0, 21, 238, - 0, 8, 0, 238, 238, 0, 238, 238, 238, 0, - 0, 0, 0, 0, 238, 0, 223, 0, 0, 0, - 0, 238, 0, 220, 0, 0, 221, 0, 222, 0, - 0, 238, 238, 238, 238, 238, 238, 238, 238, 238, - 0, 219, 413, 0, 213, 213, 213, 213, 0, 0, - 0, 213, 0, 157, 0, 0, 0, 0, 0, 159, - 160, 161, 162, 163, 164, 165, 166, 42, 219, 223, - 0, 0, 0, 0, 168, 169, 220, 424, 0, 221, - 157, 222, 0, 0, 0, 0, 159, 160, 161, 162, - 163, 164, 165, 166, 42, 219, 223, 0, 0, 0, - 0, 168, 169, 220, 432, 0, 221, 157, 222, 0, - 0, 0, 219, 159, 160, 161, 162, 163, 164, 165, - 166, 42, 0, 0, 157, 0, 0, 0, 168, 169, - 159, 160, 161, 162, 163, 164, 165, 166, 42, 219, - 223, 0, 0, 0, 0, 168, 169, 220, 434, 0, - 221, 157, 222, 0, 0, 0, 0, 159, 160, 161, - 162, 163, 164, 165, 166, 42, 219, 223, 0, 0, - 0, 0, 168, 169, 220, 446, 0, 221, 157, 222, - 0, 0, 0, 0, 159, 160, 161, 162, 163, 164, - 165, 166, 42, 0, 223, 0, 219, 0, 0, 168, - 169, 220, 0, 0, 221, 0, 222, 0, 157, 0, - 0, 0, 0, 219, 159, 160, 161, 162, 163, 164, - 165, 166, 42, 0, 0, 157, 0, 0, 0, 168, - 169, 159, 160, 161, 162, 163, 164, 165, 166, 42, - 0, 223, 0, 0, 0, 0, 168, 169, 220, 0, - 0, 221, 0, 222, 0, 0, 0, 0, 219, 0, + protected static final short yyTable [] = { 36, + 38, 204, 83, 84, 114, 19, 181, 205, 19, 160, + 250, 139, 160, 84, 19, 310, 236, 145, 57, 18, + 244, 26, 43, 206, 249, 57, 74, 160, 19, 19, + 30, 279, 237, 143, 67, 32, 19, 116, 285, 110, + 126, 98, 292, 50, 438, 18, 127, 47, 44, 119, + 123, 28, 14, 346, 43, 347, 109, 84, 53, 19, + 18, 39, 70, 112, 155, 100, 18, 41, 26, 129, + 127, 216, 132, 84, 18, 18, 102, 133, 103, 98, + 77, 169, 388, 62, 41, 18, 18, 157, 124, 219, + 348, 101, 120, 349, 83, 307, 61, 175, 310, 216, + 323, 62, 123, 100, 438, 438, 143, 54, 113, 438, + 127, 159, 327, 119, 102, 326, 103, 219, 57, 67, + 50, 333, 18, 102, 160, 164, 45, 112, 178, 18, + 238, 142, 45, 129, 123, 180, 151, 111, 18, 124, + 124, 50, 216, 238, 18, 18, 174, 18, 288, 176, + 355, 152, 366, 326, 18, 101, 120, 205, 358, 247, + 219, 18, 360, 239, 220, 160, 18, 367, 282, 365, + 55, 310, 113, 46, 18, 30, 239, 56, 114, 66, + 160, 19, 160, 63, 56, 205, 328, 302, 302, 30, + 238, 308, 220, 74, 13, 83, 28, 74, 123, 64, + 13, 111, 128, 124, 221, 386, 136, 373, 65, 74, + 326, 136, 19, 277, 394, 13, 305, 141, 241, 72, + 129, 18, 410, 239, 137, 216, 216, 325, 205, 170, + 242, 278, 221, 156, 163, 220, 74, 238, 377, 302, + 302, 302, 114, 219, 219, 74, 19, 424, 243, 2, + 243, 243, 73, 3, 156, 163, 244, 244, 78, 421, + 422, 104, 18, 113, 331, 6, 343, 18, 18, 19, + 239, 125, 250, 250, 112, 221, 19, 19, 151, 83, + 446, 222, 19, 19, 19, 19, 249, 249, 242, 19, + 105, 283, 197, 280, 287, 106, 344, 345, 216, 104, + 419, 448, 449, 418, 287, 151, 359, 138, 105, 222, + 136, 205, 205, 106, 238, 18, 219, 160, 220, 220, + 361, 479, 480, 125, 135, 136, 482, 302, 302, 302, + 302, 302, 160, 302, 302, 302, 302, 302, 302, 302, + 302, 302, 302, 302, 16, 18, 341, 239, 342, 216, + 216, 18, 222, 318, 319, 320, 321, 17, 221, 221, + 322, 140, 18, 429, 216, 142, 418, 219, 219, 153, + 233, 303, 304, 330, 147, 315, 316, 302, 18, 19, + 408, 166, 219, 19, 205, 216, 216, 447, 216, 154, + 418, 220, 51, 216, 173, 19, 246, 216, 233, 216, + 216, 235, 461, 219, 219, 418, 219, 51, 216, 216, + 216, 219, 399, 400, 216, 219, 51, 219, 219, 281, + 392, 393, 19, 335, 336, 337, 219, 219, 219, 235, + 2, 221, 219, 2, 3, 222, 222, 3, 286, 294, + 51, 233, 220, 220, 108, 111, 6, 296, 2, 6, + 297, 298, 3, 301, 311, 74, 151, 220, 312, 384, + 130, 385, 13, 13, 6, 314, 317, 332, 13, 13, + 13, 13, 235, 197, 350, 13, 197, 351, 220, 220, + 2, 220, 221, 221, 3, 353, 220, 354, 268, 352, + 220, 14, 220, 220, 168, 340, 6, 221, 357, 362, + 338, 220, 220, 220, 371, 339, 2, 220, 222, 380, + 3, 389, 390, 391, 387, 415, 177, 179, 221, 221, + 300, 221, 6, 88, 233, 233, 221, 416, 417, 420, + 221, 428, 221, 221, 430, 433, 450, 426, 427, 329, + 452, 221, 221, 221, 457, 458, 459, 221, 2, 117, + 460, 464, 3, 466, 475, 235, 235, 476, 477, 222, + 222, 425, 481, 295, 6, 242, 242, 1, 2, 242, + 242, 242, 242, 242, 222, 242, 4, 3, 2, 172, + 132, 407, 3, 395, 396, 397, 398, 242, 242, 217, + 242, 14, 74, 76, 6, 222, 222, 233, 222, 172, + 75, 158, 150, 222, 252, 52, 131, 222, 134, 222, + 222, 249, 383, 334, 250, 356, 251, 1, 222, 222, + 222, 197, 242, 48, 222, 401, 403, 402, 235, 5, + 299, 369, 370, 252, 404, 372, 7, 8, 9, 405, + 249, 49, 381, 250, 13, 251, 284, 379, 233, 233, + 252, 382, 242, 242, 183, 115, 289, 249, 374, 368, + 250, 165, 251, 233, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, + 235, 0, 0, 0, 233, 233, 0, 233, 0, 0, + 0, 406, 233, 0, 235, 0, 233, 0, 233, 233, + 412, 0, 414, 0, 0, 0, 0, 233, 233, 233, + 252, 0, 0, 233, 0, 235, 235, 249, 235, 0, + 250, 0, 251, 235, 0, 0, 0, 235, 0, 235, + 235, 0, 0, 0, 0, 0, 0, 0, 235, 235, + 235, 0, 0, 0, 235, 0, 252, 432, 0, 435, + 0, 0, 444, 249, 409, 0, 250, 0, 251, 0, + 1, 0, 0, 252, 0, 0, 4, 454, 456, 0, + 249, 0, 5, 250, 0, 251, 0, 0, 0, 7, + 8, 9, 0, 11, 12, 242, 242, 13, 0, 413, + 242, 468, 469, 470, 0, 0, 0, 242, 0, 0, + 138, 242, 242, 252, 242, 242, 242, 0, 0, 0, + 249, 423, 242, 250, 0, 251, 0, 0, 0, 242, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 242, + 242, 242, 242, 242, 242, 242, 242, 242, 0, 0, + 252, 0, 217, 217, 217, 217, 248, 249, 431, 217, + 250, 0, 251, 0, 0, 0, 0, 0, 187, 0, + 0, 0, 0, 0, 189, 190, 191, 192, 193, 194, + 195, 196, 14, 0, 0, 248, 252, 0, 0, 198, + 199, 0, 0, 249, 0, 0, 250, 187, 251, 0, + 0, 0, 248, 189, 190, 191, 192, 193, 194, 195, + 196, 14, 434, 0, 187, 0, 0, 0, 198, 199, + 189, 190, 191, 192, 193, 194, 195, 196, 14, 0, + 252, 0, 0, 0, 0, 198, 199, 249, 445, 0, + 250, 0, 251, 0, 0, 0, 0, 252, 0, 0, + 0, 0, 0, 0, 249, 453, 0, 250, 0, 251, + 0, 0, 248, 0, 0, 252, 0, 0, 0, 0, + 0, 0, 249, 0, 187, 250, 0, 251, 0, 0, + 189, 190, 191, 192, 193, 194, 195, 196, 14, 0, + 0, 0, 252, 0, 0, 198, 199, 0, 248, 249, + 455, 0, 250, 0, 251, 0, 0, 0, 0, 0, + 187, 0, 0, 0, 0, 248, 189, 190, 191, 192, + 193, 194, 195, 196, 14, 0, 0, 187, 0, 0, + 0, 198, 199, 189, 190, 191, 192, 193, 194, 195, + 196, 14, 0, 0, 252, 0, 0, 0, 198, 199, + 0, 249, 467, 0, 250, 248, 251, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 187, 0, 0, + 0, 0, 0, 189, 190, 191, 192, 193, 194, 195, + 196, 14, 0, 252, 0, 0, 0, 0, 198, 199, + 249, 0, 248, 250, 0, 251, 0, 0, 0, 0, + 0, 0, 0, 0, 187, 0, 0, 0, 0, 0, + 189, 190, 191, 192, 193, 194, 195, 196, 14, 0, + 0, 0, 0, 0, 0, 198, 199, 0, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 157, 0, 0, 0, 0, 0, 159, 160, 161, 162, - 163, 164, 165, 166, 42, 0, 0, 0, 0, 0, - 0, 168, 169, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 172, - 0, 219, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 157, 0, 0, 0, 0, 170, 159, - 160, 161, 162, 163, 164, 165, 166, 42, 219, 0, - 0, 0, 0, 0, 168, 169, 0, 0, 0, 0, - 157, 0, 0, 0, 0, 0, 159, 160, 161, 162, - 163, 164, 165, 166, 42, 0, 0, 0, 0, 0, - 0, 168, 169, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 219, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 105, 0, 157, 0, 0, 0, 0, 0, - 159, 160, 161, 162, 163, 164, 165, 166, 42, 219, - 0, 0, 0, 0, 0, 168, 169, 0, 0, 0, - 0, 157, 0, 0, 0, 0, 0, 159, 160, 161, - 162, 163, 164, 165, 166, 42, 219, 0, 0, 0, - 0, 0, 168, 169, 0, 0, 0, 0, 157, 0, - 0, 0, 0, 0, 159, 160, 161, 162, 163, 164, - 165, 166, 42, 81, 82, 0, 0, 0, 0, 168, - 169, 70, 70, 0, 70, 70, 70, 70, 70, 70, - 70, 70, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 70, 0, 157, 70, 0, 0, 0, - 0, 159, 160, 161, 162, 163, 164, 165, 166, 42, - 0, 0, 0, 0, 0, 0, 168, 169, 0, 0, - 0, 0, 0, 0, 0, 70, 237, 237, 70, 82, - 237, 237, 237, 237, 237, 0, 237, 0, 0, 0, - 154, 415, 0, 0, 0, 0, 0, 0, 237, 237, - 0, 237, 156, 0, 0, 0, 157, 70, 70, 70, - 0, 416, 159, 160, 161, 162, 163, 164, 165, 166, - 42, 0, 0, 0, 0, 0, 0, 168, 169, 0, - 251, 0, 0, 237, 251, 251, 251, 251, 251, 251, - 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 251, 251, 0, 251, 0, 0, 0, 0, - 0, 0, 0, 237, 237, 0, 0, 0, 0, 0, + 187, 0, 0, 0, 0, 0, 189, 190, 191, 192, + 193, 194, 195, 196, 14, 0, 0, 0, 0, 0, + 0, 198, 199, 241, 241, 0, 0, 241, 241, 241, + 241, 241, 248, 241, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 187, 241, 241, 0, 241, 248, + 189, 190, 191, 192, 193, 194, 195, 196, 14, 0, + 0, 187, 0, 0, 0, 198, 199, 189, 190, 191, + 192, 193, 194, 195, 196, 14, 0, 0, 202, 187, + 241, 0, 198, 199, 0, 189, 190, 191, 192, 193, + 194, 195, 196, 14, 248, 0, 0, 200, 0, 0, + 198, 199, 0, 0, 0, 0, 187, 0, 0, 0, + 241, 241, 189, 190, 191, 192, 193, 194, 195, 196, + 14, 0, 0, 0, 0, 0, 0, 198, 199, 74, + 74, 0, 74, 74, 74, 74, 74, 74, 74, 74, + 0, 0, 0, 0, 0, 0, 248, 0, 0, 0, + 0, 74, 0, 0, 74, 0, 0, 0, 187, 0, + 0, 138, 0, 0, 189, 190, 191, 192, 193, 194, + 195, 196, 14, 0, 0, 1, 0, 0, 0, 198, + 199, 4, 0, 74, 0, 248, 74, 5, 0, 0, + 0, 0, 0, 0, 7, 8, 9, 187, 0, 12, + 0, 0, 13, 189, 190, 191, 192, 193, 194, 195, + 196, 14, 0, 0, 0, 74, 74, 74, 198, 199, + 0, 0, 0, 0, 255, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, + 0, 0, 0, 241, 241, 0, 255, 255, 241, 255, + 0, 0, 0, 0, 0, 241, 0, 0, 0, 241, + 241, 0, 241, 241, 241, 0, 0, 0, 0, 0, + 241, 0, 0, 0, 0, 0, 0, 241, 0, 0, + 0, 255, 0, 0, 0, 0, 0, 241, 241, 241, + 241, 241, 241, 241, 241, 241, 0, 246, 246, 0, + 0, 246, 246, 246, 246, 246, 246, 246, 0, 184, + 436, 255, 255, 0, 0, 0, 0, 0, 0, 246, + 246, 186, 246, 0, 0, 187, 0, 0, 0, 0, + 437, 189, 190, 191, 192, 193, 194, 195, 196, 14, + 0, 0, 0, 0, 0, 0, 198, 199, 0, 74, + 74, 0, 0, 0, 74, 74, 202, 0, 0, 0, + 0, 74, 0, 0, 0, 74, 74, 0, 74, 74, + 74, 74, 74, 74, 74, 200, 74, 0, 0, 0, + 0, 0, 0, 74, 246, 246, 0, 0, 0, 0, + 0, 0, 0, 74, 74, 74, 74, 74, 74, 74, + 74, 74, 0, 0, 0, 0, 0, 0, 0, 234, + 234, 0, 0, 234, 234, 234, 234, 234, 234, 234, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 242, 242, 0, 251, 242, 242, - 242, 242, 242, 242, 242, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 242, 242, 0, 242, - 0, 82, 82, 0, 0, 0, 82, 251, 251, 0, - 0, 0, 0, 82, 0, 0, 0, 0, 82, 0, - 82, 82, 82, 0, 0, 0, 0, 0, 82, 0, - 0, 70, 70, 0, 0, 82, 70, 0, 0, 0, - 0, 0, 0, 70, 0, 82, 0, 70, 70, 0, - 70, 70, 70, 0, 0, 0, 70, 0, 70, 0, - 0, 242, 242, 0, 0, 70, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 70, 70, 70, 70, 70, - 70, 70, 70, 70, 0, 0, 237, 237, 0, 0, - 0, 237, 0, 0, 0, 0, 0, 0, 237, 0, - 0, 0, 237, 237, 0, 237, 237, 237, 0, 278, - 278, 0, 0, 237, 0, 0, 0, 0, 0, 0, - 237, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 237, 237, 237, 237, 237, 237, 237, 237, 237, 172, - 251, 251, 0, 0, 0, 251, 0, 0, 0, 0, - 0, 0, 251, 0, 0, 0, 251, 251, 170, 251, - 251, 251, 278, 278, 278, 0, 0, 251, 0, 0, - 0, 0, 0, 0, 251, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 251, 251, 251, 251, 251, 251, - 251, 251, 251, 0, 242, 242, 0, 0, 0, 242, - 0, 0, 0, 0, 0, 0, 242, 0, 0, 0, - 242, 242, 0, 242, 242, 242, 0, 0, 0, 0, - 0, 242, 105, 0, 0, 230, 230, 0, 242, 230, - 230, 230, 230, 230, 230, 230, 0, 0, 242, 242, - 242, 242, 242, 242, 242, 242, 242, 230, 230, 0, - 230, 0, 0, 0, 0, 0, 278, 278, 278, 278, - 278, 0, 278, 278, 278, 278, 278, 278, 278, 278, - 278, 278, 278, 0, 0, 0, 0, 0, 0, 205, - 205, 0, 230, 205, 205, 205, 205, 205, 205, 205, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 205, 205, 0, 205, 0, 0, 0, 278, 0, - 0, 0, 0, 230, 0, 0, 0, 194, 194, 0, - 0, 194, 194, 194, 194, 194, 194, 194, 0, 0, - 0, 0, 0, 0, 0, 0, 205, 0, 0, 194, - 194, 0, 194, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 238, 238, 0, 0, 238, 238, - 238, 238, 238, 0, 238, 0, 205, 205, 0, 0, - 154, 155, 0, 0, 194, 0, 238, 238, 0, 238, - 0, 0, 156, 0, 0, 0, 157, 0, 0, 0, - 0, 158, 159, 160, 161, 162, 163, 164, 165, 166, - 42, 0, 0, 0, 194, 194, 0, 168, 169, 0, - 0, 238, 0, 0, 252, 0, 0, 0, 252, 252, - 252, 252, 252, 252, 252, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 252, 252, 0, 252, - 0, 238, 238, 0, 0, 230, 230, 0, 0, 0, - 230, 0, 0, 0, 0, 0, 0, 230, 0, 0, - 0, 230, 230, 0, 230, 230, 230, 0, 0, 0, - 0, 252, 230, 0, 0, 0, 0, 0, 0, 230, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, - 230, 230, 230, 230, 230, 230, 230, 230, 0, 205, - 205, 252, 252, 0, 205, 0, 0, 0, 0, 0, - 0, 205, 0, 0, 0, 205, 205, 0, 205, 205, - 205, 0, 0, 0, 0, 0, 205, 0, 0, 0, - 0, 0, 0, 205, 0, 0, 0, 194, 194, 0, - 0, 0, 194, 205, 205, 205, 205, 205, 205, 194, - 205, 205, 0, 194, 194, 0, 194, 194, 194, 0, - 0, 0, 0, 0, 194, 0, 0, 0, 0, 0, - 0, 194, 0, 0, 238, 238, 0, 0, 0, 238, - 0, 194, 194, 194, 194, 194, 238, 194, 194, 194, - 238, 238, 0, 238, 238, 238, 0, 0, 0, 0, - 0, 238, 0, 0, 0, 243, 243, 0, 238, 243, - 243, 243, 243, 243, 243, 243, 0, 0, 238, 238, - 238, 238, 238, 238, 238, 238, 238, 243, 243, 0, - 243, 0, 0, 0, 252, 252, 0, 0, 0, 252, - 0, 0, 0, 0, 0, 0, 252, 0, 0, 0, - 252, 252, 0, 252, 252, 252, 0, 0, 0, 0, - 0, 252, 0, 0, 0, 231, 231, 0, 252, 231, - 231, 231, 231, 231, 231, 231, 0, 0, 252, 252, - 252, 252, 252, 252, 252, 252, 252, 231, 231, 0, - 231, 0, 243, 243, 0, 418, 422, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 430, 0, 0, 0, 0, 0, 0, 0, 0, 206, - 206, 0, 231, 206, 206, 206, 206, 206, 206, 206, - 0, 441, 442, 0, 444, 0, 0, 0, 0, 450, - 0, 206, 206, 451, 206, 452, 453, 0, 0, 0, - 0, 0, 0, 231, 457, 418, 422, 0, 0, 0, - 450, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 273, 273, 206, 0, 273, 273, - 0, 273, 0, 273, 273, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 273, 273, 0, 273, - 0, 0, 0, 0, 0, 0, 206, 206, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 243, 243, 0, 0, 0, - 243, 273, 0, 0, 0, 0, 0, 243, 0, 0, - 0, 243, 243, 0, 243, 243, 243, 0, 0, 0, - 0, 0, 243, 0, 0, 0, 0, 0, 0, 243, - 0, 273, 273, 0, 0, 0, 0, 0, 0, 243, - 243, 243, 243, 243, 243, 243, 243, 243, 0, 0, - 0, 0, 0, 0, 0, 231, 231, 0, 0, 0, - 231, 0, 0, 0, 0, 0, 0, 231, 0, 0, - 0, 231, 231, 0, 231, 231, 231, 0, 0, 0, - 0, 0, 231, 0, 0, 0, 0, 0, 0, 231, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 231, - 231, 231, 231, 231, 231, 231, 231, 231, 0, 206, - 206, 0, 0, 0, 206, 0, 0, 0, 0, 0, - 0, 206, 0, 0, 0, 206, 206, 0, 206, 206, - 206, 0, 0, 0, 0, 0, 206, 0, 0, 0, - 264, 264, 0, 206, 264, 264, 264, 264, 264, 264, - 264, 0, 0, 206, 206, 206, 206, 206, 206, 0, - 206, 206, 264, 0, 273, 273, 0, 0, 0, 273, - 0, 0, 0, 0, 0, 0, 273, 0, 0, 0, - 273, 273, 0, 273, 273, 273, 0, 0, 0, 0, - 0, 273, 0, 0, 0, 262, 262, 264, 273, 262, - 262, 262, 262, 262, 262, 262, 0, 0, 273, 273, - 273, 273, 273, 273, 273, 273, 273, 262, 262, 0, - 262, 0, 0, 0, 0, 0, 0, 264, 264, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, - 263, 0, 262, 263, 263, 263, 263, 263, 263, 263, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 263, 263, 0, 263, 0, 0, 0, 0, 0, - 0, 0, 262, 262, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 263, 0, 0, 265, - 265, 0, 0, 265, 265, 265, 265, 265, 265, 265, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 265, 0, 0, 0, 0, 263, 263, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 264, 264, 0, 0, 0, 264, 265, 0, 0, 0, - 0, 0, 264, 0, 0, 0, 0, 264, 0, 264, - 264, 264, 0, 0, 0, 0, 0, 264, 0, 0, - 0, 0, 0, 0, 264, 0, 265, 265, 0, 0, - 0, 0, 0, 0, 264, 264, 0, 0, 264, 264, - 264, 264, 264, 0, 0, 262, 262, 0, 0, 0, - 262, 0, 0, 0, 0, 0, 0, 262, 0, 0, - 0, 262, 262, 0, 262, 262, 262, 0, 0, 0, - 0, 0, 262, 0, 0, 0, 0, 0, 0, 262, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 262, - 0, 262, 262, 0, 262, 262, 262, 262, 0, 263, - 263, 0, 0, 0, 263, 0, 0, 0, 0, 0, - 0, 263, 0, 0, 0, 263, 263, 0, 263, 263, - 263, 0, 0, 0, 0, 0, 263, 0, 0, 0, - 266, 266, 0, 263, 266, 266, 266, 266, 266, 266, - 266, 0, 0, 263, 0, 263, 263, 0, 263, 263, - 263, 263, 266, 0, 0, 0, 0, 0, 0, 265, - 265, 0, 0, 0, 265, 0, 0, 0, 0, 0, - 0, 265, 0, 0, 0, 0, 265, 0, 265, 265, - 265, 0, 0, 0, 0, 0, 265, 266, 0, 0, - 0, 274, 0, 265, 274, 0, 274, 274, 274, 274, - 0, 0, 0, 265, 265, 0, 0, 265, 265, 265, - 265, 265, 274, 274, 0, 274, 0, 266, 266, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 275, 0, 274, 275, 0, - 275, 275, 275, 275, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 275, 275, 0, 275, - 0, 0, 0, 0, 0, 0, 0, 274, 274, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 276, 275, 0, 276, 0, 276, 276, 276, 276, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 276, 276, 0, 276, 0, 0, 0, 0, 0, - 0, 275, 275, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 266, 266, 0, 0, 0, 266, 276, 0, 0, 0, - 0, 0, 266, 159, 0, 0, 0, 266, 0, 266, - 266, 266, 0, 0, 0, 0, 0, 266, 0, 0, - 0, 0, 159, 0, 266, 0, 276, 276, 0, 0, - 0, 0, 0, 0, 266, 266, 0, 0, 266, 266, + 0, 234, 234, 0, 234, 0, 0, 0, 0, 138, + 0, 0, 0, 0, 255, 255, 0, 0, 0, 255, + 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, + 255, 255, 0, 255, 255, 255, 234, 0, 0, 0, + 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 234, 209, 209, + 0, 0, 209, 209, 209, 209, 209, 209, 209, 0, + 0, 0, 0, 0, 0, 0, 0, 246, 246, 0, + 209, 209, 246, 209, 0, 0, 0, 0, 0, 246, + 0, 0, 0, 246, 246, 0, 246, 246, 246, 0, + 0, 0, 0, 0, 246, 0, 0, 0, 0, 0, + 0, 246, 0, 0, 0, 209, 0, 0, 0, 0, + 0, 246, 246, 246, 246, 246, 246, 246, 246, 246, + 198, 198, 0, 0, 198, 198, 198, 198, 198, 198, + 198, 0, 0, 0, 0, 209, 209, 184, 185, 0, + 0, 0, 198, 198, 0, 198, 0, 0, 0, 186, + 0, 0, 0, 187, 0, 0, 0, 0, 188, 189, + 190, 191, 192, 193, 194, 195, 196, 14, 0, 0, + 0, 0, 0, 0, 198, 199, 0, 198, 0, 234, + 234, 0, 0, 0, 234, 0, 0, 0, 0, 0, + 0, 234, 0, 0, 0, 234, 234, 0, 234, 234, + 234, 0, 0, 0, 0, 0, 234, 198, 198, 0, + 242, 242, 0, 234, 242, 242, 242, 242, 242, 0, + 242, 0, 0, 234, 234, 234, 234, 234, 234, 234, + 234, 234, 242, 242, 0, 242, 0, 1, 2, 0, + 0, 0, 3, 4, 0, 0, 0, 0, 0, 5, + 0, 0, 0, 0, 6, 0, 7, 8, 9, 10, + 11, 12, 0, 0, 13, 0, 0, 242, 209, 209, + 0, 0, 0, 209, 0, 0, 0, 0, 0, 0, + 209, 14, 0, 0, 209, 209, 0, 209, 209, 209, + 0, 0, 0, 0, 0, 209, 0, 242, 242, 0, + 0, 0, 209, 85, 86, 0, 0, 0, 0, 0, + 0, 0, 209, 209, 209, 209, 209, 209, 0, 209, + 209, 256, 0, 0, 0, 256, 256, 256, 256, 256, + 256, 256, 0, 0, 0, 0, 0, 0, 0, 0, + 198, 198, 0, 256, 256, 198, 256, 0, 0, 0, + 0, 0, 198, 0, 0, 0, 198, 198, 0, 198, + 198, 198, 0, 0, 0, 0, 0, 198, 0, 86, + 0, 0, 0, 0, 198, 0, 0, 0, 256, 0, + 0, 0, 0, 0, 198, 198, 198, 198, 198, 0, + 198, 198, 198, 0, 0, 0, 247, 247, 0, 0, + 247, 247, 247, 247, 247, 247, 247, 0, 256, 256, + 0, 0, 0, 0, 0, 0, 0, 0, 247, 247, + 0, 247, 0, 0, 0, 0, 0, 0, 0, 0, + 242, 242, 0, 0, 0, 242, 0, 0, 0, 0, + 0, 0, 242, 0, 0, 0, 242, 242, 0, 242, + 242, 242, 0, 0, 0, 0, 0, 242, 0, 0, + 0, 0, 0, 0, 242, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 242, 242, 242, 242, 242, 242, + 242, 242, 242, 247, 247, 0, 235, 235, 0, 0, + 235, 235, 235, 235, 235, 235, 235, 0, 0, 0, + 0, 86, 86, 0, 0, 0, 86, 0, 235, 235, + 0, 235, 0, 86, 0, 0, 0, 0, 86, 0, + 86, 86, 86, 0, 0, 0, 0, 0, 86, 0, + 0, 0, 0, 0, 0, 86, 0, 0, 0, 0, + 0, 256, 256, 235, 0, 86, 256, 0, 0, 0, + 0, 0, 0, 256, 0, 0, 0, 256, 256, 0, + 256, 256, 256, 0, 0, 0, 0, 0, 256, 0, + 0, 0, 0, 0, 235, 256, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 256, 256, 256, 256, 256, + 256, 256, 256, 256, 0, 0, 0, 210, 210, 0, + 0, 210, 210, 210, 210, 210, 210, 210, 0, 0, + 0, 0, 0, 0, 0, 0, 247, 247, 0, 210, + 210, 247, 210, 0, 0, 0, 0, 0, 247, 0, + 0, 0, 247, 247, 0, 247, 247, 247, 0, 0, + 0, 0, 0, 247, 0, 0, 0, 0, 0, 0, + 247, 0, 0, 0, 210, 0, 0, 0, 0, 0, + 247, 247, 247, 247, 247, 247, 247, 247, 247, 0, + 0, 0, 277, 277, 0, 0, 277, 277, 0, 277, + 0, 277, 277, 0, 210, 210, 0, 0, 0, 0, + 0, 0, 0, 0, 277, 277, 0, 277, 0, 0, + 0, 0, 0, 0, 0, 0, 235, 235, 0, 0, + 0, 235, 0, 0, 0, 0, 0, 0, 235, 0, + 0, 0, 235, 235, 0, 235, 235, 235, 0, 277, + 0, 0, 0, 235, 0, 0, 0, 0, 0, 0, + 235, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 235, 235, 235, 235, 235, 235, 235, 235, 235, 277, + 277, 0, 266, 266, 0, 0, 266, 266, 266, 266, 266, 266, 266, 0, 0, 0, 0, 0, 0, 0, - 274, 274, 0, 0, 0, 274, 0, 172, 0, 0, - 0, 0, 274, 0, 0, 0, 274, 274, 0, 274, - 274, 274, 0, 0, 0, 0, 170, 274, 0, 0, - 0, 0, 0, 0, 274, 0, 159, 0, 159, 0, - 0, 0, 0, 0, 274, 274, 274, 274, 274, 274, - 274, 274, 274, 0, 275, 275, 0, 0, 0, 275, - 0, 0, 0, 0, 0, 0, 275, 0, 0, 0, - 275, 275, 0, 275, 275, 275, 0, 0, 0, 0, - 0, 275, 0, 0, 0, 0, 0, 0, 275, 172, - 105, 0, 171, 0, 0, 0, 0, 0, 275, 275, - 275, 275, 275, 275, 275, 275, 275, 0, 170, 276, - 276, 0, 0, 0, 276, 0, 0, 0, 0, 0, - 0, 276, 0, 0, 0, 276, 276, 0, 276, 276, - 276, 0, 0, 0, 0, 0, 276, 0, 0, 0, - 248, 248, 0, 276, 248, 248, 248, 248, 248, 248, - 248, 0, 0, 276, 276, 276, 276, 276, 276, 276, - 276, 276, 248, 248, 0, 248, 0, 0, 0, 0, - 0, 159, 105, 0, 265, 159, 0, 0, 0, 0, - 191, 0, 0, 0, 159, 159, 0, 159, 0, 0, - 0, 0, 0, 0, 0, 0, 159, 248, 172, 0, - 159, 0, 0, 0, 0, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 0, 0, 170, 0, 0, - 0, 159, 159, 0, 0, 48, 0, 248, 248, 49, - 0, 0, 0, 0, 0, 0, 0, 0, 154, 155, - 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, - 156, 0, 172, 0, 157, 0, 0, 0, 0, 158, - 159, 160, 161, 162, 163, 164, 165, 166, 167, 0, - 0, 170, 0, 0, 0, 168, 169, 0, 0, 0, - 0, 105, 0, 286, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 266, 266, 0, 266, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 268, 268, + 0, 0, 268, 268, 268, 268, 268, 268, 268, 0, + 0, 0, 0, 0, 0, 0, 0, 210, 210, 266, + 268, 0, 210, 0, 0, 0, 0, 0, 0, 210, + 0, 0, 0, 210, 210, 0, 210, 210, 210, 0, + 0, 0, 0, 0, 210, 0, 0, 0, 0, 266, + 266, 210, 0, 0, 0, 268, 0, 0, 0, 0, + 0, 210, 210, 210, 210, 210, 210, 0, 210, 210, + 0, 0, 0, 267, 267, 0, 0, 267, 267, 267, + 267, 267, 267, 267, 0, 268, 268, 0, 0, 0, + 0, 0, 277, 277, 0, 267, 267, 277, 267, 0, + 0, 0, 0, 0, 277, 0, 0, 0, 277, 277, + 0, 277, 277, 277, 0, 0, 0, 0, 0, 277, + 0, 0, 0, 0, 0, 0, 277, 0, 0, 0, + 267, 0, 0, 0, 0, 0, 277, 277, 277, 277, + 277, 277, 277, 277, 277, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 172, 0, 0, 0, 0, 0, 0, 48, 0, 0, - 0, 49, 0, 0, 0, 0, 0, 0, 0, 170, - 154, 155, 0, 50, 0, 0, 0, 0, 0, 0, - 0, 0, 156, 0, 0, 105, 264, 340, 0, 0, - 0, 158, 159, 160, 161, 162, 163, 164, 165, 166, - 167, 0, 172, 0, 0, 0, 0, 168, 169, 0, - 248, 248, 0, 0, 0, 248, 0, 0, 0, 0, - 0, 170, 248, 0, 0, 0, 248, 248, 0, 248, - 248, 248, 0, 105, 0, 341, 0, 248, 0, 0, - 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 248, 248, 248, 248, 248, 248, - 248, 0, 0, 0, 0, 0, 48, 54, 0, 0, - 49, 0, 0, 0, 0, 0, 0, 0, 0, 154, - 155, 0, 50, 0, 0, 105, 0, 390, 0, 0, - 0, 156, 0, 0, 0, 157, 0, 0, 0, 0, - 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, - 0, 0, 54, 0, 0, 0, 168, 169, 0, 0, - 48, 0, 0, 0, 49, 0, 0, 0, 0, 0, - 0, 0, 55, 154, 155, 0, 50, 0, 0, 0, - 0, 0, 0, 0, 0, 156, 0, 54, 0, 157, - 0, 0, 0, 0, 158, 159, 160, 161, 162, 163, - 164, 165, 166, 167, 0, 0, 0, 0, 48, 0, - 168, 169, 49, 0, 0, 54, 0, 85, 0, 0, - 0, 154, 155, 0, 50, 0, 0, 0, 0, 0, - 0, 0, 0, 156, 0, 0, 0, 157, 0, 0, - 0, 0, 158, 159, 160, 161, 162, 163, 164, 165, - 166, 167, 116, 0, 0, 0, 0, 0, 168, 169, - 48, 0, 0, 0, 49, 0, 0, 0, 0, 0, - 0, 0, 0, 154, 155, 0, 50, 0, 0, 0, - 140, 0, 0, 0, 0, 156, 0, 0, 0, 157, - 0, 0, 0, 0, 158, 159, 160, 161, 162, 163, - 164, 165, 166, 167, 1, 48, 0, 0, 0, 49, - 168, 169, 0, 0, 0, 0, 3, 0, 0, 0, - 0, 50, 0, 4, 5, 6, 0, 0, 0, 0, - 0, 51, 0, 0, 0, 0, 0, 0, 52, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 53, 1, - 48, 0, 0, 0, 49, 0, 0, 0, 0, 0, - 0, 3, 0, 0, 0, 0, 50, 0, 4, 5, - 6, 0, 0, 0, 0, 0, 8, 0, 0, 0, - 0, 0, 0, 52, 1, 48, 0, 0, 0, 49, - 0, 0, 0, 84, 0, 0, 3, 0, 0, 0, - 0, 50, 0, 4, 5, 6, 0, 0, 0, 0, - 0, 51, 1, 48, 0, 0, 0, 49, 52, 0, - 0, 0, 0, 0, 3, 0, 0, 0, 53, 50, - 0, 4, 5, 6, 0, 0, 0, 0, 0, 8, - 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 84, + 267, 267, 0, 269, 269, 0, 0, 269, 269, 269, + 269, 269, 269, 269, 0, 0, 0, 0, 0, 0, + 0, 0, 266, 266, 0, 269, 0, 266, 0, 0, + 0, 0, 0, 0, 266, 0, 0, 0, 266, 266, + 0, 266, 266, 266, 0, 0, 0, 0, 0, 266, + 0, 0, 0, 0, 0, 0, 266, 0, 268, 268, + 269, 0, 0, 268, 0, 0, 266, 0, 266, 266, + 268, 266, 266, 266, 266, 268, 0, 268, 268, 268, + 0, 0, 0, 0, 0, 268, 0, 0, 0, 0, + 269, 269, 268, 0, 0, 0, 0, 0, 0, 0, + 89, 0, 268, 268, 0, 0, 268, 268, 268, 268, + 268, 0, 0, 270, 270, 0, 0, 270, 270, 270, + 270, 270, 270, 270, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 267, 267, 270, 0, 0, 267, 0, + 0, 0, 0, 0, 0, 267, 0, 0, 0, 267, + 267, 0, 267, 267, 267, 0, 0, 0, 0, 0, + 267, 0, 0, 0, 0, 90, 0, 267, 0, 0, + 270, 439, 443, 0, 0, 0, 0, 267, 0, 267, + 267, 0, 267, 267, 267, 267, 451, 0, 0, 0, + 278, 0, 0, 278, 0, 278, 278, 278, 278, 0, + 270, 270, 0, 0, 0, 0, 0, 462, 463, 0, + 465, 278, 278, 0, 278, 471, 0, 0, 0, 472, + 0, 473, 474, 269, 269, 0, 0, 0, 269, 0, + 478, 439, 443, 0, 0, 269, 471, 0, 0, 0, + 269, 0, 269, 269, 269, 0, 278, 0, 0, 0, + 269, 0, 0, 0, 0, 0, 0, 269, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 269, 269, 0, + 0, 269, 269, 269, 269, 269, 278, 278, 0, 279, + 0, 0, 279, 0, 279, 279, 279, 279, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, + 279, 279, 3, 279, 0, 0, 0, 0, 0, 5, + 0, 0, 0, 0, 6, 0, 7, 8, 9, 0, + 0, 0, 0, 0, 86, 0, 0, 0, 0, 0, + 0, 87, 0, 270, 270, 279, 0, 163, 270, 0, + 0, 88, 0, 0, 0, 270, 0, 0, 0, 0, + 270, 0, 270, 270, 270, 0, 163, 0, 0, 0, + 270, 0, 0, 0, 0, 279, 279, 270, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 270, 270, 0, + 0, 270, 270, 270, 270, 270, 0, 0, 0, 0, + 0, 280, 0, 0, 280, 0, 280, 280, 280, 280, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 278, + 278, 0, 280, 280, 278, 280, 0, 0, 0, 0, + 163, 278, 163, 0, 0, 278, 278, 0, 278, 278, + 278, 0, 0, 0, 0, 0, 278, 0, 0, 0, + 0, 0, 0, 278, 0, 0, 0, 280, 0, 0, + 0, 0, 0, 278, 278, 278, 278, 278, 278, 278, + 278, 278, 0, 0, 252, 252, 0, 0, 252, 252, + 252, 252, 252, 252, 252, 0, 0, 280, 280, 0, + 0, 0, 0, 0, 0, 0, 252, 252, 0, 252, + 0, 0, 202, 0, 0, 0, 0, 0, 279, 279, + 0, 0, 0, 279, 0, 0, 0, 0, 0, 0, + 279, 200, 0, 0, 279, 279, 0, 279, 279, 279, + 0, 252, 0, 0, 0, 279, 0, 0, 0, 0, + 0, 0, 279, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 279, 279, 279, 279, 279, 279, 279, 279, + 279, 252, 252, 202, 0, 163, 0, 0, 0, 163, + 0, 0, 0, 0, 195, 0, 0, 0, 163, 163, + 0, 163, 200, 0, 0, 138, 0, 201, 0, 0, + 163, 0, 0, 0, 163, 0, 0, 0, 0, 163, + 163, 163, 163, 163, 163, 163, 163, 163, 163, 0, + 0, 0, 0, 0, 0, 163, 163, 0, 0, 202, + 280, 280, 0, 0, 0, 280, 0, 0, 0, 0, + 0, 0, 280, 0, 0, 0, 280, 280, 200, 280, + 280, 280, 0, 0, 0, 0, 138, 280, 291, 0, + 0, 0, 0, 0, 280, 0, 0, 0, 0, 0, + 0, 0, 0, 202, 280, 280, 280, 280, 280, 280, + 280, 280, 280, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 252, 252, 0, 0, 0, 252, + 0, 0, 138, 0, 309, 0, 252, 202, 0, 0, + 252, 252, 0, 252, 252, 252, 0, 0, 0, 0, + 2, 252, 0, 0, 3, 0, 200, 0, 252, 0, + 0, 0, 0, 184, 185, 0, 6, 0, 252, 252, + 252, 252, 252, 252, 252, 186, 138, 0, 363, 187, + 0, 0, 0, 0, 188, 189, 190, 191, 192, 193, + 194, 195, 196, 197, 202, 0, 0, 0, 0, 0, + 198, 199, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2, 0, 200, 0, 3, 0, 0, 0, 0, + 138, 0, 364, 0, 184, 185, 0, 6, 0, 0, + 0, 0, 0, 0, 0, 0, 186, 0, 0, 0, + 290, 0, 0, 0, 0, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 132, 0, 0, 0, 0, + 0, 198, 199, 0, 0, 0, 0, 2, 0, 0, + 0, 3, 0, 132, 0, 0, 0, 138, 0, 411, + 184, 185, 0, 6, 0, 0, 0, 0, 0, 0, + 0, 0, 186, 0, 0, 134, 187, 0, 0, 0, + 0, 188, 189, 190, 191, 192, 193, 194, 195, 196, + 197, 2, 0, 134, 0, 3, 0, 198, 199, 0, + 0, 0, 0, 0, 184, 185, 0, 6, 0, 0, + 0, 0, 0, 0, 0, 0, 186, 0, 0, 89, + 187, 0, 0, 0, 0, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 2, 0, 0, 0, 3, + 0, 198, 199, 0, 0, 0, 0, 89, 184, 185, + 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, + 186, 0, 0, 0, 187, 0, 0, 0, 0, 188, + 189, 190, 191, 192, 193, 194, 195, 196, 197, 0, + 0, 0, 89, 0, 118, 198, 199, 0, 0, 0, + 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 0, 184, 185, 0, 6, 0, + 162, 0, 149, 0, 0, 0, 0, 186, 0, 0, + 0, 187, 0, 0, 0, 0, 188, 189, 190, 191, + 192, 193, 194, 195, 196, 197, 0, 0, 61, 0, + 0, 0, 198, 199, 0, 0, 0, 171, 132, 132, + 0, 0, 0, 132, 132, 0, 0, 0, 0, 0, + 132, 0, 0, 0, 0, 132, 0, 132, 132, 132, + 132, 132, 132, 0, 0, 132, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 134, 134, + 0, 0, 132, 134, 134, 0, 0, 0, 0, 0, + 134, 0, 0, 0, 0, 134, 0, 134, 134, 134, + 134, 134, 134, 0, 0, 134, 1, 2, 0, 0, + 0, 3, 0, 0, 0, 0, 0, 0, 5, 0, + 0, 0, 134, 6, 0, 7, 8, 9, 0, 0, + 0, 0, 0, 13, 1, 2, 0, 0, 0, 3, + 87, 0, 0, 0, 0, 0, 5, 0, 0, 0, + 117, 6, 0, 7, 8, 9, 0, 0, 0, 0, + 0, 86, 0, 0, 0, 0, 0, 0, 87, 1, + 2, 0, 0, 0, 3, 0, 0, 0, 88, 0, + 0, 5, 0, 0, 0, 0, 6, 0, 7, 8, + 9, 0, 0, 0, 0, 0, 13, 1, 2, 0, + 0, 0, 3, 87, 0, 0, 0, 0, 0, 5, + 0, 0, 0, 117, 6, 0, 7, 8, 9, 0, + 0, 0, 0, 0, 13, 61, 61, 0, 0, 0, + 61, 161, 0, 0, 0, 0, 0, 61, 0, 0, + 0, 117, 61, 0, 61, 61, 61, 0, 0, 0, + 0, 0, 61, 0, 0, 0, 0, 0, 0, 61, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, }; - protected short yyCheck[] = new short[3868]; + protected short yyCheck[] = new short[3801]; } class yyCheck0 { - protected static final short yyCheck0 [] = { 105, - 59, 41, 46, 121, 51, 44, 59, 27, 25, 26, - 57, 60, 41, 33, 180, 32, 114, 105, 46, 100, - 59, 60, 61, 123, 54, 135, 123, 41, 52, 135, - 123, 59, 27, 123, 44, 339, 44, 301, 156, 123, - 60, 29, 91, 32, 27, 12, 44, 135, 36, 73, - 74, 105, 91, 73, 74, 41, 60, 395, 62, 308, - 309, 40, 366, 80, 62, 60, 86, 91, 92, 105, - 301, 35, 92, 37, 180, 59, 93, 60, 73, 29, - 30, 135, 61, 103, 59, 59, 36, 33, 60, 109, - 73, 80, 180, 41, 59, 399, 44, 114, 59, 135, - 266, 131, 122, 109, 93, 91, 130, 74, 96, 133, - 168, 169, 40, 123, 108, 123, 122, 455, 456, 143, - 60, 219, 460, 118, 105, 92, 180, 318, 319, 79, - 40, 125, 60, 59, 129, 99, 46, 255, 132, 123, - 86, 59, 59, 59, 180, 301, 96, 97, 123, 123, - 133, 105, 172, 59, 135, 273, 274, 267, 123, 277, - 266, 267, 123, 221, 222, 223, 172, 301, 268, 44, - 44, 268, 290, 59, 268, 268, 342, 61, 266, 267, - 44, 135, 282, 213, 268, 282, 44, 62, 62, 270, - 214, 105, 282, 44, 214, 178, 146, 123, 62, 180, - 220, 59, 219, 60, 210, 123, 123, 123, 59, 44, - 123, 309, 266, 267, 220, 301, 334, 123, 258, 258, - 44, 135, 262, 262, 44, 343, 180, 62, 346, 258, - 266, 267, 40, 262, 274, 274, 342, 123, 62, 320, - 325, 326, 62, 290, 258, 274, 289, 40, 262, 308, - 309, 271, 301, 46, 342, 308, 309, 315, 316, 317, - 274, 301, 301, 257, 308, 309, 180, 261, 61, 273, - 59, 61, 301, 44, 392, 44, 394, 91, 91, 397, - 308, 309, 306, 303, 308, 266, 267, 301, 342, 395, - 396, 62, 309, 62, 412, 413, 123, 303, 91, 303, - 304, 59, 44, 38, 410, 27, 342, 395, 396, 367, - 109, 33, 266, 267, 44, 44, 336, 59, 436, 437, - 438, 301, 410, 122, 302, 431, 432, 305, 434, 59, - 59, 455, 456, 439, 93, 61, 460, 443, 60, 445, - 446, 395, 396, 431, 432, 43, 434, 45, 454, 455, - 456, 439, 266, 267, 460, 443, 410, 445, 446, 395, - 396, 342, 386, 387, 86, 93, 454, 455, 456, 363, - 364, 301, 460, 40, 410, 40, 91, 431, 432, 41, - 434, 41, 44, 258, 44, 439, 301, 262, 342, 443, - 40, 445, 446, 59, 41, 431, 432, 44, 434, 274, - 454, 455, 456, 439, 44, 41, 460, 443, 44, 445, - 446, 405, 406, 41, 395, 396, 44, 329, 454, 455, - 456, 46, 41, 258, 460, 44, 301, 262, 342, 410, - 314, 315, 316, 317, 44, 37, 59, 321, 38, 274, - 42, 395, 396, 258, 124, 47, 94, 262, 40, 41, - 431, 432, 44, 434, 46, 60, 410, 307, 439, 274, - 306, 40, 443, 61, 445, 446, 301, 59, 60, 61, - 59, 301, 301, 454, 455, 456, 291, 431, 432, 460, - 434, 395, 396, 40, 59, 439, 301, 41, 41, 443, - 40, 445, 446, 258, 59, 59, 410, 262, 59, 91, - 454, 455, 456, 25, 26, 27, 460, 59, 301, 274, - 32, 33, 41, 59, 40, 308, 309, 431, 432, 40, - 434, 314, 315, 316, 317, 439, 291, 267, 321, 443, - 41, 445, 446, 258, 41, 267, 301, 262, 60, 41, - 454, 455, 456, 258, 41, 41, 460, 262, 0, 274, - 59, 73, 74, 258, 60, 59, 258, 262, 80, 274, - 262, 86, 301, 20, 86, 321, 322, 323, 324, 274, - 92, 93, 274, 21, 60, 73, 301, 36, 100, 37, - 303, 103, 220, 105, 327, 329, 301, 109, 301, 330, - 328, 301, 114, 101, 331, 131, 301, 37, 38, 301, - 122, 41, 42, 43, 44, 45, 257, 47, 31, 14, - 74, 134, 263, 135, -1, -1, -1, -1, 269, 59, - 60, 61, 62, -1, -1, 276, 277, 278, -1, 33, - 281, -1, -1, 284, -1, -1, 40, -1, -1, 43, - -1, 45, -1, -1, -1, -1, -1, -1, -1, -1, - 172, -1, 257, 258, 94, 59, 33, 262, 180, -1, - -1, -1, -1, 40, 269, -1, 43, -1, 45, 274, - -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, - -1, -1, 59, 33, 124, 125, 291, -1, -1, -1, - 40, 41, 214, 43, -1, 45, 301, 219, 220, -1, - 33, -1, -1, -1, -1, -1, -1, 40, -1, 301, - 43, -1, 45, -1, -1, -1, 308, 309, -1, -1, - -1, -1, 314, 315, 316, 317, -1, 33, -1, 321, - -1, -1, -1, -1, 40, 41, -1, 43, -1, 45, - -1, -1, -1, -1, 266, 267, -1, -1, 270, 271, - -1, 257, 258, -1, 33, -1, 262, -1, -1, -1, - -1, 40, -1, 269, 43, -1, 45, -1, 274, -1, - 276, 277, 278, -1, -1, -1, -1, -1, 284, -1, - 59, 303, -1, -1, 33, 291, -1, 309, -1, -1, - 123, 40, 41, -1, 43, 301, 45, -1, 320, -1, - -1, 33, -1, -1, 257, -1, -1, -1, 40, 41, - 263, 43, -1, 45, 336, -1, 269, 257, 258, -1, - 342, -1, 262, 276, 277, 278, -1, -1, 281, 269, - -1, 284, -1, 273, 274, -1, 276, 277, 278, -1, - -1, -1, -1, -1, 284, -1, 33, -1, -1, -1, - -1, 291, -1, 40, -1, -1, 43, -1, 45, -1, - -1, 301, 302, 303, 304, 305, 306, 307, 308, 309, - -1, 275, 59, -1, 314, 315, 316, 317, -1, -1, - -1, 321, -1, 287, -1, -1, -1, -1, -1, 293, - 294, 295, 296, 297, 298, 299, 300, 301, 275, 33, - -1, -1, -1, -1, 308, 309, 40, 41, -1, 43, - 287, 45, -1, -1, -1, -1, 293, 294, 295, 296, - 297, 298, 299, 300, 301, 275, 33, -1, -1, -1, - -1, 308, 309, 40, 41, -1, 43, 287, 45, -1, + protected static final short yyCheck0 [] = { 10, + 11, 59, 55, 56, 42, 60, 135, 59, 40, 41, + 46, 86, 44, 66, 46, 209, 141, 92, 123, 0, + 147, 0, 20, 59, 46, 123, 91, 59, 60, 61, + 123, 156, 41, 89, 123, 301, 91, 66, 163, 44, + 44, 57, 166, 27, 416, 26, 59, 26, 20, 59, + 67, 123, 301, 60, 52, 62, 59, 110, 30, 91, + 41, 301, 41, 59, 40, 57, 47, 60, 47, 59, + 69, 138, 75, 126, 55, 56, 57, 76, 57, 95, + 52, 110, 41, 46, 60, 66, 67, 103, 67, 138, + 302, 59, 59, 305, 147, 40, 59, 126, 292, 166, + 61, 46, 119, 95, 476, 477, 162, 60, 59, 481, + 123, 103, 41, 123, 95, 44, 95, 166, 123, 123, + 104, 248, 103, 104, 103, 104, 91, 123, 131, 110, + 142, 40, 91, 123, 59, 134, 44, 59, 119, 59, + 119, 125, 209, 155, 125, 126, 125, 128, 164, 128, + 41, 59, 61, 44, 135, 123, 123, 138, 283, 151, + 209, 142, 287, 142, 138, 44, 147, 296, 160, 293, + 268, 365, 123, 91, 155, 268, 155, 282, 59, 268, + 59, 60, 61, 59, 282, 166, 242, 198, 199, 282, + 202, 207, 166, 258, 40, 248, 268, 262, 123, 46, + 46, 123, 44, 123, 138, 332, 44, 41, 60, 274, + 44, 44, 91, 41, 343, 61, 41, 87, 142, 93, + 62, 202, 362, 202, 62, 292, 293, 239, 209, 62, + 44, 155, 166, 103, 104, 209, 301, 249, 313, 250, + 251, 252, 123, 292, 293, 91, 301, 387, 62, 258, + 308, 309, 93, 262, 124, 125, 308, 309, 301, 384, + 385, 57, 243, 301, 243, 274, 273, 248, 249, 301, + 249, 67, 308, 309, 301, 209, 308, 309, 44, 332, + 420, 138, 314, 315, 316, 317, 308, 309, 44, 321, + 44, 161, 301, 59, 164, 44, 303, 304, 365, 95, + 41, 426, 427, 44, 174, 44, 62, 123, 62, 166, + 44, 292, 293, 62, 326, 296, 365, 44, 292, 293, + 59, 476, 477, 119, 268, 59, 481, 338, 339, 340, + 341, 342, 59, 344, 345, 346, 347, 348, 349, 350, + 351, 352, 353, 354, 46, 326, 43, 326, 45, 416, + 417, 332, 209, 314, 315, 316, 317, 59, 292, 293, + 321, 301, 343, 41, 431, 40, 44, 416, 417, 59, + 138, 198, 199, 243, 289, 308, 309, 388, 359, 258, + 359, 123, 431, 262, 365, 452, 453, 41, 455, 61, + 44, 365, 29, 460, 59, 274, 301, 464, 166, 466, + 467, 138, 41, 452, 453, 44, 455, 44, 475, 476, + 477, 460, 348, 349, 481, 464, 53, 466, 467, 61, + 341, 342, 301, 250, 251, 252, 475, 476, 477, 166, + 258, 365, 481, 258, 262, 292, 293, 262, 301, 301, + 77, 209, 416, 417, 59, 60, 274, 38, 258, 274, + 40, 40, 262, 40, 59, 301, 44, 431, 329, 329, + 75, 331, 308, 309, 274, 46, 59, 44, 314, 315, + 316, 317, 209, 301, 38, 321, 301, 94, 452, 453, + 258, 455, 416, 417, 262, 307, 460, 306, 154, 124, + 464, 301, 466, 467, 109, 37, 274, 431, 61, 40, + 42, 475, 476, 477, 59, 47, 258, 481, 365, 301, + 262, 338, 339, 340, 40, 59, 131, 132, 452, 453, + 186, 455, 274, 301, 292, 293, 460, 41, 41, 40, + 464, 59, 466, 467, 59, 59, 59, 407, 408, 291, + 41, 475, 476, 477, 59, 40, 40, 481, 258, 301, + 267, 41, 262, 41, 41, 292, 293, 41, 41, 416, + 417, 388, 267, 178, 274, 37, 38, 0, 0, 41, + 42, 43, 44, 45, 431, 47, 0, 0, 258, 59, + 301, 291, 262, 344, 345, 346, 347, 59, 60, 61, + 62, 301, 47, 49, 274, 452, 453, 365, 455, 119, + 48, 103, 95, 460, 33, 30, 75, 464, 76, 466, + 467, 40, 326, 249, 43, 281, 45, 257, 475, 476, + 477, 301, 94, 263, 481, 350, 352, 351, 365, 269, + 59, 297, 298, 33, 353, 301, 276, 277, 278, 354, + 40, 281, 324, 43, 284, 45, 162, 313, 416, 417, + 33, 324, 124, 125, 136, 65, 165, 40, 41, 59, + 43, 104, 45, 431, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 416, + 417, -1, -1, -1, 452, 453, -1, 455, -1, -1, + -1, 357, 460, -1, 431, -1, 464, -1, 466, 467, + 366, -1, 368, -1, -1, -1, -1, 475, 476, 477, + 33, -1, -1, 481, -1, 452, 453, 40, 455, -1, + 43, -1, 45, 460, -1, -1, -1, 464, -1, 466, + 467, -1, -1, -1, -1, -1, -1, -1, 475, 476, + 477, -1, -1, -1, 481, -1, 33, 413, -1, 415, + -1, -1, 418, 40, 41, -1, 43, -1, 45, -1, + 257, -1, -1, 33, -1, -1, 263, 433, 434, -1, + 40, -1, 269, 43, -1, 45, -1, -1, -1, 276, + 277, 278, -1, 280, 281, 257, 258, 284, -1, 59, + 262, 457, 458, 459, -1, -1, -1, 269, -1, -1, + 123, 273, 274, 33, 276, 277, 278, -1, -1, -1, + 40, 41, 284, 43, -1, 45, -1, -1, -1, 291, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 301, + 302, 303, 304, 305, 306, 307, 308, 309, -1, -1, + 33, -1, 314, 315, 316, 317, 275, 40, 41, 321, + 43, -1, 45, -1, -1, -1, -1, -1, 287, -1, + -1, -1, -1, -1, 293, 294, 295, 296, 297, 298, + 299, 300, 301, -1, -1, 275, 33, -1, -1, 308, + 309, -1, -1, 40, -1, -1, 43, 287, 45, -1, -1, -1, 275, 293, 294, 295, 296, 297, 298, 299, - 300, 301, -1, -1, 287, -1, -1, -1, 308, 309, - 293, 294, 295, 296, 297, 298, 299, 300, 301, 275, + 300, 301, 59, -1, 287, -1, -1, -1, 308, 309, + 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, 33, -1, -1, -1, -1, 308, 309, 40, 41, -1, - 43, 287, 45, -1, -1, -1, -1, 293, 294, 295, - 296, 297, 298, 299, 300, 301, 275, 33, -1, -1, + 43, -1, 45, -1, -1, -1, -1, 33, -1, -1, + -1, -1, -1, -1, 40, 41, -1, 43, -1, 45, + -1, -1, 275, -1, -1, 33, -1, -1, -1, -1, + -1, -1, 40, -1, 287, 43, -1, 45, -1, -1, + 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, + -1, -1, 33, -1, -1, 308, 309, -1, 275, 40, + 41, -1, 43, -1, 45, -1, -1, -1, -1, -1, }; } class yyCheck1 { - protected static final short yyCheck1 [] = { -1, - -1, 308, 309, 40, 41, -1, 43, 287, 45, -1, - -1, -1, -1, 293, 294, 295, 296, 297, 298, 299, - 300, 301, -1, 33, -1, 275, -1, -1, 308, 309, - 40, -1, -1, 43, -1, 45, -1, 287, -1, -1, - -1, -1, 275, 293, 294, 295, 296, 297, 298, 299, - 300, 301, -1, -1, 287, -1, -1, -1, 308, 309, - 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, - 33, -1, -1, -1, -1, 308, 309, 40, -1, -1, - 43, -1, 45, -1, -1, -1, -1, 275, -1, -1, + protected static final short yyCheck1 [] = { 287, + -1, -1, -1, -1, 275, 293, 294, 295, 296, 297, + 298, 299, 300, 301, -1, -1, 287, -1, -1, -1, + 308, 309, 293, 294, 295, 296, 297, 298, 299, 300, + 301, -1, -1, 33, -1, -1, -1, 308, 309, -1, + 40, 41, -1, 43, 275, 45, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 287, -1, -1, -1, + -1, -1, 293, 294, 295, 296, 297, 298, 299, 300, + 301, -1, 33, -1, -1, -1, -1, 308, 309, 40, + -1, 275, 43, -1, 45, -1, -1, -1, -1, -1, + -1, -1, -1, 287, -1, -1, -1, -1, -1, 293, + 294, 295, 296, 297, 298, 299, 300, 301, -1, -1, + -1, -1, -1, -1, 308, 309, -1, 275, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 287, -1, -1, -1, -1, -1, 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, -1, -1, -1, -1, -1, - 308, 309, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, - 275, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 287, -1, -1, -1, -1, 59, 293, 294, - 295, 296, 297, 298, 299, 300, 301, 275, -1, -1, - -1, -1, -1, 308, 309, -1, -1, -1, -1, 287, - -1, -1, -1, -1, -1, 293, 294, 295, 296, 297, - 298, 299, 300, 301, -1, -1, -1, -1, -1, -1, - 308, 309, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 275, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 123, -1, 287, -1, -1, -1, -1, -1, 293, - 294, 295, 296, 297, 298, 299, 300, 301, 275, -1, - -1, -1, -1, -1, 308, 309, -1, -1, -1, -1, - 287, -1, -1, -1, -1, -1, 293, 294, 295, 296, - 297, 298, 299, 300, 301, 275, -1, -1, -1, -1, - -1, 308, 309, -1, -1, -1, -1, 287, -1, -1, - -1, -1, -1, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 59, 60, -1, -1, -1, -1, 308, 309, - 37, 38, -1, 40, 41, 42, 43, 44, 45, 46, - 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 59, -1, 287, 62, -1, -1, -1, -1, + 308, 309, 37, 38, -1, -1, 41, 42, 43, 44, + 45, 275, 47, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 287, 59, 60, -1, 62, 275, 293, + 294, 295, 296, 297, 298, 299, 300, 301, -1, -1, + 287, -1, -1, -1, 308, 309, 293, 294, 295, 296, + 297, 298, 299, 300, 301, -1, -1, 40, 287, 94, + -1, 308, 309, -1, 293, 294, 295, 296, 297, 298, + 299, 300, 301, 275, -1, -1, 59, -1, -1, 308, + 309, -1, -1, -1, -1, 287, -1, -1, -1, 124, + 125, 293, 294, 295, 296, 297, 298, 299, 300, 301, + -1, -1, -1, -1, -1, -1, 308, 309, 37, 38, + -1, 40, 41, 42, 43, 44, 45, 46, 47, -1, + -1, -1, -1, -1, -1, 275, -1, -1, -1, -1, + 59, -1, -1, 62, -1, -1, -1, 287, -1, -1, + 123, -1, -1, 293, 294, 295, 296, 297, 298, 299, + 300, 301, -1, -1, 257, -1, -1, -1, 308, 309, + 263, -1, 91, -1, 275, 94, 269, -1, -1, -1, + -1, -1, -1, 276, 277, 278, 287, -1, 281, -1, + -1, 284, 293, 294, 295, 296, 297, 298, 299, 300, + 301, -1, -1, -1, 123, 124, 125, 308, 309, -1, + -1, -1, -1, 37, -1, -1, -1, 41, 42, 43, + 44, 45, 46, 47, -1, -1, -1, -1, -1, -1, + -1, -1, 257, 258, -1, 59, 60, 262, 62, -1, + -1, -1, -1, -1, 269, -1, -1, -1, 273, 274, + -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, + -1, -1, -1, -1, -1, -1, 291, -1, -1, -1, + 94, -1, -1, -1, -1, -1, 301, 302, 303, 304, + 305, 306, 307, 308, 309, -1, 37, 38, -1, -1, + 41, 42, 43, 44, 45, 46, 47, -1, 271, 272, + 124, 125, -1, -1, -1, -1, -1, -1, 59, 60, + 283, 62, -1, -1, 287, -1, -1, -1, -1, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, - -1, -1, -1, -1, -1, 308, 309, -1, -1, -1, - -1, -1, -1, -1, 91, 37, 38, 94, 125, 41, - 42, 43, 44, 45, -1, 47, -1, -1, -1, 271, - 272, -1, -1, -1, -1, -1, -1, 59, 60, -1, - 62, 283, -1, -1, -1, 287, 123, 124, 125, -1, - 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, - -1, -1, -1, -1, -1, -1, 308, 309, -1, 37, - -1, -1, 94, 41, 42, 43, 44, 45, 46, 47, + -1, -1, -1, -1, -1, 308, 309, -1, 257, 258, + -1, -1, -1, 262, 263, 40, -1, -1, -1, -1, + 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, + 279, 280, 281, 282, 59, 284, -1, -1, -1, -1, + -1, -1, 291, 124, 125, -1, -1, -1, -1, -1, + -1, -1, 301, 302, 303, 304, 305, 306, 307, 308, + 309, -1, -1, -1, -1, -1, -1, -1, 37, 38, + -1, -1, 41, 42, 43, 44, 45, 46, 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 59, 60, -1, 62, -1, -1, -1, -1, -1, - -1, -1, 124, 125, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 37, 38, -1, 94, 41, 42, 43, - 44, 45, 46, 47, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 59, 60, -1, 62, -1, - 257, 258, -1, -1, -1, 262, 124, 125, -1, -1, - -1, -1, 269, -1, -1, -1, -1, 274, -1, 276, - 277, 278, -1, -1, -1, -1, -1, 284, -1, -1, - 257, 258, -1, -1, 291, 262, -1, -1, -1, -1, - -1, -1, 269, -1, 301, -1, 273, 274, -1, 276, - 277, 278, -1, -1, -1, 282, -1, 284, -1, -1, - 124, 125, -1, -1, 291, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, - 307, 308, 309, -1, -1, 257, 258, -1, -1, -1, - 262, -1, -1, -1, -1, -1, -1, 269, -1, -1, - -1, 273, 274, -1, 276, 277, 278, -1, 168, 169, - -1, -1, 284, -1, -1, -1, -1, -1, -1, 291, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 40, 257, - 258, -1, -1, -1, 262, -1, -1, -1, -1, -1, - -1, 269, -1, -1, -1, 273, 274, 59, 276, 277, - 278, 221, 222, 223, -1, -1, 284, -1, -1, -1, - -1, -1, -1, 291, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 301, 302, 303, 304, 305, 306, 307, - 308, 309, -1, 257, 258, -1, -1, -1, 262, -1, + 59, 60, -1, 62, -1, -1, -1, -1, 123, -1, + -1, -1, -1, 257, 258, -1, -1, -1, 262, -1, -1, -1, -1, -1, -1, 269, -1, -1, -1, 273, - 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, - 284, 123, -1, -1, 37, 38, -1, 291, 41, 42, - 43, 44, 45, 46, 47, -1, -1, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 59, 60, -1, 62, - -1, -1, -1, -1, -1, 315, 316, 317, 318, 319, - -1, 321, 322, 323, 324, 325, 326, 327, 328, 329, - 330, 331, -1, -1, -1, -1, -1, -1, 37, 38, - -1, 94, 41, 42, 43, 44, 45, 46, 47, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 59, 60, -1, 62, -1, -1, -1, 367, -1, -1, - -1, -1, 125, -1, -1, -1, 37, 38, -1, -1, - 41, 42, 43, 44, 45, 46, 47, -1, -1, -1, - -1, -1, -1, -1, -1, 94, -1, -1, 59, 60, - -1, 62, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 37, 38, -1, -1, 41, 42, 43, - 44, 45, -1, 47, -1, 124, 125, -1, -1, 271, - 272, -1, -1, 94, -1, 59, 60, -1, 62, -1, - -1, 283, -1, -1, -1, 287, -1, -1, -1, -1, - 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, - -1, -1, -1, 124, 125, -1, 308, 309, -1, -1, - 94, -1, -1, 37, -1, -1, -1, 41, 42, 43, - 44, 45, 46, 47, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 59, 60, -1, 62, -1, - 124, 125, -1, -1, 257, 258, -1, -1, -1, 262, - -1, -1, -1, -1, -1, -1, 269, -1, -1, -1, - 273, 274, -1, 276, 277, 278, -1, -1, -1, -1, - 94, 284, -1, -1, -1, -1, -1, -1, 291, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 301, 302, - 303, 304, 305, 306, 307, 308, 309, -1, 257, 258, - 124, 125, -1, 262, -1, -1, -1, -1, -1, -1, + 274, -1, 276, 277, 278, 94, -1, -1, -1, -1, + 284, -1, -1, -1, -1, -1, -1, 291, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 301, 302, 303, + 304, 305, 306, 307, 308, 309, 125, 37, 38, -1, + -1, 41, 42, 43, 44, 45, 46, 47, -1, -1, + -1, -1, -1, -1, -1, -1, 257, 258, -1, 59, + 60, 262, 62, -1, -1, -1, -1, -1, 269, -1, + -1, -1, 273, 274, -1, 276, 277, 278, -1, -1, + -1, -1, -1, 284, -1, -1, -1, -1, -1, -1, + 291, -1, -1, -1, 94, -1, -1, -1, -1, -1, + 301, 302, 303, 304, 305, 306, 307, 308, 309, 37, + 38, -1, -1, 41, 42, 43, 44, 45, 46, 47, + -1, -1, -1, -1, 124, 125, 271, 272, -1, -1, + -1, 59, 60, -1, 62, -1, -1, -1, 283, -1, + -1, -1, 287, -1, -1, -1, -1, 292, 293, 294, + 295, 296, 297, 298, 299, 300, 301, -1, -1, -1, + -1, -1, -1, 308, 309, -1, 94, -1, 257, 258, + -1, -1, -1, 262, -1, -1, -1, -1, -1, -1, + 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, + -1, -1, -1, -1, -1, 284, 124, 125, -1, 37, + 38, -1, 291, 41, 42, 43, 44, 45, -1, 47, + -1, -1, 301, 302, 303, 304, 305, 306, 307, 308, + 309, 59, 60, -1, 62, -1, 257, 258, -1, -1, + -1, 262, 263, -1, -1, -1, -1, -1, 269, -1, + -1, -1, -1, 274, -1, 276, 277, 278, 279, 280, + 281, -1, -1, 284, -1, -1, 94, 257, 258, -1, + -1, -1, 262, -1, -1, -1, -1, -1, -1, 269, + 301, -1, -1, 273, 274, -1, 276, 277, 278, -1, + -1, -1, -1, -1, 284, -1, 124, 125, -1, -1, + -1, 291, 59, 60, -1, -1, -1, -1, -1, -1, + -1, 301, 302, 303, 304, 305, 306, -1, 308, 309, + 37, -1, -1, -1, 41, 42, 43, 44, 45, 46, + 47, -1, -1, -1, -1, -1, -1, -1, -1, 257, + 258, -1, 59, 60, 262, 62, -1, -1, -1, -1, + -1, 269, -1, -1, -1, 273, 274, -1, 276, 277, + 278, -1, -1, -1, -1, -1, 284, -1, 125, -1, + -1, -1, -1, 291, -1, -1, -1, 94, -1, -1, + -1, -1, -1, 301, 302, 303, 304, 305, -1, 307, + 308, 309, -1, -1, -1, 37, 38, -1, -1, 41, + 42, 43, 44, 45, 46, 47, -1, 124, 125, -1, + -1, -1, -1, -1, -1, -1, -1, 59, 60, -1, }; } class yyCheck2 { - protected static final short yyCheck2 [] = { 269, - -1, -1, -1, 273, 274, -1, 276, 277, 278, -1, - -1, -1, -1, -1, 284, -1, -1, -1, -1, -1, - -1, 291, -1, -1, -1, 257, 258, -1, -1, -1, - 262, 301, 302, 303, 304, 305, 306, 269, 308, 309, - -1, 273, 274, -1, 276, 277, 278, -1, -1, -1, - -1, -1, 284, -1, -1, -1, -1, -1, -1, 291, - -1, -1, 257, 258, -1, -1, -1, 262, -1, 301, - 302, 303, 304, 305, 269, 307, 308, 309, 273, 274, - -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, - -1, -1, -1, 37, 38, -1, 291, 41, 42, 43, - 44, 45, 46, 47, -1, -1, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 59, 60, -1, 62, -1, - -1, -1, 257, 258, -1, -1, -1, 262, -1, -1, - -1, -1, -1, -1, 269, -1, -1, -1, 273, 274, - -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, - -1, -1, -1, 37, 38, -1, 291, 41, 42, 43, - 44, 45, 46, 47, -1, -1, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 59, 60, -1, 62, -1, - 124, 125, -1, 395, 396, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 410, -1, - -1, -1, -1, -1, -1, -1, -1, 37, 38, -1, - 94, 41, 42, 43, 44, 45, 46, 47, -1, 431, - 432, -1, 434, -1, -1, -1, -1, 439, -1, 59, - 60, 443, 62, 445, 446, -1, -1, -1, -1, -1, - -1, 125, 454, 455, 456, -1, -1, -1, 460, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 37, 38, 94, -1, 41, 42, -1, 44, - -1, 46, 47, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 59, 60, -1, 62, -1, -1, - -1, -1, -1, -1, 124, 125, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 257, 258, -1, -1, -1, 262, 94, - -1, -1, -1, -1, -1, 269, -1, -1, -1, 273, - 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, - 284, -1, -1, -1, -1, -1, -1, 291, -1, 124, - 125, -1, -1, -1, -1, -1, -1, 301, 302, 303, - 304, 305, 306, 307, 308, 309, -1, -1, -1, -1, - -1, -1, -1, 257, 258, -1, -1, -1, 262, -1, - -1, -1, -1, -1, -1, 269, -1, -1, -1, 273, - 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, - 284, -1, -1, -1, -1, -1, -1, 291, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 301, 302, 303, - 304, 305, 306, 307, 308, 309, -1, 257, 258, -1, - -1, -1, 262, -1, -1, -1, -1, -1, -1, 269, - -1, -1, -1, 273, 274, -1, 276, 277, 278, -1, - -1, -1, -1, -1, 284, -1, -1, -1, 37, 38, - -1, 291, 41, 42, 43, 44, 45, 46, 47, -1, - -1, 301, 302, 303, 304, 305, 306, -1, 308, 309, - 59, -1, 257, 258, -1, -1, -1, 262, -1, -1, - -1, -1, -1, -1, 269, -1, -1, -1, 273, 274, - -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, - -1, -1, -1, 37, 38, 94, 291, 41, 42, 43, - 44, 45, 46, 47, -1, -1, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 59, 60, -1, 62, -1, - -1, -1, -1, -1, -1, 124, 125, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 37, 38, -1, - 94, 41, 42, 43, 44, 45, 46, 47, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 59, - 60, -1, 62, -1, -1, -1, -1, -1, -1, -1, - 124, 125, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 94, -1, -1, 37, 38, -1, - -1, 41, 42, 43, 44, 45, 46, 47, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 59, - -1, -1, -1, -1, 124, 125, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + protected static final short yyCheck2 [] = { 62, -1, -1, -1, -1, -1, -1, -1, -1, 257, 258, - -1, -1, -1, 262, 94, -1, -1, -1, -1, -1, - 269, -1, -1, -1, -1, 274, -1, 276, 277, 278, + -1, -1, -1, 262, -1, -1, -1, -1, -1, -1, + 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, -1, -1, -1, -1, - -1, -1, 291, -1, 124, 125, -1, -1, -1, -1, - -1, -1, 301, 302, -1, -1, 305, 306, 307, 308, - 309, -1, -1, 257, 258, -1, -1, -1, 262, -1, - -1, -1, -1, -1, -1, 269, -1, -1, -1, 273, - 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, - 284, -1, -1, -1, -1, -1, -1, 291, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 301, -1, 303, - 304, -1, 306, 307, 308, 309, -1, 257, 258, -1, - -1, -1, 262, -1, -1, -1, -1, -1, -1, 269, - -1, -1, -1, 273, 274, -1, 276, 277, 278, -1, - -1, -1, -1, -1, 284, -1, -1, -1, 37, 38, - -1, 291, 41, 42, 43, 44, 45, 46, 47, -1, - -1, 301, -1, 303, 304, -1, 306, 307, 308, 309, - 59, -1, -1, -1, -1, -1, -1, 257, 258, -1, - -1, -1, 262, -1, -1, -1, -1, -1, -1, 269, - -1, -1, -1, -1, 274, -1, 276, 277, 278, -1, - -1, -1, -1, -1, 284, 94, -1, -1, -1, 38, - -1, 291, 41, -1, 43, 44, 45, 46, -1, -1, - -1, 301, 302, -1, -1, 305, 306, 307, 308, 309, - 59, 60, -1, 62, -1, 124, 125, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 38, -1, 94, 41, -1, 43, 44, - 45, 46, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 59, 60, -1, 62, -1, -1, - -1, -1, -1, -1, -1, 124, 125, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 38, 94, - -1, 41, -1, 43, 44, 45, 46, -1, -1, -1, + -1, -1, 291, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 301, 302, 303, 304, 305, 306, 307, 308, + 309, 124, 125, -1, 37, 38, -1, -1, 41, 42, + 43, 44, 45, 46, 47, -1, -1, -1, -1, 257, + 258, -1, -1, -1, 262, -1, 59, 60, -1, 62, + -1, 269, -1, -1, -1, -1, 274, -1, 276, 277, + 278, -1, -1, -1, -1, -1, 284, -1, -1, -1, + -1, -1, -1, 291, -1, -1, -1, -1, -1, 257, + 258, 94, -1, 301, 262, -1, -1, -1, -1, -1, + -1, 269, -1, -1, -1, 273, 274, -1, 276, 277, + 278, -1, -1, -1, -1, -1, 284, -1, -1, -1, + -1, -1, 125, 291, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 301, 302, 303, 304, 305, 306, 307, + 308, 309, -1, -1, -1, 37, 38, -1, -1, 41, + 42, 43, 44, 45, 46, 47, -1, -1, -1, -1, + -1, -1, -1, -1, 257, 258, -1, 59, 60, 262, + 62, -1, -1, -1, -1, -1, 269, -1, -1, -1, + 273, 274, -1, 276, 277, 278, -1, -1, -1, -1, + -1, 284, -1, -1, -1, -1, -1, -1, 291, -1, + -1, -1, 94, -1, -1, -1, -1, -1, 301, 302, + 303, 304, 305, 306, 307, 308, 309, -1, -1, -1, + 37, 38, -1, -1, 41, 42, -1, 44, -1, 46, + 47, -1, 124, 125, -1, -1, -1, -1, -1, -1, + -1, -1, 59, 60, -1, 62, -1, -1, -1, -1, + -1, -1, -1, -1, 257, 258, -1, -1, -1, 262, + -1, -1, -1, -1, -1, -1, 269, -1, -1, -1, + 273, 274, -1, 276, 277, 278, -1, 94, -1, -1, + -1, 284, -1, -1, -1, -1, -1, -1, 291, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 301, 302, + 303, 304, 305, 306, 307, 308, 309, 124, 125, -1, + 37, 38, -1, -1, 41, 42, 43, 44, 45, 46, + 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 59, 60, -1, 62, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 37, 38, -1, -1, + 41, 42, 43, 44, 45, 46, 47, -1, -1, -1, + -1, -1, -1, -1, -1, 257, 258, 94, 59, -1, + 262, -1, -1, -1, -1, -1, -1, 269, -1, -1, + -1, 273, 274, -1, 276, 277, 278, -1, -1, -1, + -1, -1, 284, -1, -1, -1, -1, 124, 125, 291, + -1, -1, -1, 94, -1, -1, -1, -1, -1, 301, + 302, 303, 304, 305, 306, -1, 308, 309, -1, -1, + -1, 37, 38, -1, -1, 41, 42, 43, 44, 45, + 46, 47, -1, 124, 125, -1, -1, -1, -1, -1, + 257, 258, -1, 59, 60, 262, 62, -1, -1, -1, + -1, -1, 269, -1, -1, -1, 273, 274, -1, 276, + 277, 278, -1, -1, -1, -1, -1, 284, -1, -1, + -1, -1, -1, -1, 291, -1, -1, -1, 94, -1, + -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, + 307, 308, 309, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 124, 125, + -1, 37, 38, -1, -1, 41, 42, 43, 44, 45, + 46, 47, -1, -1, -1, -1, -1, -1, -1, -1, + 257, 258, -1, 59, -1, 262, -1, -1, -1, -1, + -1, -1, 269, -1, -1, -1, 273, 274, -1, 276, + 277, 278, -1, -1, -1, -1, -1, 284, -1, -1, + -1, -1, -1, -1, 291, -1, 257, 258, 94, -1, + -1, 262, -1, -1, 301, -1, 303, 304, 269, 306, + 307, 308, 309, 274, -1, 276, 277, 278, -1, -1, + -1, -1, -1, 284, -1, -1, -1, -1, 124, 125, + 291, -1, -1, -1, -1, -1, -1, -1, 60, -1, + 301, 302, -1, -1, 305, 306, 307, 308, 309, -1, + -1, 37, 38, -1, -1, 41, 42, 43, 44, 45, + 46, 47, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 257, 258, 59, -1, -1, 262, -1, -1, -1, + -1, -1, -1, 269, -1, -1, -1, 273, 274, -1, + 276, 277, 278, -1, -1, -1, -1, -1, 284, -1, + -1, -1, -1, 125, -1, 291, -1, -1, 94, 416, + 417, -1, -1, -1, -1, 301, -1, 303, 304, -1, + 306, 307, 308, 309, 431, -1, -1, -1, 38, -1, + -1, 41, -1, 43, 44, 45, 46, -1, 124, 125, + -1, -1, -1, -1, -1, 452, 453, -1, 455, 59, + 60, -1, 62, 460, -1, -1, -1, 464, -1, 466, + 467, 257, 258, -1, -1, -1, 262, -1, 475, 476, + 477, -1, -1, 269, 481, -1, -1, -1, 274, -1, + 276, 277, 278, -1, 94, -1, -1, -1, 284, -1, + -1, -1, -1, -1, -1, 291, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 301, 302, -1, -1, 305, + 306, 307, 308, 309, 124, 125, -1, 38, -1, -1, + 41, -1, 43, 44, 45, 46, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 257, 258, -1, 59, 60, + 262, 62, -1, -1, -1, -1, -1, 269, -1, -1, + -1, -1, 274, -1, 276, 277, 278, -1, -1, -1, + -1, -1, 284, -1, -1, -1, -1, -1, -1, 291, + -1, 257, 258, 94, -1, 40, 262, -1, -1, 301, + -1, -1, -1, 269, -1, -1, -1, -1, 274, -1, + 276, 277, 278, -1, 59, -1, -1, -1, 284, -1, + -1, -1, -1, 124, 125, 291, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 301, 302, -1, -1, 305, + 306, 307, 308, 309, -1, -1, -1, -1, -1, 38, + -1, -1, 41, -1, 43, 44, 45, 46, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 257, 258, -1, + 59, 60, 262, 62, -1, -1, -1, -1, 123, 269, + 125, -1, -1, 273, 274, -1, 276, 277, 278, -1, + -1, -1, -1, -1, 284, -1, -1, -1, -1, -1, + -1, 291, -1, -1, -1, 94, -1, -1, -1, -1, + -1, 301, 302, 303, 304, 305, 306, 307, 308, 309, }; } class yyCheck3 { protected static final short yyCheck3 [] = { -1, - -1, -1, -1, -1, -1, -1, -1, -1, 59, 60, - -1, 62, -1, -1, -1, -1, -1, -1, 124, 125, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 257, 258, -1, - -1, -1, 262, 94, -1, -1, -1, -1, -1, 269, - 40, -1, -1, -1, 274, -1, 276, 277, 278, -1, - -1, -1, -1, -1, 284, -1, -1, -1, -1, 59, - -1, 291, -1, 124, 125, -1, -1, -1, -1, -1, - -1, 301, 302, -1, -1, 305, 306, 307, 308, 309, - -1, -1, -1, -1, -1, -1, -1, 257, 258, -1, - -1, -1, 262, -1, 40, -1, -1, -1, -1, 269, - -1, -1, -1, 273, 274, -1, 276, 277, 278, -1, - -1, -1, -1, 59, 284, -1, -1, -1, -1, -1, - -1, 291, -1, 123, -1, 125, -1, -1, -1, -1, - -1, 301, 302, 303, 304, 305, 306, 307, 308, 309, - -1, 257, 258, -1, -1, -1, 262, -1, -1, -1, - -1, -1, -1, 269, -1, -1, -1, 273, 274, -1, - 276, 277, 278, -1, -1, -1, -1, -1, 284, -1, - -1, -1, -1, -1, -1, 291, 40, 123, -1, 125, - -1, -1, -1, -1, -1, 301, 302, 303, 304, 305, - 306, 307, 308, 309, -1, 59, 257, 258, -1, -1, - -1, 262, -1, -1, -1, -1, -1, -1, 269, -1, - -1, -1, 273, 274, -1, 276, 277, 278, -1, -1, - -1, -1, -1, 284, -1, -1, -1, 37, 38, -1, - 291, 41, 42, 43, 44, 45, 46, 47, -1, -1, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 59, - 60, -1, 62, -1, -1, -1, -1, -1, 258, 123, - -1, 125, 262, -1, -1, -1, -1, 267, -1, -1, - -1, 271, 272, -1, 274, -1, -1, -1, -1, -1, - -1, -1, -1, 283, 94, 40, -1, 287, -1, -1, - -1, -1, 292, 293, 294, 295, 296, 297, 298, 299, - 300, 301, -1, -1, 59, -1, -1, -1, 308, 309, - -1, -1, 258, -1, 124, 125, 262, -1, -1, -1, - -1, -1, -1, -1, -1, 271, 272, -1, 274, -1, - -1, -1, -1, -1, -1, -1, -1, 283, -1, 40, + -1, 37, 38, -1, -1, 41, 42, 43, 44, 45, + 46, 47, -1, -1, 124, 125, -1, -1, -1, -1, + -1, -1, -1, 59, 60, -1, 62, -1, -1, 40, + -1, -1, -1, -1, -1, 257, 258, -1, -1, -1, + 262, -1, -1, -1, -1, -1, -1, 269, 59, -1, + -1, 273, 274, -1, 276, 277, 278, -1, 94, -1, + -1, -1, 284, -1, -1, -1, -1, -1, -1, 291, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 301, + 302, 303, 304, 305, 306, 307, 308, 309, 124, 125, + 40, -1, 258, -1, -1, -1, 262, -1, -1, -1, + -1, 267, -1, -1, -1, 271, 272, -1, 274, 59, + -1, -1, 123, -1, 125, -1, -1, 283, -1, -1, -1, 287, -1, -1, -1, -1, 292, 293, 294, 295, - 296, 297, 298, 299, 300, 301, -1, -1, 59, -1, - -1, -1, 308, 309, -1, -1, -1, -1, 123, -1, - 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, - -1, -1, -1, -1, 258, -1, -1, -1, 262, -1, - -1, -1, -1, -1, -1, -1, 59, 271, 272, -1, - 274, -1, -1, -1, -1, -1, -1, -1, -1, 283, - -1, -1, 123, 287, 125, -1, -1, -1, 292, 293, - 294, 295, 296, 297, 298, 299, 300, 301, -1, 40, - -1, -1, -1, -1, 308, 309, -1, 257, 258, -1, - -1, -1, 262, -1, -1, -1, -1, -1, 59, 269, - -1, -1, -1, 273, 274, -1, 276, 277, 278, -1, - 123, -1, 125, -1, 284, -1, -1, -1, -1, -1, + 296, 297, 298, 299, 300, 301, -1, -1, -1, -1, + -1, -1, 308, 309, -1, -1, 40, 257, 258, -1, + -1, -1, 262, -1, -1, -1, -1, -1, -1, 269, + -1, -1, -1, 273, 274, 59, 276, 277, 278, -1, + -1, -1, -1, 123, 284, 125, -1, -1, -1, -1, -1, 291, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 301, 302, 303, 304, 305, 306, 307, -1, -1, - -1, -1, -1, 258, 60, -1, -1, 262, -1, -1, - -1, -1, -1, -1, -1, -1, 271, 272, -1, 274, - -1, -1, 123, -1, 125, -1, -1, -1, 283, -1, - -1, -1, 287, -1, -1, -1, -1, 292, 293, 294, - 295, 296, 297, 298, 299, 300, 301, -1, -1, 60, - -1, -1, -1, 308, 309, -1, -1, 258, -1, -1, - -1, 262, -1, -1, -1, -1, -1, -1, -1, 125, - 271, 272, -1, 274, -1, -1, -1, -1, -1, -1, - -1, -1, 283, -1, 60, -1, 287, -1, -1, -1, + 40, 301, 302, 303, 304, 305, 306, 307, 308, 309, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 59, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 257, 258, -1, -1, -1, 262, -1, -1, 123, + -1, 125, -1, 269, 40, -1, -1, 273, 274, -1, + 276, 277, 278, -1, -1, -1, -1, 258, 284, -1, + -1, 262, -1, 59, -1, 291, -1, -1, -1, -1, + 271, 272, -1, 274, -1, 301, 302, 303, 304, 305, + 306, 307, 283, 123, -1, 125, 287, -1, -1, -1, -1, 292, 293, 294, 295, 296, 297, 298, 299, 300, - 301, -1, -1, -1, -1, 258, -1, 308, 309, 262, - -1, -1, 60, -1, 125, -1, -1, -1, 271, 272, - -1, 274, -1, -1, -1, -1, -1, -1, -1, -1, - 283, -1, -1, -1, 287, -1, -1, -1, -1, 292, - 293, 294, 295, 296, 297, 298, 299, 300, 301, 125, - -1, -1, -1, -1, -1, 308, 309, 258, -1, -1, - -1, 262, -1, -1, -1, -1, -1, -1, -1, -1, - 271, 272, -1, 274, -1, -1, -1, 125, -1, -1, - -1, -1, 283, -1, -1, -1, 287, -1, -1, -1, - -1, 292, 293, 294, 295, 296, 297, 298, 299, 300, - 301, 257, 258, -1, -1, -1, 262, 308, 309, -1, - -1, -1, -1, 269, -1, -1, -1, -1, 274, -1, + 301, 40, -1, -1, -1, -1, -1, 308, 309, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 258, -1, + 59, -1, 262, -1, -1, -1, -1, 123, -1, 125, + -1, 271, 272, -1, 274, -1, -1, -1, -1, -1, + -1, -1, -1, 283, -1, -1, -1, 287, -1, -1, + -1, -1, 292, 293, 294, 295, 296, 297, 298, 299, + 300, 301, 44, -1, -1, -1, -1, -1, 308, 309, + -1, -1, -1, -1, 258, -1, -1, -1, 262, -1, + 62, -1, -1, -1, 123, -1, 125, 271, 272, -1, + 274, -1, -1, -1, -1, -1, -1, -1, -1, 283, + -1, -1, 44, 287, -1, -1, -1, -1, 292, 293, + 294, 295, 296, 297, 298, 299, 300, 301, 258, -1, + 62, -1, 262, -1, 308, 309, -1, -1, -1, -1, + -1, 271, 272, -1, 274, -1, -1, -1, -1, -1, + -1, -1, -1, 283, -1, -1, 60, 287, -1, -1, + -1, -1, 292, 293, 294, 295, 296, 297, 298, 299, + 300, 301, 258, -1, -1, -1, 262, -1, 308, 309, + -1, -1, -1, -1, 60, 271, 272, -1, 274, -1, + -1, -1, -1, -1, -1, -1, -1, 283, -1, -1, + -1, 287, -1, -1, -1, -1, 292, 293, 294, 295, + 296, 297, 298, 299, 300, 301, -1, -1, -1, 60, + -1, 125, 308, 309, -1, -1, -1, -1, -1, 258, + -1, -1, -1, 262, -1, -1, -1, -1, -1, -1, + -1, -1, 271, 272, -1, 274, -1, 60, -1, 125, + -1, -1, -1, -1, 283, -1, -1, -1, 287, -1, + -1, -1, -1, 292, 293, 294, 295, 296, 297, 298, + 299, 300, 301, -1, -1, 60, -1, -1, -1, 308, + 309, -1, -1, -1, 125, 257, 258, -1, -1, -1, + 262, 263, -1, -1, -1, -1, -1, 269, -1, -1, + -1, -1, 274, -1, 276, 277, 278, 279, 280, 281, + -1, -1, 284, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 257, 258, -1, -1, 301, + 262, 263, -1, -1, -1, -1, -1, 269, -1, -1, + -1, -1, 274, -1, 276, 277, 278, 279, 280, 281, + -1, -1, 284, 257, 258, -1, -1, -1, 262, -1, + -1, -1, -1, -1, -1, 269, -1, -1, -1, 301, + 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, + 284, 257, 258, -1, -1, -1, 262, 291, -1, -1, + -1, -1, -1, 269, -1, -1, -1, 301, 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, -1, - -1, -1, -1, -1, -1, 291, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 301, 257, 258, -1, -1, - -1, 262, -1, -1, -1, -1, -1, -1, 269, -1, + -1, -1, -1, -1, -1, 291, 257, 258, -1, -1, + -1, 262, -1, -1, -1, 301, -1, -1, 269, -1, -1, -1, -1, 274, -1, 276, 277, 278, -1, -1, - -1, -1, -1, 284, -1, -1, -1, -1, -1, -1, - 291, 257, 258, -1, -1, -1, 262, -1, -1, -1, - 301, -1, -1, 269, -1, -1, -1, -1, 274, -1, - 276, 277, 278, -1, -1, -1, -1, -1, 284, 257, - 258, -1, -1, -1, 262, 291, -1, -1, -1, -1, - -1, 269, -1, -1, -1, 301, 274, -1, 276, 277, - 278, -1, -1, -1, -1, -1, 284, -1, -1, -1, - -1, -1, -1, 291, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 301, + -1, -1, -1, 284, 257, 258, -1, -1, -1, 262, + 291, -1, -1, -1, -1, -1, 269, -1, -1, -1, + 301, 274, -1, 276, 277, 278, -1, -1, -1, -1, + -1, 284, 257, 258, -1, -1, -1, 262, 291, -1, + -1, -1, -1, -1, 269, -1, -1, -1, 301, 274, + -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, + -1, -1, -1, -1, -1, -1, 291, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 301, }; } class yyCheckInit { - static short[] yyCheck = new short[3868]; + static short[] yyCheck = new short[3801]; protected static void yyCheckInit () { int numyycheck; int yyCheckerun = 0; for (numyycheck = 0; numyycheck <= 1000; numyycheck++) { - if (yyCheckerun < 3868) { + if (yyCheckerun < 3801) { yyCheck[yyCheckerun] = yyCheck0.yyCheck0[numyycheck]; yyCheckerun++; } } for (numyycheck = 0; numyycheck <= 1000; numyycheck++) { - if (yyCheckerun < 3868) { + if (yyCheckerun < 3801) { yyCheck[yyCheckerun] = yyCheck1.yyCheck1[numyycheck]; yyCheckerun++; } } for (numyycheck = 0; numyycheck <= 1000; numyycheck++) { - if (yyCheckerun < 3868) { + if (yyCheckerun < 3801) { yyCheck[yyCheckerun] = yyCheck2.yyCheck2[numyycheck]; yyCheckerun++; } } for (numyycheck = 0; numyycheck <= 1000; numyycheck++) { - if (yyCheckerun < 3868) { + if (yyCheckerun < 3801) { yyCheck[yyCheckerun] = yyCheck3.yyCheck3[numyycheck]; yyCheckerun++; } diff --git a/src/mycompiler/myparser/JavaParser.jay b/src/mycompiler/myparser/JavaParser.jay index 69dc34481..0bcaee019 100755 --- a/src/mycompiler/myparser/JavaParser.jay +++ b/src/mycompiler/myparser/JavaParser.jay @@ -323,7 +323,7 @@ compilationunit : typedeclarations { $$=$1; } -/* |importdeclarations typedeclarations + |importdeclarations typedeclarations { $2.addImports($1); $$=$2; @@ -346,7 +346,7 @@ compilationunit : typedeclarations this.testPair.add(new Pair($1,$2)); $$=$3; } - */ + packagedeclaration : PACKAGE name ';' ; { // SCJU: Package diff --git a/src/mycompiler/mystatement/InstVar.java b/src/mycompiler/mystatement/InstVar.java index 17c132367..45a2ba42b 100755 --- a/src/mycompiler/mystatement/InstVar.java +++ b/src/mycompiler/mystatement/InstVar.java @@ -36,10 +36,16 @@ import org.apache.log4j.Logger; + + + import typinferenz.ConstraintsSet; import typinferenz.FreshTypeVariable; import typinferenz.JavaCodeResult; +import typinferenz.OderConstraint; import typinferenz.ResultSet; +import typinferenz.UndConstraint; +import typinferenz.assumptions.FieldAssumption; import typinferenz.assumptions.TypeAssumptions; @@ -103,19 +109,25 @@ public class InstVar extends Expr super(offset,variableLength); Iterator namen = ui.get_Name().iterator(); LocalOrFieldVar innerLOFV = new LocalOrFieldVar((String)namen.next(),getOffset()); - innerLOFV.setType(TypePlaceholder.fresh(this)); + //innerLOFV.setType(TypePlaceholder.fresh(this)); InstVar INSTVA = new InstVar(innerLOFV, (String)namen.next(),offset); - INSTVA.setType(TypePlaceholder.fresh(this)); + //INSTVA.setType(TypePlaceholder.fresh(this)); while(namen.hasNext()) { INSTVA = new InstVar(INSTVA, (String)namen.next(),offset); - INSTVA.setType(TypePlaceholder.fresh(this)); + //INSTVA.setType(TypePlaceholder.fresh(this)); } expr = INSTVA.expr; usedid = INSTVA.usedid; } // ino.end - // ino.method.sc_check.25417.definition + @Override + public void parserPostProcessing(SyntaxTreeNode parent) { + super.parserPostProcessing(parent); + if(this.getType()==null)this.set_Type(TypePlaceholder.fresh(this)); + } + + // ino.method.sc_check.25417.definition public void sc_check(Vector classname, Hashtable ch, Hashtable bh, boolean ext, Hashtable parach, Hashtable parabh) // ino.end // ino.method.sc_check.25417.body @@ -152,7 +164,7 @@ public class InstVar extends Expr // ino.end // ino.method.get_Name.25420.body { - return null; + return this.usedid.get_Name_1Element(); } // ino.end @@ -267,14 +279,27 @@ public class InstVar extends Expr @Override public ConstraintsSet TYPEExpr(TypeAssumptions assumptions) { ConstraintsSet ret = new ConstraintsSet(); + if(this.expr == null){ + this.expr = new This(0, 0); + } ret.add(expr.TYPEExpr(assumptions)); this.setType(TypePlaceholder.fresh(this)); - return null; + OderConstraint oderConstraint = new OderConstraint(); + for(FieldAssumption fa : assumptions.getFieldVars(this.get_Name())){ + UndConstraint undConstraint = new UndConstraint(); + undConstraint.addConstraint(fa.getAssumedType(),this.getType()); + undConstraint.addConstraint(this.expr.getType(),fa.getParentClass().getType()); + oderConstraint.addConstraint(undConstraint); + } + ret.add(oderConstraint); + return ret; } @Override public JavaCodeResult printJavaCode(ResultSet resultSet) { - return new JavaCodeResult().attach(this.expr.printJavaCode(resultSet)).attach("."+this.usedid.get_Name_1Element()); + JavaCodeResult ret = new JavaCodeResult(); + if(this.expr != null)ret.attach(this.expr.printJavaCode(resultSet)).attach("."); + return ret.attach(this.usedid.get_Name_1Element()); } @Override diff --git a/src/mycompiler/mytype/GenericTypeVar.java b/src/mycompiler/mytype/GenericTypeVar.java index ffc23b41a..16f447a89 100755 --- a/src/mycompiler/mytype/GenericTypeVar.java +++ b/src/mycompiler/mytype/GenericTypeVar.java @@ -33,6 +33,7 @@ public class GenericTypeVar extends Type // ino.method.GenericTypeVar.26509.defdescription type=line // private Hashtable> m_TypeErasureList; // ino.end + private TypePlaceholder tph; /** * @@ -134,6 +135,11 @@ public class GenericTypeVar extends Type return new JavaCodeResult(this.name); } + public TypePlaceholder getTypePlaceHolder() { + if(this.tph == null)this.tph = TypePlaceholder.fresh(); + return this.tph; + } + } // ino.end diff --git a/src/mycompiler/mytype/RefType.java b/src/mycompiler/mytype/RefType.java index bfe772bba..6feb5fc02 100755 --- a/src/mycompiler/mytype/RefType.java +++ b/src/mycompiler/mytype/RefType.java @@ -87,7 +87,7 @@ public class RefType extends Type implements IMatchable { super(offset); this.setName(fullyQualifiedName); - if(parameter != null && parameter.size()>0)this.parameter = parameter; + if(parameter != null && parameter.size()>0)this.set_ParaList(parameter); } // ino.end @@ -99,7 +99,7 @@ public class RefType extends Type implements IMatchable super(offset); // otth: Copy-Konstruktor this.setName(R.getTypeName()); - this.parameter = R.get_ParaList(); + this.set_ParaList(R.get_ParaList()); } // ino.end @@ -195,7 +195,20 @@ public class RefType extends Type implements IMatchable //*/ } // ino.end - + + /** + * Wandelt die Parameter des RefTypes in TPHs um, sofern es sich um Generische Variablen handelt. + * @return + */ + public void GTV2TPH(){ + Vector paralist = new Vector(); + if(this.get_ParaList()!=null)for(Type t : this.get_ParaList()){ + if(t instanceof GenericTypeVar)paralist.add(((GenericTypeVar)t).getTypePlaceHolder()); + else paralist.add(t); + } + this.set_ParaList(paralist); + } + // ino.method.setName.26655.definition public void setName( String name ) // ino.end @@ -241,14 +254,25 @@ public class RefType extends Type implements IMatchable } // ino.end + /** + * Fügt eine Parameterliste an und tauscht zuvor alle GenerictTypeVars durch TPH aus. + * In einem RefType dürfen keine GTVs enthalten sein. + * @param v + */ // ino.method.set_ParaList.26661.definition public void set_ParaList(Vector v) // ino.end // ino.method.set_ParaList.26661.body { - this.parameter = v; - parserlog.debug("T->Type.java->set_ParaList->parameter: " + parameter); - parserlog.debug("T->Type.java->get_Type: " + getName()); + /* + Vector paralist = new Vector(); + if(v!=null)for(Type t : v){ + if(t instanceof GenericTypeVar)paralist.add(((GenericTypeVar)t).getTypePlaceHolder()); + else paralist.add(t); + }*/ + this.parameter = v;//paralist; + parserlog.debug("T->Type.java->set_ParaList->parameter: " + parameter); + parserlog.debug("T->Type.java->get_Type: " + getName()); } // ino.end diff --git a/src/typinferenz/FunNInterface.java b/src/typinferenz/FunNInterface.java index 1f79f87a3..aaf24c60f 100644 --- a/src/typinferenz/FunNInterface.java +++ b/src/typinferenz/FunNInterface.java @@ -24,8 +24,10 @@ public class FunNInterface extends Class{ super("Fun"+N); Vector paralist = new Vector(); paralist.add(new GenericTypeVar("R",0)); + //paralist.add(TypePlaceholder.fresh()); for(int i = 1; i<=N;i++){ paralist.add(new GenericTypeVar("T"+i,0)); + //paralist.add(TypePlaceholder.fresh()); } this.set_ParaList(paralist); } diff --git a/src/typinferenz/SingleConstraint.java b/src/typinferenz/SingleConstraint.java index c365e0aff..7546e0919 100755 --- a/src/typinferenz/SingleConstraint.java +++ b/src/typinferenz/SingleConstraint.java @@ -3,6 +3,7 @@ package typinferenz; import java.util.Vector; import typinferenz.exceptions.TypinferenzException; +import mycompiler.mytype.GenericTypeVar; import mycompiler.mytype.Pair; import mycompiler.mytype.RefType; import mycompiler.mytype.Type; @@ -47,10 +48,20 @@ public class SingleConstraint extends UndConstraint{ Type p1 = toAdd.TA1; Type p2 = toAdd.TA2; if(p1==null || p2 == null)throw new NullPointerException(); + + + //Hier werden die GTVs zu TPH gewandelt. + if(p1 instanceof RefType)((RefType)p1).GTV2TPH(); + if(p2 instanceof RefType)((RefType)p2).GTV2TPH(); + + if((p1 instanceof GenericTypeVar)) + p1 = ((GenericTypeVar)p1).getTypePlaceHolder(); + if((p2 instanceof GenericTypeVar)) + p2 = ((GenericTypeVar)p2).getTypePlaceHolder(); // BaseTypes werden in RefTypes umgewandelt. Constraints dürfen nur RefTypes oder TypePlaceholder enthalten, da sonst der Unify-Algorithmus nicht funktioniert. - if(!(p1 instanceof RefType) && !(p1 instanceof TypePlaceholder))p1 = new RefType(p1); - if(!(p2 instanceof RefType) && !(p2 instanceof TypePlaceholder))p2 = new RefType(p2); + if(!(p1 instanceof RefType) && !(p1 instanceof TypePlaceholder) && !(p1 instanceof GenericTypeVar))p1 = new RefType(p1); + if(!(p2 instanceof RefType) && !(p2 instanceof TypePlaceholder) && !(p2 instanceof GenericTypeVar))p2 = new RefType(p2); //if(!(TypePlaceholder.class.isInstance(p1)) || !(RefType.class.isInstance(p1)) || !(TypePlaceholder.class.isInstance(p2)) || !(RefType.class.isInstance(p2))) //{//Wenn die beiden übergebenen Typen weder RefTypes noch TypePlaceholder sind: diff --git a/src/typinferenz/assumptions/MethodAssumption.java b/src/typinferenz/assumptions/MethodAssumption.java index 2097b538b..5d258564e 100644 --- a/src/typinferenz/assumptions/MethodAssumption.java +++ b/src/typinferenz/assumptions/MethodAssumption.java @@ -31,7 +31,8 @@ public class MethodAssumption extends FieldAssumption { * @return */ public Type getParameterType(int i) { - return this.method.getParameterList().getParameterAt(i).getType(); + Type ret = this.method.getParameterList().getParameterAt(i).getType(); + return ret; } public Type getParentClassType() { diff --git a/src/typinferenz/assumptions/TypeAssumptions.java b/src/typinferenz/assumptions/TypeAssumptions.java index 0d8387116..dfe676045 100755 --- a/src/typinferenz/assumptions/TypeAssumptions.java +++ b/src/typinferenz/assumptions/TypeAssumptions.java @@ -93,15 +93,19 @@ public class TypeAssumptions { * @param withName * @return */ - @Deprecated - public Vector getFieldVars2(String withName){ - //TODO: Implementieren - return new Vector(); + public Vector getFieldVars(String withName){ + Vector ret = new Vector(); + for(FieldAssumption fa : this.fieldAssumptions){ + if(fa.getIdentifier().equals(withName))ret.add(fa); + } + return ret; } - @Deprecated - public Type getTypeOfFieldVar2(String withName, Class inClass){ - //TODO: Implementieren - return null; + + public Type getTypeOfFieldVar(String withName, Class inClass){ + for(FieldAssumption fa : this.getFieldVars(withName)){ + if(fa.getParentClass().equals(inClass))return fa.getAssumedType(); + } + throw new TypinferenzException("Das Feld "+withName+" ist in der Klasse "+inClass.getName()+" nicht vorhanden."); } /** diff --git a/test/parser/GeneralParserTest.java b/test/parser/GeneralParserTest.java index 4a9d245b4..2124eb227 100644 --- a/test/parser/GeneralParserTest.java +++ b/test/parser/GeneralParserTest.java @@ -29,6 +29,7 @@ public class GeneralParserTest{ public void run(){ Vector filenames = new Vector(); filenames.add("FieldInitializationTest.jav"); + filenames.add("ImportTest.jav"); MyCompilerAPI compiler = MyCompiler.getAPI(); try{ for(String filename : filenames) diff --git a/test/parser/ImportTest.jav b/test/parser/ImportTest.jav new file mode 100644 index 000000000..2de55cee8 --- /dev/null +++ b/test/parser/ImportTest.jav @@ -0,0 +1,4 @@ +import java.util.*; + +class ImportTest{ +} \ No newline at end of file diff --git a/test/plugindevelopment/TypeInsertTests/GenericTypeVarTest.jav b/test/plugindevelopment/TypeInsertTests/GenericTypeVarTest.jav new file mode 100644 index 000000000..6c08eff52 --- /dev/null +++ b/test/plugindevelopment/TypeInsertTests/GenericTypeVarTest.jav @@ -0,0 +1,11 @@ +class GTVTest{ +GTVTest2 var; + +methode(){ + return var.var2; +} +} + +class GTVTest2{ + GTV2 var2; +} \ No newline at end of file diff --git a/test/plugindevelopment/TypeInsertTests/GenericTypeVarTest.java b/test/plugindevelopment/TypeInsertTests/GenericTypeVarTest.java new file mode 100644 index 000000000..a42cf7add --- /dev/null +++ b/test/plugindevelopment/TypeInsertTests/GenericTypeVarTest.java @@ -0,0 +1,18 @@ +package plugindevelopment.TypeInsertTests; + +import java.util.Vector; + +import org.junit.Test; + +public class GenericTypeVarTest { + + private static final String TEST_FILE = "GenericTypeVarTest.jav"; + + @Test + public void run(){ + Vector mustContain = new Vector(); + mustContain.add("String methode"); + MultipleTypesInsertTester.test(this.TEST_FILE, mustContain); + } + +} diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest1.java b/test/plugindevelopment/TypeInsertTests/LambdaTest1.java index 50dc1cc10..d37cca997 100644 --- a/test/plugindevelopment/TypeInsertTests/LambdaTest1.java +++ b/test/plugindevelopment/TypeInsertTests/LambdaTest1.java @@ -11,7 +11,7 @@ public class LambdaTest1 { @Test public void run(){ Vector mustContain = new Vector(); - mustContain.add("Fun0>> op"); + mustContain.add("Fun0>> op"); MultipleTypesInsertTester.test(this.TEST_FILE, mustContain); } diff --git a/tools/y.output b/tools/y.output index c58f6feff..33b603905 100644 --- a/tools/y.output +++ b/tools/y.output @@ -1,3436 +1,4601 @@ 0 $accept : compilationunit $end 1 compilationunit : typedeclarations + 2 | importdeclarations typedeclarations + 3 | packagedeclaration importdeclarations typedeclarations + 4 | packagedeclaration typedeclarations + 5 | type type compilationunit - 2 packagedeclaration : PACKAGE name ';' + 6 packagedeclaration : PACKAGE name ';' - 3 importdeclarations : importdeclaration - 4 | importdeclarations importdeclaration + 7 importdeclarations : importdeclaration + 8 | importdeclarations importdeclaration - 5 importdeclaration : IMPORT importqualifiedname ';' + 9 importdeclaration : IMPORT importqualifiedname ';' - 6 typedeclarations : typedeclaration - 7 | typedeclarations typedeclaration + 10 typedeclarations : typedeclaration + 11 | typedeclarations typedeclaration - 8 name : qualifiedname - 9 | simplename + 12 name : qualifiedname + 13 | simplename - 10 typedeclaration : classdeclaration - 11 | interfacedeclaration + 14 typedeclaration : classdeclaration + 15 | interfacedeclaration - 12 qualifiedname : name '.' IDENTIFIER + 16 qualifiedname : name '.' IDENTIFIER - 13 importqualifiedname : name '.' IDENTIFIER - 14 | name '.' '*' + 17 importqualifiedname : name '.' IDENTIFIER + 18 | name '.' '*' - 15 simplename : IDENTIFIER + 19 simplename : IDENTIFIER - 16 classdeclaration : CLASS classidentifier classbody - 17 | modifiers CLASS classidentifier classbody - 18 | CLASS classidentifier super classbody - 19 | modifiers CLASS classidentifier super classbody - 20 | CLASS classidentifier interfaces classbody - 21 | modifiers CLASS classidentifier interfaces classbody - 22 | CLASS classidentifier super interfaces classbody - 23 | modifiers CLASS classidentifier super interfaces classbody + 20 classdeclaration : CLASS classidentifier classbody + 21 | modifiers CLASS classidentifier classbody + 22 | CLASS classidentifier super classbody + 23 | modifiers CLASS classidentifier super classbody + 24 | CLASS classidentifier interfaces classbody + 25 | modifiers CLASS classidentifier interfaces classbody + 26 | CLASS classidentifier super interfaces classbody + 27 | modifiers CLASS classidentifier super interfaces classbody - 24 interfaceidentifier : IDENTIFIER - 25 | IDENTIFIER '<' boundedClassParameters '>' + 28 interfaceidentifier : IDENTIFIER + 29 | IDENTIFIER '<' boundedClassParameters '>' - 26 classidentifier : IDENTIFIER - 27 | IDENTIFIER '<' boundedClassParameters '>' + 30 classidentifier : IDENTIFIER + 31 | IDENTIFIER '<' boundedClassParameters '>' - 28 interfacedeclaration : INTERFACE interfaceidentifier interfacebody - 29 | modifiers INTERFACE interfaceidentifier interfacebody - 30 | INTERFACE interfaceidentifier extendsinterfaces interfacebody - 31 | modifiers INTERFACE interfaceidentifier extendsinterfaces interfacebody + 32 interfacedeclaration : INTERFACE interfaceidentifier interfacebody + 33 | modifiers INTERFACE interfaceidentifier interfacebody + 34 | INTERFACE interfaceidentifier extendsinterfaces interfacebody + 35 | modifiers INTERFACE interfaceidentifier extendsinterfaces interfacebody - 32 paralist : IDENTIFIER - 33 | IDENTIFIER '<' paralist '>' - 34 | wildcardparameter - 35 | paralist ',' IDENTIFIER - 36 | paralist ',' IDENTIFIER '<' paralist '>' - 37 | paralist ',' wildcardparameter + 36 paralist : IDENTIFIER + 37 | IDENTIFIER '<' paralist '>' + 38 | wildcardparameter + 39 | paralist ',' IDENTIFIER + 40 | paralist ',' IDENTIFIER '<' paralist '>' + 41 | paralist ',' wildcardparameter - 38 wildcardparameter : '?' - 39 | '?' EXTENDS referencetype - 40 | '?' SUPER referencetype + 42 wildcardparameter : '?' + 43 | '?' EXTENDS referencetype + 44 | '?' SUPER referencetype - 41 classbody : '{' '}' - 42 | '{' classbodydeclarations '}' + 45 classbody : '{' '}' + 46 | '{' classbodydeclarations '}' - 43 modifiers : modifier - 44 | modifiers modifier + 47 modifiers : modifier + 48 | modifiers modifier - 45 super : EXTENDS classtype + 49 super : EXTENDS classtype - 46 interfaces : IMPLEMENTS interfacetype - 47 | interfaces ',' interfacetype + 50 interfaces : IMPLEMENTS interfacetype + 51 | interfaces ',' interfacetype - 48 interfacebody : '{' '}' - 49 | '{' interfacememberdeclarations '}' + 52 interfacebody : '{' '}' + 53 | '{' interfacememberdeclarations '}' - 50 extendsinterfaces : EXTENDS interfacetype - 51 | extendsinterfaces ',' interfacetype + 54 extendsinterfaces : EXTENDS interfacetype + 55 | extendsinterfaces ',' interfacetype - 52 classbodydeclarations : classbodydeclaration - 53 | classbodydeclarations classbodydeclaration + 56 classbodydeclarations : classbodydeclaration + 57 | classbodydeclarations classbodydeclaration - 54 modifier : PUBLIC - 55 | PROTECTED - 56 | PRIVATE - 57 | STATIC - 58 | ABSTRACT - 59 | FINAL + 58 modifier : PUBLIC + 59 | PROTECTED + 60 | PRIVATE + 61 | STATIC + 62 | ABSTRACT + 63 | FINAL - 60 classtype : classorinterfacetype + 64 classtype : classorinterfacetype - 61 interfacememberdeclarations : interfacememberdeclaration - 62 | interfacememberdeclarations interfacememberdeclaration + 65 interfacememberdeclarations : interfacememberdeclaration + 66 | interfacememberdeclarations interfacememberdeclaration - 63 interfacetype : classorinterfacetype + 67 interfacetype : classorinterfacetype - 64 classbodydeclaration : classmemberdeclaration - 65 | staticinitializer - 66 | constructordeclaration + 68 classbodydeclaration : classmemberdeclaration + 69 | staticinitializer + 70 | constructordeclaration - 67 classorinterfacetype : simplename parameter + 71 classorinterfacetype : simplename parameter - 68 typelist : type - 69 | typelist ',' type + 72 typelist : type + 73 | typelist ',' type - 70 parameter : - 71 | '<' typelist '>' + 74 parameter : + 75 | '<' typelist '>' - 72 interfacememberdeclaration : constantdeclaration - 73 | abstractmethoddeclaration + 76 interfacememberdeclaration : constantdeclaration + 77 | abstractmethoddeclaration - 74 classmemberdeclaration : fielddeclaration - 75 | methoddeclaration + 78 classmemberdeclaration : fielddeclaration + 79 | methoddeclaration - 76 staticinitializer : STATIC block + 80 staticinitializer : STATIC block - 77 constructordeclaration : constructordeclarator constructorbody - 78 | modifiers constructordeclarator constructorbody + 81 constructordeclaration : constructordeclarator constructorbody + 82 | modifiers constructordeclarator constructorbody - 79 constantdeclaration : modifiers type IDENTIFIER '=' expression ';' + 83 constantdeclaration : modifiers type IDENTIFIER '=' expression ';' - 80 abstractmethoddeclaration : methodheader ';' + 84 abstractmethoddeclaration : methodheader ';' - 81 fielddeclarator : type variabledeclarator '=' expression - 82 | variabledeclarator '=' expression + 85 fielddeclarator : type variabledeclarator '=' expression + 86 | variabledeclarator '=' expression - 83 fielddeclaration : fielddeclarator ';' - 84 | type fielddeclarator - 85 | variabledeclarators ';' - 86 | type variabledeclarators ';' - 87 | modifiers type variabledeclarators ';' + 87 fielddeclaration : fielddeclarator ';' + 88 | type fielddeclarator + 89 | variabledeclarators ';' + 90 | type variabledeclarators ';' + 91 | modifiers type variabledeclarators ';' - 88 methoddeclaration : methodheader methodbody + 92 methoddeclaration : methodheader methodbody - 89 block : '{' '}' - 90 | '{' blockstatements '}' + 93 block : '{' '}' + 94 | '{' blockstatements '}' - 91 constructordeclarator : simplename '(' ')' - 92 | simplename '(' formalparameterlist ')' + 95 constructordeclarator : simplename '(' ')' + 96 | simplename '(' formalparameterlist ')' - 93 constructorbody : '{' '}' - 94 | '{' explicitconstructorinvocation '}' - 95 | '{' blockstatements '}' - 96 | '{' explicitconstructorinvocation blockstatements '}' + 97 constructorbody : '{' '}' + 98 | '{' explicitconstructorinvocation '}' + 99 | '{' blockstatements '}' + 100 | '{' explicitconstructorinvocation blockstatements '}' - 97 throws : THROWS classtypelist + 101 throws : THROWS classtypelist - 98 boundedClassParameter : boundedMethodParameter + 102 boundedClassParameter : boundedMethodParameter - 99 boundedClassParameters : boundedClassParameter - 100 | boundedClassParameters ',' boundedClassParameter + 103 boundedClassParameters : boundedClassParameter + 104 | boundedClassParameters ',' boundedClassParameter - 101 boundedMethodParameter : IDENTIFIER - 102 | IDENTIFIER EXTENDS boundedclassidentifierlist + 105 boundedMethodParameter : IDENTIFIER + 106 | IDENTIFIER EXTENDS boundedclassidentifierlist - 103 boundedclassidentifierlist : referencetype - 104 | boundedclassidentifierlist '&' referencetype + 107 boundedclassidentifierlist : referencetype + 108 | boundedclassidentifierlist '&' referencetype - 105 boundedMethodParameters : boundedMethodParameter - 106 | boundedMethodParameters ',' boundedMethodParameter + 109 boundedMethodParameters : boundedMethodParameter + 110 | boundedMethodParameters ',' boundedMethodParameter - 107 methodheader : '<' boundedMethodParameters '>' type methoddeclarator - 108 | type methoddeclarator - 109 | modifiers type methoddeclarator - 110 | modifiers '<' boundedMethodParameters '>' type methoddeclarator - 111 | type methoddeclarator throws - 112 | '<' boundedMethodParameters '>' type methoddeclarator throws - 113 | modifiers type methoddeclarator throws - 114 | modifiers '<' boundedMethodParameters '>' type methoddeclarator throws - 115 | VOID methoddeclarator - 116 | modifiers VOID methoddeclarator - 117 | VOID methoddeclarator throws - 118 | modifiers VOID methoddeclarator throws - 119 | '<' boundedMethodParameters '>' VOID methoddeclarator - 120 | modifiers '<' boundedMethodParameters '>' VOID methoddeclarator - 121 | '<' boundedMethodParameters '>' VOID methoddeclarator throws - 122 | modifiers '<' boundedMethodParameters '>' VOID methoddeclarator throws - 123 | methoddeclarator - 124 | '<' boundedMethodParameters '>' methoddeclarator - 125 | modifiers methoddeclarator - 126 | methoddeclarator throws - 127 | modifiers methoddeclarator throws + 111 methodheader : '<' boundedMethodParameters '>' type methoddeclarator + 112 | type methoddeclarator + 113 | modifiers type methoddeclarator + 114 | modifiers '<' boundedMethodParameters '>' type methoddeclarator + 115 | type methoddeclarator throws + 116 | '<' boundedMethodParameters '>' type methoddeclarator throws + 117 | modifiers type methoddeclarator throws + 118 | modifiers '<' boundedMethodParameters '>' type methoddeclarator throws + 119 | VOID methoddeclarator + 120 | modifiers VOID methoddeclarator + 121 | VOID methoddeclarator throws + 122 | modifiers VOID methoddeclarator throws + 123 | '<' boundedMethodParameters '>' VOID methoddeclarator + 124 | modifiers '<' boundedMethodParameters '>' VOID methoddeclarator + 125 | '<' boundedMethodParameters '>' VOID methoddeclarator throws + 126 | modifiers '<' boundedMethodParameters '>' VOID methoddeclarator throws + 127 | methoddeclarator + 128 | '<' boundedMethodParameters '>' methoddeclarator + 129 | modifiers methoddeclarator + 130 | methoddeclarator throws + 131 | modifiers methoddeclarator throws - 128 type : primitivetype - 129 | primitivetype '[' ']' - 130 | referencetype - 131 | referencetype '[' ']' + 132 type : primitivetype + 133 | primitivetype '[' ']' + 134 | referencetype + 135 | referencetype '[' ']' - 132 variabledeclarators : variabledeclarator - 133 | variabledeclarators ',' variabledeclarator + 136 variabledeclarators : variabledeclarator + 137 | variabledeclarators ',' variabledeclarator - 134 methodbody : block + 138 methodbody : block - 135 blockstatements : blockstatement - 136 | blockstatements blockstatement + 139 blockstatements : blockstatement + 140 | blockstatements blockstatement - 137 formalparameterlist : formalparameter - 138 | formalparameterlist ',' formalparameter + 141 formalparameterlist : formalparameter + 142 | formalparameterlist ',' formalparameter - 139 explicitconstructorinvocation : THIS '(' ')' ';' - 140 | THIS '(' argumentlist ')' ';' + 143 explicitconstructorinvocation : THIS '(' ')' ';' + 144 | THIS '(' argumentlist ')' ';' - 141 classtypelist : classtype - 142 | classtypelist ',' classtype + 145 classtypelist : classtype + 146 | classtypelist ',' classtype - 143 methoddeclarator : IDENTIFIER '(' ')' - 144 | IDENTIFIER '(' formalparameterlist ')' + 147 methoddeclarator : IDENTIFIER '(' ')' + 148 | IDENTIFIER '(' formalparameterlist ')' - 145 primitivetype : BOOLEAN - 146 | numerictype + 149 primitivetype : BOOLEAN + 150 | numerictype - 147 referencetype : classorinterfacetype + 151 referencetype : classorinterfacetype - 148 variabledeclarator : variabledeclaratorid + 152 variabledeclarator : variabledeclaratorid - 149 blockstatement : localvariabledeclarationstatement - 150 | statement + 153 blockstatement : localvariabledeclarationstatement + 154 | statement - 151 formalparameter : type variabledeclaratorid - 152 | variabledeclaratorid + 155 formalparameter : type variabledeclaratorid + 156 | variabledeclaratorid - 153 argumentlist : expression - 154 | argumentlist ',' expression + 157 argumentlist : expression + 158 | argumentlist ',' expression - 155 numerictype : integraltype + 159 numerictype : integraltype - 156 variabledeclaratorid : IDENTIFIER + 160 variabledeclaratorid : IDENTIFIER - 157 variableinitializer : expression + 161 variableinitializer : expression - 158 localvariabledeclarationstatement : localvariabledeclaration ';' + 162 localvariabledeclarationstatement : localvariabledeclaration ';' - 159 statement : statementwithouttrailingsubstatement - 160 | ifthenstatement - 161 | ifthenelsestatement - 162 | whilestatement - 163 | forstatement + 163 statement : statementwithouttrailingsubstatement + 164 | ifthenstatement + 165 | ifthenelsestatement + 166 | whilestatement + 167 | forstatement - 164 expression : assignmentexpression - 165 | classinstancecreationexpression + 168 expression : assignmentexpression + 169 | classinstancecreationexpression - 166 integraltype : INT - 167 | CHAR + 170 integraltype : INT + 171 | CHAR - 168 localvariabledeclaration : type variabledeclarators - 169 | variabledeclarators + 172 localvariabledeclaration : type variabledeclarators + 173 | variabledeclarators - 170 statementwithouttrailingsubstatement : block - 171 | emptystatement - 172 | expressionstatement - 173 | returnstatement + 174 statementwithouttrailingsubstatement : block + 175 | emptystatement + 176 | expressionstatement + 177 | returnstatement - 174 ifthenstatement : IF '(' expression ')' statement + 178 ifthenstatement : IF '(' expression ')' statement - 175 ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE statement + 179 ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE statement - 176 whilestatement : WHILE '(' expression ')' statement + 180 whilestatement : WHILE '(' expression ')' statement - 177 forstatement : FOR '(' expression ';' expression ';' expression ')' statement - 178 | FOR '(' expression ';' expression ';' ')' statement - 179 | FOR '(' expression ';' ';' expression ')' statement - 180 | FOR '(' ';' expression ';' expression ')' statement - 181 | FOR '(' expression ';' ';' ')' statement - 182 | FOR '(' ';' expression ';' ')' statement - 183 | FOR '(' ';' ';' expression ')' statement - 184 | FOR '(' ';' ';' ')' statement + 181 forstatement : FOR '(' expression ';' expression ';' expression ')' statement + 182 | FOR '(' expression ';' expression ';' ')' statement + 183 | FOR '(' expression ';' ';' expression ')' statement + 184 | FOR '(' ';' expression ';' expression ')' statement + 185 | FOR '(' expression ';' ';' ')' statement + 186 | FOR '(' ';' expression ';' ')' statement + 187 | FOR '(' ';' ';' expression ')' statement + 188 | FOR '(' ';' ';' ')' statement - 185 assignmentexpression : conditionalexpression - 186 | assignment + 189 assignmentexpression : conditionalexpression + 190 | assignment - 187 emptystatement : ';' + 191 emptystatement : ';' - 188 expressionstatement : statementexpression ';' + 192 expressionstatement : statementexpression ';' - 189 returnstatement : RETURN ';' - 190 | RETURN expression ';' + 193 returnstatement : RETURN ';' + 194 | RETURN expression ';' - 191 statementnoshortif : statementwithouttrailingsubstatement - 192 | ifthenelsestatementnoshortif - 193 | whilestatementnoshortif + 195 statementnoshortif : statementwithouttrailingsubstatement + 196 | ifthenelsestatementnoshortif + 197 | whilestatementnoshortif - 194 conditionalexpression : conditionalorexpression + 198 conditionalexpression : conditionalorexpression - 195 assignment : lefthandside assignmentoperator assignmentexpression - 196 | lefthandside assignmentoperator classinstancecreationexpression + 199 assignment : lefthandside assignmentoperator assignmentexpression + 200 | lefthandside assignmentoperator classinstancecreationexpression - 197 statementexpression : assignment - 198 | preincrementexpression - 199 | predecrementexpression - 200 | postincrementexpression - 201 | postdecrementexpression - 202 | methodinvocation + 201 statementexpression : assignment + 202 | preincrementexpression + 203 | predecrementexpression + 204 | postincrementexpression + 205 | postdecrementexpression + 206 | methodinvocation - 203 ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif ELSE statementnoshortif + 207 ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif ELSE statementnoshortif - 204 whilestatementnoshortif : WHILE '(' expression ')' statementnoshortif + 208 whilestatementnoshortif : WHILE '(' expression ')' statementnoshortif - 205 conditionalorexpression : conditionalandexpression - 206 | conditionalorexpression LOGICALOR conditionalandexpression + 209 conditionalorexpression : conditionalandexpression + 210 | conditionalorexpression LOGICALOR conditionalandexpression - 207 lambdaassignmentoperator : LAMBDAASSIGNMENT + 211 lambdaassignmentoperator : LAMBDAASSIGNMENT - 208 lambdabody : block - 209 | expression + 212 lambdabody : block + 213 | expression - 210 lambdaexpressionparameter : '(' ')' - 211 | '(' formalparameterlist ')' + 214 lambdaexpressionparameter : '(' ')' + 215 | '(' formalparameterlist ')' - 212 lambdaexpression : lambdaexpressionparameter lambdaassignmentoperator lambdabody + 216 lambdaexpression : lambdaexpressionparameter lambdaassignmentoperator lambdabody - 213 lefthandside : name + 217 lefthandside : name - 214 assignmentoperator : '=' - 215 | TIMESEQUAL - 216 | DIVIDEEQUAL - 217 | MODULOEQUAL - 218 | PLUSEQUAL - 219 | MINUSEQUAL + 218 assignmentoperator : '=' + 219 | TIMESEQUAL + 220 | DIVIDEEQUAL + 221 | MODULOEQUAL + 222 | PLUSEQUAL + 223 | MINUSEQUAL - 220 preincrementexpression : INCREMENT unaryexpression + 224 preincrementexpression : INCREMENT unaryexpression - 221 predecrementexpression : DECREMENT unaryexpression + 225 predecrementexpression : DECREMENT unaryexpression - 222 postincrementexpression : postfixexpression INCREMENT + 226 postincrementexpression : postfixexpression INCREMENT - 223 postdecrementexpression : postfixexpression DECREMENT + 227 postdecrementexpression : postfixexpression DECREMENT - 224 methodinvocation : name '(' ')' - 225 | name '(' argumentlist ')' - 226 | primary '.' IDENTIFIER '(' ')' - 227 | primary '.' IDENTIFIER '(' argumentlist ')' + 228 methodinvocation : name '(' ')' + 229 | name '(' argumentlist ')' + 230 | primary '.' IDENTIFIER '(' ')' + 231 | primary '.' IDENTIFIER '(' argumentlist ')' - 228 classinstancecreationexpression : NEW classtype '(' ')' - 229 | NEW classtype '(' argumentlist ')' + 232 classinstancecreationexpression : NEW classtype '(' ')' + 233 | NEW classtype '(' argumentlist ')' - 230 conditionalandexpression : inclusiveorexpression - 231 | conditionalandexpression LOGICALAND inclusiveorexpression + 234 conditionalandexpression : inclusiveorexpression + 235 | conditionalandexpression LOGICALAND inclusiveorexpression - 232 unaryexpression : preincrementexpression - 233 | predecrementexpression - 234 | '+' unaryexpression - 235 | '-' unaryexpression - 236 | unaryexpressionnotplusminus + 236 unaryexpression : preincrementexpression + 237 | predecrementexpression + 238 | '+' unaryexpression + 239 | '-' unaryexpression + 240 | unaryexpressionnotplusminus - 237 postfixexpression : primary - 238 | name - 239 | postincrementexpression - 240 | postdecrementexpression + 241 postfixexpression : primary + 242 | name + 243 | postincrementexpression + 244 | postdecrementexpression - 241 primary : primarynonewarray + 245 primary : primarynonewarray - 242 inclusiveorexpression : exclusiveorexpression - 243 | inclusiveorexpression '|' exclusiveorexpression + 246 inclusiveorexpression : exclusiveorexpression + 247 | inclusiveorexpression '|' exclusiveorexpression - 244 primarynonewarray : literal - 245 | THIS - 246 | methodinvocation - 247 | lambdaexpression + 248 primarynonewarray : literal + 249 | THIS + 250 | methodinvocation + 251 | lambdaexpression - 248 unaryexpressionnotplusminus : postfixexpression - 249 | '!' unaryexpression - 250 | castexpression + 252 unaryexpressionnotplusminus : postfixexpression + 253 | '!' unaryexpression + 254 | castexpression - 251 exclusiveorexpression : andexpression - 252 | exclusiveorexpression '^' andexpression + 255 exclusiveorexpression : andexpression + 256 | exclusiveorexpression '^' andexpression - 253 literal : INTLITERAL - 254 | BOOLLITERAL - 255 | CHARLITERAL - 256 | STRINGLITERAL - 257 | LONGLITERAL - 258 | FLOATLITERAL - 259 | DOUBLELITERAL - 260 | JNULL + 257 literal : INTLITERAL + 258 | BOOLLITERAL + 259 | CHARLITERAL + 260 | STRINGLITERAL + 261 | LONGLITERAL + 262 | FLOATLITERAL + 263 | DOUBLELITERAL + 264 | JNULL - 261 castexpression : '(' primitivetype ')' unaryexpression + 265 castexpression : '(' primitivetype ')' unaryexpression - 262 andexpression : equalityexpression - 263 | andexpression '&' equalityexpression + 266 andexpression : equalityexpression + 267 | andexpression '&' equalityexpression - 264 equalityexpression : relationalexpression - 265 | equalityexpression EQUAL relationalexpression - 266 | equalityexpression NOTEQUAL relationalexpression + 268 equalityexpression : relationalexpression + 269 | equalityexpression EQUAL relationalexpression + 270 | equalityexpression NOTEQUAL relationalexpression - 267 relationalexpression : shiftexpression - 268 | relationalexpression '<' shiftexpression - 269 | relationalexpression '>' shiftexpression - 270 | relationalexpression LESSEQUAL shiftexpression - 271 | relationalexpression GREATEREQUAL shiftexpression - 272 | relationalexpression INSTANCEOF referencetype + 271 relationalexpression : shiftexpression + 272 | relationalexpression '<' shiftexpression + 273 | relationalexpression '>' shiftexpression + 274 | relationalexpression LESSEQUAL shiftexpression + 275 | relationalexpression GREATEREQUAL shiftexpression + 276 | relationalexpression INSTANCEOF referencetype - 273 shiftexpression : additiveexpression + 277 shiftexpression : additiveexpression - 274 additiveexpression : multiplicativeexpression - 275 | additiveexpression '+' multiplicativeexpression - 276 | additiveexpression '-' multiplicativeexpression + 278 additiveexpression : multiplicativeexpression + 279 | additiveexpression '+' multiplicativeexpression + 280 | additiveexpression '-' multiplicativeexpression - 277 multiplicativeexpression : unaryexpression - 278 | multiplicativeexpression '*' unaryexpression - 279 | multiplicativeexpression '/' unaryexpression - 280 | multiplicativeexpression '%' unaryexpression + 281 multiplicativeexpression : unaryexpression + 282 | multiplicativeexpression '*' unaryexpression + 283 | multiplicativeexpression '/' unaryexpression + 284 | multiplicativeexpression '%' unaryexpression state 0 $accept : . compilationunit $end (0) ABSTRACT shift 1 - CLASS shift 2 - FINAL shift 3 - PRIVATE shift 4 - PROTECTED shift 5 - PUBLIC shift 6 - INTERFACE shift 7 - STATIC shift 8 + BOOLEAN shift 2 + CHAR shift 3 + CLASS shift 4 + FINAL shift 5 + INT shift 6 + PRIVATE shift 7 + PROTECTED shift 8 + PUBLIC shift 9 + PACKAGE shift 10 + IMPORT shift 11 + INTERFACE shift 12 + STATIC shift 13 + IDENTIFIER shift 14 . error - compilationunit goto 9 - classdeclaration goto 10 - interfacedeclaration goto 11 - modifiers goto 12 - modifier goto 13 - typedeclarations goto 14 - typedeclaration goto 15 + compilationunit goto 15 + classdeclaration goto 16 + interfacedeclaration goto 17 + simplename goto 18 + importdeclaration goto 19 + importdeclarations goto 20 + classorinterfacetype goto 21 + integraltype goto 22 + numerictype goto 23 + primitivetype goto 24 + referencetype goto 25 + type goto 26 + modifiers goto 27 + modifier goto 28 + typedeclarations goto 29 + packagedeclaration goto 30 + typedeclaration goto 31 state 1 - modifier : ABSTRACT . (58) + modifier : ABSTRACT . (62) - . reduce 58 + . reduce 62 state 2 - classdeclaration : CLASS . classidentifier classbody (16) - classdeclaration : CLASS . classidentifier super classbody (18) - classdeclaration : CLASS . classidentifier interfaces classbody (20) - classdeclaration : CLASS . classidentifier super interfaces classbody (22) + primitivetype : BOOLEAN . (149) - IDENTIFIER shift 16 - . error - - classidentifier goto 17 + . reduce 149 state 3 - modifier : FINAL . (59) + integraltype : CHAR . (171) + + . reduce 171 + + +state 4 + classdeclaration : CLASS . classidentifier classbody (20) + classdeclaration : CLASS . classidentifier super classbody (22) + classdeclaration : CLASS . classidentifier interfaces classbody (24) + classdeclaration : CLASS . classidentifier super interfaces classbody (26) + + IDENTIFIER shift 32 + . error + + classidentifier goto 33 + + +state 5 + modifier : FINAL . (63) + + . reduce 63 + + +state 6 + integraltype : INT . (170) + + . reduce 170 + + +state 7 + modifier : PRIVATE . (60) + + . reduce 60 + + +state 8 + modifier : PROTECTED . (59) . reduce 59 -state 4 - modifier : PRIVATE . (56) +state 9 + modifier : PUBLIC . (58) - . reduce 56 + . reduce 58 -state 5 - modifier : PROTECTED . (55) +state 10 + packagedeclaration : PACKAGE . name ';' (6) - . reduce 55 - - -state 6 - modifier : PUBLIC . (54) - - . reduce 54 - - -state 7 - interfacedeclaration : INTERFACE . interfaceidentifier interfacebody (28) - interfacedeclaration : INTERFACE . interfaceidentifier extendsinterfaces interfacebody (30) - - IDENTIFIER shift 18 + IDENTIFIER shift 14 . error - interfaceidentifier goto 19 + simplename goto 34 + qualifiedname goto 35 + name goto 36 -state 8 - modifier : STATIC . (57) +state 11 + importdeclaration : IMPORT . importqualifiedname ';' (9) - . reduce 57 + IDENTIFIER shift 14 + . error + + simplename goto 34 + qualifiedname goto 35 + importqualifiedname goto 37 + name goto 38 -state 9 +state 12 + interfacedeclaration : INTERFACE . interfaceidentifier interfacebody (32) + interfacedeclaration : INTERFACE . interfaceidentifier extendsinterfaces interfacebody (34) + + IDENTIFIER shift 39 + . error + + interfaceidentifier goto 40 + + +state 13 + modifier : STATIC . (61) + + . reduce 61 + + +state 14 + simplename : IDENTIFIER . (19) + + . reduce 19 + + +state 15 $accept : compilationunit . $end (0) $end accept -state 10 - typedeclaration : classdeclaration . (10) - - . reduce 10 - - -state 11 - typedeclaration : interfacedeclaration . (11) - - . reduce 11 - - -state 12 - classdeclaration : modifiers . CLASS classidentifier classbody (17) - classdeclaration : modifiers . CLASS classidentifier super classbody (19) - classdeclaration : modifiers . CLASS classidentifier interfaces classbody (21) - classdeclaration : modifiers . CLASS classidentifier super interfaces classbody (23) - interfacedeclaration : modifiers . INTERFACE interfaceidentifier interfacebody (29) - interfacedeclaration : modifiers . INTERFACE interfaceidentifier extendsinterfaces interfacebody (31) - modifiers : modifiers . modifier (44) - - ABSTRACT shift 1 - CLASS shift 20 - FINAL shift 3 - PRIVATE shift 4 - PROTECTED shift 5 - PUBLIC shift 6 - INTERFACE shift 21 - STATIC shift 8 - . error - - modifier goto 22 - - -state 13 - modifiers : modifier . (43) - - . reduce 43 - - -state 14 - compilationunit : typedeclarations . (1) - typedeclarations : typedeclarations . typedeclaration (7) - - ABSTRACT shift 1 - CLASS shift 2 - FINAL shift 3 - PRIVATE shift 4 - PROTECTED shift 5 - PUBLIC shift 6 - INTERFACE shift 7 - STATIC shift 8 - $end reduce 1 - - classdeclaration goto 10 - interfacedeclaration goto 11 - modifiers goto 12 - modifier goto 13 - typedeclaration goto 23 - - -state 15 - typedeclarations : typedeclaration . (6) - - . reduce 6 - - state 16 - classidentifier : IDENTIFIER . (26) - classidentifier : IDENTIFIER . '<' boundedClassParameters '>' (27) + typedeclaration : classdeclaration . (14) - '<' shift 24 - EXTENDS reduce 26 - IMPLEMENTS reduce 26 - '{' reduce 26 + . reduce 14 state 17 - classdeclaration : CLASS classidentifier . classbody (16) - classdeclaration : CLASS classidentifier . super classbody (18) - classdeclaration : CLASS classidentifier . interfaces classbody (20) - classdeclaration : CLASS classidentifier . super interfaces classbody (22) - - EXTENDS shift 25 - IMPLEMENTS shift 26 - '{' shift 27 - . error - - classbody goto 28 - super goto 29 - interfaces goto 30 - - -state 18 - interfaceidentifier : IDENTIFIER . (24) - interfaceidentifier : IDENTIFIER . '<' boundedClassParameters '>' (25) - - '<' shift 31 - EXTENDS reduce 24 - '{' reduce 24 - - -state 19 - interfacedeclaration : INTERFACE interfaceidentifier . interfacebody (28) - interfacedeclaration : INTERFACE interfaceidentifier . extendsinterfaces interfacebody (30) - - EXTENDS shift 32 - '{' shift 33 - . error - - interfacebody goto 34 - extendsinterfaces goto 35 - - -state 20 - classdeclaration : modifiers CLASS . classidentifier classbody (17) - classdeclaration : modifiers CLASS . classidentifier super classbody (19) - classdeclaration : modifiers CLASS . classidentifier interfaces classbody (21) - classdeclaration : modifiers CLASS . classidentifier super interfaces classbody (23) - - IDENTIFIER shift 16 - . error - - classidentifier goto 36 - - -state 21 - interfacedeclaration : modifiers INTERFACE . interfaceidentifier interfacebody (29) - interfacedeclaration : modifiers INTERFACE . interfaceidentifier extendsinterfaces interfacebody (31) - - IDENTIFIER shift 18 - . error - - interfaceidentifier goto 37 - - -state 22 - modifiers : modifiers modifier . (44) - - . reduce 44 - - -state 23 - typedeclarations : typedeclarations typedeclaration . (7) - - . reduce 7 - - -state 24 - classidentifier : IDENTIFIER '<' . boundedClassParameters '>' (27) - - IDENTIFIER shift 38 - . error - - boundedMethodParameter goto 39 - boundedClassParameter goto 40 - boundedClassParameters goto 41 - - -state 25 - super : EXTENDS . classtype (45) - - IDENTIFIER shift 42 - . error - - simplename goto 43 - classtype goto 44 - classorinterfacetype goto 45 - - -state 26 - interfaces : IMPLEMENTS . interfacetype (46) - - IDENTIFIER shift 42 - . error - - simplename goto 43 - classorinterfacetype goto 46 - interfacetype goto 47 - - -state 27 - classbody : '{' . '}' (41) - classbody : '{' . classbodydeclarations '}' (42) - - ABSTRACT shift 1 - BOOLEAN shift 48 - CHAR shift 49 - FINAL shift 3 - INT shift 50 - PRIVATE shift 4 - PROTECTED shift 5 - PUBLIC shift 6 - STATIC shift 51 - VOID shift 52 - IDENTIFIER shift 53 - '<' shift 54 - '}' shift 55 - . error - - fielddeclaration goto 56 - methodheader goto 57 - methoddeclaration goto 58 - methoddeclarator goto 59 - classbodydeclarations goto 60 - classbodydeclaration goto 61 - classmemberdeclaration goto 62 - variabledeclarators goto 63 - fielddeclarator goto 64 - variabledeclarator goto 65 - variabledeclaratorid goto 66 - simplename goto 67 - classorinterfacetype goto 68 - integraltype goto 69 - numerictype goto 70 - primitivetype goto 71 - referencetype goto 72 - type goto 73 - modifiers goto 74 - modifier goto 13 - constructordeclaration goto 75 - constructordeclarator goto 76 - staticinitializer goto 77 - - -state 28 - classdeclaration : CLASS classidentifier classbody . (16) - - . reduce 16 - - -state 29 - classdeclaration : CLASS classidentifier super . classbody (18) - classdeclaration : CLASS classidentifier super . interfaces classbody (22) - - IMPLEMENTS shift 26 - '{' shift 27 - . error - - classbody goto 78 - interfaces goto 79 - - -state 30 - classdeclaration : CLASS classidentifier interfaces . classbody (20) - interfaces : interfaces . ',' interfacetype (47) - - ',' shift 80 - '{' shift 27 - . error - - classbody goto 81 - - -state 31 - interfaceidentifier : IDENTIFIER '<' . boundedClassParameters '>' (25) - - IDENTIFIER shift 38 - . error - - boundedMethodParameter goto 39 - boundedClassParameter goto 40 - boundedClassParameters goto 82 - - -state 32 - extendsinterfaces : EXTENDS . interfacetype (50) - - IDENTIFIER shift 42 - . error - - simplename goto 43 - classorinterfacetype goto 46 - interfacetype goto 83 - - -state 33 - interfacebody : '{' . '}' (48) - interfacebody : '{' . interfacememberdeclarations '}' (49) - - ABSTRACT shift 1 - BOOLEAN shift 48 - CHAR shift 49 - FINAL shift 3 - INT shift 50 - PRIVATE shift 4 - PROTECTED shift 5 - PUBLIC shift 6 - STATIC shift 8 - VOID shift 52 - IDENTIFIER shift 84 - '<' shift 54 - '}' shift 85 - . error - - interfacememberdeclarations goto 86 - interfacememberdeclaration goto 87 - abstractmethoddeclaration goto 88 - constantdeclaration goto 89 - methodheader goto 90 - methoddeclarator goto 59 - simplename goto 43 - classorinterfacetype goto 68 - integraltype goto 69 - numerictype goto 70 - primitivetype goto 71 - referencetype goto 72 - type goto 91 - modifiers goto 92 - modifier goto 13 - - -state 34 - interfacedeclaration : INTERFACE interfaceidentifier interfacebody . (28) - - . reduce 28 - - -state 35 - interfacedeclaration : INTERFACE interfaceidentifier extendsinterfaces . interfacebody (30) - extendsinterfaces : extendsinterfaces . ',' interfacetype (51) - - ',' shift 93 - '{' shift 33 - . error - - interfacebody goto 94 - - -state 36 - classdeclaration : modifiers CLASS classidentifier . classbody (17) - classdeclaration : modifiers CLASS classidentifier . super classbody (19) - classdeclaration : modifiers CLASS classidentifier . interfaces classbody (21) - classdeclaration : modifiers CLASS classidentifier . super interfaces classbody (23) - - EXTENDS shift 25 - IMPLEMENTS shift 26 - '{' shift 27 - . error - - classbody goto 95 - super goto 96 - interfaces goto 97 - - -state 37 - interfacedeclaration : modifiers INTERFACE interfaceidentifier . interfacebody (29) - interfacedeclaration : modifiers INTERFACE interfaceidentifier . extendsinterfaces interfacebody (31) - - EXTENDS shift 32 - '{' shift 33 - . error - - interfacebody goto 98 - extendsinterfaces goto 99 - - -state 38 - boundedMethodParameter : IDENTIFIER . (101) - boundedMethodParameter : IDENTIFIER . EXTENDS boundedclassidentifierlist (102) - - EXTENDS shift 100 - ',' reduce 101 - '>' reduce 101 - - -state 39 - boundedClassParameter : boundedMethodParameter . (98) - - . reduce 98 - - -state 40 - boundedClassParameters : boundedClassParameter . (99) - - . reduce 99 - - -state 41 - classidentifier : IDENTIFIER '<' boundedClassParameters . '>' (27) - boundedClassParameters : boundedClassParameters . ',' boundedClassParameter (100) - - ',' shift 101 - '>' shift 102 - . error - - -state 42 - simplename : IDENTIFIER . (15) + typedeclaration : interfacedeclaration . (15) . reduce 15 -43: shift/reduce conflict (shift 103, reduce 70) on '<' -state 43 - classorinterfacetype : simplename . parameter (67) - parameter : . (70) +18: shift/reduce conflict (shift 41, reduce 74) on '<' +state 18 + classorinterfacetype : simplename . parameter (71) + parameter : . (74) - '<' shift 103 - ABSTRACT reduce 70 - BOOLEAN reduce 70 - CHAR reduce 70 - FINAL reduce 70 - INSTANCEOF reduce 70 - INT reduce 70 - PRIVATE reduce 70 - PROTECTED reduce 70 - PUBLIC reduce 70 - IMPLEMENTS reduce 70 - STATIC reduce 70 - VOID reduce 70 - IDENTIFIER reduce 70 - EQUAL reduce 70 - LESSEQUAL reduce 70 - GREATEREQUAL reduce 70 - NOTEQUAL reduce 70 - LOGICALOR reduce 70 - LOGICALAND reduce 70 - INCREMENT reduce 70 - DECREMENT reduce 70 - ',' reduce 70 - ';' reduce 70 - '.' reduce 70 - '*' reduce 70 - '>' reduce 70 - '{' reduce 70 - '}' reduce 70 - '(' reduce 70 - ')' reduce 70 - '&' reduce 70 - '[' reduce 70 - '+' reduce 70 - '-' reduce 70 - '|' reduce 70 - '^' reduce 70 - '/' reduce 70 - '%' reduce 70 + '<' shift 41 + ABSTRACT reduce 74 + BOOLEAN reduce 74 + CHAR reduce 74 + CLASS reduce 74 + FINAL reduce 74 + INSTANCEOF reduce 74 + INT reduce 74 + PRIVATE reduce 74 + PROTECTED reduce 74 + PUBLIC reduce 74 + PACKAGE reduce 74 + IMPORT reduce 74 + INTERFACE reduce 74 + IMPLEMENTS reduce 74 + STATIC reduce 74 + VOID reduce 74 + IDENTIFIER reduce 74 + EQUAL reduce 74 + LESSEQUAL reduce 74 + GREATEREQUAL reduce 74 + NOTEQUAL reduce 74 + LOGICALOR reduce 74 + LOGICALAND reduce 74 + INCREMENT reduce 74 + DECREMENT reduce 74 + ',' reduce 74 + ';' reduce 74 + '.' reduce 74 + '*' reduce 74 + '>' reduce 74 + '{' reduce 74 + '}' reduce 74 + '(' reduce 74 + ')' reduce 74 + '&' reduce 74 + '[' reduce 74 + '+' reduce 74 + '-' reduce 74 + '|' reduce 74 + '^' reduce 74 + '/' reduce 74 + '%' reduce 74 - parameter goto 104 + parameter goto 42 -state 44 - super : EXTENDS classtype . (45) +state 19 + importdeclarations : importdeclaration . (7) - . reduce 45 + . reduce 7 -state 45 - classtype : classorinterfacetype . (60) - - . reduce 60 - - -state 46 - interfacetype : classorinterfacetype . (63) - - . reduce 63 - - -state 47 - interfaces : IMPLEMENTS interfacetype . (46) - - . reduce 46 - - -state 48 - primitivetype : BOOLEAN . (145) - - . reduce 145 - - -state 49 - integraltype : CHAR . (167) - - . reduce 167 - - -state 50 - integraltype : INT . (166) - - . reduce 166 - - -state 51 - modifier : STATIC . (57) - staticinitializer : STATIC . block (76) - - '{' shift 105 - ABSTRACT reduce 57 - BOOLEAN reduce 57 - CHAR reduce 57 - FINAL reduce 57 - INT reduce 57 - PRIVATE reduce 57 - PROTECTED reduce 57 - PUBLIC reduce 57 - STATIC reduce 57 - VOID reduce 57 - IDENTIFIER reduce 57 - '<' reduce 57 - - block goto 106 - - -state 52 - methodheader : VOID . methoddeclarator (115) - methodheader : VOID . methoddeclarator throws (117) - - IDENTIFIER shift 107 - . error - - methoddeclarator goto 108 - - -53: shift/reduce conflict (shift 109, reduce 15) on '(' -state 53 - simplename : IDENTIFIER . (15) - methoddeclarator : IDENTIFIER . '(' ')' (143) - methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (144) - variabledeclaratorid : IDENTIFIER . (156) - - '(' shift 109 - BOOLEAN reduce 15 - CHAR reduce 15 - INT reduce 15 - IDENTIFIER reduce 15 - ',' reduce 156 - ';' reduce 156 - '<' reduce 15 - '=' reduce 156 - '[' reduce 15 - - -state 54 - methodheader : '<' . boundedMethodParameters '>' type methoddeclarator (107) - methodheader : '<' . boundedMethodParameters '>' type methoddeclarator throws (112) - methodheader : '<' . boundedMethodParameters '>' VOID methoddeclarator (119) - methodheader : '<' . boundedMethodParameters '>' VOID methoddeclarator throws (121) - methodheader : '<' . boundedMethodParameters '>' methoddeclarator (124) - - IDENTIFIER shift 38 - . error - - boundedMethodParameter goto 110 - boundedMethodParameters goto 111 - - -state 55 - classbody : '{' '}' . (41) - - . reduce 41 - - -state 56 - classmemberdeclaration : fielddeclaration . (74) - - . reduce 74 - - -state 57 - methoddeclaration : methodheader . methodbody (88) - - '{' shift 105 - . error - - block goto 112 - methodbody goto 113 - - -state 58 - classmemberdeclaration : methoddeclaration . (75) - - . reduce 75 - - -state 59 - methodheader : methoddeclarator . (123) - methodheader : methoddeclarator . throws (126) - - THROWS shift 114 - ';' reduce 123 - '{' reduce 123 - - throws goto 115 - - -state 60 - classbody : '{' classbodydeclarations . '}' (42) - classbodydeclarations : classbodydeclarations . classbodydeclaration (53) +state 20 + compilationunit : importdeclarations . typedeclarations (2) + importdeclarations : importdeclarations . importdeclaration (8) ABSTRACT shift 1 - BOOLEAN shift 48 - CHAR shift 49 - FINAL shift 3 - INT shift 50 - PRIVATE shift 4 - PROTECTED shift 5 - PUBLIC shift 6 - STATIC shift 51 - VOID shift 52 - IDENTIFIER shift 53 - '<' shift 54 - '}' shift 116 + CLASS shift 4 + FINAL shift 5 + PRIVATE shift 7 + PROTECTED shift 8 + PUBLIC shift 9 + IMPORT shift 11 + INTERFACE shift 12 + STATIC shift 13 . error - fielddeclaration goto 56 - methodheader goto 57 - methoddeclaration goto 58 - methoddeclarator goto 59 - classbodydeclaration goto 117 - classmemberdeclaration goto 62 - variabledeclarators goto 63 - fielddeclarator goto 64 - variabledeclarator goto 65 - variabledeclaratorid goto 66 - simplename goto 67 - classorinterfacetype goto 68 - integraltype goto 69 - numerictype goto 70 - primitivetype goto 71 - referencetype goto 72 - type goto 73 - modifiers goto 74 - modifier goto 13 - constructordeclaration goto 75 - constructordeclarator goto 76 - staticinitializer goto 77 + classdeclaration goto 16 + interfacedeclaration goto 17 + importdeclaration goto 43 + modifiers goto 27 + modifier goto 28 + typedeclarations goto 44 + typedeclaration goto 31 -state 61 - classbodydeclarations : classbodydeclaration . (52) +state 21 + referencetype : classorinterfacetype . (151) - . reduce 52 + . reduce 151 -state 62 - classbodydeclaration : classmemberdeclaration . (64) - - . reduce 64 - - -state 63 - fielddeclaration : variabledeclarators . ';' (85) - variabledeclarators : variabledeclarators . ',' variabledeclarator (133) - - ',' shift 118 - ';' shift 119 - . error - - -state 64 - fielddeclaration : fielddeclarator . ';' (83) - - ';' shift 120 - . error - - -state 65 - fielddeclarator : variabledeclarator . '=' expression (82) - variabledeclarators : variabledeclarator . (132) - - '=' shift 121 - ',' reduce 132 - ';' reduce 132 - - -state 66 - variabledeclarator : variabledeclaratorid . (148) - - . reduce 148 - - -state 67 - classorinterfacetype : simplename . parameter (67) - constructordeclarator : simplename . '(' ')' (91) - constructordeclarator : simplename . '(' formalparameterlist ')' (92) - parameter : . (70) - - '<' shift 103 - '(' shift 122 - BOOLEAN reduce 70 - CHAR reduce 70 - INT reduce 70 - IDENTIFIER reduce 70 - '[' reduce 70 - - parameter goto 104 - - -state 68 - referencetype : classorinterfacetype . (147) - - . reduce 147 - - -state 69 - numerictype : integraltype . (155) - - . reduce 155 - - -state 70 - primitivetype : numerictype . (146) - - . reduce 146 - - -state 71 - type : primitivetype . (128) - type : primitivetype . '[' ']' (129) - - '[' shift 123 - BOOLEAN reduce 128 - CHAR reduce 128 - INT reduce 128 - IDENTIFIER reduce 128 - ',' reduce 128 - '>' reduce 128 - - -state 72 - type : referencetype . (130) - type : referencetype . '[' ']' (131) - - '[' shift 124 - BOOLEAN reduce 130 - CHAR reduce 130 - INT reduce 130 - IDENTIFIER reduce 130 - ',' reduce 130 - '>' reduce 130 - - -state 73 - fielddeclarator : type . variabledeclarator '=' expression (81) - fielddeclaration : type . fielddeclarator (84) - fielddeclaration : type . variabledeclarators ';' (86) - methodheader : type . methoddeclarator (108) - methodheader : type . methoddeclarator throws (111) - - BOOLEAN shift 48 - CHAR shift 49 - INT shift 50 - IDENTIFIER shift 53 - . error - - methoddeclarator goto 125 - variabledeclarators goto 126 - fielddeclarator goto 127 - variabledeclarator goto 128 - variabledeclaratorid goto 66 - simplename goto 43 - classorinterfacetype goto 68 - integraltype goto 69 - numerictype goto 70 - primitivetype goto 71 - referencetype goto 72 - type goto 129 - - -state 74 - modifiers : modifiers . modifier (44) - constructordeclaration : modifiers . constructordeclarator constructorbody (78) - fielddeclaration : modifiers . type variabledeclarators ';' (87) - methodheader : modifiers . type methoddeclarator (109) - methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator (110) - methodheader : modifiers . type methoddeclarator throws (113) - methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator throws (114) - methodheader : modifiers . VOID methoddeclarator (116) - methodheader : modifiers . VOID methoddeclarator throws (118) - methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator (120) - methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator throws (122) - methodheader : modifiers . methoddeclarator (125) - methodheader : modifiers . methoddeclarator throws (127) - - ABSTRACT shift 1 - BOOLEAN shift 48 - CHAR shift 49 - FINAL shift 3 - INT shift 50 - PRIVATE shift 4 - PROTECTED shift 5 - PUBLIC shift 6 - STATIC shift 8 - VOID shift 130 - IDENTIFIER shift 84 - '<' shift 131 - . error - - methoddeclarator goto 132 - simplename goto 67 - classorinterfacetype goto 68 - integraltype goto 69 - numerictype goto 70 - primitivetype goto 71 - referencetype goto 72 - type goto 133 - modifier goto 22 - constructordeclarator goto 134 - - -state 75 - classbodydeclaration : constructordeclaration . (66) - - . reduce 66 - - -state 76 - constructordeclaration : constructordeclarator . constructorbody (77) - - '{' shift 135 - . error - - constructorbody goto 136 - - -state 77 - classbodydeclaration : staticinitializer . (65) - - . reduce 65 - - -state 78 - classdeclaration : CLASS classidentifier super classbody . (18) - - . reduce 18 - - -state 79 - classdeclaration : CLASS classidentifier super interfaces . classbody (22) - interfaces : interfaces . ',' interfacetype (47) - - ',' shift 80 - '{' shift 27 - . error - - classbody goto 137 - - -state 80 - interfaces : interfaces ',' . interfacetype (47) - - IDENTIFIER shift 42 - . error - - simplename goto 43 - classorinterfacetype goto 46 - interfacetype goto 138 - - -state 81 - classdeclaration : CLASS classidentifier interfaces classbody . (20) - - . reduce 20 - - -state 82 - interfaceidentifier : IDENTIFIER '<' boundedClassParameters . '>' (25) - boundedClassParameters : boundedClassParameters . ',' boundedClassParameter (100) - - ',' shift 101 - '>' shift 139 - . error - - -state 83 - extendsinterfaces : EXTENDS interfacetype . (50) - - . reduce 50 - - -84: shift/reduce conflict (shift 109, reduce 15) on '(' -state 84 - simplename : IDENTIFIER . (15) - methoddeclarator : IDENTIFIER . '(' ')' (143) - methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (144) - - '(' shift 109 - IDENTIFIER reduce 15 - '<' reduce 15 - '[' reduce 15 - - -state 85 - interfacebody : '{' '}' . (48) - - . reduce 48 - - -state 86 - interfacebody : '{' interfacememberdeclarations . '}' (49) - interfacememberdeclarations : interfacememberdeclarations . interfacememberdeclaration (62) - - ABSTRACT shift 1 - BOOLEAN shift 48 - CHAR shift 49 - FINAL shift 3 - INT shift 50 - PRIVATE shift 4 - PROTECTED shift 5 - PUBLIC shift 6 - STATIC shift 8 - VOID shift 52 - IDENTIFIER shift 84 - '<' shift 54 - '}' shift 140 - . error - - interfacememberdeclaration goto 141 - abstractmethoddeclaration goto 88 - constantdeclaration goto 89 - methodheader goto 90 - methoddeclarator goto 59 - simplename goto 43 - classorinterfacetype goto 68 - integraltype goto 69 - numerictype goto 70 - primitivetype goto 71 - referencetype goto 72 - type goto 91 - modifiers goto 92 - modifier goto 13 - - -state 87 - interfacememberdeclarations : interfacememberdeclaration . (61) - - . reduce 61 - - -state 88 - interfacememberdeclaration : abstractmethoddeclaration . (73) - - . reduce 73 - - -state 89 - interfacememberdeclaration : constantdeclaration . (72) - - . reduce 72 - - -state 90 - abstractmethoddeclaration : methodheader . ';' (80) - - ';' shift 142 - . error - - -state 91 - methodheader : type . methoddeclarator (108) - methodheader : type . methoddeclarator throws (111) - - IDENTIFIER shift 107 - . error - - methoddeclarator goto 125 - - -state 92 - modifiers : modifiers . modifier (44) - constantdeclaration : modifiers . type IDENTIFIER '=' expression ';' (79) - methodheader : modifiers . type methoddeclarator (109) - methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator (110) - methodheader : modifiers . type methoddeclarator throws (113) - methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator throws (114) - methodheader : modifiers . VOID methoddeclarator (116) - methodheader : modifiers . VOID methoddeclarator throws (118) - methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator (120) - methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator throws (122) - methodheader : modifiers . methoddeclarator (125) - methodheader : modifiers . methoddeclarator throws (127) - - ABSTRACT shift 1 - BOOLEAN shift 48 - CHAR shift 49 - FINAL shift 3 - INT shift 50 - PRIVATE shift 4 - PROTECTED shift 5 - PUBLIC shift 6 - STATIC shift 8 - VOID shift 130 - IDENTIFIER shift 84 - '<' shift 131 - . error - - methoddeclarator goto 132 - simplename goto 43 - classorinterfacetype goto 68 - integraltype goto 69 - numerictype goto 70 - primitivetype goto 71 - referencetype goto 72 - type goto 143 - modifier goto 22 - - -state 93 - extendsinterfaces : extendsinterfaces ',' . interfacetype (51) - - IDENTIFIER shift 42 - . error - - simplename goto 43 - classorinterfacetype goto 46 - interfacetype goto 144 - - -state 94 - interfacedeclaration : INTERFACE interfaceidentifier extendsinterfaces interfacebody . (30) - - . reduce 30 - - -state 95 - classdeclaration : modifiers CLASS classidentifier classbody . (17) - - . reduce 17 - - -state 96 - classdeclaration : modifiers CLASS classidentifier super . classbody (19) - classdeclaration : modifiers CLASS classidentifier super . interfaces classbody (23) - - IMPLEMENTS shift 26 - '{' shift 27 - . error - - classbody goto 145 - interfaces goto 146 - - -state 97 - classdeclaration : modifiers CLASS classidentifier interfaces . classbody (21) - interfaces : interfaces . ',' interfacetype (47) - - ',' shift 80 - '{' shift 27 - . error - - classbody goto 147 - - -state 98 - interfacedeclaration : modifiers INTERFACE interfaceidentifier interfacebody . (29) - - . reduce 29 - - -state 99 - interfacedeclaration : modifiers INTERFACE interfaceidentifier extendsinterfaces . interfacebody (31) - extendsinterfaces : extendsinterfaces . ',' interfacetype (51) - - ',' shift 93 - '{' shift 33 - . error - - interfacebody goto 148 - - -state 100 - boundedMethodParameter : IDENTIFIER EXTENDS . boundedclassidentifierlist (102) - - IDENTIFIER shift 42 - . error - - simplename goto 43 - classorinterfacetype goto 68 - referencetype goto 149 - boundedclassidentifierlist goto 150 - - -state 101 - boundedClassParameters : boundedClassParameters ',' . boundedClassParameter (100) - - IDENTIFIER shift 38 - . error - - boundedMethodParameter goto 39 - boundedClassParameter goto 151 - - -state 102 - classidentifier : IDENTIFIER '<' boundedClassParameters '>' . (27) - - . reduce 27 - - -state 103 - parameter : '<' . typelist '>' (71) - - BOOLEAN shift 48 - CHAR shift 49 - INT shift 50 - IDENTIFIER shift 42 - . error - - simplename goto 43 - classorinterfacetype goto 68 - integraltype goto 69 - numerictype goto 70 - primitivetype goto 71 - referencetype goto 72 - type goto 152 - typelist goto 153 - - -state 104 - classorinterfacetype : simplename parameter . (67) - - . reduce 67 - - -state 105 - block : '{' . '}' (89) - block : '{' . blockstatements '}' (90) - - BOOLEAN shift 48 - CHAR shift 49 - FOR shift 154 - IF shift 155 - INT shift 50 - RETURN shift 156 - THIS shift 157 - WHILE shift 158 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 167 - INCREMENT shift 168 - DECREMENT shift 169 - ';' shift 170 - '{' shift 105 - '}' shift 171 - '(' shift 172 - . error - - variabledeclarators goto 173 - variabledeclarator goto 174 - variabledeclaratorid goto 66 - simplename goto 175 - qualifiedname goto 176 - name goto 177 - classorinterfacetype goto 68 - integraltype goto 69 - numerictype goto 70 - primitivetype goto 71 - referencetype goto 72 - type goto 178 - block goto 179 - blockstatements goto 180 - localvariabledeclarationstatement goto 181 - localvariabledeclaration goto 182 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 187 - lambdaexpression goto 188 - statementexpression goto 189 - preincrementexpression goto 190 - predecrementexpression goto 191 - postincrementexpression goto 192 - postdecrementexpression goto 193 - expressionstatement goto 194 - statementwithouttrailingsubstatement goto 195 - blockstatement goto 196 - statement goto 197 - whilestatement goto 198 - forstatement goto 199 - ifthenstatement goto 200 - ifthenelsestatement goto 201 - emptystatement goto 202 - returnstatement goto 203 - assignment goto 204 - lefthandside goto 205 - methodinvocation goto 206 - - -state 106 - staticinitializer : STATIC block . (76) - - . reduce 76 - - -state 107 - methoddeclarator : IDENTIFIER . '(' ')' (143) - methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (144) - - '(' shift 109 - . error - - -state 108 - methodheader : VOID methoddeclarator . (115) - methodheader : VOID methoddeclarator . throws (117) - - THROWS shift 114 - ';' reduce 115 - '{' reduce 115 - - throws goto 207 - - -state 109 - methoddeclarator : IDENTIFIER '(' . ')' (143) - methoddeclarator : IDENTIFIER '(' . formalparameterlist ')' (144) - - BOOLEAN shift 48 - CHAR shift 49 - INT shift 50 - IDENTIFIER shift 167 - ')' shift 208 - . error - - variabledeclaratorid goto 209 - simplename goto 43 - classorinterfacetype goto 68 - integraltype goto 69 - numerictype goto 70 - primitivetype goto 71 - referencetype goto 72 - type goto 210 - formalparameter goto 211 - formalparameterlist goto 212 - - -state 110 - boundedMethodParameters : boundedMethodParameter . (105) - - . reduce 105 - - -state 111 - boundedMethodParameters : boundedMethodParameters . ',' boundedMethodParameter (106) - methodheader : '<' boundedMethodParameters . '>' type methoddeclarator (107) - methodheader : '<' boundedMethodParameters . '>' type methoddeclarator throws (112) - methodheader : '<' boundedMethodParameters . '>' VOID methoddeclarator (119) - methodheader : '<' boundedMethodParameters . '>' VOID methoddeclarator throws (121) - methodheader : '<' boundedMethodParameters . '>' methoddeclarator (124) - - ',' shift 213 - '>' shift 214 - . error - - -state 112 - methodbody : block . (134) - - . reduce 134 - - -state 113 - methoddeclaration : methodheader methodbody . (88) - - . reduce 88 - - -state 114 - throws : THROWS . classtypelist (97) - - IDENTIFIER shift 42 - . error - - simplename goto 43 - classtype goto 215 - classorinterfacetype goto 45 - classtypelist goto 216 - - -state 115 - methodheader : methoddeclarator throws . (126) - - . reduce 126 - - -state 116 - classbody : '{' classbodydeclarations '}' . (42) - - . reduce 42 - - -state 117 - classbodydeclarations : classbodydeclarations classbodydeclaration . (53) - - . reduce 53 - - -state 118 - variabledeclarators : variabledeclarators ',' . variabledeclarator (133) - - IDENTIFIER shift 217 - . error - - variabledeclarator goto 218 - variabledeclaratorid goto 66 - - -state 119 - fielddeclaration : variabledeclarators ';' . (85) - - . reduce 85 - - -state 120 - fielddeclaration : fielddeclarator ';' . (83) - - . reduce 83 - - -state 121 - fielddeclarator : variabledeclarator '=' . expression (82) - - NEW shift 219 - THIS shift 157 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 42 - INCREMENT shift 168 - DECREMENT shift 169 - '(' shift 220 - '+' shift 221 - '-' shift 222 - '!' shift 223 - . error - - simplename goto 224 - qualifiedname goto 176 - name goto 177 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 225 - unaryexpressionnotplusminus goto 226 - unaryexpression goto 227 - multiplicativeexpression goto 228 - additiveexpression goto 229 - shiftexpression goto 230 - relationalexpression goto 231 - equalityexpression goto 232 - andexpression goto 233 - exclusiveorexpression goto 234 - inclusiveorexpression goto 235 - conditionalandexpression goto 236 - conditionalorexpression goto 237 - conditionalexpression goto 238 - assignmentexpression goto 239 - lambdaexpression goto 188 - expression goto 240 - preincrementexpression goto 241 - predecrementexpression goto 242 - postincrementexpression goto 243 - postdecrementexpression goto 244 - classinstancecreationexpression goto 245 - assignment goto 246 - lefthandside goto 205 - methodinvocation goto 247 - castexpression goto 248 - - -state 122 - constructordeclarator : simplename '(' . ')' (91) - constructordeclarator : simplename '(' . formalparameterlist ')' (92) - - BOOLEAN shift 48 - CHAR shift 49 - INT shift 50 - IDENTIFIER shift 167 - ')' shift 249 - . error - - variabledeclaratorid goto 209 - simplename goto 43 - classorinterfacetype goto 68 - integraltype goto 69 - numerictype goto 70 - primitivetype goto 71 - referencetype goto 72 - type goto 210 - formalparameter goto 211 - formalparameterlist goto 250 - - -state 123 - type : primitivetype '[' . ']' (129) - - ']' shift 251 - . error - - -state 124 - type : referencetype '[' . ']' (131) - - ']' shift 252 - . error - - -state 125 - methodheader : type methoddeclarator . (108) - methodheader : type methoddeclarator . throws (111) - - THROWS shift 114 - ';' reduce 108 - '{' reduce 108 - - throws goto 253 - - -state 126 - fielddeclaration : type variabledeclarators . ';' (86) - variabledeclarators : variabledeclarators . ',' variabledeclarator (133) - - ',' shift 118 - ';' shift 254 - . error - - -state 127 - fielddeclaration : type fielddeclarator . (84) - - . reduce 84 - - -state 128 - fielddeclarator : type variabledeclarator . '=' expression (81) - fielddeclarator : variabledeclarator . '=' expression (82) - variabledeclarators : variabledeclarator . (132) - - '=' shift 255 - ',' reduce 132 - ';' reduce 132 - - -state 129 - fielddeclarator : type . variabledeclarator '=' expression (81) - - IDENTIFIER shift 217 - . error - - variabledeclarator goto 256 - variabledeclaratorid goto 66 - - -state 130 - methodheader : modifiers VOID . methoddeclarator (116) - methodheader : modifiers VOID . methoddeclarator throws (118) - - IDENTIFIER shift 107 - . error - - methoddeclarator goto 257 - - -state 131 - methodheader : modifiers '<' . boundedMethodParameters '>' type methoddeclarator (110) - methodheader : modifiers '<' . boundedMethodParameters '>' type methoddeclarator throws (114) - methodheader : modifiers '<' . boundedMethodParameters '>' VOID methoddeclarator (120) - methodheader : modifiers '<' . boundedMethodParameters '>' VOID methoddeclarator throws (122) - - IDENTIFIER shift 38 - . error - - boundedMethodParameter goto 110 - boundedMethodParameters goto 258 - - -state 132 - methodheader : modifiers methoddeclarator . (125) - methodheader : modifiers methoddeclarator . throws (127) - - THROWS shift 114 - ';' reduce 125 - '{' reduce 125 - - throws goto 259 - - -state 133 - fielddeclaration : modifiers type . variabledeclarators ';' (87) - methodheader : modifiers type . methoddeclarator (109) - methodheader : modifiers type . methoddeclarator throws (113) - - IDENTIFIER shift 260 - . error - - methoddeclarator goto 261 - variabledeclarators goto 262 - variabledeclarator goto 174 - variabledeclaratorid goto 66 - - -state 134 - constructordeclaration : modifiers constructordeclarator . constructorbody (78) - - '{' shift 135 - . error - - constructorbody goto 263 - - -state 135 - constructorbody : '{' . '}' (93) - constructorbody : '{' . explicitconstructorinvocation '}' (94) - constructorbody : '{' . blockstatements '}' (95) - constructorbody : '{' . explicitconstructorinvocation blockstatements '}' (96) - - BOOLEAN shift 48 - CHAR shift 49 - FOR shift 154 - IF shift 155 - INT shift 50 - RETURN shift 156 - THIS shift 264 - WHILE shift 158 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 167 - INCREMENT shift 168 - DECREMENT shift 169 - ';' shift 170 - '{' shift 105 - '}' shift 265 - '(' shift 172 - . error - - variabledeclarators goto 173 - variabledeclarator goto 174 - variabledeclaratorid goto 66 - simplename goto 175 - qualifiedname goto 176 - name goto 177 - classorinterfacetype goto 68 - integraltype goto 69 - numerictype goto 70 - primitivetype goto 71 - referencetype goto 72 - type goto 178 - block goto 179 - blockstatements goto 266 - localvariabledeclarationstatement goto 181 - localvariabledeclaration goto 182 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 187 - lambdaexpression goto 188 - statementexpression goto 189 - preincrementexpression goto 190 - predecrementexpression goto 191 - postincrementexpression goto 192 - postdecrementexpression goto 193 - expressionstatement goto 194 - statementwithouttrailingsubstatement goto 195 - blockstatement goto 196 - statement goto 197 - whilestatement goto 198 - forstatement goto 199 - ifthenstatement goto 200 - ifthenelsestatement goto 201 - emptystatement goto 202 - returnstatement goto 203 - assignment goto 204 - lefthandside goto 205 - methodinvocation goto 206 - explicitconstructorinvocation goto 267 - - -state 136 - constructordeclaration : constructordeclarator constructorbody . (77) - - . reduce 77 - - -state 137 - classdeclaration : CLASS classidentifier super interfaces classbody . (22) - - . reduce 22 - - -state 138 - interfaces : interfaces ',' interfacetype . (47) - - . reduce 47 - - -state 139 - interfaceidentifier : IDENTIFIER '<' boundedClassParameters '>' . (25) - - . reduce 25 - - -state 140 - interfacebody : '{' interfacememberdeclarations '}' . (49) - - . reduce 49 - - -state 141 - interfacememberdeclarations : interfacememberdeclarations interfacememberdeclaration . (62) - - . reduce 62 - - -state 142 - abstractmethoddeclaration : methodheader ';' . (80) - - . reduce 80 - - -state 143 - constantdeclaration : modifiers type . IDENTIFIER '=' expression ';' (79) - methodheader : modifiers type . methoddeclarator (109) - methodheader : modifiers type . methoddeclarator throws (113) - - IDENTIFIER shift 268 - . error - - methoddeclarator goto 261 - - -state 144 - extendsinterfaces : extendsinterfaces ',' interfacetype . (51) - - . reduce 51 - - -state 145 - classdeclaration : modifiers CLASS classidentifier super classbody . (19) - - . reduce 19 - - -state 146 - classdeclaration : modifiers CLASS classidentifier super interfaces . classbody (23) - interfaces : interfaces . ',' interfacetype (47) - - ',' shift 80 - '{' shift 27 - . error - - classbody goto 269 - - -state 147 - classdeclaration : modifiers CLASS classidentifier interfaces classbody . (21) - - . reduce 21 - - -state 148 - interfacedeclaration : modifiers INTERFACE interfaceidentifier extendsinterfaces interfacebody . (31) - - . reduce 31 - - -state 149 - boundedclassidentifierlist : referencetype . (103) - - . reduce 103 - - -state 150 - boundedMethodParameter : IDENTIFIER EXTENDS boundedclassidentifierlist . (102) - boundedclassidentifierlist : boundedclassidentifierlist . '&' referencetype (104) - - '&' shift 270 - ',' reduce 102 - '>' reduce 102 - - -state 151 - boundedClassParameters : boundedClassParameters ',' boundedClassParameter . (100) - - . reduce 100 - - -state 152 - typelist : type . (68) - - . reduce 68 - - -state 153 - typelist : typelist . ',' type (69) - parameter : '<' typelist . '>' (71) - - ',' shift 271 - '>' shift 272 - . error - - -state 154 - forstatement : FOR . '(' expression ';' expression ';' expression ')' statement (177) - forstatement : FOR . '(' expression ';' expression ';' ')' statement (178) - forstatement : FOR . '(' expression ';' ';' expression ')' statement (179) - forstatement : FOR . '(' ';' expression ';' expression ')' statement (180) - forstatement : FOR . '(' expression ';' ';' ')' statement (181) - forstatement : FOR . '(' ';' expression ';' ')' statement (182) - forstatement : FOR . '(' ';' ';' expression ')' statement (183) - forstatement : FOR . '(' ';' ';' ')' statement (184) - - '(' shift 273 - . error - - -state 155 - ifthenstatement : IF . '(' expression ')' statement (174) - ifthenelsestatement : IF . '(' expression ')' statementnoshortif ELSE statement (175) - - '(' shift 274 - . error - - -state 156 - returnstatement : RETURN . ';' (189) - returnstatement : RETURN . expression ';' (190) - - NEW shift 219 - THIS shift 157 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 42 - INCREMENT shift 168 - DECREMENT shift 169 - ';' shift 275 - '(' shift 220 - '+' shift 221 - '-' shift 222 - '!' shift 223 - . error - - simplename goto 224 - qualifiedname goto 176 - name goto 177 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 225 - unaryexpressionnotplusminus goto 226 - unaryexpression goto 227 - multiplicativeexpression goto 228 - additiveexpression goto 229 - shiftexpression goto 230 - relationalexpression goto 231 - equalityexpression goto 232 - andexpression goto 233 - exclusiveorexpression goto 234 - inclusiveorexpression goto 235 - conditionalandexpression goto 236 - conditionalorexpression goto 237 - conditionalexpression goto 238 - assignmentexpression goto 239 - lambdaexpression goto 188 - expression goto 276 - preincrementexpression goto 241 - predecrementexpression goto 242 - postincrementexpression goto 243 - postdecrementexpression goto 244 - classinstancecreationexpression goto 245 - assignment goto 246 - lefthandside goto 205 - methodinvocation goto 247 - castexpression goto 248 - - -state 157 - primarynonewarray : THIS . (245) - - . reduce 245 - - -state 158 - whilestatement : WHILE . '(' expression ')' statement (176) - - '(' shift 277 - . error - - -state 159 - literal : INTLITERAL . (253) - - . reduce 253 - - -state 160 - literal : LONGLITERAL . (257) - - . reduce 257 - - -state 161 - literal : DOUBLELITERAL . (259) - - . reduce 259 - - -state 162 - literal : FLOATLITERAL . (258) - - . reduce 258 - - -state 163 - literal : BOOLLITERAL . (254) - - . reduce 254 - - -state 164 - literal : JNULL . (260) - - . reduce 260 - - -state 165 - literal : CHARLITERAL . (255) - - . reduce 255 - - -state 166 - literal : STRINGLITERAL . (256) - - . reduce 256 - - -state 167 - simplename : IDENTIFIER . (15) - variabledeclaratorid : IDENTIFIER . (156) - - IDENTIFIER reduce 15 - INCREMENT reduce 15 - DECREMENT reduce 15 - PLUSEQUAL reduce 15 - MINUSEQUAL reduce 15 - TIMESEQUAL reduce 15 - DIVIDEEQUAL reduce 15 - MODULOEQUAL reduce 15 - ',' reduce 156 - ';' reduce 156 - '.' reduce 15 - '<' reduce 15 - '=' reduce 15 - '(' reduce 15 - ')' reduce 156 - '[' reduce 15 - - -state 168 - preincrementexpression : INCREMENT . unaryexpression (220) - - THIS shift 157 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 42 - INCREMENT shift 168 - DECREMENT shift 169 - '(' shift 220 - '+' shift 221 - '-' shift 222 - '!' shift 223 - . error - - simplename goto 224 - qualifiedname goto 176 - name goto 278 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 225 - unaryexpressionnotplusminus goto 226 - unaryexpression goto 279 - lambdaexpression goto 188 - preincrementexpression goto 241 - predecrementexpression goto 242 - postincrementexpression goto 243 - postdecrementexpression goto 244 - methodinvocation goto 247 - castexpression goto 248 - - -state 169 - predecrementexpression : DECREMENT . unaryexpression (221) - - THIS shift 157 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 42 - INCREMENT shift 168 - DECREMENT shift 169 - '(' shift 220 - '+' shift 221 - '-' shift 222 - '!' shift 223 - . error - - simplename goto 224 - qualifiedname goto 176 - name goto 278 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 225 - unaryexpressionnotplusminus goto 226 - unaryexpression goto 280 - lambdaexpression goto 188 - preincrementexpression goto 241 - predecrementexpression goto 242 - postincrementexpression goto 243 - postdecrementexpression goto 244 - methodinvocation goto 247 - castexpression goto 248 - - -state 170 - emptystatement : ';' . (187) - - . reduce 187 - - -state 171 - block : '{' '}' . (89) - - . reduce 89 - - -state 172 - lambdaexpressionparameter : '(' . ')' (210) - lambdaexpressionparameter : '(' . formalparameterlist ')' (211) - - BOOLEAN shift 48 - CHAR shift 49 - INT shift 50 - IDENTIFIER shift 167 - ')' shift 281 - . error - - variabledeclaratorid goto 209 - simplename goto 43 - classorinterfacetype goto 68 - integraltype goto 69 - numerictype goto 70 - primitivetype goto 71 - referencetype goto 72 - type goto 210 - formalparameter goto 211 - formalparameterlist goto 282 - - -state 173 - variabledeclarators : variabledeclarators . ',' variabledeclarator (133) - localvariabledeclaration : variabledeclarators . (169) - - ',' shift 118 - ';' reduce 169 - - -state 174 - variabledeclarators : variabledeclarator . (132) - - . reduce 132 - - -state 175 - name : simplename . (9) - classorinterfacetype : simplename . parameter (67) - parameter : . (70) - - '<' shift 103 - IDENTIFIER reduce 70 - INCREMENT reduce 9 - DECREMENT reduce 9 - PLUSEQUAL reduce 9 - MINUSEQUAL reduce 9 - TIMESEQUAL reduce 9 - DIVIDEEQUAL reduce 9 - MODULOEQUAL reduce 9 - '.' reduce 9 - '=' reduce 9 - '(' reduce 9 - '[' reduce 70 - - parameter goto 104 - - -state 176 - name : qualifiedname . (8) - - . reduce 8 - - -177: shift/reduce conflict (shift 283, reduce 238) on '.' -state 177 - qualifiedname : name . '.' IDENTIFIER (12) - lefthandside : name . (213) - methodinvocation : name . '(' ')' (224) - methodinvocation : name . '(' argumentlist ')' (225) - postfixexpression : name . (238) - - '.' shift 283 - '(' shift 284 - ABSTRACT reduce 238 - BOOLEAN reduce 238 - CHAR reduce 238 - FINAL reduce 238 - INSTANCEOF reduce 238 - INT reduce 238 - PRIVATE reduce 238 - PROTECTED reduce 238 - PUBLIC reduce 238 - STATIC reduce 238 - VOID reduce 238 - IDENTIFIER reduce 238 - EQUAL reduce 238 - LESSEQUAL reduce 238 - GREATEREQUAL reduce 238 - NOTEQUAL reduce 238 - LOGICALOR reduce 238 - LOGICALAND reduce 238 - INCREMENT reduce 238 - DECREMENT reduce 238 - PLUSEQUAL reduce 213 - MINUSEQUAL reduce 213 - TIMESEQUAL reduce 213 - DIVIDEEQUAL reduce 213 - MODULOEQUAL reduce 213 - ',' reduce 238 - ';' reduce 238 - '*' reduce 238 - '<' reduce 238 - '>' reduce 238 - '}' reduce 238 - '=' reduce 213 - ')' reduce 238 - '&' reduce 238 - '+' reduce 238 - '-' reduce 238 - '|' reduce 238 - '^' reduce 238 - '/' reduce 238 - '%' reduce 238 - - -state 178 - localvariabledeclaration : type . variabledeclarators (168) - - IDENTIFIER shift 217 - . error - - variabledeclarators goto 285 - variabledeclarator goto 174 - variabledeclaratorid goto 66 - - -state 179 - statementwithouttrailingsubstatement : block . (170) - - . reduce 170 - - -state 180 - block : '{' blockstatements . '}' (90) - blockstatements : blockstatements . blockstatement (136) - - BOOLEAN shift 48 - CHAR shift 49 - FOR shift 154 - IF shift 155 - INT shift 50 - RETURN shift 156 - THIS shift 157 - WHILE shift 158 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 167 - INCREMENT shift 168 - DECREMENT shift 169 - ';' shift 170 - '{' shift 105 - '}' shift 286 - '(' shift 172 - . error - - variabledeclarators goto 173 - variabledeclarator goto 174 - variabledeclaratorid goto 66 - simplename goto 175 - qualifiedname goto 176 - name goto 177 - classorinterfacetype goto 68 - integraltype goto 69 - numerictype goto 70 - primitivetype goto 71 - referencetype goto 72 - type goto 178 - block goto 179 - localvariabledeclarationstatement goto 181 - localvariabledeclaration goto 182 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 187 - lambdaexpression goto 188 - statementexpression goto 189 - preincrementexpression goto 190 - predecrementexpression goto 191 - postincrementexpression goto 192 - postdecrementexpression goto 193 - expressionstatement goto 194 - statementwithouttrailingsubstatement goto 195 - blockstatement goto 287 - statement goto 197 - whilestatement goto 198 - forstatement goto 199 - ifthenstatement goto 200 - ifthenelsestatement goto 201 - emptystatement goto 202 - returnstatement goto 203 - assignment goto 204 - lefthandside goto 205 - methodinvocation goto 206 - - -state 181 - blockstatement : localvariabledeclarationstatement . (149) - - . reduce 149 - - -state 182 - localvariabledeclarationstatement : localvariabledeclaration . ';' (158) - - ';' shift 288 - . error - - -state 183 - lambdaexpression : lambdaexpressionparameter . lambdaassignmentoperator lambdabody (212) - - LAMBDAASSIGNMENT shift 289 - . error - - lambdaassignmentoperator goto 290 - - -state 184 - primarynonewarray : literal . (244) - - . reduce 244 - - -state 185 - primary : primarynonewarray . (241) - - . reduce 241 - - -186: shift/reduce conflict (shift 291, reduce 237) on '.' -state 186 - methodinvocation : primary . '.' IDENTIFIER '(' ')' (226) - methodinvocation : primary . '.' IDENTIFIER '(' argumentlist ')' (227) - postfixexpression : primary . (237) - - '.' shift 291 - ABSTRACT reduce 237 - BOOLEAN reduce 237 - CHAR reduce 237 - FINAL reduce 237 - INSTANCEOF reduce 237 - INT reduce 237 - PRIVATE reduce 237 - PROTECTED reduce 237 - PUBLIC reduce 237 - STATIC reduce 237 - VOID reduce 237 - IDENTIFIER reduce 237 - EQUAL reduce 237 - LESSEQUAL reduce 237 - GREATEREQUAL reduce 237 - NOTEQUAL reduce 237 - LOGICALOR reduce 237 - LOGICALAND reduce 237 - INCREMENT reduce 237 - DECREMENT reduce 237 - ',' reduce 237 - ';' reduce 237 - '*' reduce 237 - '<' reduce 237 - '>' reduce 237 - '}' reduce 237 - ')' reduce 237 - '&' reduce 237 - '+' reduce 237 - '-' reduce 237 - '|' reduce 237 - '^' reduce 237 - '/' reduce 237 - '%' reduce 237 - - -state 187 - postincrementexpression : postfixexpression . INCREMENT (222) - postdecrementexpression : postfixexpression . DECREMENT (223) - - INCREMENT shift 292 - DECREMENT shift 293 - . error - - -state 188 - primarynonewarray : lambdaexpression . (247) - - . reduce 247 - - -state 189 - expressionstatement : statementexpression . ';' (188) - - ';' shift 294 - . error - - -state 190 - statementexpression : preincrementexpression . (198) - - . reduce 198 - - -state 191 - statementexpression : predecrementexpression . (199) - - . reduce 199 - - -state 192 - statementexpression : postincrementexpression . (200) - postfixexpression : postincrementexpression . (239) - - INCREMENT reduce 239 - DECREMENT reduce 239 - ';' reduce 200 - - -state 193 - statementexpression : postdecrementexpression . (201) - postfixexpression : postdecrementexpression . (240) - - INCREMENT reduce 240 - DECREMENT reduce 240 - ';' reduce 201 - - -state 194 - statementwithouttrailingsubstatement : expressionstatement . (172) - - . reduce 172 - - -state 195 - statement : statementwithouttrailingsubstatement . (159) +state 22 + numerictype : integraltype . (159) . reduce 159 -state 196 - blockstatements : blockstatement . (135) - - . reduce 135 - - -state 197 - blockstatement : statement . (150) +state 23 + primitivetype : numerictype . (150) . reduce 150 -state 198 - statement : whilestatement . (162) +state 24 + type : primitivetype . (132) + type : primitivetype . '[' ']' (133) - . reduce 162 + '[' shift 45 + ABSTRACT reduce 132 + BOOLEAN reduce 132 + CHAR reduce 132 + CLASS reduce 132 + FINAL reduce 132 + INT reduce 132 + PRIVATE reduce 132 + PROTECTED reduce 132 + PUBLIC reduce 132 + PACKAGE reduce 132 + IMPORT reduce 132 + INTERFACE reduce 132 + STATIC reduce 132 + IDENTIFIER reduce 132 + ',' reduce 132 + '>' reduce 132 -state 199 - statement : forstatement . (163) +state 25 + type : referencetype . (134) + type : referencetype . '[' ']' (135) - . reduce 163 + '[' shift 46 + ABSTRACT reduce 134 + BOOLEAN reduce 134 + CHAR reduce 134 + CLASS reduce 134 + FINAL reduce 134 + INT reduce 134 + PRIVATE reduce 134 + PROTECTED reduce 134 + PUBLIC reduce 134 + PACKAGE reduce 134 + IMPORT reduce 134 + INTERFACE reduce 134 + STATIC reduce 134 + IDENTIFIER reduce 134 + ',' reduce 134 + '>' reduce 134 -state 200 - statement : ifthenstatement . (160) +state 26 + compilationunit : type . type compilationunit (5) - . reduce 160 - - -state 201 - statement : ifthenelsestatement . (161) - - . reduce 161 - - -state 202 - statementwithouttrailingsubstatement : emptystatement . (171) - - . reduce 171 - - -state 203 - statementwithouttrailingsubstatement : returnstatement . (173) - - . reduce 173 - - -state 204 - statementexpression : assignment . (197) - - . reduce 197 - - -state 205 - assignment : lefthandside . assignmentoperator assignmentexpression (195) - assignment : lefthandside . assignmentoperator classinstancecreationexpression (196) - - PLUSEQUAL shift 295 - MINUSEQUAL shift 296 - TIMESEQUAL shift 297 - DIVIDEEQUAL shift 298 - MODULOEQUAL shift 299 - '=' shift 300 + BOOLEAN shift 2 + CHAR shift 3 + INT shift 6 + IDENTIFIER shift 14 . error - assignmentoperator goto 301 + simplename goto 18 + classorinterfacetype goto 21 + integraltype goto 22 + numerictype goto 23 + primitivetype goto 24 + referencetype goto 25 + type goto 47 -state 206 - statementexpression : methodinvocation . (202) - primarynonewarray : methodinvocation . (246) +state 27 + classdeclaration : modifiers . CLASS classidentifier classbody (21) + classdeclaration : modifiers . CLASS classidentifier super classbody (23) + classdeclaration : modifiers . CLASS classidentifier interfaces classbody (25) + classdeclaration : modifiers . CLASS classidentifier super interfaces classbody (27) + interfacedeclaration : modifiers . INTERFACE interfaceidentifier interfacebody (33) + interfacedeclaration : modifiers . INTERFACE interfaceidentifier extendsinterfaces interfacebody (35) + modifiers : modifiers . modifier (48) - INCREMENT reduce 246 - DECREMENT reduce 246 - ';' reduce 202 - '.' reduce 246 - - -state 207 - methodheader : VOID methoddeclarator throws . (117) - - . reduce 117 - - -state 208 - methoddeclarator : IDENTIFIER '(' ')' . (143) - - . reduce 143 - - -state 209 - formalparameter : variabledeclaratorid . (152) - - . reduce 152 - - -state 210 - formalparameter : type . variabledeclaratorid (151) - - IDENTIFIER shift 217 + ABSTRACT shift 1 + CLASS shift 48 + FINAL shift 5 + PRIVATE shift 7 + PROTECTED shift 8 + PUBLIC shift 9 + INTERFACE shift 49 + STATIC shift 13 . error - variabledeclaratorid goto 302 + modifier goto 50 -state 211 - formalparameterlist : formalparameter . (137) +state 28 + modifiers : modifier . (47) - . reduce 137 + . reduce 47 -state 212 - formalparameterlist : formalparameterlist . ',' formalparameter (138) - methoddeclarator : IDENTIFIER '(' formalparameterlist . ')' (144) +state 29 + compilationunit : typedeclarations . (1) + typedeclarations : typedeclarations . typedeclaration (11) - ',' shift 303 - ')' shift 304 + ABSTRACT shift 1 + CLASS shift 4 + FINAL shift 5 + PRIVATE shift 7 + PROTECTED shift 8 + PUBLIC shift 9 + INTERFACE shift 12 + STATIC shift 13 + $end reduce 1 + + classdeclaration goto 16 + interfacedeclaration goto 17 + modifiers goto 27 + modifier goto 28 + typedeclaration goto 51 + + +state 30 + compilationunit : packagedeclaration . importdeclarations typedeclarations (3) + compilationunit : packagedeclaration . typedeclarations (4) + + ABSTRACT shift 1 + CLASS shift 4 + FINAL shift 5 + PRIVATE shift 7 + PROTECTED shift 8 + PUBLIC shift 9 + IMPORT shift 11 + INTERFACE shift 12 + STATIC shift 13 + . error + + classdeclaration goto 16 + interfacedeclaration goto 17 + importdeclaration goto 19 + importdeclarations goto 52 + modifiers goto 27 + modifier goto 28 + typedeclarations goto 53 + typedeclaration goto 31 + + +state 31 + typedeclarations : typedeclaration . (10) + + . reduce 10 + + +state 32 + classidentifier : IDENTIFIER . (30) + classidentifier : IDENTIFIER . '<' boundedClassParameters '>' (31) + + '<' shift 54 + EXTENDS reduce 30 + IMPLEMENTS reduce 30 + '{' reduce 30 + + +state 33 + classdeclaration : CLASS classidentifier . classbody (20) + classdeclaration : CLASS classidentifier . super classbody (22) + classdeclaration : CLASS classidentifier . interfaces classbody (24) + classdeclaration : CLASS classidentifier . super interfaces classbody (26) + + EXTENDS shift 55 + IMPLEMENTS shift 56 + '{' shift 57 + . error + + classbody goto 58 + super goto 59 + interfaces goto 60 + + +state 34 + name : simplename . (13) + + . reduce 13 + + +state 35 + name : qualifiedname . (12) + + . reduce 12 + + +state 36 + packagedeclaration : PACKAGE name . ';' (6) + qualifiedname : name . '.' IDENTIFIER (16) + + ';' shift 61 + '.' shift 62 . error -state 213 - boundedMethodParameters : boundedMethodParameters ',' . boundedMethodParameter (106) +state 37 + importdeclaration : IMPORT importqualifiedname . ';' (9) - IDENTIFIER shift 38 + ';' shift 63 . error - boundedMethodParameter goto 305 +state 38 + qualifiedname : name . '.' IDENTIFIER (16) + importqualifiedname : name . '.' IDENTIFIER (17) + importqualifiedname : name . '.' '*' (18) -state 214 - methodheader : '<' boundedMethodParameters '>' . type methoddeclarator (107) - methodheader : '<' boundedMethodParameters '>' . type methoddeclarator throws (112) - methodheader : '<' boundedMethodParameters '>' . VOID methoddeclarator (119) - methodheader : '<' boundedMethodParameters '>' . VOID methoddeclarator throws (121) - methodheader : '<' boundedMethodParameters '>' . methoddeclarator (124) - - BOOLEAN shift 48 - CHAR shift 49 - INT shift 50 - VOID shift 306 - IDENTIFIER shift 84 + '.' shift 64 . error - methoddeclarator goto 307 - simplename goto 43 - classorinterfacetype goto 68 - integraltype goto 69 - numerictype goto 70 - primitivetype goto 71 - referencetype goto 72 - type goto 308 + +state 39 + interfaceidentifier : IDENTIFIER . (28) + interfaceidentifier : IDENTIFIER . '<' boundedClassParameters '>' (29) + + '<' shift 65 + EXTENDS reduce 28 + '{' reduce 28 -state 215 - classtypelist : classtype . (141) +state 40 + interfacedeclaration : INTERFACE interfaceidentifier . interfacebody (32) + interfacedeclaration : INTERFACE interfaceidentifier . extendsinterfaces interfacebody (34) - . reduce 141 - - -state 216 - throws : THROWS classtypelist . (97) - classtypelist : classtypelist . ',' classtype (142) - - ',' shift 309 - ';' reduce 97 - '{' reduce 97 - - -state 217 - variabledeclaratorid : IDENTIFIER . (156) - - . reduce 156 - - -state 218 - variabledeclarators : variabledeclarators ',' variabledeclarator . (133) - - . reduce 133 - - -state 219 - classinstancecreationexpression : NEW . classtype '(' ')' (228) - classinstancecreationexpression : NEW . classtype '(' argumentlist ')' (229) - - IDENTIFIER shift 42 + EXTENDS shift 66 + '{' shift 67 . error - simplename goto 43 - classtype goto 310 - classorinterfacetype goto 45 + interfacebody goto 68 + extendsinterfaces goto 69 -state 220 - lambdaexpressionparameter : '(' . ')' (210) - lambdaexpressionparameter : '(' . formalparameterlist ')' (211) - castexpression : '(' . primitivetype ')' unaryexpression (261) +state 41 + parameter : '<' . typelist '>' (75) - BOOLEAN shift 48 - CHAR shift 49 - INT shift 50 - IDENTIFIER shift 167 - ')' shift 281 + BOOLEAN shift 2 + CHAR shift 3 + INT shift 6 + IDENTIFIER shift 14 . error - variabledeclaratorid goto 209 - simplename goto 43 - classorinterfacetype goto 68 - integraltype goto 69 - numerictype goto 70 - primitivetype goto 311 - referencetype goto 72 - type goto 210 - formalparameter goto 211 - formalparameterlist goto 282 + simplename goto 18 + classorinterfacetype goto 21 + integraltype goto 22 + numerictype goto 23 + primitivetype goto 24 + referencetype goto 25 + type goto 70 + typelist goto 71 -state 221 - unaryexpression : '+' . unaryexpression (234) +state 42 + classorinterfacetype : simplename parameter . (71) - THIS shift 157 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 42 - INCREMENT shift 168 - DECREMENT shift 169 - '(' shift 220 - '+' shift 221 - '-' shift 222 - '!' shift 223 + . reduce 71 + + +state 43 + importdeclarations : importdeclarations importdeclaration . (8) + + . reduce 8 + + +state 44 + compilationunit : importdeclarations typedeclarations . (2) + typedeclarations : typedeclarations . typedeclaration (11) + + ABSTRACT shift 1 + CLASS shift 4 + FINAL shift 5 + PRIVATE shift 7 + PROTECTED shift 8 + PUBLIC shift 9 + INTERFACE shift 12 + STATIC shift 13 + $end reduce 2 + + classdeclaration goto 16 + interfacedeclaration goto 17 + modifiers goto 27 + modifier goto 28 + typedeclaration goto 51 + + +state 45 + type : primitivetype '[' . ']' (133) + + ']' shift 72 . error - simplename goto 224 - qualifiedname goto 176 - name goto 278 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 225 - unaryexpressionnotplusminus goto 226 - unaryexpression goto 312 - lambdaexpression goto 188 - preincrementexpression goto 241 - predecrementexpression goto 242 - postincrementexpression goto 243 - postdecrementexpression goto 244 - methodinvocation goto 247 - castexpression goto 248 +state 46 + type : referencetype '[' . ']' (135) -state 222 - unaryexpression : '-' . unaryexpression (235) - - THIS shift 157 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 42 - INCREMENT shift 168 - DECREMENT shift 169 - '(' shift 220 - '+' shift 221 - '-' shift 222 - '!' shift 223 + ']' shift 73 . error - simplename goto 224 - qualifiedname goto 176 - name goto 278 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 225 - unaryexpressionnotplusminus goto 226 - unaryexpression goto 313 - lambdaexpression goto 188 - preincrementexpression goto 241 - predecrementexpression goto 242 - postincrementexpression goto 243 - postdecrementexpression goto 244 - methodinvocation goto 247 - castexpression goto 248 +state 47 + compilationunit : type type . compilationunit (5) -state 223 - unaryexpressionnotplusminus : '!' . unaryexpression (249) - - THIS shift 157 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 42 - INCREMENT shift 168 - DECREMENT shift 169 - '(' shift 220 - '+' shift 221 - '-' shift 222 - '!' shift 223 + ABSTRACT shift 1 + BOOLEAN shift 2 + CHAR shift 3 + CLASS shift 4 + FINAL shift 5 + INT shift 6 + PRIVATE shift 7 + PROTECTED shift 8 + PUBLIC shift 9 + PACKAGE shift 10 + IMPORT shift 11 + INTERFACE shift 12 + STATIC shift 13 + IDENTIFIER shift 14 . error - simplename goto 224 - qualifiedname goto 176 - name goto 278 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 225 - unaryexpressionnotplusminus goto 226 - unaryexpression goto 314 - lambdaexpression goto 188 - preincrementexpression goto 241 - predecrementexpression goto 242 - postincrementexpression goto 243 - postdecrementexpression goto 244 - methodinvocation goto 247 - castexpression goto 248 + compilationunit goto 74 + classdeclaration goto 16 + interfacedeclaration goto 17 + simplename goto 18 + importdeclaration goto 19 + importdeclarations goto 20 + classorinterfacetype goto 21 + integraltype goto 22 + numerictype goto 23 + primitivetype goto 24 + referencetype goto 25 + type goto 26 + modifiers goto 27 + modifier goto 28 + typedeclarations goto 29 + packagedeclaration goto 30 + typedeclaration goto 31 -state 224 - name : simplename . (9) +state 48 + classdeclaration : modifiers CLASS . classidentifier classbody (21) + classdeclaration : modifiers CLASS . classidentifier super classbody (23) + classdeclaration : modifiers CLASS . classidentifier interfaces classbody (25) + classdeclaration : modifiers CLASS . classidentifier super interfaces classbody (27) + + IDENTIFIER shift 32 + . error + + classidentifier goto 75 + + +state 49 + interfacedeclaration : modifiers INTERFACE . interfaceidentifier interfacebody (33) + interfacedeclaration : modifiers INTERFACE . interfaceidentifier extendsinterfaces interfacebody (35) + + IDENTIFIER shift 39 + . error + + interfaceidentifier goto 76 + + +state 50 + modifiers : modifiers modifier . (48) + + . reduce 48 + + +state 51 + typedeclarations : typedeclarations typedeclaration . (11) + + . reduce 11 + + +state 52 + compilationunit : packagedeclaration importdeclarations . typedeclarations (3) + importdeclarations : importdeclarations . importdeclaration (8) + + ABSTRACT shift 1 + CLASS shift 4 + FINAL shift 5 + PRIVATE shift 7 + PROTECTED shift 8 + PUBLIC shift 9 + IMPORT shift 11 + INTERFACE shift 12 + STATIC shift 13 + . error + + classdeclaration goto 16 + interfacedeclaration goto 17 + importdeclaration goto 43 + modifiers goto 27 + modifier goto 28 + typedeclarations goto 77 + typedeclaration goto 31 + + +state 53 + compilationunit : packagedeclaration typedeclarations . (4) + typedeclarations : typedeclarations . typedeclaration (11) + + ABSTRACT shift 1 + CLASS shift 4 + FINAL shift 5 + PRIVATE shift 7 + PROTECTED shift 8 + PUBLIC shift 9 + INTERFACE shift 12 + STATIC shift 13 + $end reduce 4 + + classdeclaration goto 16 + interfacedeclaration goto 17 + modifiers goto 27 + modifier goto 28 + typedeclaration goto 51 + + +state 54 + classidentifier : IDENTIFIER '<' . boundedClassParameters '>' (31) + + IDENTIFIER shift 78 + . error + + boundedMethodParameter goto 79 + boundedClassParameter goto 80 + boundedClassParameters goto 81 + + +state 55 + super : EXTENDS . classtype (49) + + IDENTIFIER shift 14 + . error + + simplename goto 18 + classtype goto 82 + classorinterfacetype goto 83 + + +state 56 + interfaces : IMPLEMENTS . interfacetype (50) + + IDENTIFIER shift 14 + . error + + simplename goto 18 + classorinterfacetype goto 84 + interfacetype goto 85 + + +state 57 + classbody : '{' . '}' (45) + classbody : '{' . classbodydeclarations '}' (46) + + ABSTRACT shift 1 + BOOLEAN shift 2 + CHAR shift 3 + FINAL shift 5 + INT shift 6 + PRIVATE shift 7 + PROTECTED shift 8 + PUBLIC shift 9 + STATIC shift 86 + VOID shift 87 + IDENTIFIER shift 88 + '<' shift 89 + '}' shift 90 + . error + + fielddeclaration goto 91 + methodheader goto 92 + methoddeclaration goto 93 + methoddeclarator goto 94 + classbodydeclarations goto 95 + classbodydeclaration goto 96 + classmemberdeclaration goto 97 + variabledeclarators goto 98 + fielddeclarator goto 99 + variabledeclarator goto 100 + variabledeclaratorid goto 101 + simplename goto 102 + classorinterfacetype goto 21 + integraltype goto 22 + numerictype goto 23 + primitivetype goto 24 + referencetype goto 25 + type goto 103 + modifiers goto 104 + modifier goto 28 + constructordeclaration goto 105 + constructordeclarator goto 106 + staticinitializer goto 107 + + +state 58 + classdeclaration : CLASS classidentifier classbody . (20) + + . reduce 20 + + +state 59 + classdeclaration : CLASS classidentifier super . classbody (22) + classdeclaration : CLASS classidentifier super . interfaces classbody (26) + + IMPLEMENTS shift 56 + '{' shift 57 + . error + + classbody goto 108 + interfaces goto 109 + + +state 60 + classdeclaration : CLASS classidentifier interfaces . classbody (24) + interfaces : interfaces . ',' interfacetype (51) + + ',' shift 110 + '{' shift 57 + . error + + classbody goto 111 + + +state 61 + packagedeclaration : PACKAGE name ';' . (6) + + . reduce 6 + + +state 62 + qualifiedname : name '.' . IDENTIFIER (16) + + IDENTIFIER shift 112 + . error + + +state 63 + importdeclaration : IMPORT importqualifiedname ';' . (9) . reduce 9 -225: shift/reduce conflict (shift 292, reduce 248) on INCREMENT -225: shift/reduce conflict (shift 293, reduce 248) on DECREMENT -state 225 - postincrementexpression : postfixexpression . INCREMENT (222) - postdecrementexpression : postfixexpression . DECREMENT (223) - unaryexpressionnotplusminus : postfixexpression . (248) +state 64 + qualifiedname : name '.' . IDENTIFIER (16) + importqualifiedname : name '.' . IDENTIFIER (17) + importqualifiedname : name '.' . '*' (18) - INCREMENT shift 292 - DECREMENT shift 293 - ABSTRACT reduce 248 - BOOLEAN reduce 248 - CHAR reduce 248 - FINAL reduce 248 - INSTANCEOF reduce 248 - INT reduce 248 - PRIVATE reduce 248 - PROTECTED reduce 248 - PUBLIC reduce 248 - STATIC reduce 248 - VOID reduce 248 - IDENTIFIER reduce 248 - EQUAL reduce 248 - LESSEQUAL reduce 248 - GREATEREQUAL reduce 248 - NOTEQUAL reduce 248 - LOGICALOR reduce 248 - LOGICALAND reduce 248 - ',' reduce 248 - ';' reduce 248 - '.' reduce 248 - '*' reduce 248 - '<' reduce 248 - '>' reduce 248 - '}' reduce 248 - ')' reduce 248 - '&' reduce 248 - '+' reduce 248 - '-' reduce 248 - '|' reduce 248 - '^' reduce 248 - '/' reduce 248 - '%' reduce 248 + IDENTIFIER shift 113 + '*' shift 114 + . error + + +state 65 + interfaceidentifier : IDENTIFIER '<' . boundedClassParameters '>' (29) + + IDENTIFIER shift 78 + . error + + boundedMethodParameter goto 79 + boundedClassParameter goto 80 + boundedClassParameters goto 115 + + +state 66 + extendsinterfaces : EXTENDS . interfacetype (54) + + IDENTIFIER shift 14 + . error + + simplename goto 18 + classorinterfacetype goto 84 + interfacetype goto 116 + + +state 67 + interfacebody : '{' . '}' (52) + interfacebody : '{' . interfacememberdeclarations '}' (53) + + ABSTRACT shift 1 + BOOLEAN shift 2 + CHAR shift 3 + FINAL shift 5 + INT shift 6 + PRIVATE shift 7 + PROTECTED shift 8 + PUBLIC shift 9 + STATIC shift 13 + VOID shift 87 + IDENTIFIER shift 117 + '<' shift 89 + '}' shift 118 + . error + + interfacememberdeclarations goto 119 + interfacememberdeclaration goto 120 + abstractmethoddeclaration goto 121 + constantdeclaration goto 122 + methodheader goto 123 + methoddeclarator goto 94 + simplename goto 18 + classorinterfacetype goto 21 + integraltype goto 22 + numerictype goto 23 + primitivetype goto 24 + referencetype goto 25 + type goto 124 + modifiers goto 125 + modifier goto 28 + + +state 68 + interfacedeclaration : INTERFACE interfaceidentifier interfacebody . (32) + + . reduce 32 + + +state 69 + interfacedeclaration : INTERFACE interfaceidentifier extendsinterfaces . interfacebody (34) + extendsinterfaces : extendsinterfaces . ',' interfacetype (55) + + ',' shift 126 + '{' shift 67 + . error + + interfacebody goto 127 + + +state 70 + typelist : type . (72) + + . reduce 72 + + +state 71 + typelist : typelist . ',' type (73) + parameter : '<' typelist . '>' (75) + + ',' shift 128 + '>' shift 129 + . error + + +state 72 + type : primitivetype '[' ']' . (133) + + . reduce 133 + + +state 73 + type : referencetype '[' ']' . (135) + + . reduce 135 + + +state 74 + compilationunit : type type compilationunit . (5) + + . reduce 5 + + +state 75 + classdeclaration : modifiers CLASS classidentifier . classbody (21) + classdeclaration : modifiers CLASS classidentifier . super classbody (23) + classdeclaration : modifiers CLASS classidentifier . interfaces classbody (25) + classdeclaration : modifiers CLASS classidentifier . super interfaces classbody (27) + + EXTENDS shift 55 + IMPLEMENTS shift 56 + '{' shift 57 + . error + + classbody goto 130 + super goto 131 + interfaces goto 132 + + +state 76 + interfacedeclaration : modifiers INTERFACE interfaceidentifier . interfacebody (33) + interfacedeclaration : modifiers INTERFACE interfaceidentifier . extendsinterfaces interfacebody (35) + + EXTENDS shift 66 + '{' shift 67 + . error + + interfacebody goto 133 + extendsinterfaces goto 134 + + +state 77 + compilationunit : packagedeclaration importdeclarations typedeclarations . (3) + typedeclarations : typedeclarations . typedeclaration (11) + + ABSTRACT shift 1 + CLASS shift 4 + FINAL shift 5 + PRIVATE shift 7 + PROTECTED shift 8 + PUBLIC shift 9 + INTERFACE shift 12 + STATIC shift 13 + $end reduce 3 + + classdeclaration goto 16 + interfacedeclaration goto 17 + modifiers goto 27 + modifier goto 28 + typedeclaration goto 51 + + +state 78 + boundedMethodParameter : IDENTIFIER . (105) + boundedMethodParameter : IDENTIFIER . EXTENDS boundedclassidentifierlist (106) + + EXTENDS shift 135 + ',' reduce 105 + '>' reduce 105 + + +state 79 + boundedClassParameter : boundedMethodParameter . (102) + + . reduce 102 + + +state 80 + boundedClassParameters : boundedClassParameter . (103) + + . reduce 103 + + +state 81 + classidentifier : IDENTIFIER '<' boundedClassParameters . '>' (31) + boundedClassParameters : boundedClassParameters . ',' boundedClassParameter (104) + + ',' shift 136 + '>' shift 137 + . error + + +state 82 + super : EXTENDS classtype . (49) + + . reduce 49 + + +state 83 + classtype : classorinterfacetype . (64) + + . reduce 64 + + +state 84 + interfacetype : classorinterfacetype . (67) + + . reduce 67 + + +state 85 + interfaces : IMPLEMENTS interfacetype . (50) + + . reduce 50 + + +state 86 + modifier : STATIC . (61) + staticinitializer : STATIC . block (80) + + '{' shift 138 + ABSTRACT reduce 61 + BOOLEAN reduce 61 + CHAR reduce 61 + FINAL reduce 61 + INT reduce 61 + PRIVATE reduce 61 + PROTECTED reduce 61 + PUBLIC reduce 61 + STATIC reduce 61 + VOID reduce 61 + IDENTIFIER reduce 61 + '<' reduce 61 + + block goto 139 + + +state 87 + methodheader : VOID . methoddeclarator (119) + methodheader : VOID . methoddeclarator throws (121) + + IDENTIFIER shift 140 + . error + + methoddeclarator goto 141 + + +88: shift/reduce conflict (shift 142, reduce 19) on '(' +state 88 + simplename : IDENTIFIER . (19) + methoddeclarator : IDENTIFIER . '(' ')' (147) + methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (148) + variabledeclaratorid : IDENTIFIER . (160) + + '(' shift 142 + BOOLEAN reduce 19 + CHAR reduce 19 + INT reduce 19 + IDENTIFIER reduce 19 + ',' reduce 160 + ';' reduce 160 + '<' reduce 19 + '=' reduce 160 + '[' reduce 19 + + +state 89 + methodheader : '<' . boundedMethodParameters '>' type methoddeclarator (111) + methodheader : '<' . boundedMethodParameters '>' type methoddeclarator throws (116) + methodheader : '<' . boundedMethodParameters '>' VOID methoddeclarator (123) + methodheader : '<' . boundedMethodParameters '>' VOID methoddeclarator throws (125) + methodheader : '<' . boundedMethodParameters '>' methoddeclarator (128) + + IDENTIFIER shift 78 + . error + + boundedMethodParameter goto 143 + boundedMethodParameters goto 144 + + +state 90 + classbody : '{' '}' . (45) + + . reduce 45 + + +state 91 + classmemberdeclaration : fielddeclaration . (78) + + . reduce 78 + + +state 92 + methoddeclaration : methodheader . methodbody (92) + + '{' shift 138 + . error + + block goto 145 + methodbody goto 146 + + +state 93 + classmemberdeclaration : methoddeclaration . (79) + + . reduce 79 + + +state 94 + methodheader : methoddeclarator . (127) + methodheader : methoddeclarator . throws (130) + + THROWS shift 147 + ';' reduce 127 + '{' reduce 127 + + throws goto 148 + + +state 95 + classbody : '{' classbodydeclarations . '}' (46) + classbodydeclarations : classbodydeclarations . classbodydeclaration (57) + + ABSTRACT shift 1 + BOOLEAN shift 2 + CHAR shift 3 + FINAL shift 5 + INT shift 6 + PRIVATE shift 7 + PROTECTED shift 8 + PUBLIC shift 9 + STATIC shift 86 + VOID shift 87 + IDENTIFIER shift 88 + '<' shift 89 + '}' shift 149 + . error + + fielddeclaration goto 91 + methodheader goto 92 + methoddeclaration goto 93 + methoddeclarator goto 94 + classbodydeclaration goto 150 + classmemberdeclaration goto 97 + variabledeclarators goto 98 + fielddeclarator goto 99 + variabledeclarator goto 100 + variabledeclaratorid goto 101 + simplename goto 102 + classorinterfacetype goto 21 + integraltype goto 22 + numerictype goto 23 + primitivetype goto 24 + referencetype goto 25 + type goto 103 + modifiers goto 104 + modifier goto 28 + constructordeclaration goto 105 + constructordeclarator goto 106 + staticinitializer goto 107 + + +state 96 + classbodydeclarations : classbodydeclaration . (56) + + . reduce 56 + + +state 97 + classbodydeclaration : classmemberdeclaration . (68) + + . reduce 68 + + +state 98 + fielddeclaration : variabledeclarators . ';' (89) + variabledeclarators : variabledeclarators . ',' variabledeclarator (137) + + ',' shift 151 + ';' shift 152 + . error + + +state 99 + fielddeclaration : fielddeclarator . ';' (87) + + ';' shift 153 + . error + + +state 100 + fielddeclarator : variabledeclarator . '=' expression (86) + variabledeclarators : variabledeclarator . (136) + + '=' shift 154 + ',' reduce 136 + ';' reduce 136 + + +state 101 + variabledeclarator : variabledeclaratorid . (152) + + . reduce 152 + + +state 102 + classorinterfacetype : simplename . parameter (71) + constructordeclarator : simplename . '(' ')' (95) + constructordeclarator : simplename . '(' formalparameterlist ')' (96) + parameter : . (74) + + '<' shift 41 + '(' shift 155 + BOOLEAN reduce 74 + CHAR reduce 74 + INT reduce 74 + IDENTIFIER reduce 74 + '[' reduce 74 + + parameter goto 42 + + +state 103 + fielddeclarator : type . variabledeclarator '=' expression (85) + fielddeclaration : type . fielddeclarator (88) + fielddeclaration : type . variabledeclarators ';' (90) + methodheader : type . methoddeclarator (112) + methodheader : type . methoddeclarator throws (115) + + BOOLEAN shift 2 + CHAR shift 3 + INT shift 6 + IDENTIFIER shift 88 + . error + + methoddeclarator goto 156 + variabledeclarators goto 157 + fielddeclarator goto 158 + variabledeclarator goto 159 + variabledeclaratorid goto 101 + simplename goto 18 + classorinterfacetype goto 21 + integraltype goto 22 + numerictype goto 23 + primitivetype goto 24 + referencetype goto 25 + type goto 160 + + +state 104 + modifiers : modifiers . modifier (48) + constructordeclaration : modifiers . constructordeclarator constructorbody (82) + fielddeclaration : modifiers . type variabledeclarators ';' (91) + methodheader : modifiers . type methoddeclarator (113) + methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator (114) + methodheader : modifiers . type methoddeclarator throws (117) + methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator throws (118) + methodheader : modifiers . VOID methoddeclarator (120) + methodheader : modifiers . VOID methoddeclarator throws (122) + methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator (124) + methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator throws (126) + methodheader : modifiers . methoddeclarator (129) + methodheader : modifiers . methoddeclarator throws (131) + + ABSTRACT shift 1 + BOOLEAN shift 2 + CHAR shift 3 + FINAL shift 5 + INT shift 6 + PRIVATE shift 7 + PROTECTED shift 8 + PUBLIC shift 9 + STATIC shift 13 + VOID shift 161 + IDENTIFIER shift 117 + '<' shift 162 + . error + + methoddeclarator goto 163 + simplename goto 102 + classorinterfacetype goto 21 + integraltype goto 22 + numerictype goto 23 + primitivetype goto 24 + referencetype goto 25 + type goto 164 + modifier goto 50 + constructordeclarator goto 165 + + +state 105 + classbodydeclaration : constructordeclaration . (70) + + . reduce 70 + + +state 106 + constructordeclaration : constructordeclarator . constructorbody (81) + + '{' shift 166 + . error + + constructorbody goto 167 + + +state 107 + classbodydeclaration : staticinitializer . (69) + + . reduce 69 + + +state 108 + classdeclaration : CLASS classidentifier super classbody . (22) + + . reduce 22 + + +state 109 + classdeclaration : CLASS classidentifier super interfaces . classbody (26) + interfaces : interfaces . ',' interfacetype (51) + + ',' shift 110 + '{' shift 57 + . error + + classbody goto 168 + + +state 110 + interfaces : interfaces ',' . interfacetype (51) + + IDENTIFIER shift 14 + . error + + simplename goto 18 + classorinterfacetype goto 84 + interfacetype goto 169 + + +state 111 + classdeclaration : CLASS classidentifier interfaces classbody . (24) + + . reduce 24 + + +state 112 + qualifiedname : name '.' IDENTIFIER . (16) + + . reduce 16 + + +state 113 + qualifiedname : name '.' IDENTIFIER . (16) + importqualifiedname : name '.' IDENTIFIER . (17) + + ';' reduce 17 + '.' reduce 16 + + +state 114 + importqualifiedname : name '.' '*' . (18) + + . reduce 18 + + +state 115 + interfaceidentifier : IDENTIFIER '<' boundedClassParameters . '>' (29) + boundedClassParameters : boundedClassParameters . ',' boundedClassParameter (104) + + ',' shift 136 + '>' shift 170 + . error + + +state 116 + extendsinterfaces : EXTENDS interfacetype . (54) + + . reduce 54 + + +117: shift/reduce conflict (shift 142, reduce 19) on '(' +state 117 + simplename : IDENTIFIER . (19) + methoddeclarator : IDENTIFIER . '(' ')' (147) + methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (148) + + '(' shift 142 + IDENTIFIER reduce 19 + '<' reduce 19 + '[' reduce 19 + + +state 118 + interfacebody : '{' '}' . (52) + + . reduce 52 + + +state 119 + interfacebody : '{' interfacememberdeclarations . '}' (53) + interfacememberdeclarations : interfacememberdeclarations . interfacememberdeclaration (66) + + ABSTRACT shift 1 + BOOLEAN shift 2 + CHAR shift 3 + FINAL shift 5 + INT shift 6 + PRIVATE shift 7 + PROTECTED shift 8 + PUBLIC shift 9 + STATIC shift 13 + VOID shift 87 + IDENTIFIER shift 117 + '<' shift 89 + '}' shift 171 + . error + + interfacememberdeclaration goto 172 + abstractmethoddeclaration goto 121 + constantdeclaration goto 122 + methodheader goto 123 + methoddeclarator goto 94 + simplename goto 18 + classorinterfacetype goto 21 + integraltype goto 22 + numerictype goto 23 + primitivetype goto 24 + referencetype goto 25 + type goto 124 + modifiers goto 125 + modifier goto 28 + + +state 120 + interfacememberdeclarations : interfacememberdeclaration . (65) + + . reduce 65 + + +state 121 + interfacememberdeclaration : abstractmethoddeclaration . (77) + + . reduce 77 + + +state 122 + interfacememberdeclaration : constantdeclaration . (76) + + . reduce 76 + + +state 123 + abstractmethoddeclaration : methodheader . ';' (84) + + ';' shift 173 + . error + + +state 124 + methodheader : type . methoddeclarator (112) + methodheader : type . methoddeclarator throws (115) + + IDENTIFIER shift 140 + . error + + methoddeclarator goto 156 + + +state 125 + modifiers : modifiers . modifier (48) + constantdeclaration : modifiers . type IDENTIFIER '=' expression ';' (83) + methodheader : modifiers . type methoddeclarator (113) + methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator (114) + methodheader : modifiers . type methoddeclarator throws (117) + methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator throws (118) + methodheader : modifiers . VOID methoddeclarator (120) + methodheader : modifiers . VOID methoddeclarator throws (122) + methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator (124) + methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator throws (126) + methodheader : modifiers . methoddeclarator (129) + methodheader : modifiers . methoddeclarator throws (131) + + ABSTRACT shift 1 + BOOLEAN shift 2 + CHAR shift 3 + FINAL shift 5 + INT shift 6 + PRIVATE shift 7 + PROTECTED shift 8 + PUBLIC shift 9 + STATIC shift 13 + VOID shift 161 + IDENTIFIER shift 117 + '<' shift 162 + . error + + methoddeclarator goto 163 + simplename goto 18 + classorinterfacetype goto 21 + integraltype goto 22 + numerictype goto 23 + primitivetype goto 24 + referencetype goto 25 + type goto 174 + modifier goto 50 + + +state 126 + extendsinterfaces : extendsinterfaces ',' . interfacetype (55) + + IDENTIFIER shift 14 + . error + + simplename goto 18 + classorinterfacetype goto 84 + interfacetype goto 175 + + +state 127 + interfacedeclaration : INTERFACE interfaceidentifier extendsinterfaces interfacebody . (34) + + . reduce 34 + + +state 128 + typelist : typelist ',' . type (73) + + BOOLEAN shift 2 + CHAR shift 3 + INT shift 6 + IDENTIFIER shift 14 + . error + + simplename goto 18 + classorinterfacetype goto 21 + integraltype goto 22 + numerictype goto 23 + primitivetype goto 24 + referencetype goto 25 + type goto 176 + + +state 129 + parameter : '<' typelist '>' . (75) + + . reduce 75 + + +state 130 + classdeclaration : modifiers CLASS classidentifier classbody . (21) + + . reduce 21 + + +state 131 + classdeclaration : modifiers CLASS classidentifier super . classbody (23) + classdeclaration : modifiers CLASS classidentifier super . interfaces classbody (27) + + IMPLEMENTS shift 56 + '{' shift 57 + . error + + classbody goto 177 + interfaces goto 178 + + +state 132 + classdeclaration : modifiers CLASS classidentifier interfaces . classbody (25) + interfaces : interfaces . ',' interfacetype (51) + + ',' shift 110 + '{' shift 57 + . error + + classbody goto 179 + + +state 133 + interfacedeclaration : modifiers INTERFACE interfaceidentifier interfacebody . (33) + + . reduce 33 + + +state 134 + interfacedeclaration : modifiers INTERFACE interfaceidentifier extendsinterfaces . interfacebody (35) + extendsinterfaces : extendsinterfaces . ',' interfacetype (55) + + ',' shift 126 + '{' shift 67 + . error + + interfacebody goto 180 + + +state 135 + boundedMethodParameter : IDENTIFIER EXTENDS . boundedclassidentifierlist (106) + + IDENTIFIER shift 14 + . error + + simplename goto 18 + classorinterfacetype goto 21 + referencetype goto 181 + boundedclassidentifierlist goto 182 + + +state 136 + boundedClassParameters : boundedClassParameters ',' . boundedClassParameter (104) + + IDENTIFIER shift 78 + . error + + boundedMethodParameter goto 79 + boundedClassParameter goto 183 + + +state 137 + classidentifier : IDENTIFIER '<' boundedClassParameters '>' . (31) + + . reduce 31 + + +state 138 + block : '{' . '}' (93) + block : '{' . blockstatements '}' (94) + + BOOLEAN shift 2 + CHAR shift 3 + FOR shift 184 + IF shift 185 + INT shift 6 + RETURN shift 186 + THIS shift 187 + WHILE shift 188 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 197 + INCREMENT shift 198 + DECREMENT shift 199 + ';' shift 200 + '{' shift 138 + '}' shift 201 + '(' shift 202 + . error + + variabledeclarators goto 203 + variabledeclarator goto 204 + variabledeclaratorid goto 101 + simplename goto 205 + qualifiedname goto 35 + name goto 206 + classorinterfacetype goto 21 + integraltype goto 22 + numerictype goto 23 + primitivetype goto 24 + referencetype goto 25 + type goto 207 + block goto 208 + blockstatements goto 209 + localvariabledeclarationstatement goto 210 + localvariabledeclaration goto 211 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 216 + lambdaexpression goto 217 + statementexpression goto 218 + preincrementexpression goto 219 + predecrementexpression goto 220 + postincrementexpression goto 221 + postdecrementexpression goto 222 + expressionstatement goto 223 + statementwithouttrailingsubstatement goto 224 + blockstatement goto 225 + statement goto 226 + whilestatement goto 227 + forstatement goto 228 + ifthenstatement goto 229 + ifthenelsestatement goto 230 + emptystatement goto 231 + returnstatement goto 232 + assignment goto 233 + lefthandside goto 234 + methodinvocation goto 235 + + +state 139 + staticinitializer : STATIC block . (80) + + . reduce 80 + + +state 140 + methoddeclarator : IDENTIFIER . '(' ')' (147) + methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (148) + + '(' shift 142 + . error + + +state 141 + methodheader : VOID methoddeclarator . (119) + methodheader : VOID methoddeclarator . throws (121) + + THROWS shift 147 + ';' reduce 119 + '{' reduce 119 + + throws goto 236 + + +state 142 + methoddeclarator : IDENTIFIER '(' . ')' (147) + methoddeclarator : IDENTIFIER '(' . formalparameterlist ')' (148) + + BOOLEAN shift 2 + CHAR shift 3 + INT shift 6 + IDENTIFIER shift 197 + ')' shift 237 + . error + + variabledeclaratorid goto 238 + simplename goto 18 + classorinterfacetype goto 21 + integraltype goto 22 + numerictype goto 23 + primitivetype goto 24 + referencetype goto 25 + type goto 239 + formalparameter goto 240 + formalparameterlist goto 241 + + +state 143 + boundedMethodParameters : boundedMethodParameter . (109) + + . reduce 109 + + +state 144 + boundedMethodParameters : boundedMethodParameters . ',' boundedMethodParameter (110) + methodheader : '<' boundedMethodParameters . '>' type methoddeclarator (111) + methodheader : '<' boundedMethodParameters . '>' type methoddeclarator throws (116) + methodheader : '<' boundedMethodParameters . '>' VOID methoddeclarator (123) + methodheader : '<' boundedMethodParameters . '>' VOID methoddeclarator throws (125) + methodheader : '<' boundedMethodParameters . '>' methoddeclarator (128) + + ',' shift 242 + '>' shift 243 + . error + + +state 145 + methodbody : block . (138) + + . reduce 138 + + +state 146 + methoddeclaration : methodheader methodbody . (92) + + . reduce 92 + + +state 147 + throws : THROWS . classtypelist (101) + + IDENTIFIER shift 14 + . error + + simplename goto 18 + classtype goto 244 + classorinterfacetype goto 83 + classtypelist goto 245 + + +state 148 + methodheader : methoddeclarator throws . (130) + + . reduce 130 + + +state 149 + classbody : '{' classbodydeclarations '}' . (46) + + . reduce 46 + + +state 150 + classbodydeclarations : classbodydeclarations classbodydeclaration . (57) + + . reduce 57 + + +state 151 + variabledeclarators : variabledeclarators ',' . variabledeclarator (137) + + IDENTIFIER shift 246 + . error + + variabledeclarator goto 247 + variabledeclaratorid goto 101 + + +state 152 + fielddeclaration : variabledeclarators ';' . (89) + + . reduce 89 + + +state 153 + fielddeclaration : fielddeclarator ';' . (87) + + . reduce 87 + + +state 154 + fielddeclarator : variabledeclarator '=' . expression (86) + + NEW shift 248 + THIS shift 187 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 14 + INCREMENT shift 198 + DECREMENT shift 199 + '(' shift 249 + '+' shift 250 + '-' shift 251 + '!' shift 252 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 206 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 253 + unaryexpressionnotplusminus goto 254 + unaryexpression goto 255 + multiplicativeexpression goto 256 + additiveexpression goto 257 + shiftexpression goto 258 + relationalexpression goto 259 + equalityexpression goto 260 + andexpression goto 261 + exclusiveorexpression goto 262 + inclusiveorexpression goto 263 + conditionalandexpression goto 264 + conditionalorexpression goto 265 + conditionalexpression goto 266 + assignmentexpression goto 267 + lambdaexpression goto 217 + expression goto 268 + preincrementexpression goto 269 + predecrementexpression goto 270 + postincrementexpression goto 271 + postdecrementexpression goto 272 + classinstancecreationexpression goto 273 + assignment goto 274 + lefthandside goto 234 + methodinvocation goto 275 + castexpression goto 276 + + +state 155 + constructordeclarator : simplename '(' . ')' (95) + constructordeclarator : simplename '(' . formalparameterlist ')' (96) + + BOOLEAN shift 2 + CHAR shift 3 + INT shift 6 + IDENTIFIER shift 197 + ')' shift 277 + . error + + variabledeclaratorid goto 238 + simplename goto 18 + classorinterfacetype goto 21 + integraltype goto 22 + numerictype goto 23 + primitivetype goto 24 + referencetype goto 25 + type goto 239 + formalparameter goto 240 + formalparameterlist goto 278 + + +state 156 + methodheader : type methoddeclarator . (112) + methodheader : type methoddeclarator . throws (115) + + THROWS shift 147 + ';' reduce 112 + '{' reduce 112 + + throws goto 279 + + +state 157 + fielddeclaration : type variabledeclarators . ';' (90) + variabledeclarators : variabledeclarators . ',' variabledeclarator (137) + + ',' shift 151 + ';' shift 280 + . error + + +state 158 + fielddeclaration : type fielddeclarator . (88) + + . reduce 88 + + +state 159 + fielddeclarator : type variabledeclarator . '=' expression (85) + fielddeclarator : variabledeclarator . '=' expression (86) + variabledeclarators : variabledeclarator . (136) + + '=' shift 281 + ',' reduce 136 + ';' reduce 136 + + +state 160 + fielddeclarator : type . variabledeclarator '=' expression (85) + + IDENTIFIER shift 246 + . error + + variabledeclarator goto 282 + variabledeclaratorid goto 101 + + +state 161 + methodheader : modifiers VOID . methoddeclarator (120) + methodheader : modifiers VOID . methoddeclarator throws (122) + + IDENTIFIER shift 140 + . error + + methoddeclarator goto 283 + + +state 162 + methodheader : modifiers '<' . boundedMethodParameters '>' type methoddeclarator (114) + methodheader : modifiers '<' . boundedMethodParameters '>' type methoddeclarator throws (118) + methodheader : modifiers '<' . boundedMethodParameters '>' VOID methoddeclarator (124) + methodheader : modifiers '<' . boundedMethodParameters '>' VOID methoddeclarator throws (126) + + IDENTIFIER shift 78 + . error + + boundedMethodParameter goto 143 + boundedMethodParameters goto 284 + + +state 163 + methodheader : modifiers methoddeclarator . (129) + methodheader : modifiers methoddeclarator . throws (131) + + THROWS shift 147 + ';' reduce 129 + '{' reduce 129 + + throws goto 285 + + +state 164 + fielddeclaration : modifiers type . variabledeclarators ';' (91) + methodheader : modifiers type . methoddeclarator (113) + methodheader : modifiers type . methoddeclarator throws (117) + + IDENTIFIER shift 286 + . error + + methoddeclarator goto 287 + variabledeclarators goto 288 + variabledeclarator goto 204 + variabledeclaratorid goto 101 + + +state 165 + constructordeclaration : modifiers constructordeclarator . constructorbody (82) + + '{' shift 166 + . error + + constructorbody goto 289 + + +state 166 + constructorbody : '{' . '}' (97) + constructorbody : '{' . explicitconstructorinvocation '}' (98) + constructorbody : '{' . blockstatements '}' (99) + constructorbody : '{' . explicitconstructorinvocation blockstatements '}' (100) + + BOOLEAN shift 2 + CHAR shift 3 + FOR shift 184 + IF shift 185 + INT shift 6 + RETURN shift 186 + THIS shift 290 + WHILE shift 188 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 197 + INCREMENT shift 198 + DECREMENT shift 199 + ';' shift 200 + '{' shift 138 + '}' shift 291 + '(' shift 202 + . error + + variabledeclarators goto 203 + variabledeclarator goto 204 + variabledeclaratorid goto 101 + simplename goto 205 + qualifiedname goto 35 + name goto 206 + classorinterfacetype goto 21 + integraltype goto 22 + numerictype goto 23 + primitivetype goto 24 + referencetype goto 25 + type goto 207 + block goto 208 + blockstatements goto 292 + localvariabledeclarationstatement goto 210 + localvariabledeclaration goto 211 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 216 + lambdaexpression goto 217 + statementexpression goto 218 + preincrementexpression goto 219 + predecrementexpression goto 220 + postincrementexpression goto 221 + postdecrementexpression goto 222 + expressionstatement goto 223 + statementwithouttrailingsubstatement goto 224 + blockstatement goto 225 + statement goto 226 + whilestatement goto 227 + forstatement goto 228 + ifthenstatement goto 229 + ifthenelsestatement goto 230 + emptystatement goto 231 + returnstatement goto 232 + assignment goto 233 + lefthandside goto 234 + methodinvocation goto 235 + explicitconstructorinvocation goto 293 + + +state 167 + constructordeclaration : constructordeclarator constructorbody . (81) + + . reduce 81 + + +state 168 + classdeclaration : CLASS classidentifier super interfaces classbody . (26) + + . reduce 26 + + +state 169 + interfaces : interfaces ',' interfacetype . (51) + + . reduce 51 + + +state 170 + interfaceidentifier : IDENTIFIER '<' boundedClassParameters '>' . (29) + + . reduce 29 + + +state 171 + interfacebody : '{' interfacememberdeclarations '}' . (53) + + . reduce 53 + + +state 172 + interfacememberdeclarations : interfacememberdeclarations interfacememberdeclaration . (66) + + . reduce 66 + + +state 173 + abstractmethoddeclaration : methodheader ';' . (84) + + . reduce 84 + + +state 174 + constantdeclaration : modifiers type . IDENTIFIER '=' expression ';' (83) + methodheader : modifiers type . methoddeclarator (113) + methodheader : modifiers type . methoddeclarator throws (117) + + IDENTIFIER shift 294 + . error + + methoddeclarator goto 287 + + +state 175 + extendsinterfaces : extendsinterfaces ',' interfacetype . (55) + + . reduce 55 + + +state 176 + typelist : typelist ',' type . (73) + + . reduce 73 + + +state 177 + classdeclaration : modifiers CLASS classidentifier super classbody . (23) + + . reduce 23 + + +state 178 + classdeclaration : modifiers CLASS classidentifier super interfaces . classbody (27) + interfaces : interfaces . ',' interfacetype (51) + + ',' shift 110 + '{' shift 57 + . error + + classbody goto 295 + + +state 179 + classdeclaration : modifiers CLASS classidentifier interfaces classbody . (25) + + . reduce 25 + + +state 180 + interfacedeclaration : modifiers INTERFACE interfaceidentifier extendsinterfaces interfacebody . (35) + + . reduce 35 + + +state 181 + boundedclassidentifierlist : referencetype . (107) + + . reduce 107 + + +state 182 + boundedMethodParameter : IDENTIFIER EXTENDS boundedclassidentifierlist . (106) + boundedclassidentifierlist : boundedclassidentifierlist . '&' referencetype (108) + + '&' shift 296 + ',' reduce 106 + '>' reduce 106 + + +state 183 + boundedClassParameters : boundedClassParameters ',' boundedClassParameter . (104) + + . reduce 104 + + +state 184 + forstatement : FOR . '(' expression ';' expression ';' expression ')' statement (181) + forstatement : FOR . '(' expression ';' expression ';' ')' statement (182) + forstatement : FOR . '(' expression ';' ';' expression ')' statement (183) + forstatement : FOR . '(' ';' expression ';' expression ')' statement (184) + forstatement : FOR . '(' expression ';' ';' ')' statement (185) + forstatement : FOR . '(' ';' expression ';' ')' statement (186) + forstatement : FOR . '(' ';' ';' expression ')' statement (187) + forstatement : FOR . '(' ';' ';' ')' statement (188) + + '(' shift 297 + . error + + +state 185 + ifthenstatement : IF . '(' expression ')' statement (178) + ifthenelsestatement : IF . '(' expression ')' statementnoshortif ELSE statement (179) + + '(' shift 298 + . error + + +state 186 + returnstatement : RETURN . ';' (193) + returnstatement : RETURN . expression ';' (194) + + NEW shift 248 + THIS shift 187 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 14 + INCREMENT shift 198 + DECREMENT shift 199 + ';' shift 299 + '(' shift 249 + '+' shift 250 + '-' shift 251 + '!' shift 252 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 206 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 253 + unaryexpressionnotplusminus goto 254 + unaryexpression goto 255 + multiplicativeexpression goto 256 + additiveexpression goto 257 + shiftexpression goto 258 + relationalexpression goto 259 + equalityexpression goto 260 + andexpression goto 261 + exclusiveorexpression goto 262 + inclusiveorexpression goto 263 + conditionalandexpression goto 264 + conditionalorexpression goto 265 + conditionalexpression goto 266 + assignmentexpression goto 267 + lambdaexpression goto 217 + expression goto 300 + preincrementexpression goto 269 + predecrementexpression goto 270 + postincrementexpression goto 271 + postdecrementexpression goto 272 + classinstancecreationexpression goto 273 + assignment goto 274 + lefthandside goto 234 + methodinvocation goto 275 + castexpression goto 276 + + +state 187 + primarynonewarray : THIS . (249) + + . reduce 249 + + +state 188 + whilestatement : WHILE . '(' expression ')' statement (180) + + '(' shift 301 + . error + + +state 189 + literal : INTLITERAL . (257) + + . reduce 257 + + +state 190 + literal : LONGLITERAL . (261) + + . reduce 261 + + +state 191 + literal : DOUBLELITERAL . (263) + + . reduce 263 + + +state 192 + literal : FLOATLITERAL . (262) + + . reduce 262 + + +state 193 + literal : BOOLLITERAL . (258) + + . reduce 258 + + +state 194 + literal : JNULL . (264) + + . reduce 264 + + +state 195 + literal : CHARLITERAL . (259) + + . reduce 259 + + +state 196 + literal : STRINGLITERAL . (260) + + . reduce 260 + + +state 197 + simplename : IDENTIFIER . (19) + variabledeclaratorid : IDENTIFIER . (160) + + IDENTIFIER reduce 19 + INCREMENT reduce 19 + DECREMENT reduce 19 + PLUSEQUAL reduce 19 + MINUSEQUAL reduce 19 + TIMESEQUAL reduce 19 + DIVIDEEQUAL reduce 19 + MODULOEQUAL reduce 19 + ',' reduce 160 + ';' reduce 160 + '.' reduce 19 + '<' reduce 19 + '=' reduce 19 + '(' reduce 19 + ')' reduce 160 + '[' reduce 19 + + +state 198 + preincrementexpression : INCREMENT . unaryexpression (224) + + THIS shift 187 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 14 + INCREMENT shift 198 + DECREMENT shift 199 + '(' shift 249 + '+' shift 250 + '-' shift 251 + '!' shift 252 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 302 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 253 + unaryexpressionnotplusminus goto 254 + unaryexpression goto 303 + lambdaexpression goto 217 + preincrementexpression goto 269 + predecrementexpression goto 270 + postincrementexpression goto 271 + postdecrementexpression goto 272 + methodinvocation goto 275 + castexpression goto 276 + + +state 199 + predecrementexpression : DECREMENT . unaryexpression (225) + + THIS shift 187 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 14 + INCREMENT shift 198 + DECREMENT shift 199 + '(' shift 249 + '+' shift 250 + '-' shift 251 + '!' shift 252 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 302 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 253 + unaryexpressionnotplusminus goto 254 + unaryexpression goto 304 + lambdaexpression goto 217 + preincrementexpression goto 269 + predecrementexpression goto 270 + postincrementexpression goto 271 + postdecrementexpression goto 272 + methodinvocation goto 275 + castexpression goto 276 + + +state 200 + emptystatement : ';' . (191) + + . reduce 191 + + +state 201 + block : '{' '}' . (93) + + . reduce 93 + + +state 202 + lambdaexpressionparameter : '(' . ')' (214) + lambdaexpressionparameter : '(' . formalparameterlist ')' (215) + + BOOLEAN shift 2 + CHAR shift 3 + INT shift 6 + IDENTIFIER shift 197 + ')' shift 305 + . error + + variabledeclaratorid goto 238 + simplename goto 18 + classorinterfacetype goto 21 + integraltype goto 22 + numerictype goto 23 + primitivetype goto 24 + referencetype goto 25 + type goto 239 + formalparameter goto 240 + formalparameterlist goto 306 + + +state 203 + variabledeclarators : variabledeclarators . ',' variabledeclarator (137) + localvariabledeclaration : variabledeclarators . (173) + + ',' shift 151 + ';' reduce 173 + + +state 204 + variabledeclarators : variabledeclarator . (136) + + . reduce 136 + + +state 205 + name : simplename . (13) + classorinterfacetype : simplename . parameter (71) + parameter : . (74) + + '<' shift 41 + IDENTIFIER reduce 74 + INCREMENT reduce 13 + DECREMENT reduce 13 + PLUSEQUAL reduce 13 + MINUSEQUAL reduce 13 + TIMESEQUAL reduce 13 + DIVIDEEQUAL reduce 13 + MODULOEQUAL reduce 13 + '.' reduce 13 + '=' reduce 13 + '(' reduce 13 + '[' reduce 74 + + parameter goto 42 + + +206: shift/reduce conflict (shift 62, reduce 242) on '.' +state 206 + qualifiedname : name . '.' IDENTIFIER (16) + lefthandside : name . (217) + methodinvocation : name . '(' ')' (228) + methodinvocation : name . '(' argumentlist ')' (229) + postfixexpression : name . (242) + + '.' shift 62 + '(' shift 307 + ABSTRACT reduce 242 + BOOLEAN reduce 242 + CHAR reduce 242 + FINAL reduce 242 + INSTANCEOF reduce 242 + INT reduce 242 + PRIVATE reduce 242 + PROTECTED reduce 242 + PUBLIC reduce 242 + STATIC reduce 242 + VOID reduce 242 + IDENTIFIER reduce 242 + EQUAL reduce 242 + LESSEQUAL reduce 242 + GREATEREQUAL reduce 242 + NOTEQUAL reduce 242 + LOGICALOR reduce 242 + LOGICALAND reduce 242 + INCREMENT reduce 242 + DECREMENT reduce 242 + PLUSEQUAL reduce 217 + MINUSEQUAL reduce 217 + TIMESEQUAL reduce 217 + DIVIDEEQUAL reduce 217 + MODULOEQUAL reduce 217 + ',' reduce 242 + ';' reduce 242 + '*' reduce 242 + '<' reduce 242 + '>' reduce 242 + '}' reduce 242 + '=' reduce 217 + ')' reduce 242 + '&' reduce 242 + '+' reduce 242 + '-' reduce 242 + '|' reduce 242 + '^' reduce 242 + '/' reduce 242 + '%' reduce 242 + + +state 207 + localvariabledeclaration : type . variabledeclarators (172) + + IDENTIFIER shift 246 + . error + + variabledeclarators goto 308 + variabledeclarator goto 204 + variabledeclaratorid goto 101 + + +state 208 + statementwithouttrailingsubstatement : block . (174) + + . reduce 174 + + +state 209 + block : '{' blockstatements . '}' (94) + blockstatements : blockstatements . blockstatement (140) + + BOOLEAN shift 2 + CHAR shift 3 + FOR shift 184 + IF shift 185 + INT shift 6 + RETURN shift 186 + THIS shift 187 + WHILE shift 188 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 197 + INCREMENT shift 198 + DECREMENT shift 199 + ';' shift 200 + '{' shift 138 + '}' shift 309 + '(' shift 202 + . error + + variabledeclarators goto 203 + variabledeclarator goto 204 + variabledeclaratorid goto 101 + simplename goto 205 + qualifiedname goto 35 + name goto 206 + classorinterfacetype goto 21 + integraltype goto 22 + numerictype goto 23 + primitivetype goto 24 + referencetype goto 25 + type goto 207 + block goto 208 + localvariabledeclarationstatement goto 210 + localvariabledeclaration goto 211 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 216 + lambdaexpression goto 217 + statementexpression goto 218 + preincrementexpression goto 219 + predecrementexpression goto 220 + postincrementexpression goto 221 + postdecrementexpression goto 222 + expressionstatement goto 223 + statementwithouttrailingsubstatement goto 224 + blockstatement goto 310 + statement goto 226 + whilestatement goto 227 + forstatement goto 228 + ifthenstatement goto 229 + ifthenelsestatement goto 230 + emptystatement goto 231 + returnstatement goto 232 + assignment goto 233 + lefthandside goto 234 + methodinvocation goto 235 + + +state 210 + blockstatement : localvariabledeclarationstatement . (153) + + . reduce 153 + + +state 211 + localvariabledeclarationstatement : localvariabledeclaration . ';' (162) + + ';' shift 311 + . error + + +state 212 + lambdaexpression : lambdaexpressionparameter . lambdaassignmentoperator lambdabody (216) + + LAMBDAASSIGNMENT shift 312 + . error + + lambdaassignmentoperator goto 313 + + +state 213 + primarynonewarray : literal . (248) + + . reduce 248 + + +state 214 + primary : primarynonewarray . (245) + + . reduce 245 + + +215: shift/reduce conflict (shift 314, reduce 241) on '.' +state 215 + methodinvocation : primary . '.' IDENTIFIER '(' ')' (230) + methodinvocation : primary . '.' IDENTIFIER '(' argumentlist ')' (231) + postfixexpression : primary . (241) + + '.' shift 314 + ABSTRACT reduce 241 + BOOLEAN reduce 241 + CHAR reduce 241 + FINAL reduce 241 + INSTANCEOF reduce 241 + INT reduce 241 + PRIVATE reduce 241 + PROTECTED reduce 241 + PUBLIC reduce 241 + STATIC reduce 241 + VOID reduce 241 + IDENTIFIER reduce 241 + EQUAL reduce 241 + LESSEQUAL reduce 241 + GREATEREQUAL reduce 241 + NOTEQUAL reduce 241 + LOGICALOR reduce 241 + LOGICALAND reduce 241 + INCREMENT reduce 241 + DECREMENT reduce 241 + ',' reduce 241 + ';' reduce 241 + '*' reduce 241 + '<' reduce 241 + '>' reduce 241 + '}' reduce 241 + ')' reduce 241 + '&' reduce 241 + '+' reduce 241 + '-' reduce 241 + '|' reduce 241 + '^' reduce 241 + '/' reduce 241 + '%' reduce 241 + + +state 216 + postincrementexpression : postfixexpression . INCREMENT (226) + postdecrementexpression : postfixexpression . DECREMENT (227) + + INCREMENT shift 315 + DECREMENT shift 316 + . error + + +state 217 + primarynonewarray : lambdaexpression . (251) + + . reduce 251 + + +state 218 + expressionstatement : statementexpression . ';' (192) + + ';' shift 317 + . error + + +state 219 + statementexpression : preincrementexpression . (202) + + . reduce 202 + + +state 220 + statementexpression : predecrementexpression . (203) + + . reduce 203 + + +state 221 + statementexpression : postincrementexpression . (204) + postfixexpression : postincrementexpression . (243) + + INCREMENT reduce 243 + DECREMENT reduce 243 + ';' reduce 204 + + +state 222 + statementexpression : postdecrementexpression . (205) + postfixexpression : postdecrementexpression . (244) + + INCREMENT reduce 244 + DECREMENT reduce 244 + ';' reduce 205 + + +state 223 + statementwithouttrailingsubstatement : expressionstatement . (176) + + . reduce 176 + + +state 224 + statement : statementwithouttrailingsubstatement . (163) + + . reduce 163 + + +state 225 + blockstatements : blockstatement . (139) + + . reduce 139 state 226 - unaryexpression : unaryexpressionnotplusminus . (236) + blockstatement : statement . (154) + + . reduce 154 + + +state 227 + statement : whilestatement . (166) + + . reduce 166 + + +state 228 + statement : forstatement . (167) + + . reduce 167 + + +state 229 + statement : ifthenstatement . (164) + + . reduce 164 + + +state 230 + statement : ifthenelsestatement . (165) + + . reduce 165 + + +state 231 + statementwithouttrailingsubstatement : emptystatement . (175) + + . reduce 175 + + +state 232 + statementwithouttrailingsubstatement : returnstatement . (177) + + . reduce 177 + + +state 233 + statementexpression : assignment . (201) + + . reduce 201 + + +state 234 + assignment : lefthandside . assignmentoperator assignmentexpression (199) + assignment : lefthandside . assignmentoperator classinstancecreationexpression (200) + + PLUSEQUAL shift 318 + MINUSEQUAL shift 319 + TIMESEQUAL shift 320 + DIVIDEEQUAL shift 321 + MODULOEQUAL shift 322 + '=' shift 323 + . error + + assignmentoperator goto 324 + + +state 235 + statementexpression : methodinvocation . (206) + primarynonewarray : methodinvocation . (250) + + INCREMENT reduce 250 + DECREMENT reduce 250 + ';' reduce 206 + '.' reduce 250 + + +state 236 + methodheader : VOID methoddeclarator throws . (121) + + . reduce 121 + + +state 237 + methoddeclarator : IDENTIFIER '(' ')' . (147) + + . reduce 147 + + +state 238 + formalparameter : variabledeclaratorid . (156) + + . reduce 156 + + +state 239 + formalparameter : type . variabledeclaratorid (155) + + IDENTIFIER shift 246 + . error + + variabledeclaratorid goto 325 + + +state 240 + formalparameterlist : formalparameter . (141) + + . reduce 141 + + +state 241 + formalparameterlist : formalparameterlist . ',' formalparameter (142) + methoddeclarator : IDENTIFIER '(' formalparameterlist . ')' (148) + + ',' shift 326 + ')' shift 327 + . error + + +state 242 + boundedMethodParameters : boundedMethodParameters ',' . boundedMethodParameter (110) + + IDENTIFIER shift 78 + . error + + boundedMethodParameter goto 328 + + +state 243 + methodheader : '<' boundedMethodParameters '>' . type methoddeclarator (111) + methodheader : '<' boundedMethodParameters '>' . type methoddeclarator throws (116) + methodheader : '<' boundedMethodParameters '>' . VOID methoddeclarator (123) + methodheader : '<' boundedMethodParameters '>' . VOID methoddeclarator throws (125) + methodheader : '<' boundedMethodParameters '>' . methoddeclarator (128) + + BOOLEAN shift 2 + CHAR shift 3 + INT shift 6 + VOID shift 329 + IDENTIFIER shift 117 + . error + + methoddeclarator goto 330 + simplename goto 18 + classorinterfacetype goto 21 + integraltype goto 22 + numerictype goto 23 + primitivetype goto 24 + referencetype goto 25 + type goto 331 + + +state 244 + classtypelist : classtype . (145) + + . reduce 145 + + +state 245 + throws : THROWS classtypelist . (101) + classtypelist : classtypelist . ',' classtype (146) + + ',' shift 332 + ';' reduce 101 + '{' reduce 101 + + +state 246 + variabledeclaratorid : IDENTIFIER . (160) + + . reduce 160 + + +state 247 + variabledeclarators : variabledeclarators ',' variabledeclarator . (137) + + . reduce 137 + + +state 248 + classinstancecreationexpression : NEW . classtype '(' ')' (232) + classinstancecreationexpression : NEW . classtype '(' argumentlist ')' (233) + + IDENTIFIER shift 14 + . error + + simplename goto 18 + classtype goto 333 + classorinterfacetype goto 83 + + +state 249 + lambdaexpressionparameter : '(' . ')' (214) + lambdaexpressionparameter : '(' . formalparameterlist ')' (215) + castexpression : '(' . primitivetype ')' unaryexpression (265) + + BOOLEAN shift 2 + CHAR shift 3 + INT shift 6 + IDENTIFIER shift 197 + ')' shift 305 + . error + + variabledeclaratorid goto 238 + simplename goto 18 + classorinterfacetype goto 21 + integraltype goto 22 + numerictype goto 23 + primitivetype goto 334 + referencetype goto 25 + type goto 239 + formalparameter goto 240 + formalparameterlist goto 306 + + +state 250 + unaryexpression : '+' . unaryexpression (238) + + THIS shift 187 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 14 + INCREMENT shift 198 + DECREMENT shift 199 + '(' shift 249 + '+' shift 250 + '-' shift 251 + '!' shift 252 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 302 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 253 + unaryexpressionnotplusminus goto 254 + unaryexpression goto 335 + lambdaexpression goto 217 + preincrementexpression goto 269 + predecrementexpression goto 270 + postincrementexpression goto 271 + postdecrementexpression goto 272 + methodinvocation goto 275 + castexpression goto 276 + + +state 251 + unaryexpression : '-' . unaryexpression (239) + + THIS shift 187 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 14 + INCREMENT shift 198 + DECREMENT shift 199 + '(' shift 249 + '+' shift 250 + '-' shift 251 + '!' shift 252 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 302 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 253 + unaryexpressionnotplusminus goto 254 + unaryexpression goto 336 + lambdaexpression goto 217 + preincrementexpression goto 269 + predecrementexpression goto 270 + postincrementexpression goto 271 + postdecrementexpression goto 272 + methodinvocation goto 275 + castexpression goto 276 + + +state 252 + unaryexpressionnotplusminus : '!' . unaryexpression (253) + + THIS shift 187 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 14 + INCREMENT shift 198 + DECREMENT shift 199 + '(' shift 249 + '+' shift 250 + '-' shift 251 + '!' shift 252 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 302 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 253 + unaryexpressionnotplusminus goto 254 + unaryexpression goto 337 + lambdaexpression goto 217 + preincrementexpression goto 269 + predecrementexpression goto 270 + postincrementexpression goto 271 + postdecrementexpression goto 272 + methodinvocation goto 275 + castexpression goto 276 + + +253: shift/reduce conflict (shift 315, reduce 252) on INCREMENT +253: shift/reduce conflict (shift 316, reduce 252) on DECREMENT +state 253 + postincrementexpression : postfixexpression . INCREMENT (226) + postdecrementexpression : postfixexpression . DECREMENT (227) + unaryexpressionnotplusminus : postfixexpression . (252) + + INCREMENT shift 315 + DECREMENT shift 316 + ABSTRACT reduce 252 + BOOLEAN reduce 252 + CHAR reduce 252 + FINAL reduce 252 + INSTANCEOF reduce 252 + INT reduce 252 + PRIVATE reduce 252 + PROTECTED reduce 252 + PUBLIC reduce 252 + STATIC reduce 252 + VOID reduce 252 + IDENTIFIER reduce 252 + EQUAL reduce 252 + LESSEQUAL reduce 252 + GREATEREQUAL reduce 252 + NOTEQUAL reduce 252 + LOGICALOR reduce 252 + LOGICALAND reduce 252 + ',' reduce 252 + ';' reduce 252 + '.' reduce 252 + '*' reduce 252 + '<' reduce 252 + '>' reduce 252 + '}' reduce 252 + ')' reduce 252 + '&' reduce 252 + '+' reduce 252 + '-' reduce 252 + '|' reduce 252 + '^' reduce 252 + '/' reduce 252 + '%' reduce 252 + + +state 254 + unaryexpression : unaryexpressionnotplusminus . (240) + + . reduce 240 + + +state 255 + multiplicativeexpression : unaryexpression . (281) + + . reduce 281 + + +256: shift/reduce conflict (shift 338, reduce 278) on '*' +256: shift/reduce conflict (shift 339, reduce 278) on '/' +256: shift/reduce conflict (shift 340, reduce 278) on '%' +state 256 + additiveexpression : multiplicativeexpression . (278) + multiplicativeexpression : multiplicativeexpression . '*' unaryexpression (282) + multiplicativeexpression : multiplicativeexpression . '/' unaryexpression (283) + multiplicativeexpression : multiplicativeexpression . '%' unaryexpression (284) + + '*' shift 338 + '/' shift 339 + '%' shift 340 + ABSTRACT reduce 278 + BOOLEAN reduce 278 + CHAR reduce 278 + FINAL reduce 278 + INSTANCEOF reduce 278 + INT reduce 278 + PRIVATE reduce 278 + PROTECTED reduce 278 + PUBLIC reduce 278 + STATIC reduce 278 + VOID reduce 278 + IDENTIFIER reduce 278 + EQUAL reduce 278 + LESSEQUAL reduce 278 + GREATEREQUAL reduce 278 + NOTEQUAL reduce 278 + LOGICALOR reduce 278 + LOGICALAND reduce 278 + INCREMENT reduce 278 + DECREMENT reduce 278 + ',' reduce 278 + ';' reduce 278 + '.' reduce 278 + '<' reduce 278 + '>' reduce 278 + '}' reduce 278 + ')' reduce 278 + '&' reduce 278 + '+' reduce 278 + '-' reduce 278 + '|' reduce 278 + '^' reduce 278 + + +257: shift/reduce conflict (shift 341, reduce 277) on '+' +257: shift/reduce conflict (shift 342, reduce 277) on '-' +state 257 + shiftexpression : additiveexpression . (277) + additiveexpression : additiveexpression . '+' multiplicativeexpression (279) + additiveexpression : additiveexpression . '-' multiplicativeexpression (280) + + '+' shift 341 + '-' shift 342 + ABSTRACT reduce 277 + BOOLEAN reduce 277 + CHAR reduce 277 + FINAL reduce 277 + INSTANCEOF reduce 277 + INT reduce 277 + PRIVATE reduce 277 + PROTECTED reduce 277 + PUBLIC reduce 277 + STATIC reduce 277 + VOID reduce 277 + IDENTIFIER reduce 277 + EQUAL reduce 277 + LESSEQUAL reduce 277 + GREATEREQUAL reduce 277 + NOTEQUAL reduce 277 + LOGICALOR reduce 277 + LOGICALAND reduce 277 + INCREMENT reduce 277 + DECREMENT reduce 277 + ',' reduce 277 + ';' reduce 277 + '.' reduce 277 + '*' reduce 277 + '<' reduce 277 + '>' reduce 277 + '}' reduce 277 + ')' reduce 277 + '&' reduce 277 + '|' reduce 277 + '^' reduce 277 + '/' reduce 277 + '%' reduce 277 + + +state 258 + relationalexpression : shiftexpression . (271) + + . reduce 271 + + +259: shift/reduce conflict (shift 343, reduce 268) on INSTANCEOF +259: shift/reduce conflict (shift 344, reduce 268) on LESSEQUAL +259: shift/reduce conflict (shift 345, reduce 268) on GREATEREQUAL +259: shift/reduce conflict (shift 346, reduce 268) on '<' +259: shift/reduce conflict (shift 347, reduce 268) on '>' +state 259 + equalityexpression : relationalexpression . (268) + relationalexpression : relationalexpression . '<' shiftexpression (272) + relationalexpression : relationalexpression . '>' shiftexpression (273) + relationalexpression : relationalexpression . LESSEQUAL shiftexpression (274) + relationalexpression : relationalexpression . GREATEREQUAL shiftexpression (275) + relationalexpression : relationalexpression . INSTANCEOF referencetype (276) + + INSTANCEOF shift 343 + LESSEQUAL shift 344 + GREATEREQUAL shift 345 + '<' shift 346 + '>' shift 347 + ABSTRACT reduce 268 + BOOLEAN reduce 268 + CHAR reduce 268 + FINAL reduce 268 + INT reduce 268 + PRIVATE reduce 268 + PROTECTED reduce 268 + PUBLIC reduce 268 + STATIC reduce 268 + VOID reduce 268 + IDENTIFIER reduce 268 + EQUAL reduce 268 + NOTEQUAL reduce 268 + LOGICALOR reduce 268 + LOGICALAND reduce 268 + INCREMENT reduce 268 + DECREMENT reduce 268 + ',' reduce 268 + ';' reduce 268 + '.' reduce 268 + '*' reduce 268 + '}' reduce 268 + ')' reduce 268 + '&' reduce 268 + '+' reduce 268 + '-' reduce 268 + '|' reduce 268 + '^' reduce 268 + '/' reduce 268 + '%' reduce 268 + + +260: shift/reduce conflict (shift 348, reduce 266) on EQUAL +260: shift/reduce conflict (shift 349, reduce 266) on NOTEQUAL +state 260 + andexpression : equalityexpression . (266) + equalityexpression : equalityexpression . EQUAL relationalexpression (269) + equalityexpression : equalityexpression . NOTEQUAL relationalexpression (270) + + EQUAL shift 348 + NOTEQUAL shift 349 + ABSTRACT reduce 266 + BOOLEAN reduce 266 + CHAR reduce 266 + FINAL reduce 266 + INSTANCEOF reduce 266 + INT reduce 266 + PRIVATE reduce 266 + PROTECTED reduce 266 + PUBLIC reduce 266 + STATIC reduce 266 + VOID reduce 266 + IDENTIFIER reduce 266 + LESSEQUAL reduce 266 + GREATEREQUAL reduce 266 + LOGICALOR reduce 266 + LOGICALAND reduce 266 + INCREMENT reduce 266 + DECREMENT reduce 266 + ',' reduce 266 + ';' reduce 266 + '.' reduce 266 + '*' reduce 266 + '<' reduce 266 + '>' reduce 266 + '}' reduce 266 + ')' reduce 266 + '&' reduce 266 + '+' reduce 266 + '-' reduce 266 + '|' reduce 266 + '^' reduce 266 + '/' reduce 266 + '%' reduce 266 + + +261: shift/reduce conflict (shift 350, reduce 255) on '&' +state 261 + exclusiveorexpression : andexpression . (255) + andexpression : andexpression . '&' equalityexpression (267) + + '&' shift 350 + ABSTRACT reduce 255 + BOOLEAN reduce 255 + CHAR reduce 255 + FINAL reduce 255 + INSTANCEOF reduce 255 + INT reduce 255 + PRIVATE reduce 255 + PROTECTED reduce 255 + PUBLIC reduce 255 + STATIC reduce 255 + VOID reduce 255 + IDENTIFIER reduce 255 + EQUAL reduce 255 + LESSEQUAL reduce 255 + GREATEREQUAL reduce 255 + NOTEQUAL reduce 255 + LOGICALOR reduce 255 + LOGICALAND reduce 255 + INCREMENT reduce 255 + DECREMENT reduce 255 + ',' reduce 255 + ';' reduce 255 + '.' reduce 255 + '*' reduce 255 + '<' reduce 255 + '>' reduce 255 + '}' reduce 255 + ')' reduce 255 + '+' reduce 255 + '-' reduce 255 + '|' reduce 255 + '^' reduce 255 + '/' reduce 255 + '%' reduce 255 + + +262: shift/reduce conflict (shift 351, reduce 246) on '^' +state 262 + inclusiveorexpression : exclusiveorexpression . (246) + exclusiveorexpression : exclusiveorexpression . '^' andexpression (256) + + '^' shift 351 + ABSTRACT reduce 246 + BOOLEAN reduce 246 + CHAR reduce 246 + FINAL reduce 246 + INSTANCEOF reduce 246 + INT reduce 246 + PRIVATE reduce 246 + PROTECTED reduce 246 + PUBLIC reduce 246 + STATIC reduce 246 + VOID reduce 246 + IDENTIFIER reduce 246 + EQUAL reduce 246 + LESSEQUAL reduce 246 + GREATEREQUAL reduce 246 + NOTEQUAL reduce 246 + LOGICALOR reduce 246 + LOGICALAND reduce 246 + INCREMENT reduce 246 + DECREMENT reduce 246 + ',' reduce 246 + ';' reduce 246 + '.' reduce 246 + '*' reduce 246 + '<' reduce 246 + '>' reduce 246 + '}' reduce 246 + ')' reduce 246 + '&' reduce 246 + '+' reduce 246 + '-' reduce 246 + '|' reduce 246 + '/' reduce 246 + '%' reduce 246 + + +263: shift/reduce conflict (shift 352, reduce 234) on '|' +state 263 + conditionalandexpression : inclusiveorexpression . (234) + inclusiveorexpression : inclusiveorexpression . '|' exclusiveorexpression (247) + + '|' shift 352 + ABSTRACT reduce 234 + BOOLEAN reduce 234 + CHAR reduce 234 + FINAL reduce 234 + INSTANCEOF reduce 234 + INT reduce 234 + PRIVATE reduce 234 + PROTECTED reduce 234 + PUBLIC reduce 234 + STATIC reduce 234 + VOID reduce 234 + IDENTIFIER reduce 234 + EQUAL reduce 234 + LESSEQUAL reduce 234 + GREATEREQUAL reduce 234 + NOTEQUAL reduce 234 + LOGICALOR reduce 234 + LOGICALAND reduce 234 + INCREMENT reduce 234 + DECREMENT reduce 234 + ',' reduce 234 + ';' reduce 234 + '.' reduce 234 + '*' reduce 234 + '<' reduce 234 + '>' reduce 234 + '}' reduce 234 + ')' reduce 234 + '&' reduce 234 + '+' reduce 234 + '-' reduce 234 + '^' reduce 234 + '/' reduce 234 + '%' reduce 234 + + +264: shift/reduce conflict (shift 353, reduce 209) on LOGICALAND +state 264 + conditionalorexpression : conditionalandexpression . (209) + conditionalandexpression : conditionalandexpression . LOGICALAND inclusiveorexpression (235) + + LOGICALAND shift 353 + ABSTRACT reduce 209 + BOOLEAN reduce 209 + CHAR reduce 209 + FINAL reduce 209 + INSTANCEOF reduce 209 + INT reduce 209 + PRIVATE reduce 209 + PROTECTED reduce 209 + PUBLIC reduce 209 + STATIC reduce 209 + VOID reduce 209 + IDENTIFIER reduce 209 + EQUAL reduce 209 + LESSEQUAL reduce 209 + GREATEREQUAL reduce 209 + NOTEQUAL reduce 209 + LOGICALOR reduce 209 + INCREMENT reduce 209 + DECREMENT reduce 209 + ',' reduce 209 + ';' reduce 209 + '.' reduce 209 + '*' reduce 209 + '<' reduce 209 + '>' reduce 209 + '}' reduce 209 + ')' reduce 209 + '&' reduce 209 + '+' reduce 209 + '-' reduce 209 + '|' reduce 209 + '^' reduce 209 + '/' reduce 209 + '%' reduce 209 + + +265: shift/reduce conflict (shift 354, reduce 198) on LOGICALOR +state 265 + conditionalexpression : conditionalorexpression . (198) + conditionalorexpression : conditionalorexpression . LOGICALOR conditionalandexpression (210) + + LOGICALOR shift 354 + ABSTRACT reduce 198 + BOOLEAN reduce 198 + CHAR reduce 198 + FINAL reduce 198 + INSTANCEOF reduce 198 + INT reduce 198 + PRIVATE reduce 198 + PROTECTED reduce 198 + PUBLIC reduce 198 + STATIC reduce 198 + VOID reduce 198 + IDENTIFIER reduce 198 + EQUAL reduce 198 + LESSEQUAL reduce 198 + GREATEREQUAL reduce 198 + NOTEQUAL reduce 198 + LOGICALAND reduce 198 + INCREMENT reduce 198 + DECREMENT reduce 198 + ',' reduce 198 + ';' reduce 198 + '.' reduce 198 + '*' reduce 198 + '<' reduce 198 + '>' reduce 198 + '}' reduce 198 + ')' reduce 198 + '&' reduce 198 + '+' reduce 198 + '-' reduce 198 + '|' reduce 198 + '^' reduce 198 + '/' reduce 198 + '%' reduce 198 + + +state 266 + assignmentexpression : conditionalexpression . (189) + + . reduce 189 + + +state 267 + expression : assignmentexpression . (168) + + . reduce 168 + + +state 268 + fielddeclarator : variabledeclarator '=' expression . (86) + + . reduce 86 + + +state 269 + unaryexpression : preincrementexpression . (236) . reduce 236 -state 227 - multiplicativeexpression : unaryexpression . (277) +state 270 + unaryexpression : predecrementexpression . (237) - . reduce 277 + . reduce 237 -228: shift/reduce conflict (shift 315, reduce 274) on '*' -228: shift/reduce conflict (shift 316, reduce 274) on '/' -228: shift/reduce conflict (shift 317, reduce 274) on '%' -state 228 - additiveexpression : multiplicativeexpression . (274) - multiplicativeexpression : multiplicativeexpression . '*' unaryexpression (278) - multiplicativeexpression : multiplicativeexpression . '/' unaryexpression (279) - multiplicativeexpression : multiplicativeexpression . '%' unaryexpression (280) +state 271 + postfixexpression : postincrementexpression . (243) - '*' shift 315 - '/' shift 316 - '%' shift 317 - ABSTRACT reduce 274 - BOOLEAN reduce 274 - CHAR reduce 274 - FINAL reduce 274 - INSTANCEOF reduce 274 - INT reduce 274 - PRIVATE reduce 274 - PROTECTED reduce 274 - PUBLIC reduce 274 - STATIC reduce 274 - VOID reduce 274 - IDENTIFIER reduce 274 - EQUAL reduce 274 - LESSEQUAL reduce 274 - GREATEREQUAL reduce 274 - NOTEQUAL reduce 274 - LOGICALOR reduce 274 - LOGICALAND reduce 274 - INCREMENT reduce 274 - DECREMENT reduce 274 - ',' reduce 274 - ';' reduce 274 - '.' reduce 274 - '<' reduce 274 - '>' reduce 274 - '}' reduce 274 - ')' reduce 274 - '&' reduce 274 - '+' reduce 274 - '-' reduce 274 - '|' reduce 274 - '^' reduce 274 + . reduce 243 -229: shift/reduce conflict (shift 318, reduce 273) on '+' -229: shift/reduce conflict (shift 319, reduce 273) on '-' -state 229 - shiftexpression : additiveexpression . (273) - additiveexpression : additiveexpression . '+' multiplicativeexpression (275) - additiveexpression : additiveexpression . '-' multiplicativeexpression (276) +state 272 + postfixexpression : postdecrementexpression . (244) - '+' shift 318 - '-' shift 319 - ABSTRACT reduce 273 - BOOLEAN reduce 273 - CHAR reduce 273 - FINAL reduce 273 - INSTANCEOF reduce 273 - INT reduce 273 - PRIVATE reduce 273 - PROTECTED reduce 273 - PUBLIC reduce 273 - STATIC reduce 273 - VOID reduce 273 - IDENTIFIER reduce 273 - EQUAL reduce 273 - LESSEQUAL reduce 273 - GREATEREQUAL reduce 273 - NOTEQUAL reduce 273 - LOGICALOR reduce 273 - LOGICALAND reduce 273 - INCREMENT reduce 273 - DECREMENT reduce 273 - ',' reduce 273 - ';' reduce 273 - '.' reduce 273 - '*' reduce 273 - '<' reduce 273 - '>' reduce 273 - '}' reduce 273 - ')' reduce 273 - '&' reduce 273 - '|' reduce 273 - '^' reduce 273 - '/' reduce 273 - '%' reduce 273 + . reduce 244 -state 230 - relationalexpression : shiftexpression . (267) +state 273 + expression : classinstancecreationexpression . (169) - . reduce 267 + . reduce 169 -231: shift/reduce conflict (shift 320, reduce 264) on INSTANCEOF -231: shift/reduce conflict (shift 321, reduce 264) on LESSEQUAL -231: shift/reduce conflict (shift 322, reduce 264) on GREATEREQUAL -231: shift/reduce conflict (shift 323, reduce 264) on '<' -231: shift/reduce conflict (shift 324, reduce 264) on '>' -state 231 - equalityexpression : relationalexpression . (264) - relationalexpression : relationalexpression . '<' shiftexpression (268) - relationalexpression : relationalexpression . '>' shiftexpression (269) - relationalexpression : relationalexpression . LESSEQUAL shiftexpression (270) - relationalexpression : relationalexpression . GREATEREQUAL shiftexpression (271) - relationalexpression : relationalexpression . INSTANCEOF referencetype (272) +state 274 + assignmentexpression : assignment . (190) - INSTANCEOF shift 320 - LESSEQUAL shift 321 - GREATEREQUAL shift 322 - '<' shift 323 - '>' shift 324 - ABSTRACT reduce 264 - BOOLEAN reduce 264 - CHAR reduce 264 - FINAL reduce 264 - INT reduce 264 - PRIVATE reduce 264 - PROTECTED reduce 264 - PUBLIC reduce 264 - STATIC reduce 264 - VOID reduce 264 - IDENTIFIER reduce 264 - EQUAL reduce 264 - NOTEQUAL reduce 264 - LOGICALOR reduce 264 - LOGICALAND reduce 264 - INCREMENT reduce 264 - DECREMENT reduce 264 - ',' reduce 264 - ';' reduce 264 - '.' reduce 264 - '*' reduce 264 - '}' reduce 264 - ')' reduce 264 - '&' reduce 264 - '+' reduce 264 - '-' reduce 264 - '|' reduce 264 - '^' reduce 264 - '/' reduce 264 - '%' reduce 264 + . reduce 190 -232: shift/reduce conflict (shift 325, reduce 262) on EQUAL -232: shift/reduce conflict (shift 326, reduce 262) on NOTEQUAL -state 232 - andexpression : equalityexpression . (262) - equalityexpression : equalityexpression . EQUAL relationalexpression (265) - equalityexpression : equalityexpression . NOTEQUAL relationalexpression (266) +state 275 + primarynonewarray : methodinvocation . (250) - EQUAL shift 325 - NOTEQUAL shift 326 - ABSTRACT reduce 262 - BOOLEAN reduce 262 - CHAR reduce 262 - FINAL reduce 262 - INSTANCEOF reduce 262 - INT reduce 262 - PRIVATE reduce 262 - PROTECTED reduce 262 - PUBLIC reduce 262 - STATIC reduce 262 - VOID reduce 262 - IDENTIFIER reduce 262 - LESSEQUAL reduce 262 - GREATEREQUAL reduce 262 - LOGICALOR reduce 262 - LOGICALAND reduce 262 - INCREMENT reduce 262 - DECREMENT reduce 262 - ',' reduce 262 - ';' reduce 262 - '.' reduce 262 - '*' reduce 262 - '<' reduce 262 - '>' reduce 262 - '}' reduce 262 - ')' reduce 262 - '&' reduce 262 - '+' reduce 262 - '-' reduce 262 - '|' reduce 262 - '^' reduce 262 - '/' reduce 262 - '%' reduce 262 + . reduce 250 -233: shift/reduce conflict (shift 327, reduce 251) on '&' -state 233 - exclusiveorexpression : andexpression . (251) - andexpression : andexpression . '&' equalityexpression (263) +state 276 + unaryexpressionnotplusminus : castexpression . (254) - '&' shift 327 - ABSTRACT reduce 251 - BOOLEAN reduce 251 - CHAR reduce 251 - FINAL reduce 251 - INSTANCEOF reduce 251 - INT reduce 251 - PRIVATE reduce 251 - PROTECTED reduce 251 - PUBLIC reduce 251 - STATIC reduce 251 - VOID reduce 251 - IDENTIFIER reduce 251 - EQUAL reduce 251 - LESSEQUAL reduce 251 - GREATEREQUAL reduce 251 - NOTEQUAL reduce 251 - LOGICALOR reduce 251 - LOGICALAND reduce 251 - INCREMENT reduce 251 - DECREMENT reduce 251 - ',' reduce 251 - ';' reduce 251 - '.' reduce 251 - '*' reduce 251 - '<' reduce 251 - '>' reduce 251 - '}' reduce 251 - ')' reduce 251 - '+' reduce 251 - '-' reduce 251 - '|' reduce 251 - '^' reduce 251 - '/' reduce 251 - '%' reduce 251 + . reduce 254 -234: shift/reduce conflict (shift 328, reduce 242) on '^' -state 234 - inclusiveorexpression : exclusiveorexpression . (242) - exclusiveorexpression : exclusiveorexpression . '^' andexpression (252) +state 277 + constructordeclarator : simplename '(' ')' . (95) - '^' shift 328 + . reduce 95 + + +state 278 + constructordeclarator : simplename '(' formalparameterlist . ')' (96) + formalparameterlist : formalparameterlist . ',' formalparameter (142) + + ',' shift 326 + ')' shift 355 + . error + + +state 279 + methodheader : type methoddeclarator throws . (115) + + . reduce 115 + + +state 280 + fielddeclaration : type variabledeclarators ';' . (90) + + . reduce 90 + + +state 281 + fielddeclarator : type variabledeclarator '=' . expression (85) + fielddeclarator : variabledeclarator '=' . expression (86) + + NEW shift 248 + THIS shift 187 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 14 + INCREMENT shift 198 + DECREMENT shift 199 + '(' shift 249 + '+' shift 250 + '-' shift 251 + '!' shift 252 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 206 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 253 + unaryexpressionnotplusminus goto 254 + unaryexpression goto 255 + multiplicativeexpression goto 256 + additiveexpression goto 257 + shiftexpression goto 258 + relationalexpression goto 259 + equalityexpression goto 260 + andexpression goto 261 + exclusiveorexpression goto 262 + inclusiveorexpression goto 263 + conditionalandexpression goto 264 + conditionalorexpression goto 265 + conditionalexpression goto 266 + assignmentexpression goto 267 + lambdaexpression goto 217 + expression goto 356 + preincrementexpression goto 269 + predecrementexpression goto 270 + postincrementexpression goto 271 + postdecrementexpression goto 272 + classinstancecreationexpression goto 273 + assignment goto 274 + lefthandside goto 234 + methodinvocation goto 275 + castexpression goto 276 + + +state 282 + fielddeclarator : type variabledeclarator . '=' expression (85) + + '=' shift 357 + . error + + +state 283 + methodheader : modifiers VOID methoddeclarator . (120) + methodheader : modifiers VOID methoddeclarator . throws (122) + + THROWS shift 147 + ';' reduce 120 + '{' reduce 120 + + throws goto 358 + + +state 284 + boundedMethodParameters : boundedMethodParameters . ',' boundedMethodParameter (110) + methodheader : modifiers '<' boundedMethodParameters . '>' type methoddeclarator (114) + methodheader : modifiers '<' boundedMethodParameters . '>' type methoddeclarator throws (118) + methodheader : modifiers '<' boundedMethodParameters . '>' VOID methoddeclarator (124) + methodheader : modifiers '<' boundedMethodParameters . '>' VOID methoddeclarator throws (126) + + ',' shift 242 + '>' shift 359 + . error + + +state 285 + methodheader : modifiers methoddeclarator throws . (131) + + . reduce 131 + + +state 286 + methoddeclarator : IDENTIFIER . '(' ')' (147) + methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (148) + variabledeclaratorid : IDENTIFIER . (160) + + '(' shift 142 + ',' reduce 160 + ';' reduce 160 + + +state 287 + methodheader : modifiers type methoddeclarator . (113) + methodheader : modifiers type methoddeclarator . throws (117) + + THROWS shift 147 + ';' reduce 113 + '{' reduce 113 + + throws goto 360 + + +state 288 + fielddeclaration : modifiers type variabledeclarators . ';' (91) + variabledeclarators : variabledeclarators . ',' variabledeclarator (137) + + ',' shift 151 + ';' shift 361 + . error + + +state 289 + constructordeclaration : modifiers constructordeclarator constructorbody . (82) + + . reduce 82 + + +state 290 + explicitconstructorinvocation : THIS . '(' ')' ';' (143) + explicitconstructorinvocation : THIS . '(' argumentlist ')' ';' (144) + primarynonewarray : THIS . (249) + + '(' shift 362 + INCREMENT reduce 249 + DECREMENT reduce 249 + '.' reduce 249 + + +state 291 + constructorbody : '{' '}' . (97) + + . reduce 97 + + +state 292 + constructorbody : '{' blockstatements . '}' (99) + blockstatements : blockstatements . blockstatement (140) + + BOOLEAN shift 2 + CHAR shift 3 + FOR shift 184 + IF shift 185 + INT shift 6 + RETURN shift 186 + THIS shift 187 + WHILE shift 188 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 197 + INCREMENT shift 198 + DECREMENT shift 199 + ';' shift 200 + '{' shift 138 + '}' shift 363 + '(' shift 202 + . error + + variabledeclarators goto 203 + variabledeclarator goto 204 + variabledeclaratorid goto 101 + simplename goto 205 + qualifiedname goto 35 + name goto 206 + classorinterfacetype goto 21 + integraltype goto 22 + numerictype goto 23 + primitivetype goto 24 + referencetype goto 25 + type goto 207 + block goto 208 + localvariabledeclarationstatement goto 210 + localvariabledeclaration goto 211 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 216 + lambdaexpression goto 217 + statementexpression goto 218 + preincrementexpression goto 219 + predecrementexpression goto 220 + postincrementexpression goto 221 + postdecrementexpression goto 222 + expressionstatement goto 223 + statementwithouttrailingsubstatement goto 224 + blockstatement goto 310 + statement goto 226 + whilestatement goto 227 + forstatement goto 228 + ifthenstatement goto 229 + ifthenelsestatement goto 230 + emptystatement goto 231 + returnstatement goto 232 + assignment goto 233 + lefthandside goto 234 + methodinvocation goto 235 + + +state 293 + constructorbody : '{' explicitconstructorinvocation . '}' (98) + constructorbody : '{' explicitconstructorinvocation . blockstatements '}' (100) + + BOOLEAN shift 2 + CHAR shift 3 + FOR shift 184 + IF shift 185 + INT shift 6 + RETURN shift 186 + THIS shift 187 + WHILE shift 188 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 197 + INCREMENT shift 198 + DECREMENT shift 199 + ';' shift 200 + '{' shift 138 + '}' shift 364 + '(' shift 202 + . error + + variabledeclarators goto 203 + variabledeclarator goto 204 + variabledeclaratorid goto 101 + simplename goto 205 + qualifiedname goto 35 + name goto 206 + classorinterfacetype goto 21 + integraltype goto 22 + numerictype goto 23 + primitivetype goto 24 + referencetype goto 25 + type goto 207 + block goto 208 + blockstatements goto 365 + localvariabledeclarationstatement goto 210 + localvariabledeclaration goto 211 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 216 + lambdaexpression goto 217 + statementexpression goto 218 + preincrementexpression goto 219 + predecrementexpression goto 220 + postincrementexpression goto 221 + postdecrementexpression goto 222 + expressionstatement goto 223 + statementwithouttrailingsubstatement goto 224 + blockstatement goto 225 + statement goto 226 + whilestatement goto 227 + forstatement goto 228 + ifthenstatement goto 229 + ifthenelsestatement goto 230 + emptystatement goto 231 + returnstatement goto 232 + assignment goto 233 + lefthandside goto 234 + methodinvocation goto 235 + + +state 294 + constantdeclaration : modifiers type IDENTIFIER . '=' expression ';' (83) + methoddeclarator : IDENTIFIER . '(' ')' (147) + methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (148) + + '=' shift 366 + '(' shift 142 + . error + + +state 295 + classdeclaration : modifiers CLASS classidentifier super interfaces classbody . (27) + + . reduce 27 + + +state 296 + boundedclassidentifierlist : boundedclassidentifierlist '&' . referencetype (108) + + IDENTIFIER shift 14 + . error + + simplename goto 18 + classorinterfacetype goto 21 + referencetype goto 367 + + +state 297 + forstatement : FOR '(' . expression ';' expression ';' expression ')' statement (181) + forstatement : FOR '(' . expression ';' expression ';' ')' statement (182) + forstatement : FOR '(' . expression ';' ';' expression ')' statement (183) + forstatement : FOR '(' . ';' expression ';' expression ')' statement (184) + forstatement : FOR '(' . expression ';' ';' ')' statement (185) + forstatement : FOR '(' . ';' expression ';' ')' statement (186) + forstatement : FOR '(' . ';' ';' expression ')' statement (187) + forstatement : FOR '(' . ';' ';' ')' statement (188) + + NEW shift 248 + THIS shift 187 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 14 + INCREMENT shift 198 + DECREMENT shift 199 + ';' shift 368 + '(' shift 249 + '+' shift 250 + '-' shift 251 + '!' shift 252 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 206 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 253 + unaryexpressionnotplusminus goto 254 + unaryexpression goto 255 + multiplicativeexpression goto 256 + additiveexpression goto 257 + shiftexpression goto 258 + relationalexpression goto 259 + equalityexpression goto 260 + andexpression goto 261 + exclusiveorexpression goto 262 + inclusiveorexpression goto 263 + conditionalandexpression goto 264 + conditionalorexpression goto 265 + conditionalexpression goto 266 + assignmentexpression goto 267 + lambdaexpression goto 217 + expression goto 369 + preincrementexpression goto 269 + predecrementexpression goto 270 + postincrementexpression goto 271 + postdecrementexpression goto 272 + classinstancecreationexpression goto 273 + assignment goto 274 + lefthandside goto 234 + methodinvocation goto 275 + castexpression goto 276 + + +state 298 + ifthenstatement : IF '(' . expression ')' statement (178) + ifthenelsestatement : IF '(' . expression ')' statementnoshortif ELSE statement (179) + + NEW shift 248 + THIS shift 187 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 14 + INCREMENT shift 198 + DECREMENT shift 199 + '(' shift 249 + '+' shift 250 + '-' shift 251 + '!' shift 252 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 206 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 253 + unaryexpressionnotplusminus goto 254 + unaryexpression goto 255 + multiplicativeexpression goto 256 + additiveexpression goto 257 + shiftexpression goto 258 + relationalexpression goto 259 + equalityexpression goto 260 + andexpression goto 261 + exclusiveorexpression goto 262 + inclusiveorexpression goto 263 + conditionalandexpression goto 264 + conditionalorexpression goto 265 + conditionalexpression goto 266 + assignmentexpression goto 267 + lambdaexpression goto 217 + expression goto 370 + preincrementexpression goto 269 + predecrementexpression goto 270 + postincrementexpression goto 271 + postdecrementexpression goto 272 + classinstancecreationexpression goto 273 + assignment goto 274 + lefthandside goto 234 + methodinvocation goto 275 + castexpression goto 276 + + +state 299 + returnstatement : RETURN ';' . (193) + + . reduce 193 + + +state 300 + returnstatement : RETURN expression . ';' (194) + + ';' shift 371 + . error + + +state 301 + whilestatement : WHILE '(' . expression ')' statement (180) + + NEW shift 248 + THIS shift 187 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 14 + INCREMENT shift 198 + DECREMENT shift 199 + '(' shift 249 + '+' shift 250 + '-' shift 251 + '!' shift 252 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 206 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 253 + unaryexpressionnotplusminus goto 254 + unaryexpression goto 255 + multiplicativeexpression goto 256 + additiveexpression goto 257 + shiftexpression goto 258 + relationalexpression goto 259 + equalityexpression goto 260 + andexpression goto 261 + exclusiveorexpression goto 262 + inclusiveorexpression goto 263 + conditionalandexpression goto 264 + conditionalorexpression goto 265 + conditionalexpression goto 266 + assignmentexpression goto 267 + lambdaexpression goto 217 + expression goto 372 + preincrementexpression goto 269 + predecrementexpression goto 270 + postincrementexpression goto 271 + postdecrementexpression goto 272 + classinstancecreationexpression goto 273 + assignment goto 274 + lefthandside goto 234 + methodinvocation goto 275 + castexpression goto 276 + + +302: shift/reduce conflict (shift 62, reduce 242) on '.' +state 302 + qualifiedname : name . '.' IDENTIFIER (16) + methodinvocation : name . '(' ')' (228) + methodinvocation : name . '(' argumentlist ')' (229) + postfixexpression : name . (242) + + '.' shift 62 + '(' shift 307 ABSTRACT reduce 242 BOOLEAN reduce 242 CHAR reduce 242 @@ -3453,7 +4618,6 @@ state 234 DECREMENT reduce 242 ',' reduce 242 ';' reduce 242 - '.' reduce 242 '*' reduce 242 '<' reduce 242 '>' reduce 242 @@ -3463,4759 +4627,3927 @@ state 234 '+' reduce 242 '-' reduce 242 '|' reduce 242 + '^' reduce 242 '/' reduce 242 '%' reduce 242 -235: shift/reduce conflict (shift 329, reduce 230) on '|' -state 235 - conditionalandexpression : inclusiveorexpression . (230) - inclusiveorexpression : inclusiveorexpression . '|' exclusiveorexpression (243) - - '|' shift 329 - ABSTRACT reduce 230 - BOOLEAN reduce 230 - CHAR reduce 230 - FINAL reduce 230 - INSTANCEOF reduce 230 - INT reduce 230 - PRIVATE reduce 230 - PROTECTED reduce 230 - PUBLIC reduce 230 - STATIC reduce 230 - VOID reduce 230 - IDENTIFIER reduce 230 - EQUAL reduce 230 - LESSEQUAL reduce 230 - GREATEREQUAL reduce 230 - NOTEQUAL reduce 230 - LOGICALOR reduce 230 - LOGICALAND reduce 230 - INCREMENT reduce 230 - DECREMENT reduce 230 - ',' reduce 230 - ';' reduce 230 - '.' reduce 230 - '*' reduce 230 - '<' reduce 230 - '>' reduce 230 - '}' reduce 230 - ')' reduce 230 - '&' reduce 230 - '+' reduce 230 - '-' reduce 230 - '^' reduce 230 - '/' reduce 230 - '%' reduce 230 - - -236: shift/reduce conflict (shift 330, reduce 205) on LOGICALAND -state 236 - conditionalorexpression : conditionalandexpression . (205) - conditionalandexpression : conditionalandexpression . LOGICALAND inclusiveorexpression (231) - - LOGICALAND shift 330 - ABSTRACT reduce 205 - BOOLEAN reduce 205 - CHAR reduce 205 - FINAL reduce 205 - INSTANCEOF reduce 205 - INT reduce 205 - PRIVATE reduce 205 - PROTECTED reduce 205 - PUBLIC reduce 205 - STATIC reduce 205 - VOID reduce 205 - IDENTIFIER reduce 205 - EQUAL reduce 205 - LESSEQUAL reduce 205 - GREATEREQUAL reduce 205 - NOTEQUAL reduce 205 - LOGICALOR reduce 205 - INCREMENT reduce 205 - DECREMENT reduce 205 - ',' reduce 205 - ';' reduce 205 - '.' reduce 205 - '*' reduce 205 - '<' reduce 205 - '>' reduce 205 - '}' reduce 205 - ')' reduce 205 - '&' reduce 205 - '+' reduce 205 - '-' reduce 205 - '|' reduce 205 - '^' reduce 205 - '/' reduce 205 - '%' reduce 205 - - -237: shift/reduce conflict (shift 331, reduce 194) on LOGICALOR -state 237 - conditionalexpression : conditionalorexpression . (194) - conditionalorexpression : conditionalorexpression . LOGICALOR conditionalandexpression (206) - - LOGICALOR shift 331 - ABSTRACT reduce 194 - BOOLEAN reduce 194 - CHAR reduce 194 - FINAL reduce 194 - INSTANCEOF reduce 194 - INT reduce 194 - PRIVATE reduce 194 - PROTECTED reduce 194 - PUBLIC reduce 194 - STATIC reduce 194 - VOID reduce 194 - IDENTIFIER reduce 194 - EQUAL reduce 194 - LESSEQUAL reduce 194 - GREATEREQUAL reduce 194 - NOTEQUAL reduce 194 - LOGICALAND reduce 194 - INCREMENT reduce 194 - DECREMENT reduce 194 - ',' reduce 194 - ';' reduce 194 - '.' reduce 194 - '*' reduce 194 - '<' reduce 194 - '>' reduce 194 - '}' reduce 194 - ')' reduce 194 - '&' reduce 194 - '+' reduce 194 - '-' reduce 194 - '|' reduce 194 - '^' reduce 194 - '/' reduce 194 - '%' reduce 194 - - -state 238 - assignmentexpression : conditionalexpression . (185) - - . reduce 185 - - -state 239 - expression : assignmentexpression . (164) - - . reduce 164 - - -state 240 - fielddeclarator : variabledeclarator '=' expression . (82) - - . reduce 82 - - -state 241 - unaryexpression : preincrementexpression . (232) - - . reduce 232 - - -state 242 - unaryexpression : predecrementexpression . (233) - - . reduce 233 - - -state 243 - postfixexpression : postincrementexpression . (239) - - . reduce 239 - - -state 244 - postfixexpression : postdecrementexpression . (240) - - . reduce 240 - - -state 245 - expression : classinstancecreationexpression . (165) - - . reduce 165 - - -state 246 - assignmentexpression : assignment . (186) - - . reduce 186 - - -state 247 - primarynonewarray : methodinvocation . (246) - - . reduce 246 - - -state 248 - unaryexpressionnotplusminus : castexpression . (250) - - . reduce 250 - - -state 249 - constructordeclarator : simplename '(' ')' . (91) - - . reduce 91 - - -state 250 - constructordeclarator : simplename '(' formalparameterlist . ')' (92) - formalparameterlist : formalparameterlist . ',' formalparameter (138) - - ',' shift 303 - ')' shift 332 - . error - - -state 251 - type : primitivetype '[' ']' . (129) - - . reduce 129 - - -state 252 - type : referencetype '[' ']' . (131) - - . reduce 131 - - -state 253 - methodheader : type methoddeclarator throws . (111) - - . reduce 111 - - -state 254 - fielddeclaration : type variabledeclarators ';' . (86) - - . reduce 86 - - -state 255 - fielddeclarator : type variabledeclarator '=' . expression (81) - fielddeclarator : variabledeclarator '=' . expression (82) - - NEW shift 219 - THIS shift 157 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 42 - INCREMENT shift 168 - DECREMENT shift 169 - '(' shift 220 - '+' shift 221 - '-' shift 222 - '!' shift 223 - . error - - simplename goto 224 - qualifiedname goto 176 - name goto 177 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 225 - unaryexpressionnotplusminus goto 226 - unaryexpression goto 227 - multiplicativeexpression goto 228 - additiveexpression goto 229 - shiftexpression goto 230 - relationalexpression goto 231 - equalityexpression goto 232 - andexpression goto 233 - exclusiveorexpression goto 234 - inclusiveorexpression goto 235 - conditionalandexpression goto 236 - conditionalorexpression goto 237 - conditionalexpression goto 238 - assignmentexpression goto 239 - lambdaexpression goto 188 - expression goto 333 - preincrementexpression goto 241 - predecrementexpression goto 242 - postincrementexpression goto 243 - postdecrementexpression goto 244 - classinstancecreationexpression goto 245 - assignment goto 246 - lefthandside goto 205 - methodinvocation goto 247 - castexpression goto 248 - - -state 256 - fielddeclarator : type variabledeclarator . '=' expression (81) - - '=' shift 334 - . error - - -state 257 - methodheader : modifiers VOID methoddeclarator . (116) - methodheader : modifiers VOID methoddeclarator . throws (118) - - THROWS shift 114 - ';' reduce 116 - '{' reduce 116 - - throws goto 335 - - -state 258 - boundedMethodParameters : boundedMethodParameters . ',' boundedMethodParameter (106) - methodheader : modifiers '<' boundedMethodParameters . '>' type methoddeclarator (110) - methodheader : modifiers '<' boundedMethodParameters . '>' type methoddeclarator throws (114) - methodheader : modifiers '<' boundedMethodParameters . '>' VOID methoddeclarator (120) - methodheader : modifiers '<' boundedMethodParameters . '>' VOID methoddeclarator throws (122) - - ',' shift 213 - '>' shift 336 - . error - - -state 259 - methodheader : modifiers methoddeclarator throws . (127) - - . reduce 127 - - -state 260 - methoddeclarator : IDENTIFIER . '(' ')' (143) - methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (144) - variabledeclaratorid : IDENTIFIER . (156) - - '(' shift 109 - ',' reduce 156 - ';' reduce 156 - - -state 261 - methodheader : modifiers type methoddeclarator . (109) - methodheader : modifiers type methoddeclarator . throws (113) - - THROWS shift 114 - ';' reduce 109 - '{' reduce 109 - - throws goto 337 - - -state 262 - fielddeclaration : modifiers type variabledeclarators . ';' (87) - variabledeclarators : variabledeclarators . ',' variabledeclarator (133) - - ',' shift 118 - ';' shift 338 - . error - - -state 263 - constructordeclaration : modifiers constructordeclarator constructorbody . (78) - - . reduce 78 - - -state 264 - explicitconstructorinvocation : THIS . '(' ')' ';' (139) - explicitconstructorinvocation : THIS . '(' argumentlist ')' ';' (140) - primarynonewarray : THIS . (245) - - '(' shift 339 - INCREMENT reduce 245 - DECREMENT reduce 245 - '.' reduce 245 - - -state 265 - constructorbody : '{' '}' . (93) - - . reduce 93 - - -state 266 - constructorbody : '{' blockstatements . '}' (95) - blockstatements : blockstatements . blockstatement (136) - - BOOLEAN shift 48 - CHAR shift 49 - FOR shift 154 - IF shift 155 - INT shift 50 - RETURN shift 156 - THIS shift 157 - WHILE shift 158 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 167 - INCREMENT shift 168 - DECREMENT shift 169 - ';' shift 170 - '{' shift 105 - '}' shift 340 - '(' shift 172 - . error - - variabledeclarators goto 173 - variabledeclarator goto 174 - variabledeclaratorid goto 66 - simplename goto 175 - qualifiedname goto 176 - name goto 177 - classorinterfacetype goto 68 - integraltype goto 69 - numerictype goto 70 - primitivetype goto 71 - referencetype goto 72 - type goto 178 - block goto 179 - localvariabledeclarationstatement goto 181 - localvariabledeclaration goto 182 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 187 - lambdaexpression goto 188 - statementexpression goto 189 - preincrementexpression goto 190 - predecrementexpression goto 191 - postincrementexpression goto 192 - postdecrementexpression goto 193 - expressionstatement goto 194 - statementwithouttrailingsubstatement goto 195 - blockstatement goto 287 - statement goto 197 - whilestatement goto 198 - forstatement goto 199 - ifthenstatement goto 200 - ifthenelsestatement goto 201 - emptystatement goto 202 - returnstatement goto 203 - assignment goto 204 - lefthandside goto 205 - methodinvocation goto 206 - - -state 267 - constructorbody : '{' explicitconstructorinvocation . '}' (94) - constructorbody : '{' explicitconstructorinvocation . blockstatements '}' (96) - - BOOLEAN shift 48 - CHAR shift 49 - FOR shift 154 - IF shift 155 - INT shift 50 - RETURN shift 156 - THIS shift 157 - WHILE shift 158 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 167 - INCREMENT shift 168 - DECREMENT shift 169 - ';' shift 170 - '{' shift 105 - '}' shift 341 - '(' shift 172 - . error - - variabledeclarators goto 173 - variabledeclarator goto 174 - variabledeclaratorid goto 66 - simplename goto 175 - qualifiedname goto 176 - name goto 177 - classorinterfacetype goto 68 - integraltype goto 69 - numerictype goto 70 - primitivetype goto 71 - referencetype goto 72 - type goto 178 - block goto 179 - blockstatements goto 342 - localvariabledeclarationstatement goto 181 - localvariabledeclaration goto 182 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 187 - lambdaexpression goto 188 - statementexpression goto 189 - preincrementexpression goto 190 - predecrementexpression goto 191 - postincrementexpression goto 192 - postdecrementexpression goto 193 - expressionstatement goto 194 - statementwithouttrailingsubstatement goto 195 - blockstatement goto 196 - statement goto 197 - whilestatement goto 198 - forstatement goto 199 - ifthenstatement goto 200 - ifthenelsestatement goto 201 - emptystatement goto 202 - returnstatement goto 203 - assignment goto 204 - lefthandside goto 205 - methodinvocation goto 206 - - -state 268 - constantdeclaration : modifiers type IDENTIFIER . '=' expression ';' (79) - methoddeclarator : IDENTIFIER . '(' ')' (143) - methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (144) - - '=' shift 343 - '(' shift 109 - . error - - -state 269 - classdeclaration : modifiers CLASS classidentifier super interfaces classbody . (23) - - . reduce 23 - - -state 270 - boundedclassidentifierlist : boundedclassidentifierlist '&' . referencetype (104) - - IDENTIFIER shift 42 - . error - - simplename goto 43 - classorinterfacetype goto 68 - referencetype goto 344 - - -state 271 - typelist : typelist ',' . type (69) - - BOOLEAN shift 48 - CHAR shift 49 - INT shift 50 - IDENTIFIER shift 42 - . error - - simplename goto 43 - classorinterfacetype goto 68 - integraltype goto 69 - numerictype goto 70 - primitivetype goto 71 - referencetype goto 72 - type goto 345 - - -state 272 - parameter : '<' typelist '>' . (71) - - . reduce 71 - - -state 273 - forstatement : FOR '(' . expression ';' expression ';' expression ')' statement (177) - forstatement : FOR '(' . expression ';' expression ';' ')' statement (178) - forstatement : FOR '(' . expression ';' ';' expression ')' statement (179) - forstatement : FOR '(' . ';' expression ';' expression ')' statement (180) - forstatement : FOR '(' . expression ';' ';' ')' statement (181) - forstatement : FOR '(' . ';' expression ';' ')' statement (182) - forstatement : FOR '(' . ';' ';' expression ')' statement (183) - forstatement : FOR '(' . ';' ';' ')' statement (184) - - NEW shift 219 - THIS shift 157 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 42 - INCREMENT shift 168 - DECREMENT shift 169 - ';' shift 346 - '(' shift 220 - '+' shift 221 - '-' shift 222 - '!' shift 223 - . error - - simplename goto 224 - qualifiedname goto 176 - name goto 177 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 225 - unaryexpressionnotplusminus goto 226 - unaryexpression goto 227 - multiplicativeexpression goto 228 - additiveexpression goto 229 - shiftexpression goto 230 - relationalexpression goto 231 - equalityexpression goto 232 - andexpression goto 233 - exclusiveorexpression goto 234 - inclusiveorexpression goto 235 - conditionalandexpression goto 236 - conditionalorexpression goto 237 - conditionalexpression goto 238 - assignmentexpression goto 239 - lambdaexpression goto 188 - expression goto 347 - preincrementexpression goto 241 - predecrementexpression goto 242 - postincrementexpression goto 243 - postdecrementexpression goto 244 - classinstancecreationexpression goto 245 - assignment goto 246 - lefthandside goto 205 - methodinvocation goto 247 - castexpression goto 248 - - -state 274 - ifthenstatement : IF '(' . expression ')' statement (174) - ifthenelsestatement : IF '(' . expression ')' statementnoshortif ELSE statement (175) - - NEW shift 219 - THIS shift 157 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 42 - INCREMENT shift 168 - DECREMENT shift 169 - '(' shift 220 - '+' shift 221 - '-' shift 222 - '!' shift 223 - . error - - simplename goto 224 - qualifiedname goto 176 - name goto 177 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 225 - unaryexpressionnotplusminus goto 226 - unaryexpression goto 227 - multiplicativeexpression goto 228 - additiveexpression goto 229 - shiftexpression goto 230 - relationalexpression goto 231 - equalityexpression goto 232 - andexpression goto 233 - exclusiveorexpression goto 234 - inclusiveorexpression goto 235 - conditionalandexpression goto 236 - conditionalorexpression goto 237 - conditionalexpression goto 238 - assignmentexpression goto 239 - lambdaexpression goto 188 - expression goto 348 - preincrementexpression goto 241 - predecrementexpression goto 242 - postincrementexpression goto 243 - postdecrementexpression goto 244 - classinstancecreationexpression goto 245 - assignment goto 246 - lefthandside goto 205 - methodinvocation goto 247 - castexpression goto 248 - - -state 275 - returnstatement : RETURN ';' . (189) - - . reduce 189 - - -state 276 - returnstatement : RETURN expression . ';' (190) - - ';' shift 349 - . error - - -state 277 - whilestatement : WHILE '(' . expression ')' statement (176) - - NEW shift 219 - THIS shift 157 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 42 - INCREMENT shift 168 - DECREMENT shift 169 - '(' shift 220 - '+' shift 221 - '-' shift 222 - '!' shift 223 - . error - - simplename goto 224 - qualifiedname goto 176 - name goto 177 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 225 - unaryexpressionnotplusminus goto 226 - unaryexpression goto 227 - multiplicativeexpression goto 228 - additiveexpression goto 229 - shiftexpression goto 230 - relationalexpression goto 231 - equalityexpression goto 232 - andexpression goto 233 - exclusiveorexpression goto 234 - inclusiveorexpression goto 235 - conditionalandexpression goto 236 - conditionalorexpression goto 237 - conditionalexpression goto 238 - assignmentexpression goto 239 - lambdaexpression goto 188 - expression goto 350 - preincrementexpression goto 241 - predecrementexpression goto 242 - postincrementexpression goto 243 - postdecrementexpression goto 244 - classinstancecreationexpression goto 245 - assignment goto 246 - lefthandside goto 205 - methodinvocation goto 247 - castexpression goto 248 - - -278: shift/reduce conflict (shift 283, reduce 238) on '.' -state 278 - qualifiedname : name . '.' IDENTIFIER (12) - methodinvocation : name . '(' ')' (224) - methodinvocation : name . '(' argumentlist ')' (225) - postfixexpression : name . (238) - - '.' shift 283 - '(' shift 284 - ABSTRACT reduce 238 - BOOLEAN reduce 238 - CHAR reduce 238 - FINAL reduce 238 - INSTANCEOF reduce 238 - INT reduce 238 - PRIVATE reduce 238 - PROTECTED reduce 238 - PUBLIC reduce 238 - STATIC reduce 238 - VOID reduce 238 - IDENTIFIER reduce 238 - EQUAL reduce 238 - LESSEQUAL reduce 238 - GREATEREQUAL reduce 238 - NOTEQUAL reduce 238 - LOGICALOR reduce 238 - LOGICALAND reduce 238 - INCREMENT reduce 238 - DECREMENT reduce 238 - ',' reduce 238 - ';' reduce 238 - '*' reduce 238 - '<' reduce 238 - '>' reduce 238 - '}' reduce 238 - ')' reduce 238 - '&' reduce 238 - '+' reduce 238 - '-' reduce 238 - '|' reduce 238 - '^' reduce 238 - '/' reduce 238 - '%' reduce 238 - - -state 279 - preincrementexpression : INCREMENT unaryexpression . (220) - - . reduce 220 - - -state 280 - predecrementexpression : DECREMENT unaryexpression . (221) - - . reduce 221 - - -state 281 - lambdaexpressionparameter : '(' ')' . (210) - - . reduce 210 - - -state 282 - formalparameterlist : formalparameterlist . ',' formalparameter (138) - lambdaexpressionparameter : '(' formalparameterlist . ')' (211) - - ',' shift 303 - ')' shift 351 - . error - - -state 283 - qualifiedname : name '.' . IDENTIFIER (12) - - IDENTIFIER shift 352 - . error - - -state 284 - methodinvocation : name '(' . ')' (224) - methodinvocation : name '(' . argumentlist ')' (225) - - NEW shift 219 - THIS shift 157 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 42 - INCREMENT shift 168 - DECREMENT shift 169 - '(' shift 220 - ')' shift 353 - '+' shift 221 - '-' shift 222 - '!' shift 223 - . error - - simplename goto 224 - qualifiedname goto 176 - name goto 177 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 225 - unaryexpressionnotplusminus goto 226 - unaryexpression goto 227 - multiplicativeexpression goto 228 - additiveexpression goto 229 - shiftexpression goto 230 - relationalexpression goto 231 - equalityexpression goto 232 - andexpression goto 233 - exclusiveorexpression goto 234 - inclusiveorexpression goto 235 - conditionalandexpression goto 236 - conditionalorexpression goto 237 - conditionalexpression goto 238 - assignmentexpression goto 239 - lambdaexpression goto 188 - expression goto 354 - preincrementexpression goto 241 - predecrementexpression goto 242 - postincrementexpression goto 243 - postdecrementexpression goto 244 - classinstancecreationexpression goto 245 - assignment goto 246 - lefthandside goto 205 - argumentlist goto 355 - methodinvocation goto 247 - castexpression goto 248 - - -state 285 - variabledeclarators : variabledeclarators . ',' variabledeclarator (133) - localvariabledeclaration : type variabledeclarators . (168) - - ',' shift 118 - ';' reduce 168 - - -state 286 - block : '{' blockstatements '}' . (90) - - . reduce 90 - - -state 287 - blockstatements : blockstatements blockstatement . (136) - - . reduce 136 - - -state 288 - localvariabledeclarationstatement : localvariabledeclaration ';' . (158) - - . reduce 158 - - -state 289 - lambdaassignmentoperator : LAMBDAASSIGNMENT . (207) - - . reduce 207 - - -state 290 - lambdaexpression : lambdaexpressionparameter lambdaassignmentoperator . lambdabody (212) - - NEW shift 219 - THIS shift 157 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 42 - INCREMENT shift 168 - DECREMENT shift 169 - '{' shift 105 - '(' shift 220 - '+' shift 221 - '-' shift 222 - '!' shift 223 - . error - - simplename goto 224 - qualifiedname goto 176 - name goto 177 - block goto 356 - lambdabody goto 357 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 225 - unaryexpressionnotplusminus goto 226 - unaryexpression goto 227 - multiplicativeexpression goto 228 - additiveexpression goto 229 - shiftexpression goto 230 - relationalexpression goto 231 - equalityexpression goto 232 - andexpression goto 233 - exclusiveorexpression goto 234 - inclusiveorexpression goto 235 - conditionalandexpression goto 236 - conditionalorexpression goto 237 - conditionalexpression goto 238 - assignmentexpression goto 239 - lambdaexpression goto 188 - expression goto 358 - preincrementexpression goto 241 - predecrementexpression goto 242 - postincrementexpression goto 243 - postdecrementexpression goto 244 - classinstancecreationexpression goto 245 - assignment goto 246 - lefthandside goto 205 - methodinvocation goto 247 - castexpression goto 248 - - -state 291 - methodinvocation : primary '.' . IDENTIFIER '(' ')' (226) - methodinvocation : primary '.' . IDENTIFIER '(' argumentlist ')' (227) - - IDENTIFIER shift 359 - . error - - -state 292 - postincrementexpression : postfixexpression INCREMENT . (222) - - . reduce 222 - - -state 293 - postdecrementexpression : postfixexpression DECREMENT . (223) - - . reduce 223 - - -state 294 - expressionstatement : statementexpression ';' . (188) - - . reduce 188 - - -state 295 - assignmentoperator : PLUSEQUAL . (218) - - . reduce 218 - - -state 296 - assignmentoperator : MINUSEQUAL . (219) - - . reduce 219 - - -state 297 - assignmentoperator : TIMESEQUAL . (215) - - . reduce 215 - - -state 298 - assignmentoperator : DIVIDEEQUAL . (216) - - . reduce 216 - - -state 299 - assignmentoperator : MODULOEQUAL . (217) - - . reduce 217 - - -state 300 - assignmentoperator : '=' . (214) - - . reduce 214 - - -state 301 - assignment : lefthandside assignmentoperator . assignmentexpression (195) - assignment : lefthandside assignmentoperator . classinstancecreationexpression (196) - - NEW shift 219 - THIS shift 157 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 42 - INCREMENT shift 168 - DECREMENT shift 169 - '(' shift 220 - '+' shift 221 - '-' shift 222 - '!' shift 223 - . error - - simplename goto 224 - qualifiedname goto 176 - name goto 177 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 225 - unaryexpressionnotplusminus goto 226 - unaryexpression goto 227 - multiplicativeexpression goto 228 - additiveexpression goto 229 - shiftexpression goto 230 - relationalexpression goto 231 - equalityexpression goto 232 - andexpression goto 233 - exclusiveorexpression goto 234 - inclusiveorexpression goto 235 - conditionalandexpression goto 236 - conditionalorexpression goto 237 - conditionalexpression goto 238 - assignmentexpression goto 360 - lambdaexpression goto 188 - preincrementexpression goto 241 - predecrementexpression goto 242 - postincrementexpression goto 243 - postdecrementexpression goto 244 - classinstancecreationexpression goto 361 - assignment goto 246 - lefthandside goto 205 - methodinvocation goto 247 - castexpression goto 248 - - -state 302 - formalparameter : type variabledeclaratorid . (151) - - . reduce 151 - - state 303 - formalparameterlist : formalparameterlist ',' . formalparameter (138) - - BOOLEAN shift 48 - CHAR shift 49 - INT shift 50 - IDENTIFIER shift 167 - . error - - variabledeclaratorid goto 209 - simplename goto 43 - classorinterfacetype goto 68 - integraltype goto 69 - numerictype goto 70 - primitivetype goto 71 - referencetype goto 72 - type goto 210 - formalparameter goto 362 - - -state 304 - methoddeclarator : IDENTIFIER '(' formalparameterlist ')' . (144) - - . reduce 144 - - -state 305 - boundedMethodParameters : boundedMethodParameters ',' boundedMethodParameter . (106) - - . reduce 106 - - -state 306 - methodheader : '<' boundedMethodParameters '>' VOID . methoddeclarator (119) - methodheader : '<' boundedMethodParameters '>' VOID . methoddeclarator throws (121) - - IDENTIFIER shift 107 - . error - - methoddeclarator goto 363 - - -state 307 - methodheader : '<' boundedMethodParameters '>' methoddeclarator . (124) - - . reduce 124 - - -state 308 - methodheader : '<' boundedMethodParameters '>' type . methoddeclarator (107) - methodheader : '<' boundedMethodParameters '>' type . methoddeclarator throws (112) - - IDENTIFIER shift 107 - . error - - methoddeclarator goto 364 - - -state 309 - classtypelist : classtypelist ',' . classtype (142) - - IDENTIFIER shift 42 - . error - - simplename goto 43 - classtype goto 365 - classorinterfacetype goto 45 - - -state 310 - classinstancecreationexpression : NEW classtype . '(' ')' (228) - classinstancecreationexpression : NEW classtype . '(' argumentlist ')' (229) - - '(' shift 366 - . error - - -state 311 - type : primitivetype . (128) - type : primitivetype . '[' ']' (129) - castexpression : '(' primitivetype . ')' unaryexpression (261) - - ')' shift 367 - '[' shift 123 - IDENTIFIER reduce 128 - - -state 312 - unaryexpression : '+' unaryexpression . (234) - - . reduce 234 - - -state 313 - unaryexpression : '-' unaryexpression . (235) - - . reduce 235 - - -state 314 - unaryexpressionnotplusminus : '!' unaryexpression . (249) - - . reduce 249 - - -state 315 - multiplicativeexpression : multiplicativeexpression '*' . unaryexpression (278) - - THIS shift 157 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 42 - INCREMENT shift 168 - DECREMENT shift 169 - '(' shift 220 - '+' shift 221 - '-' shift 222 - '!' shift 223 - . error - - simplename goto 224 - qualifiedname goto 176 - name goto 278 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 225 - unaryexpressionnotplusminus goto 226 - unaryexpression goto 368 - lambdaexpression goto 188 - preincrementexpression goto 241 - predecrementexpression goto 242 - postincrementexpression goto 243 - postdecrementexpression goto 244 - methodinvocation goto 247 - castexpression goto 248 - - -state 316 - multiplicativeexpression : multiplicativeexpression '/' . unaryexpression (279) - - THIS shift 157 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 42 - INCREMENT shift 168 - DECREMENT shift 169 - '(' shift 220 - '+' shift 221 - '-' shift 222 - '!' shift 223 - . error - - simplename goto 224 - qualifiedname goto 176 - name goto 278 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 225 - unaryexpressionnotplusminus goto 226 - unaryexpression goto 369 - lambdaexpression goto 188 - preincrementexpression goto 241 - predecrementexpression goto 242 - postincrementexpression goto 243 - postdecrementexpression goto 244 - methodinvocation goto 247 - castexpression goto 248 - - -state 317 - multiplicativeexpression : multiplicativeexpression '%' . unaryexpression (280) - - THIS shift 157 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 42 - INCREMENT shift 168 - DECREMENT shift 169 - '(' shift 220 - '+' shift 221 - '-' shift 222 - '!' shift 223 - . error - - simplename goto 224 - qualifiedname goto 176 - name goto 278 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 225 - unaryexpressionnotplusminus goto 226 - unaryexpression goto 370 - lambdaexpression goto 188 - preincrementexpression goto 241 - predecrementexpression goto 242 - postincrementexpression goto 243 - postdecrementexpression goto 244 - methodinvocation goto 247 - castexpression goto 248 - - -state 318 - additiveexpression : additiveexpression '+' . multiplicativeexpression (275) - - THIS shift 157 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 42 - INCREMENT shift 168 - DECREMENT shift 169 - '(' shift 220 - '+' shift 221 - '-' shift 222 - '!' shift 223 - . error - - simplename goto 224 - qualifiedname goto 176 - name goto 278 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 225 - unaryexpressionnotplusminus goto 226 - unaryexpression goto 227 - multiplicativeexpression goto 371 - lambdaexpression goto 188 - preincrementexpression goto 241 - predecrementexpression goto 242 - postincrementexpression goto 243 - postdecrementexpression goto 244 - methodinvocation goto 247 - castexpression goto 248 - - -state 319 - additiveexpression : additiveexpression '-' . multiplicativeexpression (276) - - THIS shift 157 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 42 - INCREMENT shift 168 - DECREMENT shift 169 - '(' shift 220 - '+' shift 221 - '-' shift 222 - '!' shift 223 - . error - - simplename goto 224 - qualifiedname goto 176 - name goto 278 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 225 - unaryexpressionnotplusminus goto 226 - unaryexpression goto 227 - multiplicativeexpression goto 372 - lambdaexpression goto 188 - preincrementexpression goto 241 - predecrementexpression goto 242 - postincrementexpression goto 243 - postdecrementexpression goto 244 - methodinvocation goto 247 - castexpression goto 248 - - -state 320 - relationalexpression : relationalexpression INSTANCEOF . referencetype (272) - - IDENTIFIER shift 42 - . error - - simplename goto 43 - classorinterfacetype goto 68 - referencetype goto 373 - - -state 321 - relationalexpression : relationalexpression LESSEQUAL . shiftexpression (270) - - THIS shift 157 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 42 - INCREMENT shift 168 - DECREMENT shift 169 - '(' shift 220 - '+' shift 221 - '-' shift 222 - '!' shift 223 - . error - - simplename goto 224 - qualifiedname goto 176 - name goto 278 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 225 - unaryexpressionnotplusminus goto 226 - unaryexpression goto 227 - multiplicativeexpression goto 228 - additiveexpression goto 229 - shiftexpression goto 374 - lambdaexpression goto 188 - preincrementexpression goto 241 - predecrementexpression goto 242 - postincrementexpression goto 243 - postdecrementexpression goto 244 - methodinvocation goto 247 - castexpression goto 248 - - -state 322 - relationalexpression : relationalexpression GREATEREQUAL . shiftexpression (271) - - THIS shift 157 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 42 - INCREMENT shift 168 - DECREMENT shift 169 - '(' shift 220 - '+' shift 221 - '-' shift 222 - '!' shift 223 - . error - - simplename goto 224 - qualifiedname goto 176 - name goto 278 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 225 - unaryexpressionnotplusminus goto 226 - unaryexpression goto 227 - multiplicativeexpression goto 228 - additiveexpression goto 229 - shiftexpression goto 375 - lambdaexpression goto 188 - preincrementexpression goto 241 - predecrementexpression goto 242 - postincrementexpression goto 243 - postdecrementexpression goto 244 - methodinvocation goto 247 - castexpression goto 248 - - -state 323 - relationalexpression : relationalexpression '<' . shiftexpression (268) - - THIS shift 157 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 42 - INCREMENT shift 168 - DECREMENT shift 169 - '(' shift 220 - '+' shift 221 - '-' shift 222 - '!' shift 223 - . error - - simplename goto 224 - qualifiedname goto 176 - name goto 278 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 225 - unaryexpressionnotplusminus goto 226 - unaryexpression goto 227 - multiplicativeexpression goto 228 - additiveexpression goto 229 - shiftexpression goto 376 - lambdaexpression goto 188 - preincrementexpression goto 241 - predecrementexpression goto 242 - postincrementexpression goto 243 - postdecrementexpression goto 244 - methodinvocation goto 247 - castexpression goto 248 - - -state 324 - relationalexpression : relationalexpression '>' . shiftexpression (269) - - THIS shift 157 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 42 - INCREMENT shift 168 - DECREMENT shift 169 - '(' shift 220 - '+' shift 221 - '-' shift 222 - '!' shift 223 - . error - - simplename goto 224 - qualifiedname goto 176 - name goto 278 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 225 - unaryexpressionnotplusminus goto 226 - unaryexpression goto 227 - multiplicativeexpression goto 228 - additiveexpression goto 229 - shiftexpression goto 377 - lambdaexpression goto 188 - preincrementexpression goto 241 - predecrementexpression goto 242 - postincrementexpression goto 243 - postdecrementexpression goto 244 - methodinvocation goto 247 - castexpression goto 248 - - -state 325 - equalityexpression : equalityexpression EQUAL . relationalexpression (265) - - THIS shift 157 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 42 - INCREMENT shift 168 - DECREMENT shift 169 - '(' shift 220 - '+' shift 221 - '-' shift 222 - '!' shift 223 - . error - - simplename goto 224 - qualifiedname goto 176 - name goto 278 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 225 - unaryexpressionnotplusminus goto 226 - unaryexpression goto 227 - multiplicativeexpression goto 228 - additiveexpression goto 229 - shiftexpression goto 230 - relationalexpression goto 378 - lambdaexpression goto 188 - preincrementexpression goto 241 - predecrementexpression goto 242 - postincrementexpression goto 243 - postdecrementexpression goto 244 - methodinvocation goto 247 - castexpression goto 248 - - -state 326 - equalityexpression : equalityexpression NOTEQUAL . relationalexpression (266) - - THIS shift 157 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 42 - INCREMENT shift 168 - DECREMENT shift 169 - '(' shift 220 - '+' shift 221 - '-' shift 222 - '!' shift 223 - . error - - simplename goto 224 - qualifiedname goto 176 - name goto 278 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 225 - unaryexpressionnotplusminus goto 226 - unaryexpression goto 227 - multiplicativeexpression goto 228 - additiveexpression goto 229 - shiftexpression goto 230 - relationalexpression goto 379 - lambdaexpression goto 188 - preincrementexpression goto 241 - predecrementexpression goto 242 - postincrementexpression goto 243 - postdecrementexpression goto 244 - methodinvocation goto 247 - castexpression goto 248 - - -state 327 - andexpression : andexpression '&' . equalityexpression (263) - - THIS shift 157 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 42 - INCREMENT shift 168 - DECREMENT shift 169 - '(' shift 220 - '+' shift 221 - '-' shift 222 - '!' shift 223 - . error - - simplename goto 224 - qualifiedname goto 176 - name goto 278 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 225 - unaryexpressionnotplusminus goto 226 - unaryexpression goto 227 - multiplicativeexpression goto 228 - additiveexpression goto 229 - shiftexpression goto 230 - relationalexpression goto 231 - equalityexpression goto 380 - lambdaexpression goto 188 - preincrementexpression goto 241 - predecrementexpression goto 242 - postincrementexpression goto 243 - postdecrementexpression goto 244 - methodinvocation goto 247 - castexpression goto 248 - - -state 328 - exclusiveorexpression : exclusiveorexpression '^' . andexpression (252) - - THIS shift 157 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 42 - INCREMENT shift 168 - DECREMENT shift 169 - '(' shift 220 - '+' shift 221 - '-' shift 222 - '!' shift 223 - . error - - simplename goto 224 - qualifiedname goto 176 - name goto 278 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 225 - unaryexpressionnotplusminus goto 226 - unaryexpression goto 227 - multiplicativeexpression goto 228 - additiveexpression goto 229 - shiftexpression goto 230 - relationalexpression goto 231 - equalityexpression goto 232 - andexpression goto 381 - lambdaexpression goto 188 - preincrementexpression goto 241 - predecrementexpression goto 242 - postincrementexpression goto 243 - postdecrementexpression goto 244 - methodinvocation goto 247 - castexpression goto 248 - - -state 329 - inclusiveorexpression : inclusiveorexpression '|' . exclusiveorexpression (243) - - THIS shift 157 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 42 - INCREMENT shift 168 - DECREMENT shift 169 - '(' shift 220 - '+' shift 221 - '-' shift 222 - '!' shift 223 - . error - - simplename goto 224 - qualifiedname goto 176 - name goto 278 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 225 - unaryexpressionnotplusminus goto 226 - unaryexpression goto 227 - multiplicativeexpression goto 228 - additiveexpression goto 229 - shiftexpression goto 230 - relationalexpression goto 231 - equalityexpression goto 232 - andexpression goto 233 - exclusiveorexpression goto 382 - lambdaexpression goto 188 - preincrementexpression goto 241 - predecrementexpression goto 242 - postincrementexpression goto 243 - postdecrementexpression goto 244 - methodinvocation goto 247 - castexpression goto 248 - - -state 330 - conditionalandexpression : conditionalandexpression LOGICALAND . inclusiveorexpression (231) - - THIS shift 157 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 42 - INCREMENT shift 168 - DECREMENT shift 169 - '(' shift 220 - '+' shift 221 - '-' shift 222 - '!' shift 223 - . error - - simplename goto 224 - qualifiedname goto 176 - name goto 278 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 225 - unaryexpressionnotplusminus goto 226 - unaryexpression goto 227 - multiplicativeexpression goto 228 - additiveexpression goto 229 - shiftexpression goto 230 - relationalexpression goto 231 - equalityexpression goto 232 - andexpression goto 233 - exclusiveorexpression goto 234 - inclusiveorexpression goto 383 - lambdaexpression goto 188 - preincrementexpression goto 241 - predecrementexpression goto 242 - postincrementexpression goto 243 - postdecrementexpression goto 244 - methodinvocation goto 247 - castexpression goto 248 - - -state 331 - conditionalorexpression : conditionalorexpression LOGICALOR . conditionalandexpression (206) - - THIS shift 157 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 42 - INCREMENT shift 168 - DECREMENT shift 169 - '(' shift 220 - '+' shift 221 - '-' shift 222 - '!' shift 223 - . error - - simplename goto 224 - qualifiedname goto 176 - name goto 278 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 225 - unaryexpressionnotplusminus goto 226 - unaryexpression goto 227 - multiplicativeexpression goto 228 - additiveexpression goto 229 - shiftexpression goto 230 - relationalexpression goto 231 - equalityexpression goto 232 - andexpression goto 233 - exclusiveorexpression goto 234 - inclusiveorexpression goto 235 - conditionalandexpression goto 384 - lambdaexpression goto 188 - preincrementexpression goto 241 - predecrementexpression goto 242 - postincrementexpression goto 243 - postdecrementexpression goto 244 - methodinvocation goto 247 - castexpression goto 248 - - -state 332 - constructordeclarator : simplename '(' formalparameterlist ')' . (92) - - . reduce 92 - - -state 333 - fielddeclarator : type variabledeclarator '=' expression . (81) - fielddeclarator : variabledeclarator '=' expression . (82) - - ABSTRACT reduce 82 - BOOLEAN reduce 82 - CHAR reduce 82 - FINAL reduce 82 - INT reduce 82 - PRIVATE reduce 82 - PROTECTED reduce 82 - PUBLIC reduce 82 - STATIC reduce 82 - VOID reduce 82 - IDENTIFIER reduce 82 - ';' reduce 81 - '<' reduce 82 - '}' reduce 82 - - -state 334 - fielddeclarator : type variabledeclarator '=' . expression (81) - - NEW shift 219 - THIS shift 157 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 42 - INCREMENT shift 168 - DECREMENT shift 169 - '(' shift 220 - '+' shift 221 - '-' shift 222 - '!' shift 223 - . error - - simplename goto 224 - qualifiedname goto 176 - name goto 177 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 225 - unaryexpressionnotplusminus goto 226 - unaryexpression goto 227 - multiplicativeexpression goto 228 - additiveexpression goto 229 - shiftexpression goto 230 - relationalexpression goto 231 - equalityexpression goto 232 - andexpression goto 233 - exclusiveorexpression goto 234 - inclusiveorexpression goto 235 - conditionalandexpression goto 236 - conditionalorexpression goto 237 - conditionalexpression goto 238 - assignmentexpression goto 239 - lambdaexpression goto 188 - expression goto 385 - preincrementexpression goto 241 - predecrementexpression goto 242 - postincrementexpression goto 243 - postdecrementexpression goto 244 - classinstancecreationexpression goto 245 - assignment goto 246 - lefthandside goto 205 - methodinvocation goto 247 - castexpression goto 248 - - -state 335 - methodheader : modifiers VOID methoddeclarator throws . (118) - - . reduce 118 - - -state 336 - methodheader : modifiers '<' boundedMethodParameters '>' . type methoddeclarator (110) - methodheader : modifiers '<' boundedMethodParameters '>' . type methoddeclarator throws (114) - methodheader : modifiers '<' boundedMethodParameters '>' . VOID methoddeclarator (120) - methodheader : modifiers '<' boundedMethodParameters '>' . VOID methoddeclarator throws (122) - - BOOLEAN shift 48 - CHAR shift 49 - INT shift 50 - VOID shift 386 - IDENTIFIER shift 42 - . error - - simplename goto 43 - classorinterfacetype goto 68 - integraltype goto 69 - numerictype goto 70 - primitivetype goto 71 - referencetype goto 72 - type goto 387 - - -state 337 - methodheader : modifiers type methoddeclarator throws . (113) - - . reduce 113 - - -state 338 - fielddeclaration : modifiers type variabledeclarators ';' . (87) - - . reduce 87 - - -state 339 - explicitconstructorinvocation : THIS '(' . ')' ';' (139) - explicitconstructorinvocation : THIS '(' . argumentlist ')' ';' (140) - - NEW shift 219 - THIS shift 157 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 42 - INCREMENT shift 168 - DECREMENT shift 169 - '(' shift 220 - ')' shift 388 - '+' shift 221 - '-' shift 222 - '!' shift 223 - . error - - simplename goto 224 - qualifiedname goto 176 - name goto 177 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 225 - unaryexpressionnotplusminus goto 226 - unaryexpression goto 227 - multiplicativeexpression goto 228 - additiveexpression goto 229 - shiftexpression goto 230 - relationalexpression goto 231 - equalityexpression goto 232 - andexpression goto 233 - exclusiveorexpression goto 234 - inclusiveorexpression goto 235 - conditionalandexpression goto 236 - conditionalorexpression goto 237 - conditionalexpression goto 238 - assignmentexpression goto 239 - lambdaexpression goto 188 - expression goto 354 - preincrementexpression goto 241 - predecrementexpression goto 242 - postincrementexpression goto 243 - postdecrementexpression goto 244 - classinstancecreationexpression goto 245 - assignment goto 246 - lefthandside goto 205 - argumentlist goto 389 - methodinvocation goto 247 - castexpression goto 248 - - -state 340 - constructorbody : '{' blockstatements '}' . (95) - - . reduce 95 - - -state 341 - constructorbody : '{' explicitconstructorinvocation '}' . (94) - - . reduce 94 - - -state 342 - constructorbody : '{' explicitconstructorinvocation blockstatements . '}' (96) - blockstatements : blockstatements . blockstatement (136) - - BOOLEAN shift 48 - CHAR shift 49 - FOR shift 154 - IF shift 155 - INT shift 50 - RETURN shift 156 - THIS shift 157 - WHILE shift 158 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 167 - INCREMENT shift 168 - DECREMENT shift 169 - ';' shift 170 - '{' shift 105 - '}' shift 390 - '(' shift 172 - . error - - variabledeclarators goto 173 - variabledeclarator goto 174 - variabledeclaratorid goto 66 - simplename goto 175 - qualifiedname goto 176 - name goto 177 - classorinterfacetype goto 68 - integraltype goto 69 - numerictype goto 70 - primitivetype goto 71 - referencetype goto 72 - type goto 178 - block goto 179 - localvariabledeclarationstatement goto 181 - localvariabledeclaration goto 182 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 187 - lambdaexpression goto 188 - statementexpression goto 189 - preincrementexpression goto 190 - predecrementexpression goto 191 - postincrementexpression goto 192 - postdecrementexpression goto 193 - expressionstatement goto 194 - statementwithouttrailingsubstatement goto 195 - blockstatement goto 287 - statement goto 197 - whilestatement goto 198 - forstatement goto 199 - ifthenstatement goto 200 - ifthenelsestatement goto 201 - emptystatement goto 202 - returnstatement goto 203 - assignment goto 204 - lefthandside goto 205 - methodinvocation goto 206 - - -state 343 - constantdeclaration : modifiers type IDENTIFIER '=' . expression ';' (79) - - NEW shift 219 - THIS shift 157 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 42 - INCREMENT shift 168 - DECREMENT shift 169 - '(' shift 220 - '+' shift 221 - '-' shift 222 - '!' shift 223 - . error - - simplename goto 224 - qualifiedname goto 176 - name goto 177 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 225 - unaryexpressionnotplusminus goto 226 - unaryexpression goto 227 - multiplicativeexpression goto 228 - additiveexpression goto 229 - shiftexpression goto 230 - relationalexpression goto 231 - equalityexpression goto 232 - andexpression goto 233 - exclusiveorexpression goto 234 - inclusiveorexpression goto 235 - conditionalandexpression goto 236 - conditionalorexpression goto 237 - conditionalexpression goto 238 - assignmentexpression goto 239 - lambdaexpression goto 188 - expression goto 391 - preincrementexpression goto 241 - predecrementexpression goto 242 - postincrementexpression goto 243 - postdecrementexpression goto 244 - classinstancecreationexpression goto 245 - assignment goto 246 - lefthandside goto 205 - methodinvocation goto 247 - castexpression goto 248 - - -state 344 - boundedclassidentifierlist : boundedclassidentifierlist '&' referencetype . (104) - - . reduce 104 - - -state 345 - typelist : typelist ',' type . (69) - - . reduce 69 - - -state 346 - forstatement : FOR '(' ';' . expression ';' expression ')' statement (180) - forstatement : FOR '(' ';' . expression ';' ')' statement (182) - forstatement : FOR '(' ';' . ';' expression ')' statement (183) - forstatement : FOR '(' ';' . ';' ')' statement (184) - - NEW shift 219 - THIS shift 157 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 42 - INCREMENT shift 168 - DECREMENT shift 169 - ';' shift 392 - '(' shift 220 - '+' shift 221 - '-' shift 222 - '!' shift 223 - . error - - simplename goto 224 - qualifiedname goto 176 - name goto 177 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 225 - unaryexpressionnotplusminus goto 226 - unaryexpression goto 227 - multiplicativeexpression goto 228 - additiveexpression goto 229 - shiftexpression goto 230 - relationalexpression goto 231 - equalityexpression goto 232 - andexpression goto 233 - exclusiveorexpression goto 234 - inclusiveorexpression goto 235 - conditionalandexpression goto 236 - conditionalorexpression goto 237 - conditionalexpression goto 238 - assignmentexpression goto 239 - lambdaexpression goto 188 - expression goto 393 - preincrementexpression goto 241 - predecrementexpression goto 242 - postincrementexpression goto 243 - postdecrementexpression goto 244 - classinstancecreationexpression goto 245 - assignment goto 246 - lefthandside goto 205 - methodinvocation goto 247 - castexpression goto 248 - - -state 347 - forstatement : FOR '(' expression . ';' expression ';' expression ')' statement (177) - forstatement : FOR '(' expression . ';' expression ';' ')' statement (178) - forstatement : FOR '(' expression . ';' ';' expression ')' statement (179) - forstatement : FOR '(' expression . ';' ';' ')' statement (181) - - ';' shift 394 - . error - - -state 348 - ifthenstatement : IF '(' expression . ')' statement (174) - ifthenelsestatement : IF '(' expression . ')' statementnoshortif ELSE statement (175) - - ')' shift 395 - . error - - -state 349 - returnstatement : RETURN expression ';' . (190) - - . reduce 190 - - -state 350 - whilestatement : WHILE '(' expression . ')' statement (176) - - ')' shift 396 - . error - - -state 351 - lambdaexpressionparameter : '(' formalparameterlist ')' . (211) - - . reduce 211 - - -state 352 - qualifiedname : name '.' IDENTIFIER . (12) - - . reduce 12 - - -state 353 - methodinvocation : name '(' ')' . (224) + preincrementexpression : INCREMENT unaryexpression . (224) . reduce 224 -state 354 - argumentlist : expression . (153) - - . reduce 153 - - -state 355 - argumentlist : argumentlist . ',' expression (154) - methodinvocation : name '(' argumentlist . ')' (225) - - ',' shift 397 - ')' shift 398 - . error - - -state 356 - lambdabody : block . (208) - - . reduce 208 - - -state 357 - lambdaexpression : lambdaexpressionparameter lambdaassignmentoperator lambdabody . (212) - - . reduce 212 - - -state 358 - lambdabody : expression . (209) - - . reduce 209 - - -state 359 - methodinvocation : primary '.' IDENTIFIER . '(' ')' (226) - methodinvocation : primary '.' IDENTIFIER . '(' argumentlist ')' (227) - - '(' shift 399 - . error - - -state 360 - assignment : lefthandside assignmentoperator assignmentexpression . (195) - - . reduce 195 - - -state 361 - assignment : lefthandside assignmentoperator classinstancecreationexpression . (196) - - . reduce 196 - - -state 362 - formalparameterlist : formalparameterlist ',' formalparameter . (138) - - . reduce 138 - - -state 363 - methodheader : '<' boundedMethodParameters '>' VOID methoddeclarator . (119) - methodheader : '<' boundedMethodParameters '>' VOID methoddeclarator . throws (121) - - THROWS shift 114 - ';' reduce 119 - '{' reduce 119 - - throws goto 400 - - -state 364 - methodheader : '<' boundedMethodParameters '>' type methoddeclarator . (107) - methodheader : '<' boundedMethodParameters '>' type methoddeclarator . throws (112) - - THROWS shift 114 - ';' reduce 107 - '{' reduce 107 - - throws goto 401 - - -state 365 - classtypelist : classtypelist ',' classtype . (142) - - . reduce 142 - - -state 366 - classinstancecreationexpression : NEW classtype '(' . ')' (228) - classinstancecreationexpression : NEW classtype '(' . argumentlist ')' (229) - - NEW shift 219 - THIS shift 157 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 42 - INCREMENT shift 168 - DECREMENT shift 169 - '(' shift 220 - ')' shift 402 - '+' shift 221 - '-' shift 222 - '!' shift 223 - . error - - simplename goto 224 - qualifiedname goto 176 - name goto 177 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 225 - unaryexpressionnotplusminus goto 226 - unaryexpression goto 227 - multiplicativeexpression goto 228 - additiveexpression goto 229 - shiftexpression goto 230 - relationalexpression goto 231 - equalityexpression goto 232 - andexpression goto 233 - exclusiveorexpression goto 234 - inclusiveorexpression goto 235 - conditionalandexpression goto 236 - conditionalorexpression goto 237 - conditionalexpression goto 238 - assignmentexpression goto 239 - lambdaexpression goto 188 - expression goto 354 - preincrementexpression goto 241 - predecrementexpression goto 242 - postincrementexpression goto 243 - postdecrementexpression goto 244 - classinstancecreationexpression goto 245 - assignment goto 246 - lefthandside goto 205 - argumentlist goto 403 - methodinvocation goto 247 - castexpression goto 248 - - -state 367 - castexpression : '(' primitivetype ')' . unaryexpression (261) - - THIS shift 157 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 42 - INCREMENT shift 168 - DECREMENT shift 169 - '(' shift 220 - '+' shift 221 - '-' shift 222 - '!' shift 223 - . error - - simplename goto 224 - qualifiedname goto 176 - name goto 278 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 225 - unaryexpressionnotplusminus goto 226 - unaryexpression goto 404 - lambdaexpression goto 188 - preincrementexpression goto 241 - predecrementexpression goto 242 - postincrementexpression goto 243 - postdecrementexpression goto 244 - methodinvocation goto 247 - castexpression goto 248 - - -state 368 - multiplicativeexpression : multiplicativeexpression '*' unaryexpression . (278) - - . reduce 278 - - -state 369 - multiplicativeexpression : multiplicativeexpression '/' unaryexpression . (279) - - . reduce 279 - - -state 370 - multiplicativeexpression : multiplicativeexpression '%' unaryexpression . (280) - - . reduce 280 - - -371: shift/reduce conflict (shift 315, reduce 275) on '*' -371: shift/reduce conflict (shift 316, reduce 275) on '/' -371: shift/reduce conflict (shift 317, reduce 275) on '%' -state 371 - additiveexpression : additiveexpression '+' multiplicativeexpression . (275) - multiplicativeexpression : multiplicativeexpression . '*' unaryexpression (278) - multiplicativeexpression : multiplicativeexpression . '/' unaryexpression (279) - multiplicativeexpression : multiplicativeexpression . '%' unaryexpression (280) - - '*' shift 315 - '/' shift 316 - '%' shift 317 - ABSTRACT reduce 275 - BOOLEAN reduce 275 - CHAR reduce 275 - FINAL reduce 275 - INSTANCEOF reduce 275 - INT reduce 275 - PRIVATE reduce 275 - PROTECTED reduce 275 - PUBLIC reduce 275 - STATIC reduce 275 - VOID reduce 275 - IDENTIFIER reduce 275 - EQUAL reduce 275 - LESSEQUAL reduce 275 - GREATEREQUAL reduce 275 - NOTEQUAL reduce 275 - LOGICALOR reduce 275 - LOGICALAND reduce 275 - INCREMENT reduce 275 - DECREMENT reduce 275 - ',' reduce 275 - ';' reduce 275 - '.' reduce 275 - '<' reduce 275 - '>' reduce 275 - '}' reduce 275 - ')' reduce 275 - '&' reduce 275 - '+' reduce 275 - '-' reduce 275 - '|' reduce 275 - '^' reduce 275 - - -372: shift/reduce conflict (shift 315, reduce 276) on '*' -372: shift/reduce conflict (shift 316, reduce 276) on '/' -372: shift/reduce conflict (shift 317, reduce 276) on '%' -state 372 - additiveexpression : additiveexpression '-' multiplicativeexpression . (276) - multiplicativeexpression : multiplicativeexpression . '*' unaryexpression (278) - multiplicativeexpression : multiplicativeexpression . '/' unaryexpression (279) - multiplicativeexpression : multiplicativeexpression . '%' unaryexpression (280) - - '*' shift 315 - '/' shift 316 - '%' shift 317 - ABSTRACT reduce 276 - BOOLEAN reduce 276 - CHAR reduce 276 - FINAL reduce 276 - INSTANCEOF reduce 276 - INT reduce 276 - PRIVATE reduce 276 - PROTECTED reduce 276 - PUBLIC reduce 276 - STATIC reduce 276 - VOID reduce 276 - IDENTIFIER reduce 276 - EQUAL reduce 276 - LESSEQUAL reduce 276 - GREATEREQUAL reduce 276 - NOTEQUAL reduce 276 - LOGICALOR reduce 276 - LOGICALAND reduce 276 - INCREMENT reduce 276 - DECREMENT reduce 276 - ',' reduce 276 - ';' reduce 276 - '.' reduce 276 - '<' reduce 276 - '>' reduce 276 - '}' reduce 276 - ')' reduce 276 - '&' reduce 276 - '+' reduce 276 - '-' reduce 276 - '|' reduce 276 - '^' reduce 276 - - -state 373 - relationalexpression : relationalexpression INSTANCEOF referencetype . (272) - - . reduce 272 - - -state 374 - relationalexpression : relationalexpression LESSEQUAL shiftexpression . (270) - - . reduce 270 - - -state 375 - relationalexpression : relationalexpression GREATEREQUAL shiftexpression . (271) - - . reduce 271 - - -state 376 - relationalexpression : relationalexpression '<' shiftexpression . (268) - - . reduce 268 - - -state 377 - relationalexpression : relationalexpression '>' shiftexpression . (269) - - . reduce 269 - - -378: shift/reduce conflict (shift 320, reduce 265) on INSTANCEOF -378: shift/reduce conflict (shift 321, reduce 265) on LESSEQUAL -378: shift/reduce conflict (shift 322, reduce 265) on GREATEREQUAL -378: shift/reduce conflict (shift 323, reduce 265) on '<' -378: shift/reduce conflict (shift 324, reduce 265) on '>' -state 378 - equalityexpression : equalityexpression EQUAL relationalexpression . (265) - relationalexpression : relationalexpression . '<' shiftexpression (268) - relationalexpression : relationalexpression . '>' shiftexpression (269) - relationalexpression : relationalexpression . LESSEQUAL shiftexpression (270) - relationalexpression : relationalexpression . GREATEREQUAL shiftexpression (271) - relationalexpression : relationalexpression . INSTANCEOF referencetype (272) - - INSTANCEOF shift 320 - LESSEQUAL shift 321 - GREATEREQUAL shift 322 - '<' shift 323 - '>' shift 324 - ABSTRACT reduce 265 - BOOLEAN reduce 265 - CHAR reduce 265 - FINAL reduce 265 - INT reduce 265 - PRIVATE reduce 265 - PROTECTED reduce 265 - PUBLIC reduce 265 - STATIC reduce 265 - VOID reduce 265 - IDENTIFIER reduce 265 - EQUAL reduce 265 - NOTEQUAL reduce 265 - LOGICALOR reduce 265 - LOGICALAND reduce 265 - INCREMENT reduce 265 - DECREMENT reduce 265 - ',' reduce 265 - ';' reduce 265 - '.' reduce 265 - '*' reduce 265 - '}' reduce 265 - ')' reduce 265 - '&' reduce 265 - '+' reduce 265 - '-' reduce 265 - '|' reduce 265 - '^' reduce 265 - '/' reduce 265 - '%' reduce 265 - - -379: shift/reduce conflict (shift 320, reduce 266) on INSTANCEOF -379: shift/reduce conflict (shift 321, reduce 266) on LESSEQUAL -379: shift/reduce conflict (shift 322, reduce 266) on GREATEREQUAL -379: shift/reduce conflict (shift 323, reduce 266) on '<' -379: shift/reduce conflict (shift 324, reduce 266) on '>' -state 379 - equalityexpression : equalityexpression NOTEQUAL relationalexpression . (266) - relationalexpression : relationalexpression . '<' shiftexpression (268) - relationalexpression : relationalexpression . '>' shiftexpression (269) - relationalexpression : relationalexpression . LESSEQUAL shiftexpression (270) - relationalexpression : relationalexpression . GREATEREQUAL shiftexpression (271) - relationalexpression : relationalexpression . INSTANCEOF referencetype (272) - - INSTANCEOF shift 320 - LESSEQUAL shift 321 - GREATEREQUAL shift 322 - '<' shift 323 - '>' shift 324 - ABSTRACT reduce 266 - BOOLEAN reduce 266 - CHAR reduce 266 - FINAL reduce 266 - INT reduce 266 - PRIVATE reduce 266 - PROTECTED reduce 266 - PUBLIC reduce 266 - STATIC reduce 266 - VOID reduce 266 - IDENTIFIER reduce 266 - EQUAL reduce 266 - NOTEQUAL reduce 266 - LOGICALOR reduce 266 - LOGICALAND reduce 266 - INCREMENT reduce 266 - DECREMENT reduce 266 - ',' reduce 266 - ';' reduce 266 - '.' reduce 266 - '*' reduce 266 - '}' reduce 266 - ')' reduce 266 - '&' reduce 266 - '+' reduce 266 - '-' reduce 266 - '|' reduce 266 - '^' reduce 266 - '/' reduce 266 - '%' reduce 266 - - -380: shift/reduce conflict (shift 325, reduce 263) on EQUAL -380: shift/reduce conflict (shift 326, reduce 263) on NOTEQUAL -state 380 - andexpression : andexpression '&' equalityexpression . (263) - equalityexpression : equalityexpression . EQUAL relationalexpression (265) - equalityexpression : equalityexpression . NOTEQUAL relationalexpression (266) - - EQUAL shift 325 - NOTEQUAL shift 326 - ABSTRACT reduce 263 - BOOLEAN reduce 263 - CHAR reduce 263 - FINAL reduce 263 - INSTANCEOF reduce 263 - INT reduce 263 - PRIVATE reduce 263 - PROTECTED reduce 263 - PUBLIC reduce 263 - STATIC reduce 263 - VOID reduce 263 - IDENTIFIER reduce 263 - LESSEQUAL reduce 263 - GREATEREQUAL reduce 263 - LOGICALOR reduce 263 - LOGICALAND reduce 263 - INCREMENT reduce 263 - DECREMENT reduce 263 - ',' reduce 263 - ';' reduce 263 - '.' reduce 263 - '*' reduce 263 - '<' reduce 263 - '>' reduce 263 - '}' reduce 263 - ')' reduce 263 - '&' reduce 263 - '+' reduce 263 - '-' reduce 263 - '|' reduce 263 - '^' reduce 263 - '/' reduce 263 - '%' reduce 263 - - -381: shift/reduce conflict (shift 327, reduce 252) on '&' -state 381 - exclusiveorexpression : exclusiveorexpression '^' andexpression . (252) - andexpression : andexpression . '&' equalityexpression (263) - - '&' shift 327 - ABSTRACT reduce 252 - BOOLEAN reduce 252 - CHAR reduce 252 - FINAL reduce 252 - INSTANCEOF reduce 252 - INT reduce 252 - PRIVATE reduce 252 - PROTECTED reduce 252 - PUBLIC reduce 252 - STATIC reduce 252 - VOID reduce 252 - IDENTIFIER reduce 252 - EQUAL reduce 252 - LESSEQUAL reduce 252 - GREATEREQUAL reduce 252 - NOTEQUAL reduce 252 - LOGICALOR reduce 252 - LOGICALAND reduce 252 - INCREMENT reduce 252 - DECREMENT reduce 252 - ',' reduce 252 - ';' reduce 252 - '.' reduce 252 - '*' reduce 252 - '<' reduce 252 - '>' reduce 252 - '}' reduce 252 - ')' reduce 252 - '+' reduce 252 - '-' reduce 252 - '|' reduce 252 - '^' reduce 252 - '/' reduce 252 - '%' reduce 252 - - -382: shift/reduce conflict (shift 328, reduce 243) on '^' -state 382 - inclusiveorexpression : inclusiveorexpression '|' exclusiveorexpression . (243) - exclusiveorexpression : exclusiveorexpression . '^' andexpression (252) - - '^' shift 328 - ABSTRACT reduce 243 - BOOLEAN reduce 243 - CHAR reduce 243 - FINAL reduce 243 - INSTANCEOF reduce 243 - INT reduce 243 - PRIVATE reduce 243 - PROTECTED reduce 243 - PUBLIC reduce 243 - STATIC reduce 243 - VOID reduce 243 - IDENTIFIER reduce 243 - EQUAL reduce 243 - LESSEQUAL reduce 243 - GREATEREQUAL reduce 243 - NOTEQUAL reduce 243 - LOGICALOR reduce 243 - LOGICALAND reduce 243 - INCREMENT reduce 243 - DECREMENT reduce 243 - ',' reduce 243 - ';' reduce 243 - '.' reduce 243 - '*' reduce 243 - '<' reduce 243 - '>' reduce 243 - '}' reduce 243 - ')' reduce 243 - '&' reduce 243 - '+' reduce 243 - '-' reduce 243 - '|' reduce 243 - '/' reduce 243 - '%' reduce 243 - - -383: shift/reduce conflict (shift 329, reduce 231) on '|' -state 383 - conditionalandexpression : conditionalandexpression LOGICALAND inclusiveorexpression . (231) - inclusiveorexpression : inclusiveorexpression . '|' exclusiveorexpression (243) - - '|' shift 329 - ABSTRACT reduce 231 - BOOLEAN reduce 231 - CHAR reduce 231 - FINAL reduce 231 - INSTANCEOF reduce 231 - INT reduce 231 - PRIVATE reduce 231 - PROTECTED reduce 231 - PUBLIC reduce 231 - STATIC reduce 231 - VOID reduce 231 - IDENTIFIER reduce 231 - EQUAL reduce 231 - LESSEQUAL reduce 231 - GREATEREQUAL reduce 231 - NOTEQUAL reduce 231 - LOGICALOR reduce 231 - LOGICALAND reduce 231 - INCREMENT reduce 231 - DECREMENT reduce 231 - ',' reduce 231 - ';' reduce 231 - '.' reduce 231 - '*' reduce 231 - '<' reduce 231 - '>' reduce 231 - '}' reduce 231 - ')' reduce 231 - '&' reduce 231 - '+' reduce 231 - '-' reduce 231 - '^' reduce 231 - '/' reduce 231 - '%' reduce 231 - - -384: shift/reduce conflict (shift 330, reduce 206) on LOGICALAND -state 384 - conditionalorexpression : conditionalorexpression LOGICALOR conditionalandexpression . (206) - conditionalandexpression : conditionalandexpression . LOGICALAND inclusiveorexpression (231) - - LOGICALAND shift 330 - ABSTRACT reduce 206 - BOOLEAN reduce 206 - CHAR reduce 206 - FINAL reduce 206 - INSTANCEOF reduce 206 - INT reduce 206 - PRIVATE reduce 206 - PROTECTED reduce 206 - PUBLIC reduce 206 - STATIC reduce 206 - VOID reduce 206 - IDENTIFIER reduce 206 - EQUAL reduce 206 - LESSEQUAL reduce 206 - GREATEREQUAL reduce 206 - NOTEQUAL reduce 206 - LOGICALOR reduce 206 - INCREMENT reduce 206 - DECREMENT reduce 206 - ',' reduce 206 - ';' reduce 206 - '.' reduce 206 - '*' reduce 206 - '<' reduce 206 - '>' reduce 206 - '}' reduce 206 - ')' reduce 206 - '&' reduce 206 - '+' reduce 206 - '-' reduce 206 - '|' reduce 206 - '^' reduce 206 - '/' reduce 206 - '%' reduce 206 - - -state 385 - fielddeclarator : type variabledeclarator '=' expression . (81) - - . reduce 81 - - -state 386 - methodheader : modifiers '<' boundedMethodParameters '>' VOID . methoddeclarator (120) - methodheader : modifiers '<' boundedMethodParameters '>' VOID . methoddeclarator throws (122) - - IDENTIFIER shift 107 - . error - - methoddeclarator goto 405 - - -state 387 - methodheader : modifiers '<' boundedMethodParameters '>' type . methoddeclarator (110) - methodheader : modifiers '<' boundedMethodParameters '>' type . methoddeclarator throws (114) - - IDENTIFIER shift 107 - . error - - methoddeclarator goto 406 - - -state 388 - explicitconstructorinvocation : THIS '(' ')' . ';' (139) - - ';' shift 407 - . error - - -state 389 - explicitconstructorinvocation : THIS '(' argumentlist . ')' ';' (140) - argumentlist : argumentlist . ',' expression (154) - - ',' shift 397 - ')' shift 408 - . error - - -state 390 - constructorbody : '{' explicitconstructorinvocation blockstatements '}' . (96) - - . reduce 96 - - -state 391 - constantdeclaration : modifiers type IDENTIFIER '=' expression . ';' (79) - - ';' shift 409 - . error - - -state 392 - forstatement : FOR '(' ';' ';' . expression ')' statement (183) - forstatement : FOR '(' ';' ';' . ')' statement (184) - - NEW shift 219 - THIS shift 157 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 42 - INCREMENT shift 168 - DECREMENT shift 169 - '(' shift 220 - ')' shift 410 - '+' shift 221 - '-' shift 222 - '!' shift 223 - . error - - simplename goto 224 - qualifiedname goto 176 - name goto 177 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 225 - unaryexpressionnotplusminus goto 226 - unaryexpression goto 227 - multiplicativeexpression goto 228 - additiveexpression goto 229 - shiftexpression goto 230 - relationalexpression goto 231 - equalityexpression goto 232 - andexpression goto 233 - exclusiveorexpression goto 234 - inclusiveorexpression goto 235 - conditionalandexpression goto 236 - conditionalorexpression goto 237 - conditionalexpression goto 238 - assignmentexpression goto 239 - lambdaexpression goto 188 - expression goto 411 - preincrementexpression goto 241 - predecrementexpression goto 242 - postincrementexpression goto 243 - postdecrementexpression goto 244 - classinstancecreationexpression goto 245 - assignment goto 246 - lefthandside goto 205 - methodinvocation goto 247 - castexpression goto 248 - - -state 393 - forstatement : FOR '(' ';' expression . ';' expression ')' statement (180) - forstatement : FOR '(' ';' expression . ';' ')' statement (182) - - ';' shift 412 - . error - - -state 394 - forstatement : FOR '(' expression ';' . expression ';' expression ')' statement (177) - forstatement : FOR '(' expression ';' . expression ';' ')' statement (178) - forstatement : FOR '(' expression ';' . ';' expression ')' statement (179) - forstatement : FOR '(' expression ';' . ';' ')' statement (181) - - NEW shift 219 - THIS shift 157 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 42 - INCREMENT shift 168 - DECREMENT shift 169 - ';' shift 413 - '(' shift 220 - '+' shift 221 - '-' shift 222 - '!' shift 223 - . error - - simplename goto 224 - qualifiedname goto 176 - name goto 177 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 225 - unaryexpressionnotplusminus goto 226 - unaryexpression goto 227 - multiplicativeexpression goto 228 - additiveexpression goto 229 - shiftexpression goto 230 - relationalexpression goto 231 - equalityexpression goto 232 - andexpression goto 233 - exclusiveorexpression goto 234 - inclusiveorexpression goto 235 - conditionalandexpression goto 236 - conditionalorexpression goto 237 - conditionalexpression goto 238 - assignmentexpression goto 239 - lambdaexpression goto 188 - expression goto 414 - preincrementexpression goto 241 - predecrementexpression goto 242 - postincrementexpression goto 243 - postdecrementexpression goto 244 - classinstancecreationexpression goto 245 - assignment goto 246 - lefthandside goto 205 - methodinvocation goto 247 - castexpression goto 248 - - -state 395 - ifthenstatement : IF '(' expression ')' . statement (174) - ifthenelsestatement : IF '(' expression ')' . statementnoshortif ELSE statement (175) - - FOR shift 154 - IF shift 415 - RETURN shift 156 - THIS shift 157 - WHILE shift 416 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 42 - INCREMENT shift 168 - DECREMENT shift 169 - ';' shift 170 - '{' shift 105 - '(' shift 172 - . error - - simplename goto 224 - qualifiedname goto 176 - name goto 177 - block goto 179 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 187 - lambdaexpression goto 188 - statementexpression goto 189 - preincrementexpression goto 190 - predecrementexpression goto 191 - postincrementexpression goto 192 - postdecrementexpression goto 193 - expressionstatement goto 194 - statementwithouttrailingsubstatement goto 417 - statement goto 418 - statementnoshortif goto 419 - whilestatement goto 198 - forstatement goto 199 - whilestatementnoshortif goto 420 - ifthenstatement goto 200 - ifthenelsestatement goto 201 - ifthenelsestatementnoshortif goto 421 - emptystatement goto 202 - returnstatement goto 203 - assignment goto 204 - lefthandside goto 205 - methodinvocation goto 206 - - -state 396 - whilestatement : WHILE '(' expression ')' . statement (176) - - FOR shift 154 - IF shift 155 - RETURN shift 156 - THIS shift 157 - WHILE shift 158 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 42 - INCREMENT shift 168 - DECREMENT shift 169 - ';' shift 170 - '{' shift 105 - '(' shift 172 - . error - - simplename goto 224 - qualifiedname goto 176 - name goto 177 - block goto 179 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 187 - lambdaexpression goto 188 - statementexpression goto 189 - preincrementexpression goto 190 - predecrementexpression goto 191 - postincrementexpression goto 192 - postdecrementexpression goto 193 - expressionstatement goto 194 - statementwithouttrailingsubstatement goto 195 - statement goto 422 - whilestatement goto 198 - forstatement goto 199 - ifthenstatement goto 200 - ifthenelsestatement goto 201 - emptystatement goto 202 - returnstatement goto 203 - assignment goto 204 - lefthandside goto 205 - methodinvocation goto 206 - - -state 397 - argumentlist : argumentlist ',' . expression (154) - - NEW shift 219 - THIS shift 157 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 42 - INCREMENT shift 168 - DECREMENT shift 169 - '(' shift 220 - '+' shift 221 - '-' shift 222 - '!' shift 223 - . error - - simplename goto 224 - qualifiedname goto 176 - name goto 177 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 225 - unaryexpressionnotplusminus goto 226 - unaryexpression goto 227 - multiplicativeexpression goto 228 - additiveexpression goto 229 - shiftexpression goto 230 - relationalexpression goto 231 - equalityexpression goto 232 - andexpression goto 233 - exclusiveorexpression goto 234 - inclusiveorexpression goto 235 - conditionalandexpression goto 236 - conditionalorexpression goto 237 - conditionalexpression goto 238 - assignmentexpression goto 239 - lambdaexpression goto 188 - expression goto 423 - preincrementexpression goto 241 - predecrementexpression goto 242 - postincrementexpression goto 243 - postdecrementexpression goto 244 - classinstancecreationexpression goto 245 - assignment goto 246 - lefthandside goto 205 - methodinvocation goto 247 - castexpression goto 248 - - -state 398 - methodinvocation : name '(' argumentlist ')' . (225) +state 304 + predecrementexpression : DECREMENT unaryexpression . (225) . reduce 225 -state 399 - methodinvocation : primary '.' IDENTIFIER '(' . ')' (226) - methodinvocation : primary '.' IDENTIFIER '(' . argumentlist ')' (227) +state 305 + lambdaexpressionparameter : '(' ')' . (214) - NEW shift 219 - THIS shift 157 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 42 - INCREMENT shift 168 - DECREMENT shift 169 - '(' shift 220 - ')' shift 424 - '+' shift 221 - '-' shift 222 - '!' shift 223 - . error - - simplename goto 224 - qualifiedname goto 176 - name goto 177 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 225 - unaryexpressionnotplusminus goto 226 - unaryexpression goto 227 - multiplicativeexpression goto 228 - additiveexpression goto 229 - shiftexpression goto 230 - relationalexpression goto 231 - equalityexpression goto 232 - andexpression goto 233 - exclusiveorexpression goto 234 - inclusiveorexpression goto 235 - conditionalandexpression goto 236 - conditionalorexpression goto 237 - conditionalexpression goto 238 - assignmentexpression goto 239 - lambdaexpression goto 188 - expression goto 354 - preincrementexpression goto 241 - predecrementexpression goto 242 - postincrementexpression goto 243 - postdecrementexpression goto 244 - classinstancecreationexpression goto 245 - assignment goto 246 - lefthandside goto 205 - argumentlist goto 425 - methodinvocation goto 247 - castexpression goto 248 + . reduce 214 -state 400 - methodheader : '<' boundedMethodParameters '>' VOID methoddeclarator throws . (121) +state 306 + formalparameterlist : formalparameterlist . ',' formalparameter (142) + lambdaexpressionparameter : '(' formalparameterlist . ')' (215) - . reduce 121 - - -state 401 - methodheader : '<' boundedMethodParameters '>' type methoddeclarator throws . (112) - - . reduce 112 - - -state 402 - classinstancecreationexpression : NEW classtype '(' ')' . (228) - - . reduce 228 - - -state 403 - argumentlist : argumentlist . ',' expression (154) - classinstancecreationexpression : NEW classtype '(' argumentlist . ')' (229) - - ',' shift 397 - ')' shift 426 + ',' shift 326 + ')' shift 373 . error -state 404 - castexpression : '(' primitivetype ')' unaryexpression . (261) +state 307 + methodinvocation : name '(' . ')' (228) + methodinvocation : name '(' . argumentlist ')' (229) - . reduce 261 - - -state 405 - methodheader : modifiers '<' boundedMethodParameters '>' VOID methoddeclarator . (120) - methodheader : modifiers '<' boundedMethodParameters '>' VOID methoddeclarator . throws (122) - - THROWS shift 114 - ';' reduce 120 - '{' reduce 120 - - throws goto 427 - - -state 406 - methodheader : modifiers '<' boundedMethodParameters '>' type methoddeclarator . (110) - methodheader : modifiers '<' boundedMethodParameters '>' type methoddeclarator . throws (114) - - THROWS shift 114 - ';' reduce 110 - '{' reduce 110 - - throws goto 428 - - -state 407 - explicitconstructorinvocation : THIS '(' ')' ';' . (139) - - . reduce 139 - - -state 408 - explicitconstructorinvocation : THIS '(' argumentlist ')' . ';' (140) - - ';' shift 429 + NEW shift 248 + THIS shift 187 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 14 + INCREMENT shift 198 + DECREMENT shift 199 + '(' shift 249 + ')' shift 374 + '+' shift 250 + '-' shift 251 + '!' shift 252 . error - -state 409 - constantdeclaration : modifiers type IDENTIFIER '=' expression ';' . (79) - - . reduce 79 + simplename goto 34 + qualifiedname goto 35 + name goto 206 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 253 + unaryexpressionnotplusminus goto 254 + unaryexpression goto 255 + multiplicativeexpression goto 256 + additiveexpression goto 257 + shiftexpression goto 258 + relationalexpression goto 259 + equalityexpression goto 260 + andexpression goto 261 + exclusiveorexpression goto 262 + inclusiveorexpression goto 263 + conditionalandexpression goto 264 + conditionalorexpression goto 265 + conditionalexpression goto 266 + assignmentexpression goto 267 + lambdaexpression goto 217 + expression goto 375 + preincrementexpression goto 269 + predecrementexpression goto 270 + postincrementexpression goto 271 + postdecrementexpression goto 272 + classinstancecreationexpression goto 273 + assignment goto 274 + lefthandside goto 234 + argumentlist goto 376 + methodinvocation goto 275 + castexpression goto 276 -state 410 - forstatement : FOR '(' ';' ';' ')' . statement (184) +state 308 + variabledeclarators : variabledeclarators . ',' variabledeclarator (137) + localvariabledeclaration : type variabledeclarators . (172) - FOR shift 154 - IF shift 155 - RETURN shift 156 - THIS shift 157 - WHILE shift 158 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 42 - INCREMENT shift 168 - DECREMENT shift 169 - ';' shift 170 - '{' shift 105 - '(' shift 172 - . error - - simplename goto 224 - qualifiedname goto 176 - name goto 177 - block goto 179 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 187 - lambdaexpression goto 188 - statementexpression goto 189 - preincrementexpression goto 190 - predecrementexpression goto 191 - postincrementexpression goto 192 - postdecrementexpression goto 193 - expressionstatement goto 194 - statementwithouttrailingsubstatement goto 195 - statement goto 430 - whilestatement goto 198 - forstatement goto 199 - ifthenstatement goto 200 - ifthenelsestatement goto 201 - emptystatement goto 202 - returnstatement goto 203 - assignment goto 204 - lefthandside goto 205 - methodinvocation goto 206 + ',' shift 151 + ';' reduce 172 -state 411 - forstatement : FOR '(' ';' ';' expression . ')' statement (183) +state 309 + block : '{' blockstatements '}' . (94) - ')' shift 431 - . error + . reduce 94 -state 412 - forstatement : FOR '(' ';' expression ';' . expression ')' statement (180) - forstatement : FOR '(' ';' expression ';' . ')' statement (182) - - NEW shift 219 - THIS shift 157 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 42 - INCREMENT shift 168 - DECREMENT shift 169 - '(' shift 220 - ')' shift 432 - '+' shift 221 - '-' shift 222 - '!' shift 223 - . error - - simplename goto 224 - qualifiedname goto 176 - name goto 177 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 225 - unaryexpressionnotplusminus goto 226 - unaryexpression goto 227 - multiplicativeexpression goto 228 - additiveexpression goto 229 - shiftexpression goto 230 - relationalexpression goto 231 - equalityexpression goto 232 - andexpression goto 233 - exclusiveorexpression goto 234 - inclusiveorexpression goto 235 - conditionalandexpression goto 236 - conditionalorexpression goto 237 - conditionalexpression goto 238 - assignmentexpression goto 239 - lambdaexpression goto 188 - expression goto 433 - preincrementexpression goto 241 - predecrementexpression goto 242 - postincrementexpression goto 243 - postdecrementexpression goto 244 - classinstancecreationexpression goto 245 - assignment goto 246 - lefthandside goto 205 - methodinvocation goto 247 - castexpression goto 248 - - -state 413 - forstatement : FOR '(' expression ';' ';' . expression ')' statement (179) - forstatement : FOR '(' expression ';' ';' . ')' statement (181) - - NEW shift 219 - THIS shift 157 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 42 - INCREMENT shift 168 - DECREMENT shift 169 - '(' shift 220 - ')' shift 434 - '+' shift 221 - '-' shift 222 - '!' shift 223 - . error - - simplename goto 224 - qualifiedname goto 176 - name goto 177 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 225 - unaryexpressionnotplusminus goto 226 - unaryexpression goto 227 - multiplicativeexpression goto 228 - additiveexpression goto 229 - shiftexpression goto 230 - relationalexpression goto 231 - equalityexpression goto 232 - andexpression goto 233 - exclusiveorexpression goto 234 - inclusiveorexpression goto 235 - conditionalandexpression goto 236 - conditionalorexpression goto 237 - conditionalexpression goto 238 - assignmentexpression goto 239 - lambdaexpression goto 188 - expression goto 435 - preincrementexpression goto 241 - predecrementexpression goto 242 - postincrementexpression goto 243 - postdecrementexpression goto 244 - classinstancecreationexpression goto 245 - assignment goto 246 - lefthandside goto 205 - methodinvocation goto 247 - castexpression goto 248 - - -state 414 - forstatement : FOR '(' expression ';' expression . ';' expression ')' statement (177) - forstatement : FOR '(' expression ';' expression . ';' ')' statement (178) - - ';' shift 436 - . error - - -state 415 - ifthenstatement : IF . '(' expression ')' statement (174) - ifthenelsestatement : IF . '(' expression ')' statementnoshortif ELSE statement (175) - ifthenelsestatementnoshortif : IF . '(' expression ')' statementnoshortif ELSE statementnoshortif (203) - - '(' shift 437 - . error - - -state 416 - whilestatement : WHILE . '(' expression ')' statement (176) - whilestatementnoshortif : WHILE . '(' expression ')' statementnoshortif (204) - - '(' shift 438 - . error - - -state 417 - statement : statementwithouttrailingsubstatement . (159) - statementnoshortif : statementwithouttrailingsubstatement . (191) - - BOOLEAN reduce 159 - CHAR reduce 159 - ELSE reduce 191 - FOR reduce 159 - IF reduce 159 - INT reduce 159 - RETURN reduce 159 - THIS reduce 159 - WHILE reduce 159 - INTLITERAL reduce 159 - LONGLITERAL reduce 159 - DOUBLELITERAL reduce 159 - FLOATLITERAL reduce 159 - BOOLLITERAL reduce 159 - JNULL reduce 159 - CHARLITERAL reduce 159 - STRINGLITERAL reduce 159 - IDENTIFIER reduce 159 - INCREMENT reduce 159 - DECREMENT reduce 159 - ';' reduce 159 - '{' reduce 159 - '}' reduce 159 - '(' reduce 159 - - -state 418 - ifthenstatement : IF '(' expression ')' statement . (174) - - . reduce 174 - - -state 419 - ifthenelsestatement : IF '(' expression ')' statementnoshortif . ELSE statement (175) - - ELSE shift 439 - . error - - -state 420 - statementnoshortif : whilestatementnoshortif . (193) - - . reduce 193 - - -state 421 - statementnoshortif : ifthenelsestatementnoshortif . (192) - - . reduce 192 - - -state 422 - whilestatement : WHILE '(' expression ')' statement . (176) - - . reduce 176 - - -state 423 - argumentlist : argumentlist ',' expression . (154) - - . reduce 154 - - -state 424 - methodinvocation : primary '.' IDENTIFIER '(' ')' . (226) - - . reduce 226 - - -state 425 - argumentlist : argumentlist . ',' expression (154) - methodinvocation : primary '.' IDENTIFIER '(' argumentlist . ')' (227) - - ',' shift 397 - ')' shift 440 - . error - - -state 426 - classinstancecreationexpression : NEW classtype '(' argumentlist ')' . (229) - - . reduce 229 - - -state 427 - methodheader : modifiers '<' boundedMethodParameters '>' VOID methoddeclarator throws . (122) - - . reduce 122 - - -state 428 - methodheader : modifiers '<' boundedMethodParameters '>' type methoddeclarator throws . (114) - - . reduce 114 - - -state 429 - explicitconstructorinvocation : THIS '(' argumentlist ')' ';' . (140) +state 310 + blockstatements : blockstatements blockstatement . (140) . reduce 140 -state 430 - forstatement : FOR '(' ';' ';' ')' statement . (184) +state 311 + localvariabledeclarationstatement : localvariabledeclaration ';' . (162) - . reduce 184 + . reduce 162 -state 431 - forstatement : FOR '(' ';' ';' expression ')' . statement (183) +state 312 + lambdaassignmentoperator : LAMBDAASSIGNMENT . (211) - FOR shift 154 - IF shift 155 - RETURN shift 156 - THIS shift 157 - WHILE shift 158 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 42 - INCREMENT shift 168 - DECREMENT shift 169 - ';' shift 170 - '{' shift 105 - '(' shift 172 + . reduce 211 + + +state 313 + lambdaexpression : lambdaexpressionparameter lambdaassignmentoperator . lambdabody (216) + + NEW shift 248 + THIS shift 187 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 14 + INCREMENT shift 198 + DECREMENT shift 199 + '{' shift 138 + '(' shift 249 + '+' shift 250 + '-' shift 251 + '!' shift 252 . error - simplename goto 224 - qualifiedname goto 176 - name goto 177 - block goto 179 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 187 - lambdaexpression goto 188 - statementexpression goto 189 - preincrementexpression goto 190 - predecrementexpression goto 191 - postincrementexpression goto 192 - postdecrementexpression goto 193 - expressionstatement goto 194 - statementwithouttrailingsubstatement goto 195 - statement goto 441 - whilestatement goto 198 - forstatement goto 199 - ifthenstatement goto 200 - ifthenelsestatement goto 201 - emptystatement goto 202 - returnstatement goto 203 - assignment goto 204 - lefthandside goto 205 - methodinvocation goto 206 + simplename goto 34 + qualifiedname goto 35 + name goto 206 + block goto 377 + lambdabody goto 378 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 253 + unaryexpressionnotplusminus goto 254 + unaryexpression goto 255 + multiplicativeexpression goto 256 + additiveexpression goto 257 + shiftexpression goto 258 + relationalexpression goto 259 + equalityexpression goto 260 + andexpression goto 261 + exclusiveorexpression goto 262 + inclusiveorexpression goto 263 + conditionalandexpression goto 264 + conditionalorexpression goto 265 + conditionalexpression goto 266 + assignmentexpression goto 267 + lambdaexpression goto 217 + expression goto 379 + preincrementexpression goto 269 + predecrementexpression goto 270 + postincrementexpression goto 271 + postdecrementexpression goto 272 + classinstancecreationexpression goto 273 + assignment goto 274 + lefthandside goto 234 + methodinvocation goto 275 + castexpression goto 276 -state 432 - forstatement : FOR '(' ';' expression ';' ')' . statement (182) +state 314 + methodinvocation : primary '.' . IDENTIFIER '(' ')' (230) + methodinvocation : primary '.' . IDENTIFIER '(' argumentlist ')' (231) - FOR shift 154 - IF shift 155 - RETURN shift 156 - THIS shift 157 - WHILE shift 158 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 42 - INCREMENT shift 168 - DECREMENT shift 169 - ';' shift 170 - '{' shift 105 - '(' shift 172 - . error - - simplename goto 224 - qualifiedname goto 176 - name goto 177 - block goto 179 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 187 - lambdaexpression goto 188 - statementexpression goto 189 - preincrementexpression goto 190 - predecrementexpression goto 191 - postincrementexpression goto 192 - postdecrementexpression goto 193 - expressionstatement goto 194 - statementwithouttrailingsubstatement goto 195 - statement goto 442 - whilestatement goto 198 - forstatement goto 199 - ifthenstatement goto 200 - ifthenelsestatement goto 201 - emptystatement goto 202 - returnstatement goto 203 - assignment goto 204 - lefthandside goto 205 - methodinvocation goto 206 - - -state 433 - forstatement : FOR '(' ';' expression ';' expression . ')' statement (180) - - ')' shift 443 + IDENTIFIER shift 380 . error -state 434 - forstatement : FOR '(' expression ';' ';' ')' . statement (181) +state 315 + postincrementexpression : postfixexpression INCREMENT . (226) - FOR shift 154 - IF shift 155 - RETURN shift 156 - THIS shift 157 - WHILE shift 158 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 42 - INCREMENT shift 168 - DECREMENT shift 169 - ';' shift 170 - '{' shift 105 - '(' shift 172 - . error - - simplename goto 224 - qualifiedname goto 176 - name goto 177 - block goto 179 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 187 - lambdaexpression goto 188 - statementexpression goto 189 - preincrementexpression goto 190 - predecrementexpression goto 191 - postincrementexpression goto 192 - postdecrementexpression goto 193 - expressionstatement goto 194 - statementwithouttrailingsubstatement goto 195 - statement goto 444 - whilestatement goto 198 - forstatement goto 199 - ifthenstatement goto 200 - ifthenelsestatement goto 201 - emptystatement goto 202 - returnstatement goto 203 - assignment goto 204 - lefthandside goto 205 - methodinvocation goto 206 + . reduce 226 -state 435 - forstatement : FOR '(' expression ';' ';' expression . ')' statement (179) - - ')' shift 445 - . error - - -state 436 - forstatement : FOR '(' expression ';' expression ';' . expression ')' statement (177) - forstatement : FOR '(' expression ';' expression ';' . ')' statement (178) - - NEW shift 219 - THIS shift 157 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 42 - INCREMENT shift 168 - DECREMENT shift 169 - '(' shift 220 - ')' shift 446 - '+' shift 221 - '-' shift 222 - '!' shift 223 - . error - - simplename goto 224 - qualifiedname goto 176 - name goto 177 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 225 - unaryexpressionnotplusminus goto 226 - unaryexpression goto 227 - multiplicativeexpression goto 228 - additiveexpression goto 229 - shiftexpression goto 230 - relationalexpression goto 231 - equalityexpression goto 232 - andexpression goto 233 - exclusiveorexpression goto 234 - inclusiveorexpression goto 235 - conditionalandexpression goto 236 - conditionalorexpression goto 237 - conditionalexpression goto 238 - assignmentexpression goto 239 - lambdaexpression goto 188 - expression goto 447 - preincrementexpression goto 241 - predecrementexpression goto 242 - postincrementexpression goto 243 - postdecrementexpression goto 244 - classinstancecreationexpression goto 245 - assignment goto 246 - lefthandside goto 205 - methodinvocation goto 247 - castexpression goto 248 - - -state 437 - ifthenstatement : IF '(' . expression ')' statement (174) - ifthenelsestatement : IF '(' . expression ')' statementnoshortif ELSE statement (175) - ifthenelsestatementnoshortif : IF '(' . expression ')' statementnoshortif ELSE statementnoshortif (203) - - NEW shift 219 - THIS shift 157 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 42 - INCREMENT shift 168 - DECREMENT shift 169 - '(' shift 220 - '+' shift 221 - '-' shift 222 - '!' shift 223 - . error - - simplename goto 224 - qualifiedname goto 176 - name goto 177 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 225 - unaryexpressionnotplusminus goto 226 - unaryexpression goto 227 - multiplicativeexpression goto 228 - additiveexpression goto 229 - shiftexpression goto 230 - relationalexpression goto 231 - equalityexpression goto 232 - andexpression goto 233 - exclusiveorexpression goto 234 - inclusiveorexpression goto 235 - conditionalandexpression goto 236 - conditionalorexpression goto 237 - conditionalexpression goto 238 - assignmentexpression goto 239 - lambdaexpression goto 188 - expression goto 448 - preincrementexpression goto 241 - predecrementexpression goto 242 - postincrementexpression goto 243 - postdecrementexpression goto 244 - classinstancecreationexpression goto 245 - assignment goto 246 - lefthandside goto 205 - methodinvocation goto 247 - castexpression goto 248 - - -state 438 - whilestatement : WHILE '(' . expression ')' statement (176) - whilestatementnoshortif : WHILE '(' . expression ')' statementnoshortif (204) - - NEW shift 219 - THIS shift 157 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 42 - INCREMENT shift 168 - DECREMENT shift 169 - '(' shift 220 - '+' shift 221 - '-' shift 222 - '!' shift 223 - . error - - simplename goto 224 - qualifiedname goto 176 - name goto 177 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 225 - unaryexpressionnotplusminus goto 226 - unaryexpression goto 227 - multiplicativeexpression goto 228 - additiveexpression goto 229 - shiftexpression goto 230 - relationalexpression goto 231 - equalityexpression goto 232 - andexpression goto 233 - exclusiveorexpression goto 234 - inclusiveorexpression goto 235 - conditionalandexpression goto 236 - conditionalorexpression goto 237 - conditionalexpression goto 238 - assignmentexpression goto 239 - lambdaexpression goto 188 - expression goto 449 - preincrementexpression goto 241 - predecrementexpression goto 242 - postincrementexpression goto 243 - postdecrementexpression goto 244 - classinstancecreationexpression goto 245 - assignment goto 246 - lefthandside goto 205 - methodinvocation goto 247 - castexpression goto 248 - - -state 439 - ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE . statement (175) - - FOR shift 154 - IF shift 155 - RETURN shift 156 - THIS shift 157 - WHILE shift 158 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 42 - INCREMENT shift 168 - DECREMENT shift 169 - ';' shift 170 - '{' shift 105 - '(' shift 172 - . error - - simplename goto 224 - qualifiedname goto 176 - name goto 177 - block goto 179 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 187 - lambdaexpression goto 188 - statementexpression goto 189 - preincrementexpression goto 190 - predecrementexpression goto 191 - postincrementexpression goto 192 - postdecrementexpression goto 193 - expressionstatement goto 194 - statementwithouttrailingsubstatement goto 195 - statement goto 450 - whilestatement goto 198 - forstatement goto 199 - ifthenstatement goto 200 - ifthenelsestatement goto 201 - emptystatement goto 202 - returnstatement goto 203 - assignment goto 204 - lefthandside goto 205 - methodinvocation goto 206 - - -state 440 - methodinvocation : primary '.' IDENTIFIER '(' argumentlist ')' . (227) +state 316 + postdecrementexpression : postfixexpression DECREMENT . (227) . reduce 227 -state 441 - forstatement : FOR '(' ';' ';' expression ')' statement . (183) +state 317 + expressionstatement : statementexpression ';' . (192) - . reduce 183 + . reduce 192 -state 442 - forstatement : FOR '(' ';' expression ';' ')' statement . (182) +state 318 + assignmentoperator : PLUSEQUAL . (222) - . reduce 182 + . reduce 222 -state 443 - forstatement : FOR '(' ';' expression ';' expression ')' . statement (180) +state 319 + assignmentoperator : MINUSEQUAL . (223) - FOR shift 154 - IF shift 155 - RETURN shift 156 - THIS shift 157 - WHILE shift 158 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 42 - INCREMENT shift 168 - DECREMENT shift 169 - ';' shift 170 - '{' shift 105 - '(' shift 172 + . reduce 223 + + +state 320 + assignmentoperator : TIMESEQUAL . (219) + + . reduce 219 + + +state 321 + assignmentoperator : DIVIDEEQUAL . (220) + + . reduce 220 + + +state 322 + assignmentoperator : MODULOEQUAL . (221) + + . reduce 221 + + +state 323 + assignmentoperator : '=' . (218) + + . reduce 218 + + +state 324 + assignment : lefthandside assignmentoperator . assignmentexpression (199) + assignment : lefthandside assignmentoperator . classinstancecreationexpression (200) + + NEW shift 248 + THIS shift 187 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 14 + INCREMENT shift 198 + DECREMENT shift 199 + '(' shift 249 + '+' shift 250 + '-' shift 251 + '!' shift 252 . error - simplename goto 224 - qualifiedname goto 176 - name goto 177 - block goto 179 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 187 - lambdaexpression goto 188 - statementexpression goto 189 - preincrementexpression goto 190 - predecrementexpression goto 191 - postincrementexpression goto 192 - postdecrementexpression goto 193 - expressionstatement goto 194 - statementwithouttrailingsubstatement goto 195 + simplename goto 34 + qualifiedname goto 35 + name goto 206 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 253 + unaryexpressionnotplusminus goto 254 + unaryexpression goto 255 + multiplicativeexpression goto 256 + additiveexpression goto 257 + shiftexpression goto 258 + relationalexpression goto 259 + equalityexpression goto 260 + andexpression goto 261 + exclusiveorexpression goto 262 + inclusiveorexpression goto 263 + conditionalandexpression goto 264 + conditionalorexpression goto 265 + conditionalexpression goto 266 + assignmentexpression goto 381 + lambdaexpression goto 217 + preincrementexpression goto 269 + predecrementexpression goto 270 + postincrementexpression goto 271 + postdecrementexpression goto 272 + classinstancecreationexpression goto 382 + assignment goto 274 + lefthandside goto 234 + methodinvocation goto 275 + castexpression goto 276 + + +state 325 + formalparameter : type variabledeclaratorid . (155) + + . reduce 155 + + +state 326 + formalparameterlist : formalparameterlist ',' . formalparameter (142) + + BOOLEAN shift 2 + CHAR shift 3 + INT shift 6 + IDENTIFIER shift 197 + . error + + variabledeclaratorid goto 238 + simplename goto 18 + classorinterfacetype goto 21 + integraltype goto 22 + numerictype goto 23 + primitivetype goto 24 + referencetype goto 25 + type goto 239 + formalparameter goto 383 + + +state 327 + methoddeclarator : IDENTIFIER '(' formalparameterlist ')' . (148) + + . reduce 148 + + +state 328 + boundedMethodParameters : boundedMethodParameters ',' boundedMethodParameter . (110) + + . reduce 110 + + +state 329 + methodheader : '<' boundedMethodParameters '>' VOID . methoddeclarator (123) + methodheader : '<' boundedMethodParameters '>' VOID . methoddeclarator throws (125) + + IDENTIFIER shift 140 + . error + + methoddeclarator goto 384 + + +state 330 + methodheader : '<' boundedMethodParameters '>' methoddeclarator . (128) + + . reduce 128 + + +state 331 + methodheader : '<' boundedMethodParameters '>' type . methoddeclarator (111) + methodheader : '<' boundedMethodParameters '>' type . methoddeclarator throws (116) + + IDENTIFIER shift 140 + . error + + methoddeclarator goto 385 + + +state 332 + classtypelist : classtypelist ',' . classtype (146) + + IDENTIFIER shift 14 + . error + + simplename goto 18 + classtype goto 386 + classorinterfacetype goto 83 + + +state 333 + classinstancecreationexpression : NEW classtype . '(' ')' (232) + classinstancecreationexpression : NEW classtype . '(' argumentlist ')' (233) + + '(' shift 387 + . error + + +state 334 + type : primitivetype . (132) + type : primitivetype . '[' ']' (133) + castexpression : '(' primitivetype . ')' unaryexpression (265) + + ')' shift 388 + '[' shift 45 + IDENTIFIER reduce 132 + + +state 335 + unaryexpression : '+' unaryexpression . (238) + + . reduce 238 + + +state 336 + unaryexpression : '-' unaryexpression . (239) + + . reduce 239 + + +state 337 + unaryexpressionnotplusminus : '!' unaryexpression . (253) + + . reduce 253 + + +state 338 + multiplicativeexpression : multiplicativeexpression '*' . unaryexpression (282) + + THIS shift 187 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 14 + INCREMENT shift 198 + DECREMENT shift 199 + '(' shift 249 + '+' shift 250 + '-' shift 251 + '!' shift 252 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 302 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 253 + unaryexpressionnotplusminus goto 254 + unaryexpression goto 389 + lambdaexpression goto 217 + preincrementexpression goto 269 + predecrementexpression goto 270 + postincrementexpression goto 271 + postdecrementexpression goto 272 + methodinvocation goto 275 + castexpression goto 276 + + +state 339 + multiplicativeexpression : multiplicativeexpression '/' . unaryexpression (283) + + THIS shift 187 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 14 + INCREMENT shift 198 + DECREMENT shift 199 + '(' shift 249 + '+' shift 250 + '-' shift 251 + '!' shift 252 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 302 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 253 + unaryexpressionnotplusminus goto 254 + unaryexpression goto 390 + lambdaexpression goto 217 + preincrementexpression goto 269 + predecrementexpression goto 270 + postincrementexpression goto 271 + postdecrementexpression goto 272 + methodinvocation goto 275 + castexpression goto 276 + + +state 340 + multiplicativeexpression : multiplicativeexpression '%' . unaryexpression (284) + + THIS shift 187 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 14 + INCREMENT shift 198 + DECREMENT shift 199 + '(' shift 249 + '+' shift 250 + '-' shift 251 + '!' shift 252 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 302 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 253 + unaryexpressionnotplusminus goto 254 + unaryexpression goto 391 + lambdaexpression goto 217 + preincrementexpression goto 269 + predecrementexpression goto 270 + postincrementexpression goto 271 + postdecrementexpression goto 272 + methodinvocation goto 275 + castexpression goto 276 + + +state 341 + additiveexpression : additiveexpression '+' . multiplicativeexpression (279) + + THIS shift 187 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 14 + INCREMENT shift 198 + DECREMENT shift 199 + '(' shift 249 + '+' shift 250 + '-' shift 251 + '!' shift 252 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 302 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 253 + unaryexpressionnotplusminus goto 254 + unaryexpression goto 255 + multiplicativeexpression goto 392 + lambdaexpression goto 217 + preincrementexpression goto 269 + predecrementexpression goto 270 + postincrementexpression goto 271 + postdecrementexpression goto 272 + methodinvocation goto 275 + castexpression goto 276 + + +state 342 + additiveexpression : additiveexpression '-' . multiplicativeexpression (280) + + THIS shift 187 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 14 + INCREMENT shift 198 + DECREMENT shift 199 + '(' shift 249 + '+' shift 250 + '-' shift 251 + '!' shift 252 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 302 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 253 + unaryexpressionnotplusminus goto 254 + unaryexpression goto 255 + multiplicativeexpression goto 393 + lambdaexpression goto 217 + preincrementexpression goto 269 + predecrementexpression goto 270 + postincrementexpression goto 271 + postdecrementexpression goto 272 + methodinvocation goto 275 + castexpression goto 276 + + +state 343 + relationalexpression : relationalexpression INSTANCEOF . referencetype (276) + + IDENTIFIER shift 14 + . error + + simplename goto 18 + classorinterfacetype goto 21 + referencetype goto 394 + + +state 344 + relationalexpression : relationalexpression LESSEQUAL . shiftexpression (274) + + THIS shift 187 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 14 + INCREMENT shift 198 + DECREMENT shift 199 + '(' shift 249 + '+' shift 250 + '-' shift 251 + '!' shift 252 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 302 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 253 + unaryexpressionnotplusminus goto 254 + unaryexpression goto 255 + multiplicativeexpression goto 256 + additiveexpression goto 257 + shiftexpression goto 395 + lambdaexpression goto 217 + preincrementexpression goto 269 + predecrementexpression goto 270 + postincrementexpression goto 271 + postdecrementexpression goto 272 + methodinvocation goto 275 + castexpression goto 276 + + +state 345 + relationalexpression : relationalexpression GREATEREQUAL . shiftexpression (275) + + THIS shift 187 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 14 + INCREMENT shift 198 + DECREMENT shift 199 + '(' shift 249 + '+' shift 250 + '-' shift 251 + '!' shift 252 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 302 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 253 + unaryexpressionnotplusminus goto 254 + unaryexpression goto 255 + multiplicativeexpression goto 256 + additiveexpression goto 257 + shiftexpression goto 396 + lambdaexpression goto 217 + preincrementexpression goto 269 + predecrementexpression goto 270 + postincrementexpression goto 271 + postdecrementexpression goto 272 + methodinvocation goto 275 + castexpression goto 276 + + +state 346 + relationalexpression : relationalexpression '<' . shiftexpression (272) + + THIS shift 187 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 14 + INCREMENT shift 198 + DECREMENT shift 199 + '(' shift 249 + '+' shift 250 + '-' shift 251 + '!' shift 252 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 302 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 253 + unaryexpressionnotplusminus goto 254 + unaryexpression goto 255 + multiplicativeexpression goto 256 + additiveexpression goto 257 + shiftexpression goto 397 + lambdaexpression goto 217 + preincrementexpression goto 269 + predecrementexpression goto 270 + postincrementexpression goto 271 + postdecrementexpression goto 272 + methodinvocation goto 275 + castexpression goto 276 + + +state 347 + relationalexpression : relationalexpression '>' . shiftexpression (273) + + THIS shift 187 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 14 + INCREMENT shift 198 + DECREMENT shift 199 + '(' shift 249 + '+' shift 250 + '-' shift 251 + '!' shift 252 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 302 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 253 + unaryexpressionnotplusminus goto 254 + unaryexpression goto 255 + multiplicativeexpression goto 256 + additiveexpression goto 257 + shiftexpression goto 398 + lambdaexpression goto 217 + preincrementexpression goto 269 + predecrementexpression goto 270 + postincrementexpression goto 271 + postdecrementexpression goto 272 + methodinvocation goto 275 + castexpression goto 276 + + +state 348 + equalityexpression : equalityexpression EQUAL . relationalexpression (269) + + THIS shift 187 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 14 + INCREMENT shift 198 + DECREMENT shift 199 + '(' shift 249 + '+' shift 250 + '-' shift 251 + '!' shift 252 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 302 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 253 + unaryexpressionnotplusminus goto 254 + unaryexpression goto 255 + multiplicativeexpression goto 256 + additiveexpression goto 257 + shiftexpression goto 258 + relationalexpression goto 399 + lambdaexpression goto 217 + preincrementexpression goto 269 + predecrementexpression goto 270 + postincrementexpression goto 271 + postdecrementexpression goto 272 + methodinvocation goto 275 + castexpression goto 276 + + +state 349 + equalityexpression : equalityexpression NOTEQUAL . relationalexpression (270) + + THIS shift 187 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 14 + INCREMENT shift 198 + DECREMENT shift 199 + '(' shift 249 + '+' shift 250 + '-' shift 251 + '!' shift 252 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 302 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 253 + unaryexpressionnotplusminus goto 254 + unaryexpression goto 255 + multiplicativeexpression goto 256 + additiveexpression goto 257 + shiftexpression goto 258 + relationalexpression goto 400 + lambdaexpression goto 217 + preincrementexpression goto 269 + predecrementexpression goto 270 + postincrementexpression goto 271 + postdecrementexpression goto 272 + methodinvocation goto 275 + castexpression goto 276 + + +state 350 + andexpression : andexpression '&' . equalityexpression (267) + + THIS shift 187 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 14 + INCREMENT shift 198 + DECREMENT shift 199 + '(' shift 249 + '+' shift 250 + '-' shift 251 + '!' shift 252 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 302 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 253 + unaryexpressionnotplusminus goto 254 + unaryexpression goto 255 + multiplicativeexpression goto 256 + additiveexpression goto 257 + shiftexpression goto 258 + relationalexpression goto 259 + equalityexpression goto 401 + lambdaexpression goto 217 + preincrementexpression goto 269 + predecrementexpression goto 270 + postincrementexpression goto 271 + postdecrementexpression goto 272 + methodinvocation goto 275 + castexpression goto 276 + + +state 351 + exclusiveorexpression : exclusiveorexpression '^' . andexpression (256) + + THIS shift 187 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 14 + INCREMENT shift 198 + DECREMENT shift 199 + '(' shift 249 + '+' shift 250 + '-' shift 251 + '!' shift 252 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 302 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 253 + unaryexpressionnotplusminus goto 254 + unaryexpression goto 255 + multiplicativeexpression goto 256 + additiveexpression goto 257 + shiftexpression goto 258 + relationalexpression goto 259 + equalityexpression goto 260 + andexpression goto 402 + lambdaexpression goto 217 + preincrementexpression goto 269 + predecrementexpression goto 270 + postincrementexpression goto 271 + postdecrementexpression goto 272 + methodinvocation goto 275 + castexpression goto 276 + + +state 352 + inclusiveorexpression : inclusiveorexpression '|' . exclusiveorexpression (247) + + THIS shift 187 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 14 + INCREMENT shift 198 + DECREMENT shift 199 + '(' shift 249 + '+' shift 250 + '-' shift 251 + '!' shift 252 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 302 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 253 + unaryexpressionnotplusminus goto 254 + unaryexpression goto 255 + multiplicativeexpression goto 256 + additiveexpression goto 257 + shiftexpression goto 258 + relationalexpression goto 259 + equalityexpression goto 260 + andexpression goto 261 + exclusiveorexpression goto 403 + lambdaexpression goto 217 + preincrementexpression goto 269 + predecrementexpression goto 270 + postincrementexpression goto 271 + postdecrementexpression goto 272 + methodinvocation goto 275 + castexpression goto 276 + + +state 353 + conditionalandexpression : conditionalandexpression LOGICALAND . inclusiveorexpression (235) + + THIS shift 187 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 14 + INCREMENT shift 198 + DECREMENT shift 199 + '(' shift 249 + '+' shift 250 + '-' shift 251 + '!' shift 252 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 302 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 253 + unaryexpressionnotplusminus goto 254 + unaryexpression goto 255 + multiplicativeexpression goto 256 + additiveexpression goto 257 + shiftexpression goto 258 + relationalexpression goto 259 + equalityexpression goto 260 + andexpression goto 261 + exclusiveorexpression goto 262 + inclusiveorexpression goto 404 + lambdaexpression goto 217 + preincrementexpression goto 269 + predecrementexpression goto 270 + postincrementexpression goto 271 + postdecrementexpression goto 272 + methodinvocation goto 275 + castexpression goto 276 + + +state 354 + conditionalorexpression : conditionalorexpression LOGICALOR . conditionalandexpression (210) + + THIS shift 187 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 14 + INCREMENT shift 198 + DECREMENT shift 199 + '(' shift 249 + '+' shift 250 + '-' shift 251 + '!' shift 252 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 302 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 253 + unaryexpressionnotplusminus goto 254 + unaryexpression goto 255 + multiplicativeexpression goto 256 + additiveexpression goto 257 + shiftexpression goto 258 + relationalexpression goto 259 + equalityexpression goto 260 + andexpression goto 261 + exclusiveorexpression goto 262 + inclusiveorexpression goto 263 + conditionalandexpression goto 405 + lambdaexpression goto 217 + preincrementexpression goto 269 + predecrementexpression goto 270 + postincrementexpression goto 271 + postdecrementexpression goto 272 + methodinvocation goto 275 + castexpression goto 276 + + +state 355 + constructordeclarator : simplename '(' formalparameterlist ')' . (96) + + . reduce 96 + + +state 356 + fielddeclarator : type variabledeclarator '=' expression . (85) + fielddeclarator : variabledeclarator '=' expression . (86) + + ABSTRACT reduce 86 + BOOLEAN reduce 86 + CHAR reduce 86 + FINAL reduce 86 + INT reduce 86 + PRIVATE reduce 86 + PROTECTED reduce 86 + PUBLIC reduce 86 + STATIC reduce 86 + VOID reduce 86 + IDENTIFIER reduce 86 + ';' reduce 85 + '<' reduce 86 + '}' reduce 86 + + +state 357 + fielddeclarator : type variabledeclarator '=' . expression (85) + + NEW shift 248 + THIS shift 187 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 14 + INCREMENT shift 198 + DECREMENT shift 199 + '(' shift 249 + '+' shift 250 + '-' shift 251 + '!' shift 252 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 206 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 253 + unaryexpressionnotplusminus goto 254 + unaryexpression goto 255 + multiplicativeexpression goto 256 + additiveexpression goto 257 + shiftexpression goto 258 + relationalexpression goto 259 + equalityexpression goto 260 + andexpression goto 261 + exclusiveorexpression goto 262 + inclusiveorexpression goto 263 + conditionalandexpression goto 264 + conditionalorexpression goto 265 + conditionalexpression goto 266 + assignmentexpression goto 267 + lambdaexpression goto 217 + expression goto 406 + preincrementexpression goto 269 + predecrementexpression goto 270 + postincrementexpression goto 271 + postdecrementexpression goto 272 + classinstancecreationexpression goto 273 + assignment goto 274 + lefthandside goto 234 + methodinvocation goto 275 + castexpression goto 276 + + +state 358 + methodheader : modifiers VOID methoddeclarator throws . (122) + + . reduce 122 + + +state 359 + methodheader : modifiers '<' boundedMethodParameters '>' . type methoddeclarator (114) + methodheader : modifiers '<' boundedMethodParameters '>' . type methoddeclarator throws (118) + methodheader : modifiers '<' boundedMethodParameters '>' . VOID methoddeclarator (124) + methodheader : modifiers '<' boundedMethodParameters '>' . VOID methoddeclarator throws (126) + + BOOLEAN shift 2 + CHAR shift 3 + INT shift 6 + VOID shift 407 + IDENTIFIER shift 14 + . error + + simplename goto 18 + classorinterfacetype goto 21 + integraltype goto 22 + numerictype goto 23 + primitivetype goto 24 + referencetype goto 25 + type goto 408 + + +state 360 + methodheader : modifiers type methoddeclarator throws . (117) + + . reduce 117 + + +state 361 + fielddeclaration : modifiers type variabledeclarators ';' . (91) + + . reduce 91 + + +state 362 + explicitconstructorinvocation : THIS '(' . ')' ';' (143) + explicitconstructorinvocation : THIS '(' . argumentlist ')' ';' (144) + + NEW shift 248 + THIS shift 187 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 14 + INCREMENT shift 198 + DECREMENT shift 199 + '(' shift 249 + ')' shift 409 + '+' shift 250 + '-' shift 251 + '!' shift 252 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 206 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 253 + unaryexpressionnotplusminus goto 254 + unaryexpression goto 255 + multiplicativeexpression goto 256 + additiveexpression goto 257 + shiftexpression goto 258 + relationalexpression goto 259 + equalityexpression goto 260 + andexpression goto 261 + exclusiveorexpression goto 262 + inclusiveorexpression goto 263 + conditionalandexpression goto 264 + conditionalorexpression goto 265 + conditionalexpression goto 266 + assignmentexpression goto 267 + lambdaexpression goto 217 + expression goto 375 + preincrementexpression goto 269 + predecrementexpression goto 270 + postincrementexpression goto 271 + postdecrementexpression goto 272 + classinstancecreationexpression goto 273 + assignment goto 274 + lefthandside goto 234 + argumentlist goto 410 + methodinvocation goto 275 + castexpression goto 276 + + +state 363 + constructorbody : '{' blockstatements '}' . (99) + + . reduce 99 + + +state 364 + constructorbody : '{' explicitconstructorinvocation '}' . (98) + + . reduce 98 + + +state 365 + constructorbody : '{' explicitconstructorinvocation blockstatements . '}' (100) + blockstatements : blockstatements . blockstatement (140) + + BOOLEAN shift 2 + CHAR shift 3 + FOR shift 184 + IF shift 185 + INT shift 6 + RETURN shift 186 + THIS shift 187 + WHILE shift 188 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 197 + INCREMENT shift 198 + DECREMENT shift 199 + ';' shift 200 + '{' shift 138 + '}' shift 411 + '(' shift 202 + . error + + variabledeclarators goto 203 + variabledeclarator goto 204 + variabledeclaratorid goto 101 + simplename goto 205 + qualifiedname goto 35 + name goto 206 + classorinterfacetype goto 21 + integraltype goto 22 + numerictype goto 23 + primitivetype goto 24 + referencetype goto 25 + type goto 207 + block goto 208 + localvariabledeclarationstatement goto 210 + localvariabledeclaration goto 211 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 216 + lambdaexpression goto 217 + statementexpression goto 218 + preincrementexpression goto 219 + predecrementexpression goto 220 + postincrementexpression goto 221 + postdecrementexpression goto 222 + expressionstatement goto 223 + statementwithouttrailingsubstatement goto 224 + blockstatement goto 310 + statement goto 226 + whilestatement goto 227 + forstatement goto 228 + ifthenstatement goto 229 + ifthenelsestatement goto 230 + emptystatement goto 231 + returnstatement goto 232 + assignment goto 233 + lefthandside goto 234 + methodinvocation goto 235 + + +state 366 + constantdeclaration : modifiers type IDENTIFIER '=' . expression ';' (83) + + NEW shift 248 + THIS shift 187 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 14 + INCREMENT shift 198 + DECREMENT shift 199 + '(' shift 249 + '+' shift 250 + '-' shift 251 + '!' shift 252 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 206 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 253 + unaryexpressionnotplusminus goto 254 + unaryexpression goto 255 + multiplicativeexpression goto 256 + additiveexpression goto 257 + shiftexpression goto 258 + relationalexpression goto 259 + equalityexpression goto 260 + andexpression goto 261 + exclusiveorexpression goto 262 + inclusiveorexpression goto 263 + conditionalandexpression goto 264 + conditionalorexpression goto 265 + conditionalexpression goto 266 + assignmentexpression goto 267 + lambdaexpression goto 217 + expression goto 412 + preincrementexpression goto 269 + predecrementexpression goto 270 + postincrementexpression goto 271 + postdecrementexpression goto 272 + classinstancecreationexpression goto 273 + assignment goto 274 + lefthandside goto 234 + methodinvocation goto 275 + castexpression goto 276 + + +state 367 + boundedclassidentifierlist : boundedclassidentifierlist '&' referencetype . (108) + + . reduce 108 + + +state 368 + forstatement : FOR '(' ';' . expression ';' expression ')' statement (184) + forstatement : FOR '(' ';' . expression ';' ')' statement (186) + forstatement : FOR '(' ';' . ';' expression ')' statement (187) + forstatement : FOR '(' ';' . ';' ')' statement (188) + + NEW shift 248 + THIS shift 187 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 14 + INCREMENT shift 198 + DECREMENT shift 199 + ';' shift 413 + '(' shift 249 + '+' shift 250 + '-' shift 251 + '!' shift 252 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 206 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 253 + unaryexpressionnotplusminus goto 254 + unaryexpression goto 255 + multiplicativeexpression goto 256 + additiveexpression goto 257 + shiftexpression goto 258 + relationalexpression goto 259 + equalityexpression goto 260 + andexpression goto 261 + exclusiveorexpression goto 262 + inclusiveorexpression goto 263 + conditionalandexpression goto 264 + conditionalorexpression goto 265 + conditionalexpression goto 266 + assignmentexpression goto 267 + lambdaexpression goto 217 + expression goto 414 + preincrementexpression goto 269 + predecrementexpression goto 270 + postincrementexpression goto 271 + postdecrementexpression goto 272 + classinstancecreationexpression goto 273 + assignment goto 274 + lefthandside goto 234 + methodinvocation goto 275 + castexpression goto 276 + + +state 369 + forstatement : FOR '(' expression . ';' expression ';' expression ')' statement (181) + forstatement : FOR '(' expression . ';' expression ';' ')' statement (182) + forstatement : FOR '(' expression . ';' ';' expression ')' statement (183) + forstatement : FOR '(' expression . ';' ';' ')' statement (185) + + ';' shift 415 + . error + + +state 370 + ifthenstatement : IF '(' expression . ')' statement (178) + ifthenelsestatement : IF '(' expression . ')' statementnoshortif ELSE statement (179) + + ')' shift 416 + . error + + +state 371 + returnstatement : RETURN expression ';' . (194) + + . reduce 194 + + +state 372 + whilestatement : WHILE '(' expression . ')' statement (180) + + ')' shift 417 + . error + + +state 373 + lambdaexpressionparameter : '(' formalparameterlist ')' . (215) + + . reduce 215 + + +state 374 + methodinvocation : name '(' ')' . (228) + + . reduce 228 + + +state 375 + argumentlist : expression . (157) + + . reduce 157 + + +state 376 + argumentlist : argumentlist . ',' expression (158) + methodinvocation : name '(' argumentlist . ')' (229) + + ',' shift 418 + ')' shift 419 + . error + + +state 377 + lambdabody : block . (212) + + . reduce 212 + + +state 378 + lambdaexpression : lambdaexpressionparameter lambdaassignmentoperator lambdabody . (216) + + . reduce 216 + + +state 379 + lambdabody : expression . (213) + + . reduce 213 + + +state 380 + methodinvocation : primary '.' IDENTIFIER . '(' ')' (230) + methodinvocation : primary '.' IDENTIFIER . '(' argumentlist ')' (231) + + '(' shift 420 + . error + + +state 381 + assignment : lefthandside assignmentoperator assignmentexpression . (199) + + . reduce 199 + + +state 382 + assignment : lefthandside assignmentoperator classinstancecreationexpression . (200) + + . reduce 200 + + +state 383 + formalparameterlist : formalparameterlist ',' formalparameter . (142) + + . reduce 142 + + +state 384 + methodheader : '<' boundedMethodParameters '>' VOID methoddeclarator . (123) + methodheader : '<' boundedMethodParameters '>' VOID methoddeclarator . throws (125) + + THROWS shift 147 + ';' reduce 123 + '{' reduce 123 + + throws goto 421 + + +state 385 + methodheader : '<' boundedMethodParameters '>' type methoddeclarator . (111) + methodheader : '<' boundedMethodParameters '>' type methoddeclarator . throws (116) + + THROWS shift 147 + ';' reduce 111 + '{' reduce 111 + + throws goto 422 + + +state 386 + classtypelist : classtypelist ',' classtype . (146) + + . reduce 146 + + +state 387 + classinstancecreationexpression : NEW classtype '(' . ')' (232) + classinstancecreationexpression : NEW classtype '(' . argumentlist ')' (233) + + NEW shift 248 + THIS shift 187 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 14 + INCREMENT shift 198 + DECREMENT shift 199 + '(' shift 249 + ')' shift 423 + '+' shift 250 + '-' shift 251 + '!' shift 252 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 206 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 253 + unaryexpressionnotplusminus goto 254 + unaryexpression goto 255 + multiplicativeexpression goto 256 + additiveexpression goto 257 + shiftexpression goto 258 + relationalexpression goto 259 + equalityexpression goto 260 + andexpression goto 261 + exclusiveorexpression goto 262 + inclusiveorexpression goto 263 + conditionalandexpression goto 264 + conditionalorexpression goto 265 + conditionalexpression goto 266 + assignmentexpression goto 267 + lambdaexpression goto 217 + expression goto 375 + preincrementexpression goto 269 + predecrementexpression goto 270 + postincrementexpression goto 271 + postdecrementexpression goto 272 + classinstancecreationexpression goto 273 + assignment goto 274 + lefthandside goto 234 + argumentlist goto 424 + methodinvocation goto 275 + castexpression goto 276 + + +state 388 + castexpression : '(' primitivetype ')' . unaryexpression (265) + + THIS shift 187 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 14 + INCREMENT shift 198 + DECREMENT shift 199 + '(' shift 249 + '+' shift 250 + '-' shift 251 + '!' shift 252 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 302 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 253 + unaryexpressionnotplusminus goto 254 + unaryexpression goto 425 + lambdaexpression goto 217 + preincrementexpression goto 269 + predecrementexpression goto 270 + postincrementexpression goto 271 + postdecrementexpression goto 272 + methodinvocation goto 275 + castexpression goto 276 + + +state 389 + multiplicativeexpression : multiplicativeexpression '*' unaryexpression . (282) + + . reduce 282 + + +state 390 + multiplicativeexpression : multiplicativeexpression '/' unaryexpression . (283) + + . reduce 283 + + +state 391 + multiplicativeexpression : multiplicativeexpression '%' unaryexpression . (284) + + . reduce 284 + + +392: shift/reduce conflict (shift 338, reduce 279) on '*' +392: shift/reduce conflict (shift 339, reduce 279) on '/' +392: shift/reduce conflict (shift 340, reduce 279) on '%' +state 392 + additiveexpression : additiveexpression '+' multiplicativeexpression . (279) + multiplicativeexpression : multiplicativeexpression . '*' unaryexpression (282) + multiplicativeexpression : multiplicativeexpression . '/' unaryexpression (283) + multiplicativeexpression : multiplicativeexpression . '%' unaryexpression (284) + + '*' shift 338 + '/' shift 339 + '%' shift 340 + ABSTRACT reduce 279 + BOOLEAN reduce 279 + CHAR reduce 279 + FINAL reduce 279 + INSTANCEOF reduce 279 + INT reduce 279 + PRIVATE reduce 279 + PROTECTED reduce 279 + PUBLIC reduce 279 + STATIC reduce 279 + VOID reduce 279 + IDENTIFIER reduce 279 + EQUAL reduce 279 + LESSEQUAL reduce 279 + GREATEREQUAL reduce 279 + NOTEQUAL reduce 279 + LOGICALOR reduce 279 + LOGICALAND reduce 279 + INCREMENT reduce 279 + DECREMENT reduce 279 + ',' reduce 279 + ';' reduce 279 + '.' reduce 279 + '<' reduce 279 + '>' reduce 279 + '}' reduce 279 + ')' reduce 279 + '&' reduce 279 + '+' reduce 279 + '-' reduce 279 + '|' reduce 279 + '^' reduce 279 + + +393: shift/reduce conflict (shift 338, reduce 280) on '*' +393: shift/reduce conflict (shift 339, reduce 280) on '/' +393: shift/reduce conflict (shift 340, reduce 280) on '%' +state 393 + additiveexpression : additiveexpression '-' multiplicativeexpression . (280) + multiplicativeexpression : multiplicativeexpression . '*' unaryexpression (282) + multiplicativeexpression : multiplicativeexpression . '/' unaryexpression (283) + multiplicativeexpression : multiplicativeexpression . '%' unaryexpression (284) + + '*' shift 338 + '/' shift 339 + '%' shift 340 + ABSTRACT reduce 280 + BOOLEAN reduce 280 + CHAR reduce 280 + FINAL reduce 280 + INSTANCEOF reduce 280 + INT reduce 280 + PRIVATE reduce 280 + PROTECTED reduce 280 + PUBLIC reduce 280 + STATIC reduce 280 + VOID reduce 280 + IDENTIFIER reduce 280 + EQUAL reduce 280 + LESSEQUAL reduce 280 + GREATEREQUAL reduce 280 + NOTEQUAL reduce 280 + LOGICALOR reduce 280 + LOGICALAND reduce 280 + INCREMENT reduce 280 + DECREMENT reduce 280 + ',' reduce 280 + ';' reduce 280 + '.' reduce 280 + '<' reduce 280 + '>' reduce 280 + '}' reduce 280 + ')' reduce 280 + '&' reduce 280 + '+' reduce 280 + '-' reduce 280 + '|' reduce 280 + '^' reduce 280 + + +state 394 + relationalexpression : relationalexpression INSTANCEOF referencetype . (276) + + . reduce 276 + + +state 395 + relationalexpression : relationalexpression LESSEQUAL shiftexpression . (274) + + . reduce 274 + + +state 396 + relationalexpression : relationalexpression GREATEREQUAL shiftexpression . (275) + + . reduce 275 + + +state 397 + relationalexpression : relationalexpression '<' shiftexpression . (272) + + . reduce 272 + + +state 398 + relationalexpression : relationalexpression '>' shiftexpression . (273) + + . reduce 273 + + +399: shift/reduce conflict (shift 343, reduce 269) on INSTANCEOF +399: shift/reduce conflict (shift 344, reduce 269) on LESSEQUAL +399: shift/reduce conflict (shift 345, reduce 269) on GREATEREQUAL +399: shift/reduce conflict (shift 346, reduce 269) on '<' +399: shift/reduce conflict (shift 347, reduce 269) on '>' +state 399 + equalityexpression : equalityexpression EQUAL relationalexpression . (269) + relationalexpression : relationalexpression . '<' shiftexpression (272) + relationalexpression : relationalexpression . '>' shiftexpression (273) + relationalexpression : relationalexpression . LESSEQUAL shiftexpression (274) + relationalexpression : relationalexpression . GREATEREQUAL shiftexpression (275) + relationalexpression : relationalexpression . INSTANCEOF referencetype (276) + + INSTANCEOF shift 343 + LESSEQUAL shift 344 + GREATEREQUAL shift 345 + '<' shift 346 + '>' shift 347 + ABSTRACT reduce 269 + BOOLEAN reduce 269 + CHAR reduce 269 + FINAL reduce 269 + INT reduce 269 + PRIVATE reduce 269 + PROTECTED reduce 269 + PUBLIC reduce 269 + STATIC reduce 269 + VOID reduce 269 + IDENTIFIER reduce 269 + EQUAL reduce 269 + NOTEQUAL reduce 269 + LOGICALOR reduce 269 + LOGICALAND reduce 269 + INCREMENT reduce 269 + DECREMENT reduce 269 + ',' reduce 269 + ';' reduce 269 + '.' reduce 269 + '*' reduce 269 + '}' reduce 269 + ')' reduce 269 + '&' reduce 269 + '+' reduce 269 + '-' reduce 269 + '|' reduce 269 + '^' reduce 269 + '/' reduce 269 + '%' reduce 269 + + +400: shift/reduce conflict (shift 343, reduce 270) on INSTANCEOF +400: shift/reduce conflict (shift 344, reduce 270) on LESSEQUAL +400: shift/reduce conflict (shift 345, reduce 270) on GREATEREQUAL +400: shift/reduce conflict (shift 346, reduce 270) on '<' +400: shift/reduce conflict (shift 347, reduce 270) on '>' +state 400 + equalityexpression : equalityexpression NOTEQUAL relationalexpression . (270) + relationalexpression : relationalexpression . '<' shiftexpression (272) + relationalexpression : relationalexpression . '>' shiftexpression (273) + relationalexpression : relationalexpression . LESSEQUAL shiftexpression (274) + relationalexpression : relationalexpression . GREATEREQUAL shiftexpression (275) + relationalexpression : relationalexpression . INSTANCEOF referencetype (276) + + INSTANCEOF shift 343 + LESSEQUAL shift 344 + GREATEREQUAL shift 345 + '<' shift 346 + '>' shift 347 + ABSTRACT reduce 270 + BOOLEAN reduce 270 + CHAR reduce 270 + FINAL reduce 270 + INT reduce 270 + PRIVATE reduce 270 + PROTECTED reduce 270 + PUBLIC reduce 270 + STATIC reduce 270 + VOID reduce 270 + IDENTIFIER reduce 270 + EQUAL reduce 270 + NOTEQUAL reduce 270 + LOGICALOR reduce 270 + LOGICALAND reduce 270 + INCREMENT reduce 270 + DECREMENT reduce 270 + ',' reduce 270 + ';' reduce 270 + '.' reduce 270 + '*' reduce 270 + '}' reduce 270 + ')' reduce 270 + '&' reduce 270 + '+' reduce 270 + '-' reduce 270 + '|' reduce 270 + '^' reduce 270 + '/' reduce 270 + '%' reduce 270 + + +401: shift/reduce conflict (shift 348, reduce 267) on EQUAL +401: shift/reduce conflict (shift 349, reduce 267) on NOTEQUAL +state 401 + andexpression : andexpression '&' equalityexpression . (267) + equalityexpression : equalityexpression . EQUAL relationalexpression (269) + equalityexpression : equalityexpression . NOTEQUAL relationalexpression (270) + + EQUAL shift 348 + NOTEQUAL shift 349 + ABSTRACT reduce 267 + BOOLEAN reduce 267 + CHAR reduce 267 + FINAL reduce 267 + INSTANCEOF reduce 267 + INT reduce 267 + PRIVATE reduce 267 + PROTECTED reduce 267 + PUBLIC reduce 267 + STATIC reduce 267 + VOID reduce 267 + IDENTIFIER reduce 267 + LESSEQUAL reduce 267 + GREATEREQUAL reduce 267 + LOGICALOR reduce 267 + LOGICALAND reduce 267 + INCREMENT reduce 267 + DECREMENT reduce 267 + ',' reduce 267 + ';' reduce 267 + '.' reduce 267 + '*' reduce 267 + '<' reduce 267 + '>' reduce 267 + '}' reduce 267 + ')' reduce 267 + '&' reduce 267 + '+' reduce 267 + '-' reduce 267 + '|' reduce 267 + '^' reduce 267 + '/' reduce 267 + '%' reduce 267 + + +402: shift/reduce conflict (shift 350, reduce 256) on '&' +state 402 + exclusiveorexpression : exclusiveorexpression '^' andexpression . (256) + andexpression : andexpression . '&' equalityexpression (267) + + '&' shift 350 + ABSTRACT reduce 256 + BOOLEAN reduce 256 + CHAR reduce 256 + FINAL reduce 256 + INSTANCEOF reduce 256 + INT reduce 256 + PRIVATE reduce 256 + PROTECTED reduce 256 + PUBLIC reduce 256 + STATIC reduce 256 + VOID reduce 256 + IDENTIFIER reduce 256 + EQUAL reduce 256 + LESSEQUAL reduce 256 + GREATEREQUAL reduce 256 + NOTEQUAL reduce 256 + LOGICALOR reduce 256 + LOGICALAND reduce 256 + INCREMENT reduce 256 + DECREMENT reduce 256 + ',' reduce 256 + ';' reduce 256 + '.' reduce 256 + '*' reduce 256 + '<' reduce 256 + '>' reduce 256 + '}' reduce 256 + ')' reduce 256 + '+' reduce 256 + '-' reduce 256 + '|' reduce 256 + '^' reduce 256 + '/' reduce 256 + '%' reduce 256 + + +403: shift/reduce conflict (shift 351, reduce 247) on '^' +state 403 + inclusiveorexpression : inclusiveorexpression '|' exclusiveorexpression . (247) + exclusiveorexpression : exclusiveorexpression . '^' andexpression (256) + + '^' shift 351 + ABSTRACT reduce 247 + BOOLEAN reduce 247 + CHAR reduce 247 + FINAL reduce 247 + INSTANCEOF reduce 247 + INT reduce 247 + PRIVATE reduce 247 + PROTECTED reduce 247 + PUBLIC reduce 247 + STATIC reduce 247 + VOID reduce 247 + IDENTIFIER reduce 247 + EQUAL reduce 247 + LESSEQUAL reduce 247 + GREATEREQUAL reduce 247 + NOTEQUAL reduce 247 + LOGICALOR reduce 247 + LOGICALAND reduce 247 + INCREMENT reduce 247 + DECREMENT reduce 247 + ',' reduce 247 + ';' reduce 247 + '.' reduce 247 + '*' reduce 247 + '<' reduce 247 + '>' reduce 247 + '}' reduce 247 + ')' reduce 247 + '&' reduce 247 + '+' reduce 247 + '-' reduce 247 + '|' reduce 247 + '/' reduce 247 + '%' reduce 247 + + +404: shift/reduce conflict (shift 352, reduce 235) on '|' +state 404 + conditionalandexpression : conditionalandexpression LOGICALAND inclusiveorexpression . (235) + inclusiveorexpression : inclusiveorexpression . '|' exclusiveorexpression (247) + + '|' shift 352 + ABSTRACT reduce 235 + BOOLEAN reduce 235 + CHAR reduce 235 + FINAL reduce 235 + INSTANCEOF reduce 235 + INT reduce 235 + PRIVATE reduce 235 + PROTECTED reduce 235 + PUBLIC reduce 235 + STATIC reduce 235 + VOID reduce 235 + IDENTIFIER reduce 235 + EQUAL reduce 235 + LESSEQUAL reduce 235 + GREATEREQUAL reduce 235 + NOTEQUAL reduce 235 + LOGICALOR reduce 235 + LOGICALAND reduce 235 + INCREMENT reduce 235 + DECREMENT reduce 235 + ',' reduce 235 + ';' reduce 235 + '.' reduce 235 + '*' reduce 235 + '<' reduce 235 + '>' reduce 235 + '}' reduce 235 + ')' reduce 235 + '&' reduce 235 + '+' reduce 235 + '-' reduce 235 + '^' reduce 235 + '/' reduce 235 + '%' reduce 235 + + +405: shift/reduce conflict (shift 353, reduce 210) on LOGICALAND +state 405 + conditionalorexpression : conditionalorexpression LOGICALOR conditionalandexpression . (210) + conditionalandexpression : conditionalandexpression . LOGICALAND inclusiveorexpression (235) + + LOGICALAND shift 353 + ABSTRACT reduce 210 + BOOLEAN reduce 210 + CHAR reduce 210 + FINAL reduce 210 + INSTANCEOF reduce 210 + INT reduce 210 + PRIVATE reduce 210 + PROTECTED reduce 210 + PUBLIC reduce 210 + STATIC reduce 210 + VOID reduce 210 + IDENTIFIER reduce 210 + EQUAL reduce 210 + LESSEQUAL reduce 210 + GREATEREQUAL reduce 210 + NOTEQUAL reduce 210 + LOGICALOR reduce 210 + INCREMENT reduce 210 + DECREMENT reduce 210 + ',' reduce 210 + ';' reduce 210 + '.' reduce 210 + '*' reduce 210 + '<' reduce 210 + '>' reduce 210 + '}' reduce 210 + ')' reduce 210 + '&' reduce 210 + '+' reduce 210 + '-' reduce 210 + '|' reduce 210 + '^' reduce 210 + '/' reduce 210 + '%' reduce 210 + + +state 406 + fielddeclarator : type variabledeclarator '=' expression . (85) + + . reduce 85 + + +state 407 + methodheader : modifiers '<' boundedMethodParameters '>' VOID . methoddeclarator (124) + methodheader : modifiers '<' boundedMethodParameters '>' VOID . methoddeclarator throws (126) + + IDENTIFIER shift 140 + . error + + methoddeclarator goto 426 + + +state 408 + methodheader : modifiers '<' boundedMethodParameters '>' type . methoddeclarator (114) + methodheader : modifiers '<' boundedMethodParameters '>' type . methoddeclarator throws (118) + + IDENTIFIER shift 140 + . error + + methoddeclarator goto 427 + + +state 409 + explicitconstructorinvocation : THIS '(' ')' . ';' (143) + + ';' shift 428 + . error + + +state 410 + explicitconstructorinvocation : THIS '(' argumentlist . ')' ';' (144) + argumentlist : argumentlist . ',' expression (158) + + ',' shift 418 + ')' shift 429 + . error + + +state 411 + constructorbody : '{' explicitconstructorinvocation blockstatements '}' . (100) + + . reduce 100 + + +state 412 + constantdeclaration : modifiers type IDENTIFIER '=' expression . ';' (83) + + ';' shift 430 + . error + + +state 413 + forstatement : FOR '(' ';' ';' . expression ')' statement (187) + forstatement : FOR '(' ';' ';' . ')' statement (188) + + NEW shift 248 + THIS shift 187 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 14 + INCREMENT shift 198 + DECREMENT shift 199 + '(' shift 249 + ')' shift 431 + '+' shift 250 + '-' shift 251 + '!' shift 252 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 206 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 253 + unaryexpressionnotplusminus goto 254 + unaryexpression goto 255 + multiplicativeexpression goto 256 + additiveexpression goto 257 + shiftexpression goto 258 + relationalexpression goto 259 + equalityexpression goto 260 + andexpression goto 261 + exclusiveorexpression goto 262 + inclusiveorexpression goto 263 + conditionalandexpression goto 264 + conditionalorexpression goto 265 + conditionalexpression goto 266 + assignmentexpression goto 267 + lambdaexpression goto 217 + expression goto 432 + preincrementexpression goto 269 + predecrementexpression goto 270 + postincrementexpression goto 271 + postdecrementexpression goto 272 + classinstancecreationexpression goto 273 + assignment goto 274 + lefthandside goto 234 + methodinvocation goto 275 + castexpression goto 276 + + +state 414 + forstatement : FOR '(' ';' expression . ';' expression ')' statement (184) + forstatement : FOR '(' ';' expression . ';' ')' statement (186) + + ';' shift 433 + . error + + +state 415 + forstatement : FOR '(' expression ';' . expression ';' expression ')' statement (181) + forstatement : FOR '(' expression ';' . expression ';' ')' statement (182) + forstatement : FOR '(' expression ';' . ';' expression ')' statement (183) + forstatement : FOR '(' expression ';' . ';' ')' statement (185) + + NEW shift 248 + THIS shift 187 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 14 + INCREMENT shift 198 + DECREMENT shift 199 + ';' shift 434 + '(' shift 249 + '+' shift 250 + '-' shift 251 + '!' shift 252 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 206 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 253 + unaryexpressionnotplusminus goto 254 + unaryexpression goto 255 + multiplicativeexpression goto 256 + additiveexpression goto 257 + shiftexpression goto 258 + relationalexpression goto 259 + equalityexpression goto 260 + andexpression goto 261 + exclusiveorexpression goto 262 + inclusiveorexpression goto 263 + conditionalandexpression goto 264 + conditionalorexpression goto 265 + conditionalexpression goto 266 + assignmentexpression goto 267 + lambdaexpression goto 217 + expression goto 435 + preincrementexpression goto 269 + predecrementexpression goto 270 + postincrementexpression goto 271 + postdecrementexpression goto 272 + classinstancecreationexpression goto 273 + assignment goto 274 + lefthandside goto 234 + methodinvocation goto 275 + castexpression goto 276 + + +state 416 + ifthenstatement : IF '(' expression ')' . statement (178) + ifthenelsestatement : IF '(' expression ')' . statementnoshortif ELSE statement (179) + + FOR shift 184 + IF shift 436 + RETURN shift 186 + THIS shift 187 + WHILE shift 437 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 14 + INCREMENT shift 198 + DECREMENT shift 199 + ';' shift 200 + '{' shift 138 + '(' shift 202 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 206 + block goto 208 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 216 + lambdaexpression goto 217 + statementexpression goto 218 + preincrementexpression goto 219 + predecrementexpression goto 220 + postincrementexpression goto 221 + postdecrementexpression goto 222 + expressionstatement goto 223 + statementwithouttrailingsubstatement goto 438 + statement goto 439 + statementnoshortif goto 440 + whilestatement goto 227 + forstatement goto 228 + whilestatementnoshortif goto 441 + ifthenstatement goto 229 + ifthenelsestatement goto 230 + ifthenelsestatementnoshortif goto 442 + emptystatement goto 231 + returnstatement goto 232 + assignment goto 233 + lefthandside goto 234 + methodinvocation goto 235 + + +state 417 + whilestatement : WHILE '(' expression ')' . statement (180) + + FOR shift 184 + IF shift 185 + RETURN shift 186 + THIS shift 187 + WHILE shift 188 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 14 + INCREMENT shift 198 + DECREMENT shift 199 + ';' shift 200 + '{' shift 138 + '(' shift 202 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 206 + block goto 208 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 216 + lambdaexpression goto 217 + statementexpression goto 218 + preincrementexpression goto 219 + predecrementexpression goto 220 + postincrementexpression goto 221 + postdecrementexpression goto 222 + expressionstatement goto 223 + statementwithouttrailingsubstatement goto 224 + statement goto 443 + whilestatement goto 227 + forstatement goto 228 + ifthenstatement goto 229 + ifthenelsestatement goto 230 + emptystatement goto 231 + returnstatement goto 232 + assignment goto 233 + lefthandside goto 234 + methodinvocation goto 235 + + +state 418 + argumentlist : argumentlist ',' . expression (158) + + NEW shift 248 + THIS shift 187 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 14 + INCREMENT shift 198 + DECREMENT shift 199 + '(' shift 249 + '+' shift 250 + '-' shift 251 + '!' shift 252 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 206 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 253 + unaryexpressionnotplusminus goto 254 + unaryexpression goto 255 + multiplicativeexpression goto 256 + additiveexpression goto 257 + shiftexpression goto 258 + relationalexpression goto 259 + equalityexpression goto 260 + andexpression goto 261 + exclusiveorexpression goto 262 + inclusiveorexpression goto 263 + conditionalandexpression goto 264 + conditionalorexpression goto 265 + conditionalexpression goto 266 + assignmentexpression goto 267 + lambdaexpression goto 217 + expression goto 444 + preincrementexpression goto 269 + predecrementexpression goto 270 + postincrementexpression goto 271 + postdecrementexpression goto 272 + classinstancecreationexpression goto 273 + assignment goto 274 + lefthandside goto 234 + methodinvocation goto 275 + castexpression goto 276 + + +state 419 + methodinvocation : name '(' argumentlist ')' . (229) + + . reduce 229 + + +state 420 + methodinvocation : primary '.' IDENTIFIER '(' . ')' (230) + methodinvocation : primary '.' IDENTIFIER '(' . argumentlist ')' (231) + + NEW shift 248 + THIS shift 187 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 14 + INCREMENT shift 198 + DECREMENT shift 199 + '(' shift 249 + ')' shift 445 + '+' shift 250 + '-' shift 251 + '!' shift 252 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 206 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 253 + unaryexpressionnotplusminus goto 254 + unaryexpression goto 255 + multiplicativeexpression goto 256 + additiveexpression goto 257 + shiftexpression goto 258 + relationalexpression goto 259 + equalityexpression goto 260 + andexpression goto 261 + exclusiveorexpression goto 262 + inclusiveorexpression goto 263 + conditionalandexpression goto 264 + conditionalorexpression goto 265 + conditionalexpression goto 266 + assignmentexpression goto 267 + lambdaexpression goto 217 + expression goto 375 + preincrementexpression goto 269 + predecrementexpression goto 270 + postincrementexpression goto 271 + postdecrementexpression goto 272 + classinstancecreationexpression goto 273 + assignment goto 274 + lefthandside goto 234 + argumentlist goto 446 + methodinvocation goto 275 + castexpression goto 276 + + +state 421 + methodheader : '<' boundedMethodParameters '>' VOID methoddeclarator throws . (125) + + . reduce 125 + + +state 422 + methodheader : '<' boundedMethodParameters '>' type methoddeclarator throws . (116) + + . reduce 116 + + +state 423 + classinstancecreationexpression : NEW classtype '(' ')' . (232) + + . reduce 232 + + +state 424 + argumentlist : argumentlist . ',' expression (158) + classinstancecreationexpression : NEW classtype '(' argumentlist . ')' (233) + + ',' shift 418 + ')' shift 447 + . error + + +state 425 + castexpression : '(' primitivetype ')' unaryexpression . (265) + + . reduce 265 + + +state 426 + methodheader : modifiers '<' boundedMethodParameters '>' VOID methoddeclarator . (124) + methodheader : modifiers '<' boundedMethodParameters '>' VOID methoddeclarator . throws (126) + + THROWS shift 147 + ';' reduce 124 + '{' reduce 124 + + throws goto 448 + + +state 427 + methodheader : modifiers '<' boundedMethodParameters '>' type methoddeclarator . (114) + methodheader : modifiers '<' boundedMethodParameters '>' type methoddeclarator . throws (118) + + THROWS shift 147 + ';' reduce 114 + '{' reduce 114 + + throws goto 449 + + +state 428 + explicitconstructorinvocation : THIS '(' ')' ';' . (143) + + . reduce 143 + + +state 429 + explicitconstructorinvocation : THIS '(' argumentlist ')' . ';' (144) + + ';' shift 450 + . error + + +state 430 + constantdeclaration : modifiers type IDENTIFIER '=' expression ';' . (83) + + . reduce 83 + + +state 431 + forstatement : FOR '(' ';' ';' ')' . statement (188) + + FOR shift 184 + IF shift 185 + RETURN shift 186 + THIS shift 187 + WHILE shift 188 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 14 + INCREMENT shift 198 + DECREMENT shift 199 + ';' shift 200 + '{' shift 138 + '(' shift 202 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 206 + block goto 208 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 216 + lambdaexpression goto 217 + statementexpression goto 218 + preincrementexpression goto 219 + predecrementexpression goto 220 + postincrementexpression goto 221 + postdecrementexpression goto 222 + expressionstatement goto 223 + statementwithouttrailingsubstatement goto 224 statement goto 451 - whilestatement goto 198 - forstatement goto 199 - ifthenstatement goto 200 - ifthenelsestatement goto 201 - emptystatement goto 202 - returnstatement goto 203 - assignment goto 204 - lefthandside goto 205 - methodinvocation goto 206 + whilestatement goto 227 + forstatement goto 228 + ifthenstatement goto 229 + ifthenelsestatement goto 230 + emptystatement goto 231 + returnstatement goto 232 + assignment goto 233 + lefthandside goto 234 + methodinvocation goto 235 -state 444 - forstatement : FOR '(' expression ';' ';' ')' statement . (181) +state 432 + forstatement : FOR '(' ';' ';' expression . ')' statement (187) - . reduce 181 - - -state 445 - forstatement : FOR '(' expression ';' ';' expression ')' . statement (179) - - FOR shift 154 - IF shift 155 - RETURN shift 156 - THIS shift 157 - WHILE shift 158 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 42 - INCREMENT shift 168 - DECREMENT shift 169 - ';' shift 170 - '{' shift 105 - '(' shift 172 - . error - - simplename goto 224 - qualifiedname goto 176 - name goto 177 - block goto 179 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 187 - lambdaexpression goto 188 - statementexpression goto 189 - preincrementexpression goto 190 - predecrementexpression goto 191 - postincrementexpression goto 192 - postdecrementexpression goto 193 - expressionstatement goto 194 - statementwithouttrailingsubstatement goto 195 - statement goto 452 - whilestatement goto 198 - forstatement goto 199 - ifthenstatement goto 200 - ifthenelsestatement goto 201 - emptystatement goto 202 - returnstatement goto 203 - assignment goto 204 - lefthandside goto 205 - methodinvocation goto 206 - - -state 446 - forstatement : FOR '(' expression ';' expression ';' ')' . statement (178) - - FOR shift 154 - IF shift 155 - RETURN shift 156 - THIS shift 157 - WHILE shift 158 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 42 - INCREMENT shift 168 - DECREMENT shift 169 - ';' shift 170 - '{' shift 105 - '(' shift 172 - . error - - simplename goto 224 - qualifiedname goto 176 - name goto 177 - block goto 179 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 187 - lambdaexpression goto 188 - statementexpression goto 189 - preincrementexpression goto 190 - predecrementexpression goto 191 - postincrementexpression goto 192 - postdecrementexpression goto 193 - expressionstatement goto 194 - statementwithouttrailingsubstatement goto 195 - statement goto 453 - whilestatement goto 198 - forstatement goto 199 - ifthenstatement goto 200 - ifthenelsestatement goto 201 - emptystatement goto 202 - returnstatement goto 203 - assignment goto 204 - lefthandside goto 205 - methodinvocation goto 206 - - -state 447 - forstatement : FOR '(' expression ';' expression ';' expression . ')' statement (177) - - ')' shift 454 + ')' shift 452 . error -state 448 - ifthenstatement : IF '(' expression . ')' statement (174) - ifthenelsestatement : IF '(' expression . ')' statementnoshortif ELSE statement (175) - ifthenelsestatementnoshortif : IF '(' expression . ')' statementnoshortif ELSE statementnoshortif (203) +state 433 + forstatement : FOR '(' ';' expression ';' . expression ')' statement (184) + forstatement : FOR '(' ';' expression ';' . ')' statement (186) + NEW shift 248 + THIS shift 187 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 14 + INCREMENT shift 198 + DECREMENT shift 199 + '(' shift 249 + ')' shift 453 + '+' shift 250 + '-' shift 251 + '!' shift 252 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 206 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 253 + unaryexpressionnotplusminus goto 254 + unaryexpression goto 255 + multiplicativeexpression goto 256 + additiveexpression goto 257 + shiftexpression goto 258 + relationalexpression goto 259 + equalityexpression goto 260 + andexpression goto 261 + exclusiveorexpression goto 262 + inclusiveorexpression goto 263 + conditionalandexpression goto 264 + conditionalorexpression goto 265 + conditionalexpression goto 266 + assignmentexpression goto 267 + lambdaexpression goto 217 + expression goto 454 + preincrementexpression goto 269 + predecrementexpression goto 270 + postincrementexpression goto 271 + postdecrementexpression goto 272 + classinstancecreationexpression goto 273 + assignment goto 274 + lefthandside goto 234 + methodinvocation goto 275 + castexpression goto 276 + + +state 434 + forstatement : FOR '(' expression ';' ';' . expression ')' statement (183) + forstatement : FOR '(' expression ';' ';' . ')' statement (185) + + NEW shift 248 + THIS shift 187 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 14 + INCREMENT shift 198 + DECREMENT shift 199 + '(' shift 249 ')' shift 455 + '+' shift 250 + '-' shift 251 + '!' shift 252 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 206 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 253 + unaryexpressionnotplusminus goto 254 + unaryexpression goto 255 + multiplicativeexpression goto 256 + additiveexpression goto 257 + shiftexpression goto 258 + relationalexpression goto 259 + equalityexpression goto 260 + andexpression goto 261 + exclusiveorexpression goto 262 + inclusiveorexpression goto 263 + conditionalandexpression goto 264 + conditionalorexpression goto 265 + conditionalexpression goto 266 + assignmentexpression goto 267 + lambdaexpression goto 217 + expression goto 456 + preincrementexpression goto 269 + predecrementexpression goto 270 + postincrementexpression goto 271 + postdecrementexpression goto 272 + classinstancecreationexpression goto 273 + assignment goto 274 + lefthandside goto 234 + methodinvocation goto 275 + castexpression goto 276 + + +state 435 + forstatement : FOR '(' expression ';' expression . ';' expression ')' statement (181) + forstatement : FOR '(' expression ';' expression . ';' ')' statement (182) + + ';' shift 457 . error -state 449 - whilestatement : WHILE '(' expression . ')' statement (176) - whilestatementnoshortif : WHILE '(' expression . ')' statementnoshortif (204) +state 436 + ifthenstatement : IF . '(' expression ')' statement (178) + ifthenelsestatement : IF . '(' expression ')' statementnoshortif ELSE statement (179) + ifthenelsestatementnoshortif : IF . '(' expression ')' statementnoshortif ELSE statementnoshortif (207) - ')' shift 456 + '(' shift 458 . error -state 450 - ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE statement . (175) +state 437 + whilestatement : WHILE . '(' expression ')' statement (180) + whilestatementnoshortif : WHILE . '(' expression ')' statementnoshortif (208) - . reduce 175 + '(' shift 459 + . error -state 451 - forstatement : FOR '(' ';' expression ';' expression ')' statement . (180) +state 438 + statement : statementwithouttrailingsubstatement . (163) + statementnoshortif : statementwithouttrailingsubstatement . (195) - . reduce 180 + BOOLEAN reduce 163 + CHAR reduce 163 + ELSE reduce 195 + FOR reduce 163 + IF reduce 163 + INT reduce 163 + RETURN reduce 163 + THIS reduce 163 + WHILE reduce 163 + INTLITERAL reduce 163 + LONGLITERAL reduce 163 + DOUBLELITERAL reduce 163 + FLOATLITERAL reduce 163 + BOOLLITERAL reduce 163 + JNULL reduce 163 + CHARLITERAL reduce 163 + STRINGLITERAL reduce 163 + IDENTIFIER reduce 163 + INCREMENT reduce 163 + DECREMENT reduce 163 + ';' reduce 163 + '{' reduce 163 + '}' reduce 163 + '(' reduce 163 -state 452 - forstatement : FOR '(' expression ';' ';' expression ')' statement . (179) - - . reduce 179 - - -state 453 - forstatement : FOR '(' expression ';' expression ';' ')' statement . (178) +state 439 + ifthenstatement : IF '(' expression ')' statement . (178) . reduce 178 -state 454 - forstatement : FOR '(' expression ';' expression ';' expression ')' . statement (177) - - FOR shift 154 - IF shift 155 - RETURN shift 156 - THIS shift 157 - WHILE shift 158 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 42 - INCREMENT shift 168 - DECREMENT shift 169 - ';' shift 170 - '{' shift 105 - '(' shift 172 - . error - - simplename goto 224 - qualifiedname goto 176 - name goto 177 - block goto 179 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 187 - lambdaexpression goto 188 - statementexpression goto 189 - preincrementexpression goto 190 - predecrementexpression goto 191 - postincrementexpression goto 192 - postdecrementexpression goto 193 - expressionstatement goto 194 - statementwithouttrailingsubstatement goto 195 - statement goto 457 - whilestatement goto 198 - forstatement goto 199 - ifthenstatement goto 200 - ifthenelsestatement goto 201 - emptystatement goto 202 - returnstatement goto 203 - assignment goto 204 - lefthandside goto 205 - methodinvocation goto 206 - - -state 455 - ifthenstatement : IF '(' expression ')' . statement (174) - ifthenelsestatement : IF '(' expression ')' . statementnoshortif ELSE statement (175) - ifthenelsestatementnoshortif : IF '(' expression ')' . statementnoshortif ELSE statementnoshortif (203) - - FOR shift 154 - IF shift 415 - RETURN shift 156 - THIS shift 157 - WHILE shift 416 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 42 - INCREMENT shift 168 - DECREMENT shift 169 - ';' shift 170 - '{' shift 105 - '(' shift 172 - . error - - simplename goto 224 - qualifiedname goto 176 - name goto 177 - block goto 179 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 187 - lambdaexpression goto 188 - statementexpression goto 189 - preincrementexpression goto 190 - predecrementexpression goto 191 - postincrementexpression goto 192 - postdecrementexpression goto 193 - expressionstatement goto 194 - statementwithouttrailingsubstatement goto 417 - statement goto 418 - statementnoshortif goto 458 - whilestatement goto 198 - forstatement goto 199 - whilestatementnoshortif goto 420 - ifthenstatement goto 200 - ifthenelsestatement goto 201 - ifthenelsestatementnoshortif goto 421 - emptystatement goto 202 - returnstatement goto 203 - assignment goto 204 - lefthandside goto 205 - methodinvocation goto 206 - - -state 456 - whilestatement : WHILE '(' expression ')' . statement (176) - whilestatementnoshortif : WHILE '(' expression ')' . statementnoshortif (204) - - FOR shift 154 - IF shift 415 - RETURN shift 156 - THIS shift 157 - WHILE shift 416 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 42 - INCREMENT shift 168 - DECREMENT shift 169 - ';' shift 170 - '{' shift 105 - '(' shift 172 - . error - - simplename goto 224 - qualifiedname goto 176 - name goto 177 - block goto 179 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 187 - lambdaexpression goto 188 - statementexpression goto 189 - preincrementexpression goto 190 - predecrementexpression goto 191 - postincrementexpression goto 192 - postdecrementexpression goto 193 - expressionstatement goto 194 - statementwithouttrailingsubstatement goto 417 - statement goto 422 - statementnoshortif goto 459 - whilestatement goto 198 - forstatement goto 199 - whilestatementnoshortif goto 420 - ifthenstatement goto 200 - ifthenelsestatement goto 201 - ifthenelsestatementnoshortif goto 421 - emptystatement goto 202 - returnstatement goto 203 - assignment goto 204 - lefthandside goto 205 - methodinvocation goto 206 - - -state 457 - forstatement : FOR '(' expression ';' expression ';' expression ')' statement . (177) - - . reduce 177 - - -state 458 - ifthenelsestatement : IF '(' expression ')' statementnoshortif . ELSE statement (175) - ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif . ELSE statementnoshortif (203) +state 440 + ifthenelsestatement : IF '(' expression ')' statementnoshortif . ELSE statement (179) ELSE shift 460 . error -state 459 - whilestatementnoshortif : WHILE '(' expression ')' statementnoshortif . (204) +state 441 + statementnoshortif : whilestatementnoshortif . (197) - . reduce 204 + . reduce 197 + + +state 442 + statementnoshortif : ifthenelsestatementnoshortif . (196) + + . reduce 196 + + +state 443 + whilestatement : WHILE '(' expression ')' statement . (180) + + . reduce 180 + + +state 444 + argumentlist : argumentlist ',' expression . (158) + + . reduce 158 + + +state 445 + methodinvocation : primary '.' IDENTIFIER '(' ')' . (230) + + . reduce 230 + + +state 446 + argumentlist : argumentlist . ',' expression (158) + methodinvocation : primary '.' IDENTIFIER '(' argumentlist . ')' (231) + + ',' shift 418 + ')' shift 461 + . error + + +state 447 + classinstancecreationexpression : NEW classtype '(' argumentlist ')' . (233) + + . reduce 233 + + +state 448 + methodheader : modifiers '<' boundedMethodParameters '>' VOID methoddeclarator throws . (126) + + . reduce 126 + + +state 449 + methodheader : modifiers '<' boundedMethodParameters '>' type methoddeclarator throws . (118) + + . reduce 118 + + +state 450 + explicitconstructorinvocation : THIS '(' argumentlist ')' ';' . (144) + + . reduce 144 + + +state 451 + forstatement : FOR '(' ';' ';' ')' statement . (188) + + . reduce 188 + + +state 452 + forstatement : FOR '(' ';' ';' expression ')' . statement (187) + + FOR shift 184 + IF shift 185 + RETURN shift 186 + THIS shift 187 + WHILE shift 188 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 14 + INCREMENT shift 198 + DECREMENT shift 199 + ';' shift 200 + '{' shift 138 + '(' shift 202 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 206 + block goto 208 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 216 + lambdaexpression goto 217 + statementexpression goto 218 + preincrementexpression goto 219 + predecrementexpression goto 220 + postincrementexpression goto 221 + postdecrementexpression goto 222 + expressionstatement goto 223 + statementwithouttrailingsubstatement goto 224 + statement goto 462 + whilestatement goto 227 + forstatement goto 228 + ifthenstatement goto 229 + ifthenelsestatement goto 230 + emptystatement goto 231 + returnstatement goto 232 + assignment goto 233 + lefthandside goto 234 + methodinvocation goto 235 + + +state 453 + forstatement : FOR '(' ';' expression ';' ')' . statement (186) + + FOR shift 184 + IF shift 185 + RETURN shift 186 + THIS shift 187 + WHILE shift 188 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 14 + INCREMENT shift 198 + DECREMENT shift 199 + ';' shift 200 + '{' shift 138 + '(' shift 202 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 206 + block goto 208 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 216 + lambdaexpression goto 217 + statementexpression goto 218 + preincrementexpression goto 219 + predecrementexpression goto 220 + postincrementexpression goto 221 + postdecrementexpression goto 222 + expressionstatement goto 223 + statementwithouttrailingsubstatement goto 224 + statement goto 463 + whilestatement goto 227 + forstatement goto 228 + ifthenstatement goto 229 + ifthenelsestatement goto 230 + emptystatement goto 231 + returnstatement goto 232 + assignment goto 233 + lefthandside goto 234 + methodinvocation goto 235 + + +state 454 + forstatement : FOR '(' ';' expression ';' expression . ')' statement (184) + + ')' shift 464 + . error + + +state 455 + forstatement : FOR '(' expression ';' ';' ')' . statement (185) + + FOR shift 184 + IF shift 185 + RETURN shift 186 + THIS shift 187 + WHILE shift 188 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 14 + INCREMENT shift 198 + DECREMENT shift 199 + ';' shift 200 + '{' shift 138 + '(' shift 202 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 206 + block goto 208 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 216 + lambdaexpression goto 217 + statementexpression goto 218 + preincrementexpression goto 219 + predecrementexpression goto 220 + postincrementexpression goto 221 + postdecrementexpression goto 222 + expressionstatement goto 223 + statementwithouttrailingsubstatement goto 224 + statement goto 465 + whilestatement goto 227 + forstatement goto 228 + ifthenstatement goto 229 + ifthenelsestatement goto 230 + emptystatement goto 231 + returnstatement goto 232 + assignment goto 233 + lefthandside goto 234 + methodinvocation goto 235 + + +state 456 + forstatement : FOR '(' expression ';' ';' expression . ')' statement (183) + + ')' shift 466 + . error + + +state 457 + forstatement : FOR '(' expression ';' expression ';' . expression ')' statement (181) + forstatement : FOR '(' expression ';' expression ';' . ')' statement (182) + + NEW shift 248 + THIS shift 187 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 14 + INCREMENT shift 198 + DECREMENT shift 199 + '(' shift 249 + ')' shift 467 + '+' shift 250 + '-' shift 251 + '!' shift 252 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 206 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 253 + unaryexpressionnotplusminus goto 254 + unaryexpression goto 255 + multiplicativeexpression goto 256 + additiveexpression goto 257 + shiftexpression goto 258 + relationalexpression goto 259 + equalityexpression goto 260 + andexpression goto 261 + exclusiveorexpression goto 262 + inclusiveorexpression goto 263 + conditionalandexpression goto 264 + conditionalorexpression goto 265 + conditionalexpression goto 266 + assignmentexpression goto 267 + lambdaexpression goto 217 + expression goto 468 + preincrementexpression goto 269 + predecrementexpression goto 270 + postincrementexpression goto 271 + postdecrementexpression goto 272 + classinstancecreationexpression goto 273 + assignment goto 274 + lefthandside goto 234 + methodinvocation goto 275 + castexpression goto 276 + + +state 458 + ifthenstatement : IF '(' . expression ')' statement (178) + ifthenelsestatement : IF '(' . expression ')' statementnoshortif ELSE statement (179) + ifthenelsestatementnoshortif : IF '(' . expression ')' statementnoshortif ELSE statementnoshortif (207) + + NEW shift 248 + THIS shift 187 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 14 + INCREMENT shift 198 + DECREMENT shift 199 + '(' shift 249 + '+' shift 250 + '-' shift 251 + '!' shift 252 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 206 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 253 + unaryexpressionnotplusminus goto 254 + unaryexpression goto 255 + multiplicativeexpression goto 256 + additiveexpression goto 257 + shiftexpression goto 258 + relationalexpression goto 259 + equalityexpression goto 260 + andexpression goto 261 + exclusiveorexpression goto 262 + inclusiveorexpression goto 263 + conditionalandexpression goto 264 + conditionalorexpression goto 265 + conditionalexpression goto 266 + assignmentexpression goto 267 + lambdaexpression goto 217 + expression goto 469 + preincrementexpression goto 269 + predecrementexpression goto 270 + postincrementexpression goto 271 + postdecrementexpression goto 272 + classinstancecreationexpression goto 273 + assignment goto 274 + lefthandside goto 234 + methodinvocation goto 275 + castexpression goto 276 + + +state 459 + whilestatement : WHILE '(' . expression ')' statement (180) + whilestatementnoshortif : WHILE '(' . expression ')' statementnoshortif (208) + + NEW shift 248 + THIS shift 187 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 14 + INCREMENT shift 198 + DECREMENT shift 199 + '(' shift 249 + '+' shift 250 + '-' shift 251 + '!' shift 252 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 206 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 253 + unaryexpressionnotplusminus goto 254 + unaryexpression goto 255 + multiplicativeexpression goto 256 + additiveexpression goto 257 + shiftexpression goto 258 + relationalexpression goto 259 + equalityexpression goto 260 + andexpression goto 261 + exclusiveorexpression goto 262 + inclusiveorexpression goto 263 + conditionalandexpression goto 264 + conditionalorexpression goto 265 + conditionalexpression goto 266 + assignmentexpression goto 267 + lambdaexpression goto 217 + expression goto 470 + preincrementexpression goto 269 + predecrementexpression goto 270 + postincrementexpression goto 271 + postdecrementexpression goto 272 + classinstancecreationexpression goto 273 + assignment goto 274 + lefthandside goto 234 + methodinvocation goto 275 + castexpression goto 276 state 460 - ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE . statement (175) - ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif ELSE . statementnoshortif (203) + ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE . statement (179) - FOR shift 154 - IF shift 415 - RETURN shift 156 - THIS shift 157 - WHILE shift 416 - INTLITERAL shift 159 - LONGLITERAL shift 160 - DOUBLELITERAL shift 161 - FLOATLITERAL shift 162 - BOOLLITERAL shift 163 - JNULL shift 164 - CHARLITERAL shift 165 - STRINGLITERAL shift 166 - IDENTIFIER shift 42 - INCREMENT shift 168 - DECREMENT shift 169 - ';' shift 170 - '{' shift 105 - '(' shift 172 + FOR shift 184 + IF shift 185 + RETURN shift 186 + THIS shift 187 + WHILE shift 188 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 14 + INCREMENT shift 198 + DECREMENT shift 199 + ';' shift 200 + '{' shift 138 + '(' shift 202 . error - simplename goto 224 - qualifiedname goto 176 - name goto 177 - block goto 179 - lambdaexpressionparameter goto 183 - literal goto 184 - primarynonewarray goto 185 - primary goto 186 - postfixexpression goto 187 - lambdaexpression goto 188 - statementexpression goto 189 - preincrementexpression goto 190 - predecrementexpression goto 191 - postincrementexpression goto 192 - postdecrementexpression goto 193 - expressionstatement goto 194 - statementwithouttrailingsubstatement goto 417 - statement goto 450 - statementnoshortif goto 461 - whilestatement goto 198 - forstatement goto 199 - whilestatementnoshortif goto 420 - ifthenstatement goto 200 - ifthenelsestatement goto 201 - ifthenelsestatementnoshortif goto 421 - emptystatement goto 202 - returnstatement goto 203 - assignment goto 204 - lefthandside goto 205 - methodinvocation goto 206 + simplename goto 34 + qualifiedname goto 35 + name goto 206 + block goto 208 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 216 + lambdaexpression goto 217 + statementexpression goto 218 + preincrementexpression goto 219 + predecrementexpression goto 220 + postincrementexpression goto 221 + postdecrementexpression goto 222 + expressionstatement goto 223 + statementwithouttrailingsubstatement goto 224 + statement goto 471 + whilestatement goto 227 + forstatement goto 228 + ifthenstatement goto 229 + ifthenelsestatement goto 230 + emptystatement goto 231 + returnstatement goto 232 + assignment goto 233 + lefthandside goto 234 + methodinvocation goto 235 state 461 - ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif ELSE statementnoshortif . (203) + methodinvocation : primary '.' IDENTIFIER '(' argumentlist ')' . (231) - . reduce 203 + . reduce 231 + + +state 462 + forstatement : FOR '(' ';' ';' expression ')' statement . (187) + + . reduce 187 + + +state 463 + forstatement : FOR '(' ';' expression ';' ')' statement . (186) + + . reduce 186 + + +state 464 + forstatement : FOR '(' ';' expression ';' expression ')' . statement (184) + + FOR shift 184 + IF shift 185 + RETURN shift 186 + THIS shift 187 + WHILE shift 188 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 14 + INCREMENT shift 198 + DECREMENT shift 199 + ';' shift 200 + '{' shift 138 + '(' shift 202 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 206 + block goto 208 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 216 + lambdaexpression goto 217 + statementexpression goto 218 + preincrementexpression goto 219 + predecrementexpression goto 220 + postincrementexpression goto 221 + postdecrementexpression goto 222 + expressionstatement goto 223 + statementwithouttrailingsubstatement goto 224 + statement goto 472 + whilestatement goto 227 + forstatement goto 228 + ifthenstatement goto 229 + ifthenelsestatement goto 230 + emptystatement goto 231 + returnstatement goto 232 + assignment goto 233 + lefthandside goto 234 + methodinvocation goto 235 + + +state 465 + forstatement : FOR '(' expression ';' ';' ')' statement . (185) + + . reduce 185 + + +state 466 + forstatement : FOR '(' expression ';' ';' expression ')' . statement (183) + + FOR shift 184 + IF shift 185 + RETURN shift 186 + THIS shift 187 + WHILE shift 188 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 14 + INCREMENT shift 198 + DECREMENT shift 199 + ';' shift 200 + '{' shift 138 + '(' shift 202 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 206 + block goto 208 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 216 + lambdaexpression goto 217 + statementexpression goto 218 + preincrementexpression goto 219 + predecrementexpression goto 220 + postincrementexpression goto 221 + postdecrementexpression goto 222 + expressionstatement goto 223 + statementwithouttrailingsubstatement goto 224 + statement goto 473 + whilestatement goto 227 + forstatement goto 228 + ifthenstatement goto 229 + ifthenelsestatement goto 230 + emptystatement goto 231 + returnstatement goto 232 + assignment goto 233 + lefthandside goto 234 + methodinvocation goto 235 + + +state 467 + forstatement : FOR '(' expression ';' expression ';' ')' . statement (182) + + FOR shift 184 + IF shift 185 + RETURN shift 186 + THIS shift 187 + WHILE shift 188 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 14 + INCREMENT shift 198 + DECREMENT shift 199 + ';' shift 200 + '{' shift 138 + '(' shift 202 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 206 + block goto 208 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 216 + lambdaexpression goto 217 + statementexpression goto 218 + preincrementexpression goto 219 + predecrementexpression goto 220 + postincrementexpression goto 221 + postdecrementexpression goto 222 + expressionstatement goto 223 + statementwithouttrailingsubstatement goto 224 + statement goto 474 + whilestatement goto 227 + forstatement goto 228 + ifthenstatement goto 229 + ifthenelsestatement goto 230 + emptystatement goto 231 + returnstatement goto 232 + assignment goto 233 + lefthandside goto 234 + methodinvocation goto 235 + + +state 468 + forstatement : FOR '(' expression ';' expression ';' expression . ')' statement (181) + + ')' shift 475 + . error + + +state 469 + ifthenstatement : IF '(' expression . ')' statement (178) + ifthenelsestatement : IF '(' expression . ')' statementnoshortif ELSE statement (179) + ifthenelsestatementnoshortif : IF '(' expression . ')' statementnoshortif ELSE statementnoshortif (207) + + ')' shift 476 + . error + + +state 470 + whilestatement : WHILE '(' expression . ')' statement (180) + whilestatementnoshortif : WHILE '(' expression . ')' statementnoshortif (208) + + ')' shift 477 + . error + + +state 471 + ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE statement . (179) + + . reduce 179 + + +state 472 + forstatement : FOR '(' ';' expression ';' expression ')' statement . (184) + + . reduce 184 + + +state 473 + forstatement : FOR '(' expression ';' ';' expression ')' statement . (183) + + . reduce 183 + + +state 474 + forstatement : FOR '(' expression ';' expression ';' ')' statement . (182) + + . reduce 182 + + +state 475 + forstatement : FOR '(' expression ';' expression ';' expression ')' . statement (181) + + FOR shift 184 + IF shift 185 + RETURN shift 186 + THIS shift 187 + WHILE shift 188 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 14 + INCREMENT shift 198 + DECREMENT shift 199 + ';' shift 200 + '{' shift 138 + '(' shift 202 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 206 + block goto 208 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 216 + lambdaexpression goto 217 + statementexpression goto 218 + preincrementexpression goto 219 + predecrementexpression goto 220 + postincrementexpression goto 221 + postdecrementexpression goto 222 + expressionstatement goto 223 + statementwithouttrailingsubstatement goto 224 + statement goto 478 + whilestatement goto 227 + forstatement goto 228 + ifthenstatement goto 229 + ifthenelsestatement goto 230 + emptystatement goto 231 + returnstatement goto 232 + assignment goto 233 + lefthandside goto 234 + methodinvocation goto 235 + + +state 476 + ifthenstatement : IF '(' expression ')' . statement (178) + ifthenelsestatement : IF '(' expression ')' . statementnoshortif ELSE statement (179) + ifthenelsestatementnoshortif : IF '(' expression ')' . statementnoshortif ELSE statementnoshortif (207) + + FOR shift 184 + IF shift 436 + RETURN shift 186 + THIS shift 187 + WHILE shift 437 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 14 + INCREMENT shift 198 + DECREMENT shift 199 + ';' shift 200 + '{' shift 138 + '(' shift 202 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 206 + block goto 208 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 216 + lambdaexpression goto 217 + statementexpression goto 218 + preincrementexpression goto 219 + predecrementexpression goto 220 + postincrementexpression goto 221 + postdecrementexpression goto 222 + expressionstatement goto 223 + statementwithouttrailingsubstatement goto 438 + statement goto 439 + statementnoshortif goto 479 + whilestatement goto 227 + forstatement goto 228 + whilestatementnoshortif goto 441 + ifthenstatement goto 229 + ifthenelsestatement goto 230 + ifthenelsestatementnoshortif goto 442 + emptystatement goto 231 + returnstatement goto 232 + assignment goto 233 + lefthandside goto 234 + methodinvocation goto 235 + + +state 477 + whilestatement : WHILE '(' expression ')' . statement (180) + whilestatementnoshortif : WHILE '(' expression ')' . statementnoshortif (208) + + FOR shift 184 + IF shift 436 + RETURN shift 186 + THIS shift 187 + WHILE shift 437 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 14 + INCREMENT shift 198 + DECREMENT shift 199 + ';' shift 200 + '{' shift 138 + '(' shift 202 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 206 + block goto 208 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 216 + lambdaexpression goto 217 + statementexpression goto 218 + preincrementexpression goto 219 + predecrementexpression goto 220 + postincrementexpression goto 221 + postdecrementexpression goto 222 + expressionstatement goto 223 + statementwithouttrailingsubstatement goto 438 + statement goto 443 + statementnoshortif goto 480 + whilestatement goto 227 + forstatement goto 228 + whilestatementnoshortif goto 441 + ifthenstatement goto 229 + ifthenelsestatement goto 230 + ifthenelsestatementnoshortif goto 442 + emptystatement goto 231 + returnstatement goto 232 + assignment goto 233 + lefthandside goto 234 + methodinvocation goto 235 + + +state 478 + forstatement : FOR '(' expression ';' expression ';' expression ')' statement . (181) + + . reduce 181 + + +state 479 + ifthenelsestatement : IF '(' expression ')' statementnoshortif . ELSE statement (179) + ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif . ELSE statementnoshortif (207) + + ELSE shift 481 + . error + + +state 480 + whilestatementnoshortif : WHILE '(' expression ')' statementnoshortif . (208) + + . reduce 208 + + +state 481 + ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE . statement (179) + ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif ELSE . statementnoshortif (207) + + FOR shift 184 + IF shift 436 + RETURN shift 186 + THIS shift 187 + WHILE shift 437 + INTLITERAL shift 189 + LONGLITERAL shift 190 + DOUBLELITERAL shift 191 + FLOATLITERAL shift 192 + BOOLLITERAL shift 193 + JNULL shift 194 + CHARLITERAL shift 195 + STRINGLITERAL shift 196 + IDENTIFIER shift 14 + INCREMENT shift 198 + DECREMENT shift 199 + ';' shift 200 + '{' shift 138 + '(' shift 202 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 206 + block goto 208 + lambdaexpressionparameter goto 212 + literal goto 213 + primarynonewarray goto 214 + primary goto 215 + postfixexpression goto 216 + lambdaexpression goto 217 + statementexpression goto 218 + preincrementexpression goto 219 + predecrementexpression goto 220 + postincrementexpression goto 221 + postdecrementexpression goto 222 + expressionstatement goto 223 + statementwithouttrailingsubstatement goto 438 + statement goto 471 + statementnoshortif goto 482 + whilestatement goto 227 + forstatement goto 228 + whilestatementnoshortif goto 441 + ifthenstatement goto 229 + ifthenelsestatement goto 230 + ifthenelsestatementnoshortif goto 442 + emptystatement goto 231 + returnstatement goto 232 + assignment goto 233 + lefthandside goto 234 + methodinvocation goto 235 + + +state 482 + ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif ELSE statementnoshortif . (207) + + . reduce 207 Rules never reduced: - packagedeclaration : PACKAGE name ';' (2) - importdeclarations : importdeclaration (3) - importdeclarations : importdeclarations importdeclaration (4) - importdeclaration : IMPORT importqualifiedname ';' (5) - importqualifiedname : name '.' IDENTIFIER (13) - importqualifiedname : name '.' '*' (14) - paralist : IDENTIFIER (32) - paralist : IDENTIFIER '<' paralist '>' (33) - paralist : wildcardparameter (34) - paralist : paralist ',' IDENTIFIER (35) - paralist : paralist ',' IDENTIFIER '<' paralist '>' (36) - paralist : paralist ',' wildcardparameter (37) - wildcardparameter : '?' (38) - wildcardparameter : '?' EXTENDS referencetype (39) - wildcardparameter : '?' SUPER referencetype (40) - variableinitializer : expression (157) + paralist : IDENTIFIER (36) + paralist : IDENTIFIER '<' paralist '>' (37) + paralist : wildcardparameter (38) + paralist : paralist ',' IDENTIFIER (39) + paralist : paralist ',' IDENTIFIER '<' paralist '>' (40) + paralist : paralist ',' wildcardparameter (41) + wildcardparameter : '?' (42) + wildcardparameter : '?' EXTENDS referencetype (43) + wildcardparameter : '?' SUPER referencetype (44) + variableinitializer : expression (161) -State 43 contains 1 shift/reduce conflict. -State 53 contains 1 shift/reduce conflict. -State 84 contains 1 shift/reduce conflict. -State 177 contains 1 shift/reduce conflict. -State 186 contains 1 shift/reduce conflict. -State 225 contains 2 shift/reduce conflicts. -State 228 contains 3 shift/reduce conflicts. -State 229 contains 2 shift/reduce conflicts. -State 231 contains 5 shift/reduce conflicts. -State 232 contains 2 shift/reduce conflicts. -State 233 contains 1 shift/reduce conflict. -State 234 contains 1 shift/reduce conflict. -State 235 contains 1 shift/reduce conflict. -State 236 contains 1 shift/reduce conflict. -State 237 contains 1 shift/reduce conflict. -State 278 contains 1 shift/reduce conflict. -State 371 contains 3 shift/reduce conflicts. -State 372 contains 3 shift/reduce conflicts. -State 378 contains 5 shift/reduce conflicts. -State 379 contains 5 shift/reduce conflicts. -State 380 contains 2 shift/reduce conflicts. -State 381 contains 1 shift/reduce conflict. -State 382 contains 1 shift/reduce conflict. -State 383 contains 1 shift/reduce conflict. -State 384 contains 1 shift/reduce conflict. +State 18 contains 1 shift/reduce conflict. +State 88 contains 1 shift/reduce conflict. +State 117 contains 1 shift/reduce conflict. +State 206 contains 1 shift/reduce conflict. +State 215 contains 1 shift/reduce conflict. +State 253 contains 2 shift/reduce conflicts. +State 256 contains 3 shift/reduce conflicts. +State 257 contains 2 shift/reduce conflicts. +State 259 contains 5 shift/reduce conflicts. +State 260 contains 2 shift/reduce conflicts. +State 261 contains 1 shift/reduce conflict. +State 262 contains 1 shift/reduce conflict. +State 263 contains 1 shift/reduce conflict. +State 264 contains 1 shift/reduce conflict. +State 265 contains 1 shift/reduce conflict. +State 302 contains 1 shift/reduce conflict. +State 392 contains 3 shift/reduce conflicts. +State 393 contains 3 shift/reduce conflicts. +State 399 contains 5 shift/reduce conflicts. +State 400 contains 5 shift/reduce conflicts. +State 401 contains 2 shift/reduce conflicts. +State 402 contains 1 shift/reduce conflict. +State 403 contains 1 shift/reduce conflict. +State 404 contains 1 shift/reduce conflict. +State 405 contains 1 shift/reduce conflict. 97 terminals, 117 nonterminals -281 grammar rules, 462 states +285 grammar rules, 483 states From 38f4a1351f4178891a79e146ad7e970dd14f9f50 Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Tue, 1 Apr 2014 21:38:53 +0200 Subject: [PATCH 42/79] =?UTF-8?q?MakeBasicAssumptionsFromJRE=20ge=C3=A4nde?= =?UTF-8?q?rt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/mycompiler/SourceFile.java | 47 ++++++++++++++++++++++------------ 1 file changed, 30 insertions(+), 17 deletions(-) diff --git a/src/mycompiler/SourceFile.java b/src/mycompiler/SourceFile.java index 4918595de..32ffc47a9 100755 --- a/src/mycompiler/SourceFile.java +++ b/src/mycompiler/SourceFile.java @@ -13,6 +13,9 @@ import java.util.Vector; import mycompiler.mybytecode.ClassFile; import mycompiler.myclass.BasicAssumptionClass; import mycompiler.myclass.Class; +import mycompiler.myclass.Constructor; +import mycompiler.myclass.Field; +import mycompiler.myclass.FieldDeclaration; import mycompiler.myclass.ImportDeclarations; import mycompiler.myclass.UsedId; import mycompiler.myexception.CTypeReconstructionException; @@ -41,6 +44,9 @@ import mycompiler.mytypereconstruction.unify.Unify; import org.apache.log4j.Logger; +import mycompiler.myclass.*; + +import mycompiler.*; import sun.reflect.generics.reflectiveObjects.NotImplementedException; import sun.reflect.generics.reflectiveObjects.TypeVariableImpl; import typinferenz.ConstraintsSet; @@ -1043,16 +1049,17 @@ public class SourceFile // ino.method.makeBasicAssumptionsFromJRE.21409.definition @Deprecated //angefügt von Andreas Stadelmeier. Grund: Die Funktion wurde neu als getBasicAssumptions angelegt - private TypeinferenceResultSet makeBasicAssumptionsFromJRE(Vector imports) + private TypeAssumptions makeBasicAssumptionsFromJRE(Vector imports) // ino.end // ino.method.makeBasicAssumptionsFromJRE.21409.body { - return null; - /* + //return null; + ///* Vector doneImports=new Vector(); - TypeinferenceResultSet basicAssumptions = new TypeinferenceResultSet(null); - + //TypeinferenceResultSet basicAssumptions = new TypeinferenceResultSet(null); + TypeAssumptions basicAssumptions = new TypeAssumptions(); + Modifiers mod = new Modifiers(); mod.addModifier(new Public()); @@ -1087,11 +1094,13 @@ public class SourceFile jreSpiderRegistry.put(tvs[j].getName(),gtv); } - BasicAssumptionClass myCl = new BasicAssumptionClass(className, mod); - + //BasicAssumptionClass myCl = new BasicAssumptionClass(className, mod); + Class parentClass = new Class(className, mod); + if(typeGenPara.size()>0){ - basicAssumptions.addGenericTypeVars(className, typeGenPara); - myCl.set_ParaList((Vector)typeGenPara); + //auskommentiert von Andreas Stadelmeier: + //basicAssumptions.addGenericTypeVars(className, typeGenPara); + parentClass.set_ParaList((Vector)typeGenPara);//myCl.set_ParaList((Vector)typeGenPara); } @@ -1125,19 +1134,20 @@ public class SourceFile } ui.set_ParaList(supertypeGenPara); ui.vParaOrg=supertypeGenPara; - myCl.set_UsedId(ui); + parentClass.set_UsedId(ui); } } - this.addElement(myCl); - - basicAssumptions.addClassName(className); + //auskommentiert von Andreas Stadelmeier + //this.addElement(myCl); + //basicAssumptions.addClassName(className); for(int j=0;j()); CInstVarTypeAssumption instVar = new CInstVarTypeAssumption(className, fields[j].getName(), new RefType(fields[j].getType().getName(),-1), MyCompiler.NO_LINENUMBER,MyCompiler.NO_LINENUMBER,new Vector()); - basicAssumptions.addFieldOrLocalVarAssumption(instVar); + //basicAssumptions.addFieldOrLocalVarAssumption(instVar); + parentClass.addField(new FieldDeclaration(0)); } } for(int j=0;j())); } - basicAssumptions.addMethodIntersectionType(new CIntersectionType(method)); + //basicAssumptions.addMethodIntersectionType(new CIntersectionType(method)); + parentClass.addField(mycompiler.myclass.Method.createEmptyMethod(methodName, parentClass)); } } @@ -1171,7 +1182,9 @@ public class SourceFile // Fixme HOTI beachte overloaded id constructor.addParaAssumption(new CParaTypeAssumption(className, methodName, constructors[j].getParameterTypes().length,0,paraType, new RefType(paraType,-1), MyCompiler.NO_LINENUMBER,MyCompiler.NO_LINENUMBER,new Vector())); } - basicAssumptions.addMethodIntersectionType(new CIntersectionType(constructor)); + //basicAssumptions.addMethodIntersectionType(new CIntersectionType(constructor)); + Method constructorMethod = mycompiler.myclass.Method.createEmptyMethod(methodName, parentClass); + parentClass.addField(new Constructor(constructorMethod)); } } @@ -1182,7 +1195,7 @@ public class SourceFile imports.addAll(doneImports); return basicAssumptions; - */ + //*/ } // ino.end From 8d4213511d545b7f1afd5f4dc02f82b4fc395e1e Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Thu, 3 Apr 2014 10:35:25 +0200 Subject: [PATCH 43/79] Backup-commit --- src/mycompiler/SourceFile.java | 31 ++++++++---- src/mycompiler/myclass/FieldDeclaration.java | 11 +++++ src/mycompiler/myclass/Method.java | 4 +- src/mycompiler/mystatement/LocalVarDecl.java | 8 +++- src/mycompiler/mytype/GenericTypeVar.java | 11 +++++ .../assumptions/ClassAssumption.java | 22 +++++++++ .../assumptions/TypeAssumptions.java | 47 ++++++++++++++++++- .../TypeInsertTests/ImportTest.jav | 10 ++++ .../TypeInsertTests/ImportTest.java | 18 +++++++ 9 files changed, 149 insertions(+), 13 deletions(-) create mode 100644 src/typinferenz/assumptions/ClassAssumption.java create mode 100644 test/plugindevelopment/TypeInsertTests/ImportTest.jav create mode 100644 test/plugindevelopment/TypeInsertTests/ImportTest.java diff --git a/src/mycompiler/SourceFile.java b/src/mycompiler/SourceFile.java index 32ffc47a9..357f70399 100755 --- a/src/mycompiler/SourceFile.java +++ b/src/mycompiler/SourceFile.java @@ -45,7 +45,6 @@ import mycompiler.mytypereconstruction.unify.Unify; import org.apache.log4j.Logger; import mycompiler.myclass.*; - import mycompiler.*; import sun.reflect.generics.reflectiveObjects.NotImplementedException; import sun.reflect.generics.reflectiveObjects.TypeVariableImpl; @@ -55,7 +54,9 @@ import typinferenz.FunNInterface; import typinferenz.FunNMethod; import typinferenz.ResultSet; import typinferenz.UndConstraint; +import typinferenz.assumptions.ClassAssumption; import typinferenz.assumptions.MethodAssumption; +import typinferenz.assumptions.ParameterAssumption; import typinferenz.assumptions.TypeAssumptions; import typinferenz.exceptions.TypinferenzException; @@ -660,6 +661,11 @@ public class SourceFile globalAssumptions.add(klasse.getPublicFieldAssumptions()); } + //Assumptions der importierten Klassen sammeln: + TypeAssumptions importAssumptions = this.makeBasicAssumptionsFromJRE(imports); + globalAssumptions.add(importAssumptions); + typinferenzLog.debug("Von JRE erstellte Assumptions: "+importAssumptions); + ConstraintsSet oderConstraints = new ConstraintsSet(); //Alle Constraints der in dieser SourceFile enthaltenen Klassen sammeln: for(Class klasse : KlassenVektor){ @@ -904,6 +910,7 @@ public class SourceFile * Erstellt die Basic Assumptions (siehe MakeBasicAssumptions) als AssumptionSet * @return */ + @Deprecated //angefügt von Andreas Stadelmeier. Grund: Die Funktion wurde neu als makeBasicAssumptionsFromJRE angelegt private TypeAssumptions getBasicAssumptions() { TypeAssumptions ret = new TypeAssumptions(null); @@ -1048,7 +1055,6 @@ public class SourceFile } // ino.method.makeBasicAssumptionsFromJRE.21409.definition - @Deprecated //angefügt von Andreas Stadelmeier. Grund: Die Funktion wurde neu als getBasicAssumptions angelegt private TypeAssumptions makeBasicAssumptionsFromJRE(Vector imports) // ino.end // ino.method.makeBasicAssumptionsFromJRE.21409.body @@ -1147,7 +1153,7 @@ public class SourceFile //CInstVarTypeAssumption instVar = new CInstVarTypeAssumption(className, fields[j].getName(), new RefType(fields[j].getType().getSimpleName()), MyCompiler.NO_LINENUMBER,MyCompiler.NO_LINENUMBER,new Vector()); CInstVarTypeAssumption instVar = new CInstVarTypeAssumption(className, fields[j].getName(), new RefType(fields[j].getType().getName(),-1), MyCompiler.NO_LINENUMBER,MyCompiler.NO_LINENUMBER,new Vector()); //basicAssumptions.addFieldOrLocalVarAssumption(instVar); - parentClass.addField(new FieldDeclaration(0)); + parentClass.addField(new FieldDeclaration(fields[j].getName(),new RefType(fields[j].getType().getName(),-1))); } } for(int j=0;j(),null); - + //CMethodTypeAssumption method = new CMethodTypeAssumption(new RefType(className, 0), methodName, returnType, pt.length,MyCompiler.NO_LINENUMBER,MyCompiler.NO_LINENUMBER,new Vector(),null); + Method method = mycompiler.myclass.Method.createEmptyMethod(methodName, parentClass); + method.setType(returnType); + ParameterList parameterList = new ParameterList(); for(int k=0;k())); + //method.addParaAssumption(new CParaTypeAssumption(className, methodName, pt.length,0,type.getName(), type, MyCompiler.NO_LINENUMBER,MyCompiler.NO_LINENUMBER,new Vector())); + FormalParameter parameter = new FormalParameter(new DeclId(type.get_Name())); + parameter.setType(type); + parameterList.formalparameter.add(parameter); } + method.setParameterList(parameterList); //basicAssumptions.addMethodIntersectionType(new CIntersectionType(method)); - parentClass.addField(mycompiler.myclass.Method.createEmptyMethod(methodName, parentClass)); + parentClass.addField(method); } } @@ -1187,12 +1199,13 @@ public class SourceFile parentClass.addField(new Constructor(constructorMethod)); } } - + + basicAssumptions.add(parentClass.getPublicFieldAssumptions()); + basicAssumptions.addClassAssumption(new ClassAssumption(parentClass)); imports.removeElement(importDecl); doneImports.addElement(importDecl); } - imports.addAll(doneImports); return basicAssumptions; //*/ diff --git a/src/mycompiler/myclass/FieldDeclaration.java b/src/mycompiler/myclass/FieldDeclaration.java index b4f147edc..89962e389 100644 --- a/src/mycompiler/myclass/FieldDeclaration.java +++ b/src/mycompiler/myclass/FieldDeclaration.java @@ -30,6 +30,16 @@ public class FieldDeclaration extends Field{ private Expr wert; //private Type type; + /** + * Dieser Konstruktor der FieldDeclaration erstellt den Syntaxknoten vollständig. + * Kein nachträgliches hinzfügen von Informationen oder aufrufen von parserPostProcessing ist notwendig. + */ + public FieldDeclaration(String name, Type typ){ + super(0);//Dieser Deklarator wird nicht vom Parser aufgerufen. Dadurch gibt es auch keinen Offset + this.setType(typ); + this.set_DeclId(new DeclId(name)); + } + public FieldDeclaration(int offset){ super(offset); } @@ -117,6 +127,7 @@ public class FieldDeclaration extends Field{ @Override public ConstraintsSet TYPE(TypeAssumptions publicAssumptions) { ConstraintsSet ret = new ConstraintsSet(); + this.setType(publicAssumptions.getTypeFor(this.getType())); SingleConstraint c1 = new SingleConstraint(this.getType(), this.getType()); ret.add(c1); //Damit die TypVariable des Felds in den Constraints auftaucht diff --git a/src/mycompiler/myclass/Method.java b/src/mycompiler/myclass/Method.java index 3acb403ab..f03a2fa5b 100755 --- a/src/mycompiler/myclass/Method.java +++ b/src/mycompiler/myclass/Method.java @@ -465,7 +465,7 @@ public class Method extends Field implements IItemWithOffset, TypeInsertable // ino.end // ino.method.toString.23605.body { - return this.getType() + " " +( (block!=null)?block.toString():""); + return this.getType() + " "+ this.get_Name() +( (block!=null)?block.toString():""); } // ino.end @@ -537,11 +537,13 @@ public class Method extends Field implements IItemWithOffset, TypeInsertable public ConstraintsSet TYPE(TypeAssumptions ass) { + this.returntype = ass.getTypeFor(this.returntype); ConstraintsSet ret = new ConstraintsSet(); TypeAssumptions localAss = new TypeAssumptions(); localAss.add(ass); //Die globalen Assumptions anhängen //Die Parameter zu den Assumptions hinzufügen: if(this.parameterlist!=null)for(FormalParameter param : this.parameterlist){ + param.setType(ass.getTypeFor(param.getType())); localAss.addParameterAssumption(new ParameterAssumption(param)); } ret.add(this.block.TYPEStmt(localAss)); diff --git a/src/mycompiler/mystatement/LocalVarDecl.java b/src/mycompiler/mystatement/LocalVarDecl.java index 87cbb1d49..448a60d25 100755 --- a/src/mycompiler/mystatement/LocalVarDecl.java +++ b/src/mycompiler/mystatement/LocalVarDecl.java @@ -460,13 +460,19 @@ public class LocalVarDecl extends Statement implements TypeInsertable @Override public ConstraintsSet TYPEStmt(TypeAssumptions assumptions) { ConstraintsSet ret = new ConstraintsSet(); - if(this.getType()==null || this.getType() instanceof TypePlaceholder)this.setType(TypePlaceholder.fresh(this)); + this.setType(assumptions.getTypeFor(this.getType())); assumptions.addLocalVarAssumption(new LocalVarAssumption(this)); //assumptions.remove(null); // falls Variable mit diesem Namen bereits vorhanden. this.setType(new Void(0)); //Return typ einer Variablendeklaration ist Void return ret; } + @Override + public void parserPostProcessing(SyntaxTreeNode parent) { + super.parserPostProcessing(parent); + if(this.getType()==null || this.getType() instanceof TypePlaceholder)this.setType(TypePlaceholder.fresh(this)); + } + @Override public String getTypeInformation(){ String ret = "VarDeclaration "; diff --git a/src/mycompiler/mytype/GenericTypeVar.java b/src/mycompiler/mytype/GenericTypeVar.java index 16f447a89..3f43ea4ba 100755 --- a/src/mycompiler/mytype/GenericTypeVar.java +++ b/src/mycompiler/mytype/GenericTypeVar.java @@ -7,6 +7,7 @@ import java.util.Vector; // ino.end + import mycompiler.mytypereconstruction.replacementlistener.ITypeReplacementListener; import typinferenz.JavaCodeResult; import typinferenz.ResultSet; @@ -140,6 +141,16 @@ public class GenericTypeVar extends Type return this.tph; } + @Override + public String get_Name() { + return this.getName(); + } + + @Override + public String getName() { + return this.name; + } + } // ino.end diff --git a/src/typinferenz/assumptions/ClassAssumption.java b/src/typinferenz/assumptions/ClassAssumption.java new file mode 100644 index 000000000..d9bfd0a42 --- /dev/null +++ b/src/typinferenz/assumptions/ClassAssumption.java @@ -0,0 +1,22 @@ +package typinferenz.assumptions; + +import mycompiler.myclass.*; +import mycompiler.myclass.Class; +import mycompiler.mytype.*; + +public class ClassAssumption { + + private Class classType; + + public ClassAssumption(Class cls){ + this.classType = cls; + } + + public Class getAssumedClass(){ + return classType; + } + + public String toString(){ + return this.classType.getName(); + } +} diff --git a/src/typinferenz/assumptions/TypeAssumptions.java b/src/typinferenz/assumptions/TypeAssumptions.java index dfe676045..c49d065bd 100755 --- a/src/typinferenz/assumptions/TypeAssumptions.java +++ b/src/typinferenz/assumptions/TypeAssumptions.java @@ -52,6 +52,7 @@ public class TypeAssumptions { private Vector fieldAssumptions = new Vector(); private Vector localVarAssumptions = new Vector(); private Vector parameterAssumptions = new Vector(); + private Vector classAssumptions = new Vector(); /** @@ -229,6 +230,7 @@ public class TypeAssumptions { for(Assumption f : this.methodAssumptions)ret.add(f); for(Assumption f : this.fieldAssumptions)ret.add(f); for(Assumption f : this.parameterAssumptions)ret.add(f); + for(Assumption f : this.constructorAssumptions)ret.add(f); return ret; } @@ -237,7 +239,8 @@ public class TypeAssumptions { this.fieldAssumptions.addAll(assumptions.fieldAssumptions); this.localVarAssumptions.addAll(assumptions.localVarAssumptions); this.parameterAssumptions.addAll(assumptions.parameterAssumptions); - + this.constructorAssumptions.addAll(assumptions.constructorAssumptions); + this.classAssumptions.addAll(assumptions.classAssumptions); return this; } @@ -254,11 +257,13 @@ public class TypeAssumptions { @Override public String toString(){ - String ret = "this: "+this.thisClassName; + String ret = "this: "+this.thisClassName+"\n"; ret += "Method Assumptions:\n" + this.methodAssumptions.toString() + "\n"; ret += "FieldVar Assumptions:\n" + this.fieldAssumptions.toString() + "\n"; ret += "LocalVar Assumptions:\n" + this.localVarAssumptions.toString() + "\n"; ret += "Parameter Assumptions:\n" + this.parameterAssumptions.toString() + "\n"; + ret += "Konstruktor Assumptions:\n" + this.constructorAssumptions.toString() + "\n"; + ret += "Class Assumptions:\n" + this.classAssumptions.toString() + "\n"; //return assumptions.toString(); return ret; } @@ -269,6 +274,44 @@ public class TypeAssumptions { return new RefType(thisClassName, 0); } + /** + * Kontrolliert den vom Parser gesetzten Typ. + * Erweitert dessen Bezeichnung, wenn nötig. + * @param t + * @return + * @throws TypinferenzException + */ + public Type getTypeFor(Type t) throws TypinferenzException{ + String typName = t.getName(); + String[] names = typName.split("[.]"); + for(ClassAssumption ass : this.classAssumptions){ + String name = ass.getAssumedClass().getName(); //Das kann auch java.util.Vector sein + String[] assNames = name.split("[.]"); + boolean match = true; + if(names.length == 1){ + match = names[0].equals(assNames[assNames.length-1]); + }else if(names.length == 0 || names.length != assNames.length){ + match = false; + }else for(int i = names.length-1; i>-1;i--){ + if(!names.equals(assNames))match = false; + } + if(match){ + return ass.getAssumedClass().getType(); + } + } + throw new TypinferenzException("Der Typ "+t.getName()+" ist nicht korrekt"); + } + + /** + * Fügt eine TypAssumption an. + * Dadurch wird ein Pool von Typen aufgebaut, welche überhaupt erlaubt sind. + * Wird genutzt um vom Parser eingelesene Typen auf ihre Korrektheit zu kontrollieren. + * @param classAssumption + */ + public void addClassAssumption(ClassAssumption classAssumption) { + this.classAssumptions.add(classAssumption); + } + /** * Prüft einen Typ auf das vorhandensein in den BasicAssumptions. * Dabei werden alle Konstruktoren nach diesem Typ durchsucht. Denn jede Klasse hat einen Konstruktor und der muss in den TypeAssumptions vorhanden sein. diff --git a/test/plugindevelopment/TypeInsertTests/ImportTest.jav b/test/plugindevelopment/TypeInsertTests/ImportTest.jav new file mode 100644 index 000000000..cf9cf8bae --- /dev/null +++ b/test/plugindevelopment/TypeInsertTests/ImportTest.jav @@ -0,0 +1,10 @@ +import java.util.Vector; + +class ImportTest{ +Vector var; +var2; +methode(){ + var.add(var2); +} + +} \ No newline at end of file diff --git a/test/plugindevelopment/TypeInsertTests/ImportTest.java b/test/plugindevelopment/TypeInsertTests/ImportTest.java new file mode 100644 index 000000000..54fd6612a --- /dev/null +++ b/test/plugindevelopment/TypeInsertTests/ImportTest.java @@ -0,0 +1,18 @@ +package plugindevelopment.TypeInsertTests; + +import java.util.Vector; + +import org.junit.Test; + +public class ImportTest { + + private static final String TEST_FILE = "ImportTest.jav"; + + @Test + public void run(){ + Vector mustContain = new Vector(); + mustContain.add("String var2"); + MultipleTypesInsertTester.test(this.TEST_FILE, mustContain); + } + +} From 5316b6ca517a16cebb0dd83f6287814a8c531ae5 Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Wed, 9 Apr 2014 14:12:55 +0200 Subject: [PATCH 44/79] Import Test funktioniert jetzt --- src/mycompiler/SourceFile.java | 9 ++- src/mycompiler/SyntaxTreeNode.java | 4 ++ src/mycompiler/myclass/Class.java | 4 ++ src/mycompiler/myclass/Constructor.java | 2 +- src/mycompiler/myclass/Field.java | 6 ++ src/mycompiler/myclass/FieldDeclaration.java | 11 +++- src/mycompiler/myclass/FormalParameter.java | 14 ++++- src/mycompiler/myclass/Method.java | 8 +-- src/mycompiler/myclass/ParameterList.java | 15 ++++- .../mystatement/LambdaExpression.java | 2 +- src/mycompiler/mystatement/LocalVarDecl.java | 4 +- src/mycompiler/mytype/GenericTypeVar.java | 23 ++++++-- src/typinferenz/FunNInterface.java | 2 +- src/typinferenz/SingleConstraint.java | 6 +- .../assumptions/ClassAssumption.java | 8 ++- .../assumptions/MethodAssumption.java | 15 ++++- .../assumptions/TypeAssumptions.java | 58 +++++++++---------- test/plugindevelopment/TypeInsertTester.java | 1 + .../TypeInsertTests/GenericTypeVarTest.java | 11 +++- .../TypeInsertTests/GenericTypeVarTest2.jav | 14 +++++ 20 files changed, 160 insertions(+), 57 deletions(-) create mode 100644 test/plugindevelopment/TypeInsertTests/GenericTypeVarTest2.jav diff --git a/src/mycompiler/SourceFile.java b/src/mycompiler/SourceFile.java index 357f70399..deae80ba9 100755 --- a/src/mycompiler/SourceFile.java +++ b/src/mycompiler/SourceFile.java @@ -703,6 +703,7 @@ public class SourceFile } } + /* //Alle Generischen Typvariablen in TPH umwandeln: HashMap gtv2tph = new HashMap(); for(Pair pair : constraints){ @@ -723,7 +724,7 @@ public class SourceFile pair.TA2 = tph; } } - + */ //Erst die Unifizierung erstellen: Vector constraintsClone = (Vector)constraints.clone(); Vector> unifyResult = Unify.unify(constraintsClone, finiteClosure); @@ -1159,6 +1160,8 @@ public class SourceFile for(int j=0;j paralist){ // Zuerst Returntype untersuchen Type type=getType(); diff --git a/src/mycompiler/myclass/FieldDeclaration.java b/src/mycompiler/myclass/FieldDeclaration.java index 89962e389..948035933 100644 --- a/src/mycompiler/myclass/FieldDeclaration.java +++ b/src/mycompiler/myclass/FieldDeclaration.java @@ -15,6 +15,7 @@ import mycompiler.mybytecode.ClassFile; import mycompiler.myexception.JVMCodeException; import mycompiler.mystatement.Expr; import mycompiler.mytype.GenericTypeVar; +import mycompiler.mytype.RefType; import mycompiler.mytype.Type; import mycompiler.mytype.TypePlaceholder; import mycompiler.mytypereconstruction.replacementlistener.CReplaceTypeEvent; @@ -91,7 +92,7 @@ public class FieldDeclaration extends Field{ */ if(this.getType() == null)throw new TypinferenzException("Der Typ eines Feldes darf nicht null sein"); //assumptions.add(TypeAssumptions.createFieldVarAssumption(classmember.getName(), this.getName(), this.getType())); - assumptions.addFieldAssumption(new FieldAssumption(this,classmember)); + assumptions.addAssumption(new FieldAssumption(this,classmember)); return assumptions; } @@ -127,7 +128,13 @@ public class FieldDeclaration extends Field{ @Override public ConstraintsSet TYPE(TypeAssumptions publicAssumptions) { ConstraintsSet ret = new ConstraintsSet(); - this.setType(publicAssumptions.getTypeFor(this.getType())); + /* + if(this.getType() instanceof GenericTypeVar){ + //Falls Typ ein GTV ist muss er syntaktisch kontrolliert werden... + GenericTypeVar gtv = (GenericTypeVar) this.getType(); + } + */ + if(this.getType()!=null && (this.getType() instanceof RefType))this.setType(publicAssumptions.getTypeFor((RefType)this.getType())); SingleConstraint c1 = new SingleConstraint(this.getType(), this.getType()); ret.add(c1); //Damit die TypVariable des Felds in den Constraints auftaucht diff --git a/src/mycompiler/myclass/FormalParameter.java b/src/mycompiler/myclass/FormalParameter.java index f8bd9bee9..3ac257cc8 100755 --- a/src/mycompiler/myclass/FormalParameter.java +++ b/src/mycompiler/myclass/FormalParameter.java @@ -25,6 +25,7 @@ import org.apache.log4j.Logger; + import sun.reflect.generics.reflectiveObjects.NotImplementedException; import typinferenz.JavaCodeResult; import typinferenz.ResultSet; @@ -53,7 +54,18 @@ public class FormalParameter extends SyntaxTreeNode implements ITypeReplacementL } - // ino.method.setType.23404.defdescription type=javadoc + @Override + public boolean equals(Object object) { + if(!super.equals(object))return false; + if(!(object instanceof FormalParameter))return false; + FormalParameter equals = (FormalParameter)object; + if((this.type==null)!=(equals.type == null))return false; + if(this.type != null)return this.type.equals(equals.type); + return true; + } + + + // ino.method.setType.23404.defdescription type=javadoc /** *
Author: J�rg B�uerle * @param t diff --git a/src/mycompiler/myclass/Method.java b/src/mycompiler/myclass/Method.java index f03a2fa5b..d982b4471 100755 --- a/src/mycompiler/myclass/Method.java +++ b/src/mycompiler/myclass/Method.java @@ -537,14 +537,14 @@ public class Method extends Field implements IItemWithOffset, TypeInsertable public ConstraintsSet TYPE(TypeAssumptions ass) { - this.returntype = ass.getTypeFor(this.returntype); + if((this.returntype instanceof RefType))this.returntype = ass.getTypeFor((RefType)this.returntype); ConstraintsSet ret = new ConstraintsSet(); TypeAssumptions localAss = new TypeAssumptions(); localAss.add(ass); //Die globalen Assumptions anhängen //Die Parameter zu den Assumptions hinzufügen: if(this.parameterlist!=null)for(FormalParameter param : this.parameterlist){ - param.setType(ass.getTypeFor(param.getType())); - localAss.addParameterAssumption(new ParameterAssumption(param)); + if(param.getType() instanceof RefType)param.setType(ass.getTypeFor((RefType)param.getType())); + localAss.addAssumption(new ParameterAssumption(param)); } ret.add(this.block.TYPEStmt(localAss)); //eine Verknüpfung mit der Type Assumption aus dem Assumption Set und dem ermittelten Typ der Methode: @@ -574,7 +574,7 @@ public class Method extends Field implements IItemWithOffset, TypeInsertable public TypeAssumptions createTypeAssumptions(Class classmember) { Class parentClass = this.getParentClass(); TypeAssumptions ret = new TypeAssumptions(); - ret.addMethodAssumption(new MethodAssumption(this, parentClass)); + ret.addAssumption(new MethodAssumption(this, parentClass)); return ret; /* TypeAssumptions assumptions = new TypeAssumptions(); diff --git a/src/mycompiler/myclass/ParameterList.java b/src/mycompiler/myclass/ParameterList.java index ba299a550..ee4e75bf9 100755 --- a/src/mycompiler/myclass/ParameterList.java +++ b/src/mycompiler/myclass/ParameterList.java @@ -3,11 +3,13 @@ package mycompiler.myclass; // ino.end // ino.module.ParameterList.8565.import import java.util.Vector; + import typinferenz.JavaCodeResult; import typinferenz.ResultSet; import mycompiler.mybytecode.ClassFile; import mycompiler.mybytecode.CodeAttribute; import mycompiler.mytype.*; + import java.util.Iterator; // ino.end @@ -37,7 +39,10 @@ public class ParameterList implements Iterable - // ino.method.get_codegen_ParameterList.23629.definition + + + + // ino.method.get_codegen_ParameterList.23629.definition public String get_codegen_ParameterList(Vector paralist) // ino.end // ino.method.get_codegen_ParameterList.23629.body @@ -153,5 +158,13 @@ public class ParameterList implements Iterable return this.formalparameter.iterator(); } + @Override + public boolean equals(Object obj) { + if(!(obj instanceof ParameterList))return false; + ParameterList equals = (ParameterList)obj; + if((this.formalparameter == null )!=(equals.formalparameter==null))return false; + if(this.formalparameter!=null)return this.formalparameter.equals(equals.formalparameter); + return true; + } } // ino.end diff --git a/src/mycompiler/mystatement/LambdaExpression.java b/src/mycompiler/mystatement/LambdaExpression.java index c0142aa87..9075b7c3b 100755 --- a/src/mycompiler/mystatement/LambdaExpression.java +++ b/src/mycompiler/mystatement/LambdaExpression.java @@ -152,7 +152,7 @@ public class LambdaExpression extends Expr{ if(param.getType()==null)param.setType(TypePlaceholder.fresh(this)); int offset = 0; //Jeder Parameter der LambdaExpression wird als CParaTypeAssumption der Assumption liste hinzugefügt: - ArgumentAssumptions.addParameterAssumption(new ParameterAssumption(param)); + ArgumentAssumptions.addAssumption(new ParameterAssumption(param)); paramTypes.add(param.getType()); } this.setType(TypePlaceholder.fresh(this)); diff --git a/src/mycompiler/mystatement/LocalVarDecl.java b/src/mycompiler/mystatement/LocalVarDecl.java index 448a60d25..3a57847c0 100755 --- a/src/mycompiler/mystatement/LocalVarDecl.java +++ b/src/mycompiler/mystatement/LocalVarDecl.java @@ -460,8 +460,8 @@ public class LocalVarDecl extends Statement implements TypeInsertable @Override public ConstraintsSet TYPEStmt(TypeAssumptions assumptions) { ConstraintsSet ret = new ConstraintsSet(); - this.setType(assumptions.getTypeFor(this.getType())); - assumptions.addLocalVarAssumption(new LocalVarAssumption(this)); + if((this.getType() instanceof RefType))this.setType(assumptions.getTypeFor((RefType)this.getType())); + assumptions.addAssumption(new LocalVarAssumption(this)); //assumptions.remove(null); // falls Variable mit diesem Namen bereits vorhanden. this.setType(new Void(0)); //Return typ einer Variablendeklaration ist Void return ret; diff --git a/src/mycompiler/mytype/GenericTypeVar.java b/src/mycompiler/mytype/GenericTypeVar.java index 3f43ea4ba..db7249833 100755 --- a/src/mycompiler/mytype/GenericTypeVar.java +++ b/src/mycompiler/mytype/GenericTypeVar.java @@ -3,11 +3,13 @@ package mycompiler.mytype; // ino.end // ino.module.GenericTypeVar.8671.import +import java.util.HashMap; import java.util.Vector; // ino.end + import mycompiler.mytypereconstruction.replacementlistener.ITypeReplacementListener; import typinferenz.JavaCodeResult; import typinferenz.ResultSet; @@ -15,7 +17,7 @@ import typinferenz.ResultSet; // ino.class.GenericTypeVar.26505.description type=javadoc /** - * + * TODO: Diese Klasse überarbeiten. Pair genericTypeVar ist nicht implementiert. * @author J�rg B�uerle * @version $Date: 2013/09/22 20:12:53 $ */ @@ -34,7 +36,7 @@ public class GenericTypeVar extends Type // ino.method.GenericTypeVar.26509.defdescription type=line // private Hashtable> m_TypeErasureList; // ino.end - private TypePlaceholder tph; + private static HashMap tph = new HashMap(); /** * @@ -91,6 +93,8 @@ public class GenericTypeVar extends Type } // ino.end + + // ino.method.toString.26518.definition public String toString() // ino.end @@ -100,7 +104,12 @@ public class GenericTypeVar extends Type } // ino.end - // ino.method.get_codegen_Type.26521.defdescription type=javadoc + @Override + public int hashCode() { + return this.name.hashCode(); + } + + // ino.method.get_codegen_Type.26521.defdescription type=javadoc /** * hoti 4.5.06 * Generische Typen werden im Bytecode @@ -137,8 +146,12 @@ public class GenericTypeVar extends Type } public TypePlaceholder getTypePlaceHolder() { - if(this.tph == null)this.tph = TypePlaceholder.fresh(); - return this.tph; + if(!this.tph.containsKey(this)){ + this.tph.put(this, TypePlaceholder.fresh()); + } + return this.tph.get(this); + //if(this.tph == null)this.tph = TypePlaceholder.fresh(); + //return this.tph; } @Override diff --git a/src/typinferenz/FunNInterface.java b/src/typinferenz/FunNInterface.java index aaf24c60f..83fb2c07d 100644 --- a/src/typinferenz/FunNInterface.java +++ b/src/typinferenz/FunNInterface.java @@ -39,7 +39,7 @@ public class FunNInterface extends Class{ public TypeAssumptions getPublicFieldAssumptions() { //return super.getPublicFieldAssumptions(); TypeAssumptions ret = new TypeAssumptions(); - ret.addMethodAssumption(new MethodAssumption(this.getApplyFunction(), this)); + ret.addAssumption(new MethodAssumption(this.getApplyFunction(), this)); return ret; } diff --git a/src/typinferenz/SingleConstraint.java b/src/typinferenz/SingleConstraint.java index 7546e0919..650b6da97 100755 --- a/src/typinferenz/SingleConstraint.java +++ b/src/typinferenz/SingleConstraint.java @@ -54,10 +54,8 @@ public class SingleConstraint extends UndConstraint{ if(p1 instanceof RefType)((RefType)p1).GTV2TPH(); if(p2 instanceof RefType)((RefType)p2).GTV2TPH(); - if((p1 instanceof GenericTypeVar)) - p1 = ((GenericTypeVar)p1).getTypePlaceHolder(); - if((p2 instanceof GenericTypeVar)) - p2 = ((GenericTypeVar)p2).getTypePlaceHolder(); + if((p1 instanceof GenericTypeVar))p1 = ((GenericTypeVar)p1).getTypePlaceHolder(); + if((p2 instanceof GenericTypeVar))p2 = ((GenericTypeVar)p2).getTypePlaceHolder(); // BaseTypes werden in RefTypes umgewandelt. Constraints dürfen nur RefTypes oder TypePlaceholder enthalten, da sonst der Unify-Algorithmus nicht funktioniert. if(!(p1 instanceof RefType) && !(p1 instanceof TypePlaceholder) && !(p1 instanceof GenericTypeVar))p1 = new RefType(p1); diff --git a/src/typinferenz/assumptions/ClassAssumption.java b/src/typinferenz/assumptions/ClassAssumption.java index d9bfd0a42..8c0da6c82 100644 --- a/src/typinferenz/assumptions/ClassAssumption.java +++ b/src/typinferenz/assumptions/ClassAssumption.java @@ -4,7 +4,13 @@ import mycompiler.myclass.*; import mycompiler.myclass.Class; import mycompiler.mytype.*; -public class ClassAssumption { +/** + * Nicht wirklich eine Assumption. + * Wird benutzt um Typen von Variablen zu verifizieren. + * @author janulrich + * + */ +public class ClassAssumption{ private Class classType; diff --git a/src/typinferenz/assumptions/MethodAssumption.java b/src/typinferenz/assumptions/MethodAssumption.java index 5d258564e..5981d0a1e 100644 --- a/src/typinferenz/assumptions/MethodAssumption.java +++ b/src/typinferenz/assumptions/MethodAssumption.java @@ -1,5 +1,8 @@ package typinferenz.assumptions; +import java.util.Iterator; + +import mycompiler.myclass.FormalParameter; import mycompiler.myclass.Method; import mycompiler.myclass.Class; import mycompiler.mytypereconstruction.typeassumption.CParaTypeAssumption; @@ -41,7 +44,17 @@ public class MethodAssumption extends FieldAssumption { public String toString(){ - return "MethodAssumption: "+this.method.toString(); + String ret = "MethodAssumption: "; + ret += this.method.getType().toString()+" "; + ret += this.method.get_Name().toString()+"("; + Iterator it = this.method.parameterlist.formalparameter.iterator(); + while(it.hasNext()){ + FormalParameter fp = it.next(); + ret+=fp.toString(); + if(it.hasNext())ret += ","; + } + ret+=")"; + return ret; } @Override diff --git a/src/typinferenz/assumptions/TypeAssumptions.java b/src/typinferenz/assumptions/TypeAssumptions.java index c49d065bd..3d0788062 100755 --- a/src/typinferenz/assumptions/TypeAssumptions.java +++ b/src/typinferenz/assumptions/TypeAssumptions.java @@ -68,27 +68,6 @@ public class TypeAssumptions { this.thisClassName = thisClassName; } - public void addMethodAssumption(MethodAssumption mAss){ - if(!this.methodAssumptions.contains(mAss))this.methodAssumptions.add(mAss); - } - - public void addConstructorAssumption( - ConstructorAssumption constructorAssumption) { - this.constructorAssumptions.add(constructorAssumption); - } - - public void addFieldAssumption(FieldAssumption ass){ - this.fieldAssumptions.add(ass); - } - - public void addLocalVarAssumption(LocalVarAssumption ass){ - this.localVarAssumptions.add(ass); - } - - public void addParameterAssumption(ParameterAssumption ass){ - this.parameterAssumptions.add(ass); - } - /** * Liefert alle bekannten öffentlichen Feldern mit dem Namen withName. Dabei werden alle bekannten Klassen durchsucht. * @param withName @@ -234,16 +213,33 @@ public class TypeAssumptions { return ret; } + public void addAssumption(Assumption ass){ + if(ass instanceof MethodAssumption)this.methodAssumptions.add((MethodAssumption)ass);//if(!this.methodAssumptions.contains(ass))this.methodAssumptions.add((MethodAssumption)ass); + if(ass instanceof FieldAssumption)this.fieldAssumptions.add((FieldAssumption)ass);//if(!this.fieldAssumptions.contains(ass))this.fieldAssumptions.add((FieldAssumption)ass); + if(ass instanceof LocalVarAssumption)this.localVarAssumptions.add((LocalVarAssumption)ass);//if(!this.localVarAssumptions.contains(ass))this.localVarAssumptions.add((LocalVarAssumption)ass); + if(ass instanceof ParameterAssumption)if(!this.parameterAssumptions.contains(ass))this.parameterAssumptions.add((ParameterAssumption)ass);//this.parameterAssumptions.add((ParameterAssumption)ass); + if(ass instanceof ConstructorAssumption)if(!this.constructorAssumptions.contains(ass))this.constructorAssumptions.add((ConstructorAssumption)ass);//this.constructorAssumptions.add((ConstructorAssumption)ass); + } + + private void addAllAssumptions(Vector assumptions){ + for(Assumption ass : assumptions){ + this.addAssumption(ass); + } + } + public TypeAssumptions add(TypeAssumptions assumptions){ - this.methodAssumptions.addAll(assumptions.methodAssumptions); - this.fieldAssumptions.addAll(assumptions.fieldAssumptions); - this.localVarAssumptions.addAll(assumptions.localVarAssumptions); - this.parameterAssumptions.addAll(assumptions.parameterAssumptions); - this.constructorAssumptions.addAll(assumptions.constructorAssumptions); + //for(MethodAssumption ass : assumptions.methodAssumptions){ + // if(!this.methodAssumptions.contains(ass))this.methodAssumptions.add(ass); + //} + //this.methodAssumptions.addAll(assumptions.methodAssumptions); + //this.fieldAssumptions.addAll(assumptions.fieldAssumptions); + //this.localVarAssumptions.addAll(assumptions.localVarAssumptions); + //this.parameterAssumptions.addAll(assumptions.parameterAssumptions); + //this.constructorAssumptions.addAll(assumptions.constructorAssumptions); + this.addAllAssumptions(assumptions.getAllAssumptions()); this.classAssumptions.addAll(assumptions.classAssumptions); return this; } - @Override @@ -281,7 +277,9 @@ public class TypeAssumptions { * @return * @throws TypinferenzException */ - public Type getTypeFor(Type t) throws TypinferenzException{ + public Type getTypeFor(RefType t) throws TypinferenzException{ + //TODO: Die Parameterliste noch kontrollieren: (hier könnte es Constraints geben: "? extends String") + //Alle bekannten Klassen nach diesem Typ durchsuchen: String typName = t.getName(); String[] names = typName.split("[.]"); for(ClassAssumption ass : this.classAssumptions){ @@ -296,7 +294,9 @@ public class TypeAssumptions { if(!names.equals(assNames))match = false; } if(match){ - return ass.getAssumedClass().getType(); + RefType ret = ass.getAssumedClass().getType(); //Dadurch erhält der RefType den vollen Namen (bsp. java.lang.Integer) + ret.set_ParaList(t.get_ParaList()); + return ret; } } throw new TypinferenzException("Der Typ "+t.getName()+" ist nicht korrekt"); diff --git a/test/plugindevelopment/TypeInsertTester.java b/test/plugindevelopment/TypeInsertTester.java index 7cb863b93..cb275bd55 100644 --- a/test/plugindevelopment/TypeInsertTester.java +++ b/test/plugindevelopment/TypeInsertTester.java @@ -68,6 +68,7 @@ public class TypeInsertTester{ } //Source: https://stackoverflow.com/questions/326390/how-to-create-a-java-string-from-the-contents-of-a-file + //PS: benötigt Java 7 public static String getFileContent(String path)throws IOException { byte[] encoded = Files.readAllBytes(Paths.get(path)); diff --git a/test/plugindevelopment/TypeInsertTests/GenericTypeVarTest.java b/test/plugindevelopment/TypeInsertTests/GenericTypeVarTest.java index a42cf7add..8166cf86f 100644 --- a/test/plugindevelopment/TypeInsertTests/GenericTypeVarTest.java +++ b/test/plugindevelopment/TypeInsertTests/GenericTypeVarTest.java @@ -7,12 +7,19 @@ import org.junit.Test; public class GenericTypeVarTest { private static final String TEST_FILE = "GenericTypeVarTest.jav"; - + private static final String TEST_FILE2 = "GenericTypeVarTest2.jav"; + /* @Test public void run(){ Vector mustContain = new Vector(); mustContain.add("String methode"); MultipleTypesInsertTester.test(this.TEST_FILE, mustContain); } - + */ + @Test + public void run2(){ + Vector mustContain = new Vector(); + mustContain.add("String var2"); + MultipleTypesInsertTester.test(TEST_FILE2, mustContain); + } } diff --git a/test/plugindevelopment/TypeInsertTests/GenericTypeVarTest2.jav b/test/plugindevelopment/TypeInsertTests/GenericTypeVarTest2.jav new file mode 100644 index 000000000..30a9b171a --- /dev/null +++ b/test/plugindevelopment/TypeInsertTests/GenericTypeVarTest2.jav @@ -0,0 +1,14 @@ +class GTVTest{ +GTVTest2 var; +var2; + +methode(){ + return var.test(var2); +} +} + +class GTVTest2{ + test(GTV2 param){ + return param; + } +} \ No newline at end of file From 61e9c953c924995a859dc788eb82e4f0e742cd00 Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Wed, 9 Apr 2014 15:54:20 +0200 Subject: [PATCH 45/79] fixed getChildren() --- src/mycompiler/mystatement/Binary.java | 5 ++++- src/mycompiler/mystatement/ForStmt.java | 12 +++++++++--- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/mycompiler/mystatement/Binary.java b/src/mycompiler/mystatement/Binary.java index 3bd3c40a3..effe3e42f 100755 --- a/src/mycompiler/mystatement/Binary.java +++ b/src/mycompiler/mystatement/Binary.java @@ -270,7 +270,10 @@ public JavaCodeResult printJavaCode(ResultSet resultSet) { @Override public Vector getChildren() { - throw new NotImplementedException(); + Vector ret = new Vector(); + ret.add(this.expr1); + ret.add(this.expr2); + return ret; } diff --git a/src/mycompiler/mystatement/ForStmt.java b/src/mycompiler/mystatement/ForStmt.java index 1cd575f54..51e25223a 100755 --- a/src/mycompiler/mystatement/ForStmt.java +++ b/src/mycompiler/mystatement/ForStmt.java @@ -136,8 +136,14 @@ public JavaCodeResult printJavaCode(ResultSet resultSet) { @Override public Vector getChildren() { Vector ret = new Vector(); - ret.add(this.body_Loop_block); - throw new NotImplementedException(); - //return ret; + if(this.body_Loop_block!=null)ret.add(this.body_Loop_block); + if(this.head_Condition!=null)ret.add(this.head_Condition); + if(this.head_Condition_1!=null)ret.add(this.head_Condition_1); + if(this.head_Initializer!=null)ret.add(this.head_Initializer); + if(this.head_Initializer_1!=null)ret.add(this.head_Initializer_1); + if(this.head_Loop_expr!=null)ret.add(this.head_Loop_expr); + if(this.head_Loop_expr_1!=null)ret.add(this.head_Loop_expr_1); + //throw new NotImplementedException(); + return ret; } } \ No newline at end of file From f0ef3017b978cf9587df15a1e1c86ccd9a59dfb5 Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Mon, 14 Apr 2014 18:05:24 +0200 Subject: [PATCH 46/79] Fixed Tests. Doppelte TypeAssumptions beseitigt --- bin/mycompiler/myparser/JavaParser.jay | 1 - src/mycompiler/MyCompiler.java | 22 +- src/mycompiler/SourceFile.java | 2 +- src/mycompiler/myclass/Class.java | 7 +- src/mycompiler/myclass/ClassHelper.java | 1 + src/mycompiler/myclass/Field.java | 9 +- src/mycompiler/myclass/Method.java | 12 +- src/mycompiler/myparser/JavaParser.java | 264 +++++++++--------- src/mycompiler/myparser/JavaParser.jay | 1 - .../mystatement/LambdaExpression.java | 11 +- src/mycompiler/mystatement/LocalVarDecl.java | 5 +- src/mycompiler/mytype/RefType.java | 36 +++ src/typinferenz/FunNInterface.java | 2 + .../assumptions/ClassAssumption.java | 7 + .../assumptions/ConstructorAssumption.java | 7 + .../assumptions/FieldAssumption.java | 9 + .../assumptions/LocalVarAssumption.java | 1 + .../assumptions/TypeAssumptions.java | 18 +- .../test/lambda/testResults/LambdaTest.log | 50 +++- .../ParameterTypeInsertTestSolution.jav | 2 +- .../TypeInsertTests/FunNInsertTest.jav | 12 +- .../TypeInsertTests/LambdaTest2.jav | 4 +- .../TypeInsertTests/LambdaTest2.java | 2 +- .../TypeInsertTests/LambdaTest5.jav | 5 + .../TypeInsertTests/LambdaTest5.java | 18 ++ 25 files changed, 331 insertions(+), 177 deletions(-) create mode 100644 test/plugindevelopment/TypeInsertTests/LambdaTest5.jav create mode 100644 test/plugindevelopment/TypeInsertTests/LambdaTest5.java diff --git a/bin/mycompiler/myparser/JavaParser.jay b/bin/mycompiler/myparser/JavaParser.jay index 0bcaee019..5f0306837 100755 --- a/bin/mycompiler/myparser/JavaParser.jay +++ b/bin/mycompiler/myparser/JavaParser.jay @@ -1330,7 +1330,6 @@ primitivetype :BOOLEAN $$=$1; } - referencetype :classorinterfacetype { org.apache.log4j.Logger.getLogger("parser").debug("T->Parser->referenctype: " + $1); diff --git a/src/mycompiler/MyCompiler.java b/src/mycompiler/MyCompiler.java index 1788f1660..b1ed25a04 100755 --- a/src/mycompiler/MyCompiler.java +++ b/src/mycompiler/MyCompiler.java @@ -42,6 +42,7 @@ import org.apache.log4j.xml.DOMConfigurator; import com.sun.corba.se.spi.orbutil.fsm.Guard.Result; import com.sun.org.apache.xerces.internal.impl.xs.identity.Field; +import typinferenz.FunNInterface; import typinferenz.ResultSet; // ino.end import typinferenz.assumptions.TypeAssumptions; @@ -521,7 +522,7 @@ public class MyCompiler implements MyCompilerAPI inferencelog.info("# TypeReconstruction-Algorithmus - START #"); inferencelog.info("##########################################\n"); - TypeAssumptions globalAssumptions = m_AbstractSyntaxTree.elementAt(0).makeBasicAssumptions(); + TypeAssumptions globalAssumptions = makeFunNAssumptions(); Vector result = new Vector(); for(SourceFile srcFile : m_AbstractSyntaxTree){ result.addAll(srcFile.typeReconstruction(globalAssumptions)); @@ -536,7 +537,24 @@ public class MyCompiler implements MyCompilerAPI } // ino.end - + /** + * Erstellt die FunN-Assumptions + * Fun0-FunN (momentan für N = 6) + * @return + */ + private TypeAssumptions makeFunNAssumptions(){ + TypeAssumptions ret = new TypeAssumptions(); + + //Basic Assumptions für die FunN Interfaces: + //TODO: Hier mehr als Fun1-Fun5 implementieren + for(int i = 0; i<6; i++){ + FunNInterface funN = new FunNInterface(i); + ret.add(funN.getPublicFieldAssumptions()); + } + + + return ret; + } /** * Author: J�rg B�uerle
diff --git a/src/mycompiler/SourceFile.java b/src/mycompiler/SourceFile.java index deae80ba9..24b5c89d9 100755 --- a/src/mycompiler/SourceFile.java +++ b/src/mycompiler/SourceFile.java @@ -1281,7 +1281,7 @@ public class SourceFile */ // ino.end // ino.method.makeBasicAssumptions.21418.definition - public TypeAssumptions makeBasicAssumptions() + private TypeAssumptions makeBasicAssumptions() // ino.end // ino.method.makeBasicAssumptions.21418.body { diff --git a/src/mycompiler/myclass/Class.java b/src/mycompiler/myclass/Class.java index 190cd21b3..cf07b8b66 100755 --- a/src/mycompiler/myclass/Class.java +++ b/src/mycompiler/myclass/Class.java @@ -844,7 +844,7 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface //assumptions.setThisV(thisAssumption); for(Field field : this.getFields()){ - assumptions.add(field.createTypeAssumptions(this)); + if(!field.isPublic())assumptions.add(field.createTypeAssumptions(this)); } //Eine Assumption für den Standardkonstruktor: @@ -1267,10 +1267,10 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface * @return */ public TypeAssumptions getPublicFieldAssumptions() { - TypeAssumptions ret = this.getPrivateFieldAssumptions(); + TypeAssumptions ret = new TypeAssumptions();//this.getPrivateFieldAssumptions(); ret.addClassAssumption(new ClassAssumption(this)); for(Field f : this.getFields()){ - ret.add(f.createTypeAssumptions(this)); + if(f.isPublic())ret.add(f.createTypeAssumptions(this)); } return ret; } @@ -1314,6 +1314,7 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface this.addField(standardKonstruktor); } + //TODO: Umwandlung zu RefTypes funktioniert noch nicht richtig. (siehe LambdaTest2) //Als RefType geparste Generische Variablen umwandeln: this.wandleRefTypeAttributes2GenericAttributes(); } diff --git a/src/mycompiler/myclass/ClassHelper.java b/src/mycompiler/myclass/ClassHelper.java index a4d97f542..4a8b0e642 100755 --- a/src/mycompiler/myclass/ClassHelper.java +++ b/src/mycompiler/myclass/ClassHelper.java @@ -27,6 +27,7 @@ public class ClassHelper */ // ino.end // ino.method.findGenericType.23209.definition + @Deprecated public static GenericTypeVar findGenericType(Type type, Vector paralist, Vector methodParaList) // ino.end // ino.method.findGenericType.23209.body diff --git a/src/mycompiler/myclass/Field.java b/src/mycompiler/myclass/Field.java index 2af20005b..4d5620d11 100644 --- a/src/mycompiler/myclass/Field.java +++ b/src/mycompiler/myclass/Field.java @@ -6,6 +6,7 @@ import mycompiler.SyntaxTreeNode; import mycompiler.mybytecode.ClassFile; import mycompiler.myexception.JVMCodeException; import mycompiler.mytype.GenericTypeVar; +import mycompiler.mytype.RefType; import mycompiler.mytype.Type; import mycompiler.mytype.TypePlaceholder; import mycompiler.mytypereconstruction.replacementlistener.CReplaceTypeEvent; @@ -114,9 +115,15 @@ public abstract class Field extends SyntaxTreeNode implements TypeInsertable, Ty public void wandleRefTypeAttributes2GenericAttributes(Vector paralist){ // Zuerst Returntype untersuchen Type type=getType(); - GenericTypeVar pendantReturnType=ClassHelper.findGenericType(type, paralist,new Vector()); + Type pendantReturnType = null; + if(type instanceof RefType)pendantReturnType = ((RefType)type).findGenericType(paralist, new Vector());//GenericTypeVar pendantReturnType=ClassHelper.findGenericType(type, paralist,new Vector()); if(pendantReturnType!=null){ //Wenn generisch, dann modifizieren setType(pendantReturnType); } } + + public boolean isPublic() { + //TODO: momentan ist jedes Feld public! + return true; + } } diff --git a/src/mycompiler/myclass/Method.java b/src/mycompiler/myclass/Method.java index d982b4471..23f0c5534 100755 --- a/src/mycompiler/myclass/Method.java +++ b/src/mycompiler/myclass/Method.java @@ -503,7 +503,9 @@ public class Method extends Field implements IItemWithOffset, TypeInsertable { // Zuerst Returntype untersuchen Type returnType=getType(); - GenericTypeVar pendantReturnType=ClassHelper.findGenericType(returnType, paralist,genericMethodParameters); + Type pendantReturnType = null; + if(returnType instanceof RefType)pendantReturnType = ((RefType)returnType).findGenericType(paralist, new Vector()); + //GenericTypeVar pendantReturnType=ClassHelper.findGenericType(returnType, paralist,genericMethodParameters); if(pendantReturnType!=null){ //Wenn generisch, dann modifizieren setReturnType(pendantReturnType); } @@ -513,7 +515,9 @@ public class Method extends Field implements IItemWithOffset, TypeInsertable FormalParameter fp=parameterlist.formalparameter.get(par); Type fpType=fp.getType(); // Nur wenn es sich um ein RefType-Field handelt - GenericTypeVar pendantPara=ClassHelper.findGenericType(fpType,paralist,genericMethodParameters); + Type pendantPara = null; + if(fpType instanceof RefType)pendantPara = ((RefType)fpType).findGenericType(paralist, new Vector()); + //GenericTypeVar pendantPara=ClassHelper.findGenericType(fpType,paralist,genericMethodParameters); if(pendantPara!=null){ //Wenn generisch, dann modifizieren fp.setType(pendantPara); } @@ -537,7 +541,9 @@ public class Method extends Field implements IItemWithOffset, TypeInsertable public ConstraintsSet TYPE(TypeAssumptions ass) { - if((this.returntype instanceof RefType))this.returntype = ass.getTypeFor((RefType)this.returntype); + if((this.returntype instanceof RefType) && + !(this.returntype instanceof mycompiler.mytype.Void))//Sonderfall der Methode: Ihr Typ darf Void definiert werden. + this.returntype = ass.getTypeFor((RefType)this.returntype); ConstraintsSet ret = new ConstraintsSet(); TypeAssumptions localAss = new TypeAssumptions(); localAss.add(ass); //Die globalen Assumptions anhängen diff --git a/src/mycompiler/myparser/JavaParser.java b/src/mycompiler/myparser/JavaParser.java index 9dcd124ef..a586a203b 100644 --- a/src/mycompiler/myparser/JavaParser.java +++ b/src/mycompiler/myparser/JavaParser.java @@ -1972,7 +1972,7 @@ case 150: } break; case 151: - // line 1335 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1334 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("T->Parser->referenctype: " + ((UsedId)yyVals[0+yyTop])); RefType RT = new RefType(((UsedId)yyVals[0+yyTop]).getOffset()); @@ -1992,25 +1992,25 @@ case 151: } break; case 152: - // line 1355 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1354 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((DeclId)yyVals[0+yyTop]); } break; case 153: - // line 1376 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1375 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((LocalVarDecl)yyVals[0+yyTop]); } break; case 154: - // line 1380 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1379 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Statement)yyVals[0+yyTop]); } break; case 155: - // line 1385 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1384 "./../src/mycompiler/myparser/JavaParser.jay" { FormalParameter FP = new FormalParameter(((DeclId)yyVals[0+yyTop])); FP.setType(((Type)yyVals[-1+yyTop])); @@ -2019,7 +2019,7 @@ case 155: } break; case 156: - // line 1410 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1409 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("\nFunktionsdeklaration mit typlosen Parametern: " + ((DeclId)yyVals[0+yyTop]).name); @@ -2039,7 +2039,7 @@ case 156: } break; case 157: - // line 1429 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1428 "./../src/mycompiler/myparser/JavaParser.jay" { ArgumentList AL = new ArgumentList(); AL.expr.addElement(((Expr)yyVals[0+yyTop])); @@ -2047,20 +2047,20 @@ case 157: } break; case 158: - // line 1435 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1434 "./../src/mycompiler/myparser/JavaParser.jay" { ((ArgumentList)yyVals[-2+yyTop]).expr.addElement(((Expr)yyVals[0+yyTop])); yyVal=((ArgumentList)yyVals[-2+yyTop]); } break; case 159: - // line 1441 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1440 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((BaseType)yyVals[0+yyTop]); } break; case 160: - // line 1446 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1445 "./../src/mycompiler/myparser/JavaParser.jay" { DeclId DI = new DeclId(); /* #JB# 10.04.2005 */ @@ -2073,61 +2073,61 @@ case 160: } break; case 161: - // line 1458 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1457 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 162: - // line 1463 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1462 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((LocalVarDecl)yyVals[-1+yyTop]); } break; case 163: - // line 1468 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1467 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Statement)yyVals[0+yyTop]); } break; case 164: - // line 1472 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1471 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((IfStmt)yyVals[0+yyTop]); } break; case 165: - // line 1476 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1475 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((IfStmt)yyVals[0+yyTop]); } break; case 166: - // line 1480 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1479 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((WhileStmt)yyVals[0+yyTop]); } break; case 167: - // line 1484 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1483 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((ForStmt)yyVals[0+yyTop]); } break; case 168: - // line 1489 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1488 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 169: - // line 1493 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1492 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((NewClass)yyVals[0+yyTop]); } break; case 170: - // line 1498 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1497 "./../src/mycompiler/myparser/JavaParser.jay" { IntegerType IT = new IntegerType(); /* #JB# 05.04.2005 */ @@ -2138,7 +2138,7 @@ case 170: } break; case 171: - // line 1507 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1506 "./../src/mycompiler/myparser/JavaParser.jay" { CharacterType CT = new CharacterType(); /* #JB# 05.04.2005 */ @@ -2149,7 +2149,7 @@ case 171: } break; case 172: - // line 1517 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1516 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("P -> Lokale Variable angelegt!"); LocalVarDecl LVD = new LocalVarDecl(((Type)yyVals[-1+yyTop]).getOffset(),((Type)yyVals[-1+yyTop]).getVariableLength()); @@ -2159,7 +2159,7 @@ case 172: } break; case 173: - // line 1528 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1527 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("P -> Lokale Variable angelegt!"); LocalVarDecl LVD = new LocalVarDecl(((FieldDeclaration)yyVals[0+yyTop]).getOffset(),((FieldDeclaration)yyVals[0+yyTop]).getVariableLength()); @@ -2169,31 +2169,31 @@ case 173: } break; case 174: - // line 1538 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1537 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[0+yyTop]); } break; case 175: - // line 1542 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1541 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((EmptyStmt)yyVals[0+yyTop]); } break; case 176: - // line 1546 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1545 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((ExprStmt)yyVals[0+yyTop]); } break; case 177: - // line 1550 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1549 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Return)yyVals[0+yyTop]); } break; case 178: - // line 1555 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1554 "./../src/mycompiler/myparser/JavaParser.jay" { IfStmt Ifst = new IfStmt(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); Ifst.set_Expr(((Expr)yyVals[-2+yyTop])); @@ -2202,7 +2202,7 @@ case 178: } break; case 179: - // line 1563 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1562 "./../src/mycompiler/myparser/JavaParser.jay" { IfStmt IfstElst = new IfStmt(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength()); IfstElst.set_Expr(((Expr)yyVals[-4+yyTop])); @@ -2212,7 +2212,7 @@ case 179: } break; case 180: - // line 1572 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1571 "./../src/mycompiler/myparser/JavaParser.jay" { WhileStmt Whlst = new WhileStmt(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); Whlst.set_Expr(((Expr)yyVals[-2+yyTop])); @@ -2221,7 +2221,7 @@ case 180: } break; case 181: - // line 1583 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1582 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-6+yyTop]).getOffset(),((Expr)yyVals[-6+yyTop]).getVariableLength()); Fst.set_head_Initializer(((Expr)yyVals[-6+yyTop])); @@ -2234,7 +2234,7 @@ case 181: } break; case 182: - // line 1595 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1594 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-5+yyTop]).getOffset(),((Expr)yyVals[-5+yyTop]).getVariableLength()); Fst.set_head_Initializer(((Expr)yyVals[-5+yyTop])); @@ -2246,7 +2246,7 @@ case 182: } break; case 183: - // line 1606 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1605 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-5+yyTop]).getOffset(),((Expr)yyVals[-5+yyTop]).getVariableLength()); Fst.set_head_Initializer(((Expr)yyVals[-5+yyTop])); @@ -2258,7 +2258,7 @@ case 183: } break; case 184: - // line 1617 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1616 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength()); Fst.set_head_Condition(((Expr)yyVals[-4+yyTop])); @@ -2270,7 +2270,7 @@ case 184: } break; case 185: - // line 1628 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1627 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength()); Fst.set_head_Initializer(((Expr)yyVals[-4+yyTop])); @@ -2281,7 +2281,7 @@ case 185: } break; case 186: - // line 1638 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1637 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-3+yyTop]).getOffset(),((Expr)yyVals[-3+yyTop]).getVariableLength()); Fst.set_head_Condition(((Expr)yyVals[-3+yyTop])); @@ -2292,7 +2292,7 @@ case 186: } break; case 187: - // line 1648 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1647 "./../src/mycompiler/myparser/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])); @@ -2303,7 +2303,7 @@ case 187: } break; case 188: - // line 1658 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1657 "./../src/mycompiler/myparser/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])); @@ -2313,40 +2313,40 @@ case 188: } break; case 189: - // line 1667 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1666 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("conditionalexpression"); yyVal=((Expr)yyVals[0+yyTop]); } break; case 190: - // line 1672 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1671 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Assign)yyVals[0+yyTop]); } break; case 191: - // line 1678 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1677 "./../src/mycompiler/myparser/JavaParser.jay" { EmptyStmt Empst = new EmptyStmt(); yyVal=Empst; } break; case 192: - // line 1684 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1683 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[-1+yyTop]); } break; case 193: - // line 1689 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1688 "./../src/mycompiler/myparser/JavaParser.jay" { Return ret = new Return(-1,-1); yyVal= ret; } break; case 194: - // line 1694 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1693 "./../src/mycompiler/myparser/JavaParser.jay" { Return retexp = new Return(((Expr)yyVals[-1+yyTop]).getOffset(),((Expr)yyVals[-1+yyTop]).getVariableLength()); retexp.set_ReturnExpr(((Expr)yyVals[-1+yyTop])); @@ -2354,31 +2354,31 @@ case 194: } break; case 195: - // line 1701 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1700 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Statement)yyVals[0+yyTop]); } break; case 196: - // line 1705 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1704 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((IfStmt)yyVals[0+yyTop]); } break; case 197: - // line 1709 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1708 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((WhileStmt)yyVals[0+yyTop]); } break; case 198: - // line 1714 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1713 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 199: - // line 1720 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1719 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("\nParser --> Zuweisung1!\n"); Assign Ass = new Assign(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); @@ -2405,7 +2405,7 @@ case 199: } break; case 200: - // line 1745 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1744 "./../src/mycompiler/myparser/JavaParser.jay" { Assign Ass =new Assign(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); LocalOrFieldVar LOFV = new LocalOrFieldVar(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); @@ -2429,43 +2429,43 @@ case 200: } break; case 201: - // line 1768 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1767 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Assign)yyVals[0+yyTop]); } break; case 202: - // line 1772 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1771 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 203: - // line 1776 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1775 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 204: - // line 1780 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1779 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 205: - // line 1784 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1783 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 206: - // line 1788 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1787 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((MethodCall)yyVals[0+yyTop]); } break; case 207: - // line 1799 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1798 "./../src/mycompiler/myparser/JavaParser.jay" { IfStmt IfElno = new IfStmt(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength()); IfElno.set_Expr(((Expr)yyVals[-4+yyTop])); @@ -2475,7 +2475,7 @@ case 207: } break; case 208: - // line 1808 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1807 "./../src/mycompiler/myparser/JavaParser.jay" { WhileStmt Whstno = new WhileStmt(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); Whstno.set_Expr(((Expr)yyVals[-2+yyTop])); @@ -2484,13 +2484,13 @@ case 208: } break; case 209: - // line 1816 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1815 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 210: - // line 1820 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1819 "./../src/mycompiler/myparser/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()); @@ -2502,19 +2502,19 @@ case 210: } break; case 211: - // line 1833 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1832 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=null; } break; case 212: - // line 1838 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1837 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[0+yyTop]); } break; case 213: - // line 1842 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1841 "./../src/mycompiler/myparser/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";}|*/ @@ -2525,19 +2525,19 @@ case 213: } break; case 214: - // line 1852 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1851 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=null; } break; case 215: - // line 1856 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1855 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((ParameterList)yyVals[-1+yyTop]); } break; case 216: - // line 1861 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1860 "./../src/mycompiler/myparser/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])); @@ -2546,54 +2546,54 @@ case 216: } break; case 217: - // line 1880 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1879 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((UsedId)yyVals[0+yyTop]); } break; case 218: - // line 1885 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1884 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=null; } break; case 219: - // line 1889 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1888 "./../src/mycompiler/myparser/JavaParser.jay" { TimesOp TEO = new TimesOp(-1,-1); yyVal=TEO; } break; case 220: - // line 1894 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1893 "./../src/mycompiler/myparser/JavaParser.jay" { DivideOp DEO = new DivideOp(-1,-1); yyVal=DEO; } break; case 221: - // line 1899 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1898 "./../src/mycompiler/myparser/JavaParser.jay" { ModuloOp MEO = new ModuloOp(-1,-1); yyVal=MEO; } break; case 222: - // line 1904 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1903 "./../src/mycompiler/myparser/JavaParser.jay" { PlusOp PEO = new PlusOp(-1,-1); yyVal=PEO; } break; case 223: - // line 1909 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1908 "./../src/mycompiler/myparser/JavaParser.jay" { MinusOp MEO = new MinusOp(-1,-1); yyVal=MEO; } break; case 224: - // line 1921 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1920 "./../src/mycompiler/myparser/JavaParser.jay" { PreIncExpr PRINC = new PreIncExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); PRINC.set_Expr(((Expr)yyVals[0+yyTop])); @@ -2601,7 +2601,7 @@ case 224: } break; case 225: - // line 1928 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1927 "./../src/mycompiler/myparser/JavaParser.jay" { PreDecExpr PRDEC = new PreDecExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); PRDEC.set_Expr(((Expr)yyVals[0+yyTop])); @@ -2609,7 +2609,7 @@ case 225: } break; case 226: - // line 1935 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1934 "./../src/mycompiler/myparser/JavaParser.jay" { PostIncExpr PIE = new PostIncExpr(((Expr)yyVals[-1+yyTop]).getOffset(),((Expr)yyVals[-1+yyTop]).getVariableLength()); PIE.set_Expr(((Expr)yyVals[-1+yyTop])); @@ -2617,7 +2617,7 @@ case 226: } break; case 227: - // line 1942 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1941 "./../src/mycompiler/myparser/JavaParser.jay" { PostDecExpr PDE = new PostDecExpr(((Expr)yyVals[-1+yyTop]).getOffset(),((Expr)yyVals[-1+yyTop]).getVariableLength()); PDE.set_Expr(((Expr)yyVals[-1+yyTop])); @@ -2625,7 +2625,7 @@ case 227: } break; case 228: - // line 1950 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1949 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("M1"); MethodCall MC = new MethodCall(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); @@ -2657,7 +2657,7 @@ case 228: } break; case 229: - // line 1980 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1979 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("M2"); MethodCall MCarg = new MethodCall(((UsedId)yyVals[-3+yyTop]).getOffset(),((UsedId)yyVals[-3+yyTop]).getVariableLength()); @@ -2690,7 +2690,7 @@ case 229: } break; case 230: - // line 2011 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2010 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("M3"); MethodCall MCpr = new MethodCall(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength()); @@ -2711,7 +2711,7 @@ case 230: } break; case 231: - // line 2030 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2029 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("M4"); MethodCall MCPA = new MethodCall(((Expr)yyVals[-5+yyTop]).getOffset(),((Expr)yyVals[-5+yyTop]).getVariableLength()); @@ -2733,7 +2733,7 @@ case 231: } break; case 232: - // line 2053 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2052 "./../src/mycompiler/myparser/JavaParser.jay" { NewClass NC = new NewClass(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); NC.set_UsedId(((UsedId)yyVals[-2+yyTop])); @@ -2743,7 +2743,7 @@ case 232: } break; case 233: - // line 2061 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2060 "./../src/mycompiler/myparser/JavaParser.jay" { NewClass NCarg = new NewClass(((UsedId)yyVals[-3+yyTop]).getOffset(),((UsedId)yyVals[-3+yyTop]).getVariableLength()); NCarg.set_UsedId(((UsedId)yyVals[-3+yyTop])); @@ -2754,13 +2754,13 @@ case 233: } break; case 234: - // line 2071 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2070 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 235: - // line 2075 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2074 "./../src/mycompiler/myparser/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()); @@ -2772,19 +2772,19 @@ case 235: } break; case 236: - // line 2091 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2090 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 237: - // line 2095 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2094 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 238: - // line 2099 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2098 "./../src/mycompiler/myparser/JavaParser.jay" { PositivExpr POSEX=new PositivExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); UnaryPlus UP= new UnaryPlus(); @@ -2794,7 +2794,7 @@ case 238: } break; case 239: - // line 2107 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2106 "./../src/mycompiler/myparser/JavaParser.jay" { NegativeExpr NEGEX=new NegativeExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); UnaryMinus UM=new UnaryMinus(); @@ -2804,19 +2804,19 @@ case 239: } break; case 240: - // line 2115 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2114 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 241: - // line 2120 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2119 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 242: - // line 2124 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2123 "./../src/mycompiler/myparser/JavaParser.jay" { if (((UsedId)yyVals[0+yyTop]).get_Name().size() > 1) { @@ -2836,37 +2836,37 @@ case 242: } break; case 243: - // line 2142 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2141 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 244: - // line 2146 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2145 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 245: - // line 2151 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2150 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 246: - // line 2156 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2155 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 248: - // line 2162 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2161 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Literal)yyVals[0+yyTop]); } break; case 249: - // line 2166 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2165 "./../src/mycompiler/myparser/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()); @@ -2876,23 +2876,23 @@ case 249: } break; case 250: - // line 2187 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2186 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((MethodCall)yyVals[0+yyTop]); } break; case 251: - // line 2191 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2190 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 252: - // line 2196 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2195 "./../src/mycompiler/myparser/JavaParser.jay" {yyVal=((Expr)yyVals[0+yyTop]);} break; case 253: - // line 2198 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2197 "./../src/mycompiler/myparser/JavaParser.jay" {NotExpr NE=new NotExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); UnaryNot UN=new UnaryNot(); NE.set_UnaryNot(UN); @@ -2901,36 +2901,36 @@ case 253: } break; case 254: - // line 2204 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2203 "./../src/mycompiler/myparser/JavaParser.jay" {yyVal=((CastExpr)yyVals[0+yyTop]);} break; case 255: - // line 2206 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2205 "./../src/mycompiler/myparser/JavaParser.jay" {yyVal=((Expr)yyVals[0+yyTop]);} break; case 257: - // line 2211 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2210 "./../src/mycompiler/myparser/JavaParser.jay" {IntLiteral IL = new IntLiteral(); IL.set_Int(((Token)yyVals[0+yyTop]).String2Int()); yyVal = IL; } break; case 258: - // line 2216 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2215 "./../src/mycompiler/myparser/JavaParser.jay" {BoolLiteral BL = new BoolLiteral(); BL.set_Bool(((Token)yyVals[0+yyTop]).String2Bool()); yyVal = BL; } break; case 259: - // line 2220 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2219 "./../src/mycompiler/myparser/JavaParser.jay" {CharLiteral CL = new CharLiteral(); CL.set_Char(((Token)yyVals[0+yyTop]).CharInString()); yyVal=CL; } break; case 260: - // line 2225 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2224 "./../src/mycompiler/myparser/JavaParser.jay" { StringLiteral ST = new StringLiteral(); ST.set_String(((Token)yyVals[0+yyTop]).get_String()); @@ -2938,14 +2938,14 @@ case 260: } break; case 261: - // line 2230 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2229 "./../src/mycompiler/myparser/JavaParser.jay" { LongLiteral LL = new LongLiteral(); LL.set_Long(((Token)yyVals[0+yyTop]).String2Long()); yyVal = LL; } break; case 262: - // line 2234 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2233 "./../src/mycompiler/myparser/JavaParser.jay" { FloatLiteral FL = new FloatLiteral(); FL.set_Float(((Token)yyVals[0+yyTop]).String2Float()); @@ -2953,7 +2953,7 @@ case 262: } break; case 263: - // line 2239 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2238 "./../src/mycompiler/myparser/JavaParser.jay" { DoubleLiteral DL = new DoubleLiteral(); DL.set_Double(((Token)yyVals[0+yyTop]).String2Double()); @@ -2961,14 +2961,14 @@ case 263: } break; case 264: - // line 2245 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2244 "./../src/mycompiler/myparser/JavaParser.jay" { Null NN = new Null(); yyVal=NN; } break; case 265: - // line 2251 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2250 "./../src/mycompiler/myparser/JavaParser.jay" { CastExpr CaEx=new CastExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); CaEx.set_Type(((BaseType)yyVals[-2+yyTop])); @@ -2977,24 +2977,24 @@ case 265: } break; case 266: - // line 2260 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2259 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 267: - // line 2264 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2263 "./../src/mycompiler/myparser/JavaParser.jay" { } break; case 268: - // line 2268 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2267 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 269: - // line 2272 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2271 "./../src/mycompiler/myparser/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()); @@ -3006,7 +3006,7 @@ case 269: } break; case 270: - // line 2282 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2281 "./../src/mycompiler/myparser/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()); @@ -3018,13 +3018,13 @@ case 270: } break; case 271: - // line 2293 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2292 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 272: - // line 2297 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2296 "./../src/mycompiler/myparser/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()); @@ -3036,7 +3036,7 @@ case 272: } break; case 273: - // line 2307 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2306 "./../src/mycompiler/myparser/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()); @@ -3048,7 +3048,7 @@ case 273: } break; case 274: - // line 2317 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2316 "./../src/mycompiler/myparser/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()); @@ -3060,7 +3060,7 @@ case 274: } break; case 275: - // line 2327 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2326 "./../src/mycompiler/myparser/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()); @@ -3072,7 +3072,7 @@ case 275: } break; case 276: - // line 2337 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2336 "./../src/mycompiler/myparser/JavaParser.jay" { InstanceOf ISO=new InstanceOf(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); ISO.set_Expr(((Expr)yyVals[-2+yyTop])); @@ -3081,19 +3081,19 @@ case 276: } break; case 277: - // line 2345 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2344 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 278: - // line 2350 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2349 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 279: - // line 2354 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2353 "./../src/mycompiler/myparser/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()); @@ -3105,7 +3105,7 @@ case 279: } break; case 280: - // line 2364 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2363 "./../src/mycompiler/myparser/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()); @@ -3117,13 +3117,13 @@ case 280: } break; case 281: - // line 2375 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2374 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 282: - // line 2379 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2378 "./../src/mycompiler/myparser/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()); @@ -3135,7 +3135,7 @@ case 282: } break; case 283: - // line 2389 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2388 "./../src/mycompiler/myparser/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()); @@ -3147,7 +3147,7 @@ case 283: } break; case 284: - // line 2399 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2398 "./../src/mycompiler/myparser/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()); diff --git a/src/mycompiler/myparser/JavaParser.jay b/src/mycompiler/myparser/JavaParser.jay index 0bcaee019..5f0306837 100755 --- a/src/mycompiler/myparser/JavaParser.jay +++ b/src/mycompiler/myparser/JavaParser.jay @@ -1330,7 +1330,6 @@ primitivetype :BOOLEAN $$=$1; } - referencetype :classorinterfacetype { org.apache.log4j.Logger.getLogger("parser").debug("T->Parser->referenctype: " + $1); diff --git a/src/mycompiler/mystatement/LambdaExpression.java b/src/mycompiler/mystatement/LambdaExpression.java index 9075b7c3b..7a2adac5a 100755 --- a/src/mycompiler/mystatement/LambdaExpression.java +++ b/src/mycompiler/mystatement/LambdaExpression.java @@ -26,6 +26,7 @@ import mycompiler.myexception.JVMCodeException; import mycompiler.myexception.SCStatementException; import mycompiler.mytype.DoubleType; import mycompiler.mytype.GenericTypeVar; +import mycompiler.mytype.RefType; import mycompiler.mytype.Type; import mycompiler.mytype.TypePlaceholder; import mycompiler.mytypereconstruction.CSupportData; @@ -85,7 +86,10 @@ public class LambdaExpression extends Expr{ Block block = this.method_body; // Zuerst Returntype untersuchen Type returnType=getType(); - GenericTypeVar pendantReturnType=ClassHelper.findGenericType(returnType, paralist,genericMethodParameters); + Type pendantReturnType = null; + if(returnType instanceof RefType) + pendantReturnType = ((RefType)returnType).findGenericType(paralist, new Vector()); + //GenericTypeVar pendantReturnType=ClassHelper.findGenericType(returnType, paralist,genericMethodParameters); if(pendantReturnType!=null){ //Wenn generisch, dann modifizieren setType(pendantReturnType); } @@ -94,7 +98,10 @@ public class LambdaExpression extends Expr{ for(FormalParameter fp : params){ Type fpType=fp.getType(); // Nur wenn es sich um ein RefType-Field handelt - GenericTypeVar pendantPara=ClassHelper.findGenericType(fpType,paralist,genericMethodParameters); + Type pendantPara = null; + if(fpType instanceof RefType) + pendantPara = ((RefType)fpType).findGenericType(paralist, new Vector()); + //GenericTypeVar pendantPara=ClassHelper.findGenericType(fpType,paralist,genericMethodParameters); if(pendantPara!=null){ //Wenn generisch, dann modifizieren fp.setType(pendantPara); } diff --git a/src/mycompiler/mystatement/LocalVarDecl.java b/src/mycompiler/mystatement/LocalVarDecl.java index 3a57847c0..a5b8f5378 100755 --- a/src/mycompiler/mystatement/LocalVarDecl.java +++ b/src/mycompiler/mystatement/LocalVarDecl.java @@ -427,7 +427,10 @@ public class LocalVarDecl extends Statement implements TypeInsertable Type fpType=getType(); // Nur wenn es sich um ein RefType-Field handelt - GenericTypeVar pendantPara=ClassHelper.findGenericType(fpType,paralist,genericMethodParameters); + Type pendantPara = null; + if(fpType instanceof RefType) + pendantPara = ((RefType)fpType).findGenericType(paralist, new Vector()); + //GenericTypeVar pendantPara=ClassHelper.findGenericType(fpType,paralist,genericMethodParameters); if(pendantPara!=null){ //Wenn generisch, dann modifizieren setType(pendantPara); } diff --git a/src/mycompiler/mytype/RefType.java b/src/mycompiler/mytype/RefType.java index 6feb5fc02..d6b7e4243 100755 --- a/src/mycompiler/mytype/RefType.java +++ b/src/mycompiler/mytype/RefType.java @@ -18,6 +18,7 @@ import org.apache.log4j.Logger; // ino.end + import sun.reflect.generics.reflectiveObjects.NotImplementedException; import typinferenz.JavaCodeResult; import typinferenz.ResultSet; @@ -209,6 +210,41 @@ public class RefType extends Type implements IMatchable this.set_ParaList(paralist); } + /** + * HOTI + * Diese Methode sucht in der Klassendefinition nach einen GTV, die + * so heißt wie die im RefType definierte Variable. Wenn sie diese gefunden + * hat, wird sie zurückgeben. Wenn dies nicht der Fall war, schaut sie, falls + * angegeben in den Methodenparametern nach. Findet sie dort auch nichts, liefert + * die Methode null. + * @param type + * @return + */ + public GenericTypeVar findGenericType(Vector paralist, Vector methodParaList) + { + for(int i=0;i assumptions){ @@ -309,7 +316,8 @@ public class TypeAssumptions { * @param classAssumption */ public void addClassAssumption(ClassAssumption classAssumption) { - this.classAssumptions.add(classAssumption); + if(!this.classAssumptions.contains(classAssumption))//throw new TypinferenzException("Die Klasse "+classAssumption.getAssumedClass().getName()+" wurde bereits deklariert"); + this.classAssumptions.add(classAssumption); } /** diff --git a/test/mycompiler/test/lambda/testResults/LambdaTest.log b/test/mycompiler/test/lambda/testResults/LambdaTest.log index 7a07c02f1..f1b8dd828 100644 --- a/test/mycompiler/test/lambda/testResults/LambdaTest.log +++ b/test/mycompiler/test/lambda/testResults/LambdaTest.log @@ -1,26 +1,46 @@ -Class DEBUG [Typeinference] Erstellte Assumptions: this: MatrixMethod Assumptions: -[MethodAssumption: GTV R , MethodAssumption: GTV R , MethodAssumption: GTV R , MethodAssumption: GTV R , MethodAssumption: GTV R , MethodAssumption: GTV R ] +SourceFile DEBUG [Typeinference] Von JRE erstellte Assumptions: this: null +Method Assumptions: +[MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long []()] FieldVar Assumptions: -[FieldAssumption: TPH A op, FieldAssumption: TPH A op, FieldAssumption: TPH A op, FieldAssumption: TPH A op] +[MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), FieldAssumption: int MIN_VALUE, FieldAssumption: int MAX_VALUE, FieldAssumption: java.lang.Class TYPE, FieldAssumption: int SIZE, MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), FieldAssumption: int MIN_VALUE, FieldAssumption: int MAX_VALUE, FieldAssumption: java.lang.Class TYPE, FieldAssumption: int SIZE, MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), FieldAssumption: java.util.Comparator CASE_INSENSITIVE_ORDER, MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), FieldAssumption: java.util.Comparator CASE_INSENSITIVE_ORDER, MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), FieldAssumption: int MIN_RADIX, FieldAssumption: int MAX_RADIX, FieldAssumption: char MIN_VALUE, FieldAssumption: char MAX_VALUE, FieldAssumption: java.lang.Class TYPE, FieldAssumption: byte UNASSIGNED, FieldAssumption: byte UPPERCASE_LETTER, FieldAssumption: byte LOWERCASE_LETTER, FieldAssumption: byte TITLECASE_LETTER, FieldAssumption: byte MODIFIER_LETTER, FieldAssumption: byte OTHER_LETTER, FieldAssumption: byte NON_SPACING_MARK, FieldAssumption: byte ENCLOSING_MARK, FieldAssumption: byte COMBINING_SPACING_MARK, FieldAssumption: byte DECIMAL_DIGIT_NUMBER, FieldAssumption: byte LETTER_NUMBER, FieldAssumption: byte OTHER_NUMBER, FieldAssumption: byte SPACE_SEPARATOR, FieldAssumption: byte LINE_SEPARATOR, FieldAssumption: byte PARAGRAPH_SEPARATOR, FieldAssumption: byte CONTROL, FieldAssumption: byte FORMAT, FieldAssumption: byte PRIVATE_USE, FieldAssumption: byte SURROGATE, FieldAssumption: byte DASH_PUNCTUATION, FieldAssumption: byte START_PUNCTUATION, FieldAssumption: byte END_PUNCTUATION, FieldAssumption: byte CONNECTOR_PUNCTUATION, FieldAssumption: byte OTHER_PUNCTUATION, FieldAssumption: byte MATH_SYMBOL, FieldAssumption: byte CURRENCY_SYMBOL, FieldAssumption: byte MODIFIER_SYMBOL, FieldAssumption: byte OTHER_SYMBOL, FieldAssumption: byte INITIAL_QUOTE_PUNCTUATION, FieldAssumption: byte FINAL_QUOTE_PUNCTUATION, FieldAssumption: byte DIRECTIONALITY_UNDEFINED, FieldAssumption: byte DIRECTIONALITY_LEFT_TO_RIGHT, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC, FieldAssumption: byte DIRECTIONALITY_EUROPEAN_NUMBER, FieldAssumption: byte DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR, FieldAssumption: byte DIRECTIONALITY_ARABIC_NUMBER, FieldAssumption: byte DIRECTIONALITY_COMMON_NUMBER_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_NONSPACING_MARK, FieldAssumption: byte DIRECTIONALITY_BOUNDARY_NEUTRAL, FieldAssumption: byte DIRECTIONALITY_PARAGRAPH_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_SEGMENT_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_WHITESPACE, FieldAssumption: byte DIRECTIONALITY_OTHER_NEUTRALS, FieldAssumption: byte DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING, FieldAssumption: byte DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE, FieldAssumption: byte DIRECTIONALITY_POP_DIRECTIONAL_FORMAT, FieldAssumption: char MIN_HIGH_SURROGATE, FieldAssumption: char MAX_HIGH_SURROGATE, FieldAssumption: char MIN_LOW_SURROGATE, FieldAssumption: char MAX_LOW_SURROGATE, FieldAssumption: char MIN_SURROGATE, FieldAssumption: char MAX_SURROGATE, FieldAssumption: int MIN_SUPPLEMENTARY_CODE_POINT, FieldAssumption: int MIN_CODE_POINT, FieldAssumption: int MAX_CODE_POINT, FieldAssumption: int SIZE, MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), FieldAssumption: int MIN_RADIX, FieldAssumption: int MAX_RADIX, FieldAssumption: char MIN_VALUE, FieldAssumption: char MAX_VALUE, FieldAssumption: java.lang.Class TYPE, FieldAssumption: byte UNASSIGNED, FieldAssumption: byte UPPERCASE_LETTER, FieldAssumption: byte LOWERCASE_LETTER, FieldAssumption: byte TITLECASE_LETTER, FieldAssumption: byte MODIFIER_LETTER, FieldAssumption: byte OTHER_LETTER, FieldAssumption: byte NON_SPACING_MARK, FieldAssumption: byte ENCLOSING_MARK, FieldAssumption: byte COMBINING_SPACING_MARK, FieldAssumption: byte DECIMAL_DIGIT_NUMBER, FieldAssumption: byte LETTER_NUMBER, FieldAssumption: byte OTHER_NUMBER, FieldAssumption: byte SPACE_SEPARATOR, FieldAssumption: byte LINE_SEPARATOR, FieldAssumption: byte PARAGRAPH_SEPARATOR, FieldAssumption: byte CONTROL, FieldAssumption: byte FORMAT, FieldAssumption: byte PRIVATE_USE, FieldAssumption: byte SURROGATE, FieldAssumption: byte DASH_PUNCTUATION, FieldAssumption: byte START_PUNCTUATION, FieldAssumption: byte END_PUNCTUATION, FieldAssumption: byte CONNECTOR_PUNCTUATION, FieldAssumption: byte OTHER_PUNCTUATION, FieldAssumption: byte MATH_SYMBOL, FieldAssumption: byte CURRENCY_SYMBOL, FieldAssumption: byte MODIFIER_SYMBOL, FieldAssumption: byte OTHER_SYMBOL, FieldAssumption: byte INITIAL_QUOTE_PUNCTUATION, FieldAssumption: byte FINAL_QUOTE_PUNCTUATION, FieldAssumption: byte DIRECTIONALITY_UNDEFINED, FieldAssumption: byte DIRECTIONALITY_LEFT_TO_RIGHT, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC, FieldAssumption: byte DIRECTIONALITY_EUROPEAN_NUMBER, FieldAssumption: byte DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR, FieldAssumption: byte DIRECTIONALITY_ARABIC_NUMBER, FieldAssumption: byte DIRECTIONALITY_COMMON_NUMBER_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_NONSPACING_MARK, FieldAssumption: byte DIRECTIONALITY_BOUNDARY_NEUTRAL, FieldAssumption: byte DIRECTIONALITY_PARAGRAPH_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_SEGMENT_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_WHITESPACE, FieldAssumption: byte DIRECTIONALITY_OTHER_NEUTRALS, FieldAssumption: byte DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING, FieldAssumption: byte DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE, FieldAssumption: byte DIRECTIONALITY_POP_DIRECTIONAL_FORMAT, FieldAssumption: char MIN_HIGH_SURROGATE, FieldAssumption: char MAX_HIGH_SURROGATE, FieldAssumption: char MIN_LOW_SURROGATE, FieldAssumption: char MAX_LOW_SURROGATE, FieldAssumption: char MIN_SURROGATE, FieldAssumption: char MAX_SURROGATE, FieldAssumption: int MIN_SUPPLEMENTARY_CODE_POINT, FieldAssumption: int MIN_CODE_POINT, FieldAssumption: int MAX_CODE_POINT, FieldAssumption: int SIZE, MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), FieldAssumption: java.lang.Boolean TRUE, FieldAssumption: java.lang.Boolean FALSE, FieldAssumption: java.lang.Class TYPE, MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), FieldAssumption: java.lang.Boolean TRUE, FieldAssumption: java.lang.Boolean FALSE, FieldAssumption: java.lang.Class TYPE, MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), FieldAssumption: double POSITIVE_INFINITY, FieldAssumption: double NEGATIVE_INFINITY, FieldAssumption: double NaN, FieldAssumption: double MAX_VALUE, FieldAssumption: double MIN_NORMAL, FieldAssumption: double MIN_VALUE, FieldAssumption: int MAX_EXPONENT, FieldAssumption: int MIN_EXPONENT, FieldAssumption: int SIZE, FieldAssumption: java.lang.Class TYPE, MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), FieldAssumption: double POSITIVE_INFINITY, FieldAssumption: double NEGATIVE_INFINITY, FieldAssumption: double NaN, FieldAssumption: double MAX_VALUE, FieldAssumption: double MIN_NORMAL, FieldAssumption: double MIN_VALUE, FieldAssumption: int MAX_EXPONENT, FieldAssumption: int MIN_EXPONENT, FieldAssumption: int SIZE, FieldAssumption: java.lang.Class TYPE, MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), FieldAssumption: float POSITIVE_INFINITY, FieldAssumption: float NEGATIVE_INFINITY, FieldAssumption: float NaN, FieldAssumption: float MAX_VALUE, FieldAssumption: float MIN_NORMAL, FieldAssumption: float MIN_VALUE, FieldAssumption: int MAX_EXPONENT, FieldAssumption: int MIN_EXPONENT, FieldAssumption: int SIZE, FieldAssumption: java.lang.Class TYPE, MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), FieldAssumption: float POSITIVE_INFINITY, FieldAssumption: float NEGATIVE_INFINITY, FieldAssumption: float NaN, FieldAssumption: float MAX_VALUE, FieldAssumption: float MIN_NORMAL, FieldAssumption: float MIN_VALUE, FieldAssumption: int MAX_EXPONENT, FieldAssumption: int MIN_EXPONENT, FieldAssumption: int SIZE, FieldAssumption: java.lang.Class TYPE, MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), FieldAssumption: long MIN_VALUE, FieldAssumption: long MAX_VALUE, FieldAssumption: java.lang.Class TYPE, FieldAssumption: int SIZE, MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), FieldAssumption: long MIN_VALUE, FieldAssumption: long MAX_VALUE, FieldAssumption: java.lang.Class TYPE, FieldAssumption: int SIZE, MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long []()] LocalVar Assumptions: [] Parameter Assumptions: [] +Konstruktor Assumptions: +[MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long []()] +Class Assumptions: +[java.lang.Integer, java.lang.Integer, java.lang.String, java.lang.String, java.lang.Character, java.lang.Character, java.lang.Boolean, java.lang.Boolean, java.lang.Double, java.lang.Double, java.lang.Float, java.lang.Float, java.lang.Long, java.lang.Long] + +Class DEBUG [Typeinference] Erstellte Assumptions: this: Assign +Method Assumptions: +[MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: GTV R [apply](), MethodAssumption: GTV R [apply](), MethodAssumption: GTV R [apply](GTV T1 T1), MethodAssumption: GTV R [apply](GTV T1 T1), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3,GTV T4 T4), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3,GTV T4 T4), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3,GTV T4 T4,GTV T5 T5), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3,GTV T4 T4,GTV T5 T5), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: GTV R [apply](), MethodAssumption: GTV R [apply](), MethodAssumption: GTV R [apply](GTV T1 T1), MethodAssumption: GTV R [apply](GTV T1 T1), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3,GTV T4 T4), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3,GTV T4 T4), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3,GTV T4 T4,GTV T5 T5), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3,GTV T4 T4,GTV T5 T5), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long []()] +FieldVar Assumptions: +[FieldAssumption: TPH A stringVar, MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), FieldAssumption: TPH A stringVar, MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: GTV R [apply](), MethodAssumption: GTV R [apply](), MethodAssumption: GTV R [apply](GTV T1 T1), MethodAssumption: GTV R [apply](GTV T1 T1), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3,GTV T4 T4), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3,GTV T4 T4), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3,GTV T4 T4,GTV T5 T5), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3,GTV T4 T4,GTV T5 T5), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: GTV R [apply](), MethodAssumption: GTV R [apply](), MethodAssumption: GTV R [apply](GTV T1 T1), MethodAssumption: GTV R [apply](GTV T1 T1), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3,GTV T4 T4), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3,GTV T4 T4), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3,GTV T4 T4,GTV T5 T5), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3,GTV T4 T4,GTV T5 T5), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), FieldAssumption: TPH A stringVar, MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), FieldAssumption: TPH A stringVar, MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), FieldAssumption: int MIN_VALUE, FieldAssumption: int MAX_VALUE, FieldAssumption: java.lang.Class TYPE, FieldAssumption: int SIZE, MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), FieldAssumption: int MIN_VALUE, FieldAssumption: int MAX_VALUE, FieldAssumption: java.lang.Class TYPE, FieldAssumption: int SIZE, MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), FieldAssumption: java.util.Comparator CASE_INSENSITIVE_ORDER, MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), FieldAssumption: java.util.Comparator CASE_INSENSITIVE_ORDER, MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), FieldAssumption: int MIN_RADIX, FieldAssumption: int MAX_RADIX, FieldAssumption: char MIN_VALUE, FieldAssumption: char MAX_VALUE, FieldAssumption: java.lang.Class TYPE, FieldAssumption: byte UNASSIGNED, FieldAssumption: byte UPPERCASE_LETTER, FieldAssumption: byte LOWERCASE_LETTER, FieldAssumption: byte TITLECASE_LETTER, FieldAssumption: byte MODIFIER_LETTER, FieldAssumption: byte OTHER_LETTER, FieldAssumption: byte NON_SPACING_MARK, FieldAssumption: byte ENCLOSING_MARK, FieldAssumption: byte COMBINING_SPACING_MARK, FieldAssumption: byte DECIMAL_DIGIT_NUMBER, FieldAssumption: byte LETTER_NUMBER, FieldAssumption: byte OTHER_NUMBER, FieldAssumption: byte SPACE_SEPARATOR, FieldAssumption: byte LINE_SEPARATOR, FieldAssumption: byte PARAGRAPH_SEPARATOR, FieldAssumption: byte CONTROL, FieldAssumption: byte FORMAT, FieldAssumption: byte PRIVATE_USE, FieldAssumption: byte SURROGATE, FieldAssumption: byte DASH_PUNCTUATION, FieldAssumption: byte START_PUNCTUATION, FieldAssumption: byte END_PUNCTUATION, FieldAssumption: byte CONNECTOR_PUNCTUATION, FieldAssumption: byte OTHER_PUNCTUATION, FieldAssumption: byte MATH_SYMBOL, FieldAssumption: byte CURRENCY_SYMBOL, FieldAssumption: byte MODIFIER_SYMBOL, FieldAssumption: byte OTHER_SYMBOL, FieldAssumption: byte INITIAL_QUOTE_PUNCTUATION, FieldAssumption: byte FINAL_QUOTE_PUNCTUATION, FieldAssumption: byte DIRECTIONALITY_UNDEFINED, FieldAssumption: byte DIRECTIONALITY_LEFT_TO_RIGHT, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC, FieldAssumption: byte DIRECTIONALITY_EUROPEAN_NUMBER, FieldAssumption: byte DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR, FieldAssumption: byte DIRECTIONALITY_ARABIC_NUMBER, FieldAssumption: byte DIRECTIONALITY_COMMON_NUMBER_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_NONSPACING_MARK, FieldAssumption: byte DIRECTIONALITY_BOUNDARY_NEUTRAL, FieldAssumption: byte DIRECTIONALITY_PARAGRAPH_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_SEGMENT_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_WHITESPACE, FieldAssumption: byte DIRECTIONALITY_OTHER_NEUTRALS, FieldAssumption: byte DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING, FieldAssumption: byte DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE, FieldAssumption: byte DIRECTIONALITY_POP_DIRECTIONAL_FORMAT, FieldAssumption: char MIN_HIGH_SURROGATE, FieldAssumption: char MAX_HIGH_SURROGATE, FieldAssumption: char MIN_LOW_SURROGATE, FieldAssumption: char MAX_LOW_SURROGATE, FieldAssumption: char MIN_SURROGATE, FieldAssumption: char MAX_SURROGATE, FieldAssumption: int MIN_SUPPLEMENTARY_CODE_POINT, FieldAssumption: int MIN_CODE_POINT, FieldAssumption: int MAX_CODE_POINT, FieldAssumption: int SIZE, MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), FieldAssumption: int MIN_RADIX, FieldAssumption: int MAX_RADIX, FieldAssumption: char MIN_VALUE, FieldAssumption: char MAX_VALUE, FieldAssumption: java.lang.Class TYPE, FieldAssumption: byte UNASSIGNED, FieldAssumption: byte UPPERCASE_LETTER, FieldAssumption: byte LOWERCASE_LETTER, FieldAssumption: byte TITLECASE_LETTER, FieldAssumption: byte MODIFIER_LETTER, FieldAssumption: byte OTHER_LETTER, FieldAssumption: byte NON_SPACING_MARK, FieldAssumption: byte ENCLOSING_MARK, FieldAssumption: byte COMBINING_SPACING_MARK, FieldAssumption: byte DECIMAL_DIGIT_NUMBER, FieldAssumption: byte LETTER_NUMBER, FieldAssumption: byte OTHER_NUMBER, FieldAssumption: byte SPACE_SEPARATOR, FieldAssumption: byte LINE_SEPARATOR, FieldAssumption: byte PARAGRAPH_SEPARATOR, FieldAssumption: byte CONTROL, FieldAssumption: byte FORMAT, FieldAssumption: byte PRIVATE_USE, FieldAssumption: byte SURROGATE, FieldAssumption: byte DASH_PUNCTUATION, FieldAssumption: byte START_PUNCTUATION, FieldAssumption: byte END_PUNCTUATION, FieldAssumption: byte CONNECTOR_PUNCTUATION, FieldAssumption: byte OTHER_PUNCTUATION, FieldAssumption: byte MATH_SYMBOL, FieldAssumption: byte CURRENCY_SYMBOL, FieldAssumption: byte MODIFIER_SYMBOL, FieldAssumption: byte OTHER_SYMBOL, FieldAssumption: byte INITIAL_QUOTE_PUNCTUATION, FieldAssumption: byte FINAL_QUOTE_PUNCTUATION, FieldAssumption: byte DIRECTIONALITY_UNDEFINED, FieldAssumption: byte DIRECTIONALITY_LEFT_TO_RIGHT, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC, FieldAssumption: byte DIRECTIONALITY_EUROPEAN_NUMBER, FieldAssumption: byte DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR, FieldAssumption: byte DIRECTIONALITY_ARABIC_NUMBER, FieldAssumption: byte DIRECTIONALITY_COMMON_NUMBER_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_NONSPACING_MARK, FieldAssumption: byte DIRECTIONALITY_BOUNDARY_NEUTRAL, FieldAssumption: byte DIRECTIONALITY_PARAGRAPH_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_SEGMENT_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_WHITESPACE, FieldAssumption: byte DIRECTIONALITY_OTHER_NEUTRALS, FieldAssumption: byte DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING, FieldAssumption: byte DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE, FieldAssumption: byte DIRECTIONALITY_POP_DIRECTIONAL_FORMAT, FieldAssumption: char MIN_HIGH_SURROGATE, FieldAssumption: char MAX_HIGH_SURROGATE, FieldAssumption: char MIN_LOW_SURROGATE, FieldAssumption: char MAX_LOW_SURROGATE, FieldAssumption: char MIN_SURROGATE, FieldAssumption: char MAX_SURROGATE, FieldAssumption: int MIN_SUPPLEMENTARY_CODE_POINT, FieldAssumption: int MIN_CODE_POINT, FieldAssumption: int MAX_CODE_POINT, FieldAssumption: int SIZE, MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), FieldAssumption: java.lang.Boolean TRUE, FieldAssumption: java.lang.Boolean FALSE, FieldAssumption: java.lang.Class TYPE, MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), FieldAssumption: java.lang.Boolean TRUE, FieldAssumption: java.lang.Boolean FALSE, FieldAssumption: java.lang.Class TYPE, MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), FieldAssumption: double POSITIVE_INFINITY, FieldAssumption: double NEGATIVE_INFINITY, FieldAssumption: double NaN, FieldAssumption: double MAX_VALUE, FieldAssumption: double MIN_NORMAL, FieldAssumption: double MIN_VALUE, FieldAssumption: int MAX_EXPONENT, FieldAssumption: int MIN_EXPONENT, FieldAssumption: int SIZE, FieldAssumption: java.lang.Class TYPE, MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), FieldAssumption: double POSITIVE_INFINITY, FieldAssumption: double NEGATIVE_INFINITY, FieldAssumption: double NaN, FieldAssumption: double MAX_VALUE, FieldAssumption: double MIN_NORMAL, FieldAssumption: double MIN_VALUE, FieldAssumption: int MAX_EXPONENT, FieldAssumption: int MIN_EXPONENT, FieldAssumption: int SIZE, FieldAssumption: java.lang.Class TYPE, MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), FieldAssumption: float POSITIVE_INFINITY, FieldAssumption: float NEGATIVE_INFINITY, FieldAssumption: float NaN, FieldAssumption: float MAX_VALUE, FieldAssumption: float MIN_NORMAL, FieldAssumption: float MIN_VALUE, FieldAssumption: int MAX_EXPONENT, FieldAssumption: int MIN_EXPONENT, FieldAssumption: int SIZE, FieldAssumption: java.lang.Class TYPE, MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), FieldAssumption: float POSITIVE_INFINITY, FieldAssumption: float NEGATIVE_INFINITY, FieldAssumption: float NaN, FieldAssumption: float MAX_VALUE, FieldAssumption: float MIN_NORMAL, FieldAssumption: float MIN_VALUE, FieldAssumption: int MAX_EXPONENT, FieldAssumption: int MIN_EXPONENT, FieldAssumption: int SIZE, FieldAssumption: java.lang.Class TYPE, MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), FieldAssumption: long MIN_VALUE, FieldAssumption: long MAX_VALUE, FieldAssumption: java.lang.Class TYPE, FieldAssumption: int SIZE, MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), FieldAssumption: long MIN_VALUE, FieldAssumption: long MAX_VALUE, FieldAssumption: java.lang.Class TYPE, FieldAssumption: int SIZE, MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long []()] +LocalVar Assumptions: +[] +Parameter Assumptions: +[] +Konstruktor Assumptions: +[MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long []()] +Class Assumptions: +[Assign, Assign, java.lang.Integer, java.lang.Integer, java.lang.String, java.lang.String, java.lang.Character, java.lang.Character, java.lang.Boolean, java.lang.Boolean, java.lang.Double, java.lang.Double, java.lang.Float, java.lang.Float, java.lang.Long, java.lang.Long] -Block DEBUG [Typeinference] Prozessing statement: null Return null (( [ f, ]) -> null { [null Return null (f.apply( [ null (this(null)), m, ]))]) -Block DEBUG [Typeinference] Prozessing statement: null Return null (f.apply( [ null (this(null)), m, ])) -Block DEBUG [Typeinference] Prozessing statement: TPH H Return TPH G (f: TPH E.apply( [ Matrix (this(null)), m: TPH C, ])) -Block DEBUG [Typeinference] Prozessing statement: TPH I Return TPH F (( [ TPH E f, ]) -> TPH H { [TPH H Return TPH G (f: TPH E.apply( [ Matrix (this(null)), m: TPH C, ]))]) Class DEBUG [Typeinference] Erstellte Constraints: TPH A < TPH A -[[(R <. TPH G), (Matrix <. T1), (TPH C <. T2), (TPH E <. Fun2< GTV R, GTV T1, GTV T2 >), ]| ] -TPH G < TPH H -Fun1< TPH H, TPH E > < TPH F -TPH F < TPH I -Fun1< TPH I, TPH C > < TPH D -TPH D < TPH A +String < TPH A -SourceFile DEBUG [Typeinference] Karthesisches Produkt der Constraints: [[(TPH A <. TPH A), (R <. TPH G), (Matrix <. T1), (TPH C <. T2), (TPH E <. Fun2< GTV R, GTV T1, GTV T2 >), (TPH G <. TPH H), (Fun1< TPH H, TPH E > <. TPH F), (TPH F <. TPH I), (Fun1< TPH I, TPH C > <. TPH D), (TPH D <. TPH A)]] -SourceFile DEBUG [Typeinference] Unifiziertes Ergebnis: [] +SourceFile DEBUG [Typeinference] Karthesisches Produkt der Constraints: [[(TPH A <. TPH A), (String <. TPH A)]] +SourceFile DEBUG [Typeinference] Unifiziertes Ergebnis: [[(TPH A = String)]] SourceFile DEBUG [Typeinference] JavaFiles: +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH A = String)] + +SourceFile DEBUG [Typeinference] class Assign extends Object +{ +String stringVar = "String"; +Assign Assign() +{ +} +} + diff --git a/test/plugindevelopment/ParameterTypeInsertTestSolution.jav b/test/plugindevelopment/ParameterTypeInsertTestSolution.jav index 151fcd40a..4a53daa8f 100644 --- a/test/plugindevelopment/ParameterTypeInsertTestSolution.jav +++ b/test/plugindevelopment/ParameterTypeInsertTestSolution.jav @@ -1,7 +1,7 @@ class VariableTypeInsertTest{ String var; - void methode(String test){ + void methode(java.lang.String test){ var = test; } } diff --git a/test/plugindevelopment/TypeInsertTests/FunNInsertTest.jav b/test/plugindevelopment/TypeInsertTests/FunNInsertTest.jav index b2b38cbe6..ba2dbbd99 100644 --- a/test/plugindevelopment/TypeInsertTests/FunNInsertTest.jav +++ b/test/plugindevelopment/TypeInsertTests/FunNInsertTest.jav @@ -9,10 +9,10 @@ class FunNInsertTest{ var3 = c; }; - o2p = () -> (a, b, c) -> { - var1 = a; - var2 = b; - var3 = c; - }; + -} \ No newline at end of file +} + +class Object1{} +class Object2{} +class Object3{} \ No newline at end of file diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest2.jav b/test/plugindevelopment/TypeInsertTests/LambdaTest2.jav index 9466d49c8..ca670b4d4 100644 --- a/test/plugindevelopment/TypeInsertTests/LambdaTest2.jav +++ b/test/plugindevelopment/TypeInsertTests/LambdaTest2.jav @@ -1,5 +1,5 @@ -class LambdaTest{ +class LambdaTest{ -Fun1>, C> op = (m) -> (f) -> f.apply(this,m); +Fun1, S>>, S> op = (m) -> (f) -> f.apply(this,m); } \ No newline at end of file diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest2.java b/test/plugindevelopment/TypeInsertTests/LambdaTest2.java index f817af9f7..877128f88 100644 --- a/test/plugindevelopment/TypeInsertTests/LambdaTest2.java +++ b/test/plugindevelopment/TypeInsertTests/LambdaTest2.java @@ -11,7 +11,7 @@ public class LambdaTest2 { @Test public void run(){ Vector mustContain = new Vector(); - mustContain.add("C m"); + mustContain.add("S m"); MultipleTypesInsertTester.test(this.TEST_FILE, mustContain); } diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest5.jav b/test/plugindevelopment/TypeInsertTests/LambdaTest5.jav new file mode 100644 index 000000000..5476e7b30 --- /dev/null +++ b/test/plugindevelopment/TypeInsertTests/LambdaTest5.jav @@ -0,0 +1,5 @@ +class LambdaTest
{ + +Fun1 op = (var) -> {return var;}; + +} \ No newline at end of file diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest5.java b/test/plugindevelopment/TypeInsertTests/LambdaTest5.java new file mode 100644 index 000000000..28efa5e75 --- /dev/null +++ b/test/plugindevelopment/TypeInsertTests/LambdaTest5.java @@ -0,0 +1,18 @@ +package plugindevelopment.TypeInsertTests; + +import java.util.Vector; + +import org.junit.Test; + +public class LambdaTest5 { + + private static final String TEST_FILE = "LambdaTest5.jav"; + + @Test + public void run(){ + Vector mustContain = new Vector(); + mustContain.add("A var"); + MultipleTypesInsertTester.test(this.TEST_FILE, mustContain); + } + +} From 0345dceb8ece1b9b04ed71cae76bf9d6b2241a3a Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Tue, 15 Apr 2014 12:07:42 +0200 Subject: [PATCH 47/79] Problem mit String Literal behoben --- src/mycompiler/mystatement/StringLiteral.java | 2 +- test/plugindevelopment/TypeInsertTests/LambdaTest1.java | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/mycompiler/mystatement/StringLiteral.java b/src/mycompiler/mystatement/StringLiteral.java index 36d5fe5f2..fd9416a18 100755 --- a/src/mycompiler/mystatement/StringLiteral.java +++ b/src/mycompiler/mystatement/StringLiteral.java @@ -137,7 +137,7 @@ public class StringLiteral extends Literal @Override public ConstraintsSet TYPEExpr(TypeAssumptions assumptions) { - this.set_Type(new RefType("String",0)); + this.set_Type(assumptions.getTypeFor(new RefType("String",0))); return new ConstraintsSet(); } diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest1.java b/test/plugindevelopment/TypeInsertTests/LambdaTest1.java index d37cca997..f9d3f0c20 100644 --- a/test/plugindevelopment/TypeInsertTests/LambdaTest1.java +++ b/test/plugindevelopment/TypeInsertTests/LambdaTest1.java @@ -11,7 +11,8 @@ public class LambdaTest1 { @Test public void run(){ Vector mustContain = new Vector(); - mustContain.add("Fun0>> op"); + + mustContain.add("Fun0>> op"); MultipleTypesInsertTester.test(this.TEST_FILE, mustContain); } From 87e4f2fd3695e584adbae426567f079d23832a40 Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Tue, 15 Apr 2014 14:56:20 +0200 Subject: [PATCH 48/79] =?UTF-8?q?TypeinferenceException=20=C3=BCberarbeite?= =?UTF-8?q?t?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/mycompiler/MyCompiler.java | 13 ++++---- src/mycompiler/MyCompilerAPI.java | 8 +++-- src/mycompiler/SourceFile.java | 5 +-- src/mycompiler/SyntaxTreeNode.java | 5 +-- src/mycompiler/myclass/Class.java | 4 +-- src/mycompiler/myclass/Constructor.java | 4 +-- src/mycompiler/myclass/FieldDeclaration.java | 14 +++++++-- src/mycompiler/myclass/FormalParameter.java | 13 ++++++-- src/mycompiler/myclass/Method.java | 24 +++++++++++--- src/mycompiler/myclass/UsedId.java | 4 +-- src/mycompiler/mystatement/Block.java | 4 +-- .../mystatement/LambdaExpression.java | 4 +-- .../mystatement/LocalOrFieldVar.java | 3 ++ src/mycompiler/mystatement/LocalVarDecl.java | 9 +++++- src/mycompiler/mystatement/StringLiteral.java | 3 ++ src/mycompiler/mytest/LambdaTest.java | 4 +-- .../TypeinferenceResultSet.java | 2 +- src/typinferenz/Overloading.java | 5 ++- src/typinferenz/SingleConstraint.java | 5 +-- src/typinferenz/TypeInsertable.java | 3 +- .../assumptions/TypeAssumptions.java | 30 +++++++++--------- src/typinferenz/exceptions/ParserError.java | 12 +++++++ .../exceptions/ParserException.java | 16 ---------- .../exceptions/TypeinferenceException.java | 31 +++++++++++++++++++ .../exceptions/TypinferenzException.java | 13 -------- src/userinterface/ConsoleInterface.java | 4 +-- test/plugindevelopment/TRMEqualTest.java | 6 ++++ 27 files changed, 163 insertions(+), 85 deletions(-) create mode 100644 src/typinferenz/exceptions/ParserError.java delete mode 100644 src/typinferenz/exceptions/ParserException.java create mode 100755 src/typinferenz/exceptions/TypeinferenceException.java delete mode 100755 src/typinferenz/exceptions/TypinferenzException.java diff --git a/src/mycompiler/MyCompiler.java b/src/mycompiler/MyCompiler.java index b1ed25a04..cd6c03680 100755 --- a/src/mycompiler/MyCompiler.java +++ b/src/mycompiler/MyCompiler.java @@ -46,8 +46,9 @@ import typinferenz.FunNInterface; import typinferenz.ResultSet; // ino.end import typinferenz.assumptions.TypeAssumptions; -import typinferenz.exceptions.ParserException; -import typinferenz.exceptions.TypinferenzException; +import typinferenz.exceptions.DebugException; +import typinferenz.exceptions.ParserError; +import typinferenz.exceptions.TypeinferenceException; @@ -756,7 +757,7 @@ public class MyCompiler implements MyCompilerAPI /** * Parst den Inhalt einer Datei zu einem Syntaxbaum. */ - private SourceFile parse2SyntaxTree(Reader fileContent){ + private SourceFile parse2SyntaxTree(Reader fileContent) throws ParserError{ //StringReader reader = new StringReader(fileContent); ////////////////////////////////////// @@ -773,7 +774,7 @@ public class MyCompiler implements MyCompilerAPI srcFile = (SourceFile) parser.yyparse( scanner ); } catch (IOException | yyException e) { e.printStackTrace(); - if(e instanceof yyException)throw new ParserException((yyException)e); + if(e instanceof yyException)throw new ParserError((yyException)e); } ////////////////////////////////////// // Postprocessing: @@ -786,7 +787,7 @@ public class MyCompiler implements MyCompilerAPI /** * Diese Funktion nimmt einen Vector von Dateinamen. Alle diese Dateien werden zu einem SyntaxBaum geparst. */ - public void parse(Vector filenames) { + public void parse(Vector filenames) throws ParserError { for(String filename : filenames){ StringBuffer fileData = new StringBuffer(); @@ -795,7 +796,7 @@ public class MyCompiler implements MyCompilerAPI reader = new BufferedReader( new FileReader(filename)); } catch (FileNotFoundException e) { - throw new TypinferenzException("Die Datei "+ filename+" konnte nicht gelesen werden."); + throw new DebugException("Die Datei "+ filename+" konnte nicht gelesen werden."); } char[] buf = new char[1024]; int numRead=0; diff --git a/src/mycompiler/MyCompilerAPI.java b/src/mycompiler/MyCompilerAPI.java index e990ba46a..d75cbd4d5 100755 --- a/src/mycompiler/MyCompilerAPI.java +++ b/src/mycompiler/MyCompilerAPI.java @@ -9,6 +9,8 @@ import java.io.IOException; import java.util.Vector; import typinferenz.ResultSet; +import typinferenz.exceptions.ParserError; +import typinferenz.exceptions.TypeinferenceException; import mycompiler.mybytecode.ClassFile; import mycompiler.myexception.CTypeReconstructionException; import mycompiler.myexception.JVMCodeException; @@ -84,7 +86,7 @@ public interface MyCompilerAPI // ino.end // ino.method.typeReconstruction.21340.declaration public Vector typeReconstruction() - throws NullPointerException, CTypeReconstructionException; + throws NullPointerException, TypeinferenceException; // ino.end // ino.method.codeGeneration.21346.decldescription type=javadoc @@ -125,14 +127,14 @@ public interface MyCompilerAPI * Parst zusammenhängende JavaKlassen in verschiedenen Dateien. * @param filenames - Eine Liste von Quellcodedateien, welche gseparst werden sollen */ - public void parse(Vector filenames); + public void parse(Vector filenames) throws ParserError; /** * Parst den SourceCode einer Datei. * @param sourceCode - SourceCode einer Java-Quellcodedatei * @return den aus dem sourceCode generierten Syntaxbaum */ - public SourceFile parse(String sourceCode); + public SourceFile parse(String sourceCode) throws ParserError; } // ino.end diff --git a/src/mycompiler/SourceFile.java b/src/mycompiler/SourceFile.java index 24b5c89d9..8370cd50f 100755 --- a/src/mycompiler/SourceFile.java +++ b/src/mycompiler/SourceFile.java @@ -58,7 +58,8 @@ import typinferenz.assumptions.ClassAssumption; import typinferenz.assumptions.MethodAssumption; import typinferenz.assumptions.ParameterAssumption; import typinferenz.assumptions.TypeAssumptions; -import typinferenz.exceptions.TypinferenzException; +import typinferenz.exceptions.DebugException; +import typinferenz.exceptions.TypeinferenceException; @@ -1584,7 +1585,7 @@ public class SourceFile @Override public void parserPostProcessing(SyntaxTreeNode parent) { - if(parent!=null)throw new TypinferenzException("Eine SourceFile hat keine Elternelement im Syntaxbaum"); + if(parent!=null)throw new DebugException("Eine SourceFile hat kein Elternelement im Syntaxbaum"); super.parserPostProcessing(parent); //for(SyntaxTreeNode node : this.getChildren())node.parserPostProcessing(this); } diff --git a/src/mycompiler/SyntaxTreeNode.java b/src/mycompiler/SyntaxTreeNode.java index e609d76ec..f0110158d 100644 --- a/src/mycompiler/SyntaxTreeNode.java +++ b/src/mycompiler/SyntaxTreeNode.java @@ -2,7 +2,8 @@ package mycompiler; import java.util.Vector; -import typinferenz.exceptions.TypinferenzException; +import typinferenz.exceptions.DebugException; +import typinferenz.exceptions.TypeinferenceException; import mycompiler.myclass.Class; import mycompiler.mytype.GenericTypeVar; @@ -33,7 +34,7 @@ public abstract class SyntaxTreeNode { public Class getParentClass(){ SyntaxTreeNode parent = this.getParent(); if(parent instanceof Class)return (Class)parent; - if(parent == null)throw new TypinferenzException("Das Wurzelelement eines Syntaxbaumes muss Class sein"); + if(parent == null)throw new DebugException("Das Wurzelelement eines Syntaxbaumes muss Class sein"); return parent.getParentClass(); } diff --git a/src/mycompiler/myclass/Class.java b/src/mycompiler/myclass/Class.java index cf07b8b66..957112849 100755 --- a/src/mycompiler/myclass/Class.java +++ b/src/mycompiler/myclass/Class.java @@ -70,7 +70,7 @@ import typinferenz.UndConstraint; import typinferenz.FunN; import typinferenz.assumptions.ClassAssumption; import typinferenz.assumptions.TypeAssumptions; -import typinferenz.exceptions.TypinferenzException; +import typinferenz.exceptions.TypeinferenceException; import typinferenz.*; @@ -407,7 +407,7 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface * -Rückgabetyp der Methode/Konstruktors ist der Typ der Klasse * -Ein Konstruktor kann nicht aufgerufen werden (nur mit new) */ - if(m.get_Method_Name().equals(""))throw new TypinferenzException(" ist kein gültiger Methodenname"); + if(m.get_Method_Name().equals(""))throw new TypeinferenceException(" ist kein gültiger Methodenname", m); if((m.get_Method_Name().equals(this.getName()))) { Constructor constructor = new Constructor(m); tempFields.add(constructor); //Den Konstruktor anstatt der Methode anfügen diff --git a/src/mycompiler/myclass/Constructor.java b/src/mycompiler/myclass/Constructor.java index c811a1a22..0eb22ef34 100644 --- a/src/mycompiler/myclass/Constructor.java +++ b/src/mycompiler/myclass/Constructor.java @@ -18,7 +18,7 @@ import typinferenz.SingleConstraint; import typinferenz.assumptions.ConstructorAssumption; import typinferenz.assumptions.MethodAssumption; import typinferenz.assumptions.TypeAssumptions; -import typinferenz.exceptions.TypinferenzException; +import typinferenz.exceptions.TypeinferenceException; public class Constructor extends Method { private Method methode; @@ -265,7 +265,7 @@ public class Constructor extends Method { @Override public void setType(Type t) { - throw new TypinferenzException("Einem Konstruktor kann kein Typ zugewiesen werden"); + throw new TypeinferenceException("Einem Konstruktor kann kein Typ zugewiesen werden", this); //this.methode.setType(t); } diff --git a/src/mycompiler/myclass/FieldDeclaration.java b/src/mycompiler/myclass/FieldDeclaration.java index 948035933..a878284a5 100644 --- a/src/mycompiler/myclass/FieldDeclaration.java +++ b/src/mycompiler/myclass/FieldDeclaration.java @@ -9,7 +9,7 @@ import typinferenz.ResultSet; import typinferenz.SingleConstraint; import typinferenz.assumptions.FieldAssumption; import typinferenz.assumptions.TypeAssumptions; -import typinferenz.exceptions.TypinferenzException; +import typinferenz.exceptions.TypeinferenceException; import mycompiler.SyntaxTreeNode; import mycompiler.mybytecode.ClassFile; import mycompiler.myexception.JVMCodeException; @@ -90,7 +90,7 @@ public class FieldDeclaration extends Field{ * Der Feld-Assumption muss ein TPH als Typ hinzugefügt werden, falls er Typlos initialisiert wurde. Dies kann auch der Type-Algorithmus der Inst/FieldVar - Klasse machen. * Wird das Feld mit einem Typ initialisiert so muss dieser auch in die Assumptions. */ - if(this.getType() == null)throw new TypinferenzException("Der Typ eines Feldes darf nicht null sein"); + if(this.getType() == null)throw new TypeinferenceException("Der Typ eines Feldes darf nicht null sein", this); //assumptions.add(TypeAssumptions.createFieldVarAssumption(classmember.getName(), this.getName(), this.getType())); assumptions.addAssumption(new FieldAssumption(this,classmember)); return assumptions; @@ -134,7 +134,15 @@ public class FieldDeclaration extends Field{ GenericTypeVar gtv = (GenericTypeVar) this.getType(); } */ - if(this.getType()!=null && (this.getType() instanceof RefType))this.setType(publicAssumptions.getTypeFor((RefType)this.getType())); + + //TypeCheck, falls es sich um einen RefType handelt: + if(this.getType()!=null && (this.getType() instanceof RefType)){ + Type replaceType = null; + replaceType = publicAssumptions.getTypeFor((RefType)this.getType()); + if(replaceType == null)throw new TypeinferenceException("Der Typ "+this.getType().getName()+" ist nicht korrekt",this); + this.setType(replaceType); + } + SingleConstraint c1 = new SingleConstraint(this.getType(), this.getType()); ret.add(c1); //Damit die TypVariable des Felds in den Constraints auftaucht diff --git a/src/mycompiler/myclass/FormalParameter.java b/src/mycompiler/myclass/FormalParameter.java index 3ac257cc8..ee1d9d869 100755 --- a/src/mycompiler/myclass/FormalParameter.java +++ b/src/mycompiler/myclass/FormalParameter.java @@ -32,7 +32,7 @@ import typinferenz.ResultSet; import typinferenz.TypeInsertPoint; import typinferenz.Typeable; import typinferenz.TypeInsertable; -import typinferenz.exceptions.TypinferenzException; +import typinferenz.exceptions.TypeinferenceException; // ino.class.FormalParameter.23391.declaration public class FormalParameter extends SyntaxTreeNode implements ITypeReplacementListener, Typeable, TypeInsertable @@ -127,7 +127,7 @@ public class FormalParameter extends SyntaxTreeNode implements ITypeReplacementL public String getTypeName() // ino.end // ino.method.getTypeName.23416.body - { + { if(this.getType() == null)return ""; return this.getType().getName(); } // ino.end @@ -263,5 +263,14 @@ public class FormalParameter extends SyntaxTreeNode implements ITypeReplacementL } + @Override + public int getVariableLength() { + int ret = 0; + ret += this.getTypeName().length(); + ret +=this.getIdentifier().length(); + return ret; + } + + } // ino.end diff --git a/src/mycompiler/myclass/Method.java b/src/mycompiler/myclass/Method.java index 23f0c5534..0f8141ba5 100755 --- a/src/mycompiler/myclass/Method.java +++ b/src/mycompiler/myclass/Method.java @@ -41,6 +41,7 @@ import typinferenz.TypeInsertable; import typinferenz.assumptions.MethodAssumption; import typinferenz.assumptions.ParameterAssumption; import typinferenz.assumptions.TypeAssumptions; +import typinferenz.exceptions.TypeinferenceException; @@ -541,15 +542,30 @@ public class Method extends Field implements IItemWithOffset, TypeInsertable public ConstraintsSet TYPE(TypeAssumptions ass) { - if((this.returntype instanceof RefType) && - !(this.returntype instanceof mycompiler.mytype.Void))//Sonderfall der Methode: Ihr Typ darf Void definiert werden. - this.returntype = ass.getTypeFor((RefType)this.returntype); + //TypeCheck, falls es sich um einen RefType handelt: + if(this.returntype!=null && (this.returntype instanceof RefType)&& + !(this.returntype instanceof mycompiler.mytype.Void)){//Sonderfall der Methode: Ihr Typ darf Void definiert werden. + Type replaceType = null; + replaceType = ass.getTypeFor((RefType)this.returntype); + if(replaceType == null)throw new TypeinferenceException("Der Typ "+this.getType().getName()+" ist nicht korrekt",this); + this.returntype = replaceType; + } ConstraintsSet ret = new ConstraintsSet(); TypeAssumptions localAss = new TypeAssumptions(); localAss.add(ass); //Die globalen Assumptions anhängen //Die Parameter zu den Assumptions hinzufügen: if(this.parameterlist!=null)for(FormalParameter param : this.parameterlist){ - if(param.getType() instanceof RefType)param.setType(ass.getTypeFor((RefType)param.getType())); + + + if(param.getType() instanceof RefType) + { + Type replaceType = null; + replaceType = ass.getTypeFor((RefType)param.getType()); + if(replaceType == null)throw new TypeinferenceException("Der Typ "+this.getType().getName()+" ist nicht korrekt",param); + param.setType(replaceType); + } + + localAss.addAssumption(new ParameterAssumption(param)); } ret.add(this.block.TYPEStmt(localAss)); diff --git a/src/mycompiler/myclass/UsedId.java b/src/mycompiler/myclass/UsedId.java index b6f022da4..b367580e5 100755 --- a/src/mycompiler/myclass/UsedId.java +++ b/src/mycompiler/myclass/UsedId.java @@ -7,7 +7,7 @@ import java.util.Vector; import typinferenz.JavaCodeResult; import typinferenz.ResultSet; -import typinferenz.exceptions.TypinferenzException; +import typinferenz.exceptions.TypeinferenceException; import mycompiler.IItemWithOffset; import mycompiler.mybytecode.JVMCode; import mycompiler.mytype.Type; @@ -312,7 +312,7 @@ public class UsedId implements IItemWithOffset // ino.end public JavaCodeResult printJavaCode(ResultSet resultSet) { - if(this.name.size()>1)throw new TypinferenzException("Es kann maximal nur eine Superklasse pro Klasse geben"); + if(this.name.size()>1)throw new TypeinferenceException("Es kann maximal nur eine Superklasse pro Klasse geben", this); JavaCodeResult ret = new JavaCodeResult(this.getQualifiedName()); if(this.paralist != null){ ret.attach( "<" ); diff --git a/src/mycompiler/mystatement/Block.java b/src/mycompiler/mystatement/Block.java index 9546246d6..f0eeda9fc 100755 --- a/src/mycompiler/mystatement/Block.java +++ b/src/mycompiler/mystatement/Block.java @@ -40,7 +40,7 @@ import typinferenz.ConstraintsSet; import typinferenz.FreshTypeVariable; import typinferenz.ResultSet; import typinferenz.assumptions.TypeAssumptions; -import typinferenz.exceptions.TypinferenzException; +import typinferenz.exceptions.TypeinferenceException; @@ -236,7 +236,7 @@ public class Block extends Statement if (!(stmt.getType() instanceof Void)) if (this.getType() instanceof Void) { //this.setTypeVariable(stmt.getTypeVariable()); - throw new TypinferenzException("Falscher Return Type"); + throw new TypeinferenceException("Block besitzt falschen Rückgabetyp (fehlendes return-stmt)", this); } else { TypePlaceholder tph = TypePlaceholder.fresh(this); diff --git a/src/mycompiler/mystatement/LambdaExpression.java b/src/mycompiler/mystatement/LambdaExpression.java index 7a2adac5a..1df56c084 100755 --- a/src/mycompiler/mystatement/LambdaExpression.java +++ b/src/mycompiler/mystatement/LambdaExpression.java @@ -12,7 +12,7 @@ import typinferenz.ResultSet; import typinferenz.Typeable; import typinferenz.assumptions.ParameterAssumption; import typinferenz.assumptions.TypeAssumptions; -import typinferenz.exceptions.TypinferenzException; +import typinferenz.exceptions.TypeinferenceException; import mycompiler.SyntaxTreeNode; import mycompiler.mybytecode.ClassFile; import mycompiler.mybytecode.CodeAttribute; @@ -171,7 +171,7 @@ public class LambdaExpression extends Expr{ @Override public ConstraintsSet TYPEStmt(TypeAssumptions ass){ - throw new TypinferenzException("Eine LambdaExpression darf nicht als Statement verwendet werden."); + throw new TypeinferenceException("Eine LambdaExpression darf nicht als Statement verwendet werden.", this); } @Override diff --git a/src/mycompiler/mystatement/LocalOrFieldVar.java b/src/mycompiler/mystatement/LocalOrFieldVar.java index 4efc34d4b..53958a980 100755 --- a/src/mycompiler/mystatement/LocalOrFieldVar.java +++ b/src/mycompiler/mystatement/LocalOrFieldVar.java @@ -34,6 +34,7 @@ import org.apache.log4j.Logger; + import sun.reflect.generics.reflectiveObjects.NotImplementedException; import typinferenz.JavaCodeResult; import typinferenz.SingleConstraint; @@ -41,6 +42,7 @@ import typinferenz.ConstraintsSet; import typinferenz.FreshTypeVariable; import typinferenz.ResultSet; import typinferenz.assumptions.TypeAssumptions; +import typinferenz.exceptions.TypeinferenceException; @@ -207,6 +209,7 @@ public class LocalOrFieldVar extends Expr ConstraintsSet ret = new ConstraintsSet(); //gibt es eine Assumption für den die LocalOrFieldVar-Variablen, dann folgendes ausführen: Type thisTypeAssumption = assumptions.getVarType(this.get_Name(), this.getParentClass()); + if(thisTypeAssumption == null)throw new TypeinferenceException("Eine Variable "+this.get_Name()+" ist in den Assumptions nicht vorhanden",this); this.setType(thisTypeAssumption); //ret.add(new Constraint(thisTypeAssumption, this.getTypeVariable())); return ret; diff --git a/src/mycompiler/mystatement/LocalVarDecl.java b/src/mycompiler/mystatement/LocalVarDecl.java index a5b8f5378..370360d77 100755 --- a/src/mycompiler/mystatement/LocalVarDecl.java +++ b/src/mycompiler/mystatement/LocalVarDecl.java @@ -40,6 +40,7 @@ import org.apache.log4j.Logger; + import typinferenz.ConstraintsSet; import typinferenz.FreshTypeVariable; import typinferenz.JavaCodeResult; @@ -48,6 +49,7 @@ import typinferenz.TypeInsertPoint; import typinferenz.TypeInsertable; import typinferenz.assumptions.LocalVarAssumption; import typinferenz.assumptions.TypeAssumptions; +import typinferenz.exceptions.TypeinferenceException; @@ -463,7 +465,12 @@ public class LocalVarDecl extends Statement implements TypeInsertable @Override public ConstraintsSet TYPEStmt(TypeAssumptions assumptions) { ConstraintsSet ret = new ConstraintsSet(); - if((this.getType() instanceof RefType))this.setType(assumptions.getTypeFor((RefType)this.getType())); + if((this.getType() instanceof RefType)){ + Type replaceType = null; + replaceType = assumptions.getTypeFor((RefType)this.getType()); + if(replaceType == null)throw new TypeinferenceException("Der Typ "+this.getType().getName()+" ist nicht korrekt",this); + this.setType(replaceType); + } assumptions.addAssumption(new LocalVarAssumption(this)); //assumptions.remove(null); // falls Variable mit diesem Namen bereits vorhanden. this.setType(new Void(0)); //Return typ einer Variablendeklaration ist Void diff --git a/src/mycompiler/mystatement/StringLiteral.java b/src/mycompiler/mystatement/StringLiteral.java index fd9416a18..247f8483c 100755 --- a/src/mycompiler/mystatement/StringLiteral.java +++ b/src/mycompiler/mystatement/StringLiteral.java @@ -27,10 +27,12 @@ import org.apache.log4j.Logger; + import typinferenz.ConstraintsSet; import typinferenz.JavaCodeResult; import typinferenz.ResultSet; import typinferenz.assumptions.TypeAssumptions; +import typinferenz.exceptions.TypeinferenceException; @@ -138,6 +140,7 @@ public class StringLiteral extends Literal @Override public ConstraintsSet TYPEExpr(TypeAssumptions assumptions) { this.set_Type(assumptions.getTypeFor(new RefType("String",0))); + if(this.getType() == null)throw new TypeinferenceException("java.lang.String nicht importiert",this); return new ConstraintsSet(); } diff --git a/src/mycompiler/mytest/LambdaTest.java b/src/mycompiler/mytest/LambdaTest.java index 5b3424e92..a86bcf755 100755 --- a/src/mycompiler/mytest/LambdaTest.java +++ b/src/mycompiler/mytest/LambdaTest.java @@ -16,7 +16,7 @@ import org.apache.log4j.PatternLayout; import org.apache.log4j.SimpleLayout; import typinferenz.assumptions.TypeAssumptions; -import typinferenz.exceptions.TypinferenzException; +import typinferenz.exceptions.TypeinferenceException; import mycompiler.MyCompiler; import mycompiler.MyCompilerAPI; import mycompiler.mytype.Type; @@ -145,7 +145,7 @@ public class LambdaTest { ///////////////////////// try{ resultSet = compiler.typeReconstruction(); - }catch(TypinferenzException texc){ + }catch(TypeinferenceException texc){ texc.printStackTrace(); fail("Fehler bei Typinferenzalgorithmus. Message: "+texc.getMessage()); } diff --git a/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java b/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java index a28154552..1eeef9998 100755 --- a/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java +++ b/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java @@ -12,7 +12,7 @@ import typinferenz.ResultSet; import typinferenz.TypeInsertPoint; import typinferenz.TypeInsertSet; import typinferenz.assumptions.TypeAssumptions; -import typinferenz.exceptions.TypinferenzException; +import typinferenz.exceptions.TypeinferenceException; import mycompiler.mytype.GenericTypeVar; import mycompiler.mytype.Pair; import mycompiler.mytype.RefType; diff --git a/src/typinferenz/Overloading.java b/src/typinferenz/Overloading.java index bcfd04b10..d371e2f75 100755 --- a/src/typinferenz/Overloading.java +++ b/src/typinferenz/Overloading.java @@ -4,6 +4,7 @@ import java.util.Vector; import typinferenz.assumptions.MethodAssumption; import typinferenz.assumptions.TypeAssumptions; +import typinferenz.exceptions.TypeinferenceException; import mycompiler.mystatement.Expr; import mycompiler.mystatement.MethodCall; import mycompiler.mytype.RefType; @@ -60,7 +61,9 @@ public class Overloading{ for(Expr argument : methodCall.getArgumentList().expr){ parameterList.add(argument.getType()); } - for(MethodAssumption methodAssumption : assumptions.getMethodAssumptions(methodCall.getName(), parameterList)){ + Vector methodAssumptions = assumptions.getMethodAssumptions(methodCall.getName(), parameterList); + if(methodAssumptions.size()==0)throw new TypeinferenceException("Eine Methode "+methodCall.get_Name()+" ist in den Assumptions nicht vorhanden", methodCall); + for(MethodAssumption methodAssumption : methodAssumptions){ if(!(this.type instanceof TypePlaceholder) && !this.type.equals(methodAssumption.getAssumedType()))break; UndConstraint methodConstraint = new UndConstraint(); //Ein Constraint für den ReturnType der Methode... diff --git a/src/typinferenz/SingleConstraint.java b/src/typinferenz/SingleConstraint.java index 650b6da97..5dc0f984f 100755 --- a/src/typinferenz/SingleConstraint.java +++ b/src/typinferenz/SingleConstraint.java @@ -2,7 +2,8 @@ package typinferenz; import java.util.Vector; -import typinferenz.exceptions.TypinferenzException; +import typinferenz.exceptions.DebugException; +import typinferenz.exceptions.TypeinferenceException; import mycompiler.mytype.GenericTypeVar; import mycompiler.mytype.Pair; import mycompiler.mytype.RefType; @@ -43,7 +44,7 @@ public class SingleConstraint extends UndConstraint{ } public void addConstraint(Pair toAdd){ - if(constraintPair != null)throw new TypinferenzException("Ein Constraint darf nur aus einem ConstraintPair bestehen. Das hinzufügen von "+ toAdd + " ist nicht möglich."); + if(constraintPair != null)throw new DebugException("Ein Constraint darf nur aus einem ConstraintPair bestehen. Das hinzufügen von "+ toAdd + " ist nicht möglich."); Type p1 = toAdd.TA1; Type p2 = toAdd.TA2; diff --git a/src/typinferenz/TypeInsertable.java b/src/typinferenz/TypeInsertable.java index 369d4c47d..c7d9fe084 100644 --- a/src/typinferenz/TypeInsertable.java +++ b/src/typinferenz/TypeInsertable.java @@ -1,9 +1,10 @@ package typinferenz; +import mycompiler.IItemWithOffset; import mycompiler.mytype.TypePlaceholder; import mycompiler.mytypereconstruction.replacementlistener.ITypeReplacementListener; -public interface TypeInsertable extends ITypeReplacementListener, Typeable { +public interface TypeInsertable extends ITypeReplacementListener, Typeable, IItemWithOffset { public int getOffset(); public void setOffset(int offset); diff --git a/src/typinferenz/assumptions/TypeAssumptions.java b/src/typinferenz/assumptions/TypeAssumptions.java index 447c987da..b171ff269 100755 --- a/src/typinferenz/assumptions/TypeAssumptions.java +++ b/src/typinferenz/assumptions/TypeAssumptions.java @@ -10,7 +10,7 @@ import sun.reflect.generics.reflectiveObjects.NotImplementedException; import typinferenz.FunN; import typinferenz.FunNInterface; import typinferenz.FunNMethod; -import typinferenz.exceptions.TypinferenzException; +import typinferenz.exceptions.TypeinferenceException; import mycompiler.mytype.GenericTypeVar; import mycompiler.mytype.RefType; import mycompiler.mytype.Type; @@ -81,11 +81,18 @@ public class TypeAssumptions { return ret; } + /** + * Liefert den Typ einer Feldvariable der Klasse inClass + * @param withName + * @param inClass + * @return null, falls die Klasse kein zugängliches Feld enthält + */ public Type getTypeOfFieldVar(String withName, Class inClass){ for(FieldAssumption fa : this.getFieldVars(withName)){ if(fa.getParentClass().equals(inClass))return fa.getAssumedType(); } - throw new TypinferenzException("Das Feld "+withName+" ist in der Klasse "+inClass.getName()+" nicht vorhanden."); + //throw new TypeinferenceException("Das Feld "+withName+" ist in der Klasse "+inClass.getName()+" nicht vorhanden."); + return null; } /** @@ -137,7 +144,7 @@ public class TypeAssumptions { // MethodAssumption funNAssumption = new MethodAssumption(new FunNMethod(parameterCount), new FunNInterface(parameter)); // ret.add(funNAssumption); //} - if(ret.size()==0)throw new TypinferenzException("Eine Methode "+methodName+" ist in den Assumptions nicht vorhanden"); + //if(ret.size()==0)throw new TypeinferenceException("Eine Methode "+methodName+" ist in den Assumptions nicht vorhanden"); return ret; } @@ -147,7 +154,7 @@ public class TypeAssumptions { * In den Assumptions wird dann in der Reihenfolge LocalVarAssumptions, FieldAssumption nach dem übergebenen Variablennamen gesucht. * @param variableName - der Identifier der gesuchten Variablen * @param inScope - Sucht auch die Felder der übergebenen Klasse ab. Hier kann auch null übergeben werden, dann werden nur die Lokalen Variablen dieser TypeAssumption durchsucht. - * @return - Der Typ für diesen Identifier + * @return - Der Typ für diesen Identifier, oder null, falls kein Typ vorliegt. */ public Type getVarType(String variableName, Class inScope){ //Zuerst die Parameter durchsuchen @@ -166,7 +173,8 @@ public class TypeAssumptions { } } //Wird keine Assumption gefunden, muss ein Fehler vorliegen: - throw new TypinferenzException("Eine Variable "+variableName+" ist in den Assumptions nicht vorhanden"); + //throw new TypeinferenceException("Eine Variable "+variableName+" ist in den Assumptions nicht vorhanden"); + return null; } /** @@ -271,20 +279,14 @@ public class TypeAssumptions { return ret; } - @Deprecated - public Type getThisValue2() { - if(thisClassName == null)throw new TypinferenzException("Kein Wert für this vorhanden, in diesem Kontext"); - return new RefType(thisClassName, 0); - } /** * Kontrolliert den vom Parser gesetzten Typ. * Erweitert dessen Bezeichnung, wenn nötig. * @param t - * @return - * @throws TypinferenzException + * @return null, falls der Typ nicht vorhanden ist. */ - public Type getTypeFor(RefType t) throws TypinferenzException{ + public Type getTypeFor(RefType t){ //TODO: Die Parameterliste noch kontrollieren: (hier könnte es Constraints geben: "? extends String") //Alle bekannten Klassen nach diesem Typ durchsuchen: String typName = t.getName(); @@ -306,7 +308,7 @@ public class TypeAssumptions { return ret; } } - throw new TypinferenzException("Der Typ "+t.getName()+" ist nicht korrekt"); + return null; } /** diff --git a/src/typinferenz/exceptions/ParserError.java b/src/typinferenz/exceptions/ParserError.java new file mode 100644 index 000000000..0a35447ac --- /dev/null +++ b/src/typinferenz/exceptions/ParserError.java @@ -0,0 +1,12 @@ +package typinferenz.exceptions; + +import mycompiler.myparser.JavaParser.yyException; + + +public class ParserError extends TypeinferenceException{ + + public ParserError(yyException exc){ + super(exc.getMessage(), exc.token.getOffset()); + } + +} diff --git a/src/typinferenz/exceptions/ParserException.java b/src/typinferenz/exceptions/ParserException.java deleted file mode 100644 index 70102c11f..000000000 --- a/src/typinferenz/exceptions/ParserException.java +++ /dev/null @@ -1,16 +0,0 @@ -package typinferenz.exceptions; - -import mycompiler.myparser.JavaParser.yyException; - - -public class ParserException extends TypinferenzException { - - public ParserException(String message) { - super(message); - } - - public ParserException(yyException exc){ - super("Parserfehler"); - } - -} diff --git a/src/typinferenz/exceptions/TypeinferenceException.java b/src/typinferenz/exceptions/TypeinferenceException.java new file mode 100755 index 000000000..676496003 --- /dev/null +++ b/src/typinferenz/exceptions/TypeinferenceException.java @@ -0,0 +1,31 @@ +package typinferenz.exceptions; + +import mycompiler.IItemWithOffset; + +/** + * Eine RuntimeException, welche bei einem Fehler während des Typinferenzalgorithmus ausgelöst wird. + * Dies wird zum Beispiel durch Programmierfehler in der Java-Eingabedatei ausgelöst. + * @author Andreas Stadelmeier, a10023 + * + */ +//TODO: Diese Klasse muss von Exception erben +public class TypeinferenceException extends RuntimeException { + + /** + * Das Offset im Quelltext bei dem das Problem aufgetaucht ist + */ + private int offset; + private String message; + + public TypeinferenceException(String message, IItemWithOffset problemSource) + { + super(message); + this.message=message; + this.offset=problemSource.getOffset(); + } + + public TypeinferenceException(String message, int offset){ + this.message=message; + } + +} diff --git a/src/typinferenz/exceptions/TypinferenzException.java b/src/typinferenz/exceptions/TypinferenzException.java deleted file mode 100755 index 0146c4be8..000000000 --- a/src/typinferenz/exceptions/TypinferenzException.java +++ /dev/null @@ -1,13 +0,0 @@ -package typinferenz.exceptions; - -/** - * Eine RuntimeException, welche bei einem Fehler während des Typinferenzalgorithmus ausgelöst wird. - * Dies wird zum Beispiel durch Programmierfehler in der Java-Eingabedatei ausgelöst. - * @author Andreas Stadelmeier, a10023 - * - */ -public class TypinferenzException extends RuntimeException { - public TypinferenzException(String message){ - super(message); - } -} diff --git a/src/userinterface/ConsoleInterface.java b/src/userinterface/ConsoleInterface.java index 4e1c43602..b009508d1 100755 --- a/src/userinterface/ConsoleInterface.java +++ b/src/userinterface/ConsoleInterface.java @@ -8,7 +8,7 @@ import java.util.Vector; import mycompiler.MyCompiler; import mycompiler.MyCompilerAPI; import mycompiler.mytypereconstruction.TypeinferenceResultSet; -import typinferenz.exceptions.TypinferenzException; +import typinferenz.exceptions.TypeinferenceException; import java.util.*; @@ -45,7 +45,7 @@ public class ConsoleInterface { ///////////////////////// try{ resultSet = compiler.typeReconstruction(); - }catch(TypinferenzException texc){ + }catch(TypeinferenceException texc){ texc.printStackTrace(); fail("Fehler bei Typinferenzalgorithmus. Message: "+texc.getMessage()); } diff --git a/test/plugindevelopment/TRMEqualTest.java b/test/plugindevelopment/TRMEqualTest.java index 4c173310c..73ade1a3e 100644 --- a/test/plugindevelopment/TRMEqualTest.java +++ b/test/plugindevelopment/TRMEqualTest.java @@ -110,6 +110,12 @@ class TestNode implements TypeInsertable{ ResultSet resultSet) { return new TypeInsertPoint(tph, this, resultSet.getTypeEqualTo(tph), resultSet); } + + @Override + public int getVariableLength() { + // TODO Auto-generated method stub + return 0; + } } From 1005dabacb0dbe8f683fd3e55a127db311ecbea8 Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Wed, 16 Apr 2014 16:02:16 +0200 Subject: [PATCH 49/79] GenerischeTypvariablen werden beim Einsetzen in den Quelltext mit eingesetzt --- src/mycompiler/myclass/Class.java | 22 ++++++-- src/mycompiler/myclass/Field.java | 2 +- src/mycompiler/myclass/FormalParameter.java | 2 +- .../mystatement/LambdaExpression.java | 1 + src/mycompiler/mystatement/LocalVarDecl.java | 2 +- .../mytype/BoundedGenericTypeVar.java | 4 ++ src/mycompiler/mytype/GenericTypeVar.java | 22 +++++--- src/mycompiler/mytype/RefType.java | 21 +++++++- src/mycompiler/mytype/Type.java | 14 +++++ src/mycompiler/mytype/TypePlaceholder.java | 10 ++++ .../TypeinferenceResultSet.java | 4 +- src/typinferenz/ResultSet.java | 26 +++++++++ src/typinferenz/TypeInsertPoint.java | 54 ++++++++++++++----- src/typinferenz/TypeInsertSet.java | 42 ++++++++++++++- .../exceptions/DebugException.java | 7 +++ .../exceptions/TypeinferenceException.java | 12 +++++ .../TypeInsertTests/GenericVarInsertTest.jav | 3 ++ .../TypeInsertTests/GenericVarInsertTest.java | 16 ++++++ 18 files changed, 230 insertions(+), 34 deletions(-) create mode 100644 src/typinferenz/exceptions/DebugException.java create mode 100644 test/plugindevelopment/TypeInsertTests/GenericVarInsertTest.jav create mode 100644 test/plugindevelopment/TypeInsertTests/GenericVarInsertTest.java diff --git a/src/mycompiler/myclass/Class.java b/src/mycompiler/myclass/Class.java index 957112849..97692dac1 100755 --- a/src/mycompiler/myclass/Class.java +++ b/src/mycompiler/myclass/Class.java @@ -10,6 +10,7 @@ import java.util.Iterator; import java.util.Vector; import mycompiler.AClassOrInterface; +import mycompiler.IItemWithOffset; import mycompiler.SyntaxTreeNode; import mycompiler.mybytecode.ClassFile; import mycompiler.myexception.CTypeReconstructionException; @@ -60,6 +61,7 @@ import org.apache.log4j.Logger; + import sun.reflect.generics.reflectiveObjects.NotImplementedException; import typinferenz.ConstraintsSet; import typinferenz.JavaCodeResult; @@ -75,7 +77,7 @@ import typinferenz.*; // ino.class.Class.23010.declaration -public class Class extends SyntaxTreeNode implements AClassOrInterface +public class Class extends SyntaxTreeNode implements AClassOrInterface, IItemWithOffset // ino.end // ino.class.Class.23010.body { @@ -1209,7 +1211,7 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface public void createGenericTypeVars(Vector tphs){ this.genericClassParameters = new Vector(); for(TypePlaceholder tph : tphs){ - GenericTypeVar toAdd = new GenericTypeVar(tph); + GenericTypeVar toAdd = new GenericTypeVar(tph,this.getOffset()); if(!this.genericClassParameters.contains(toAdd))this.genericClassParameters.add(toAdd); } } @@ -1225,7 +1227,7 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface if(pair.TA2 instanceof TypePlaceholder && pair.TA1 instanceof TypePlaceholder){// if(pair.OperatorSmallerExtends() || pair.OperatorSmaller()){ Type ta1=reconstructionResult.getUnifiedConstraints().getTypeEqualTo(pair.TA1); Type ta2=reconstructionResult.getUnifiedConstraints().getTypeEqualTo(pair.TA2); - this.genericClassParameters.add(new GenericTypeVar(new Pair(ta1,ta2))); + this.genericClassParameters.add(new GenericTypeVar(new Pair(ta1,ta2),this.getOffset())); } /* // Auf SuperWildcardTypes überprüfen: @@ -1239,14 +1241,19 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface for(Pair pair : reconstructionResult.getConstraints()){ if( ! reconstructionResult.getUnifiedConstraints().contains(pair.TA1)){ - this.genericClassParameters.add(new GenericTypeVar(pair.TA1)); + this.genericClassParameters.add(new GenericTypeVar(pair.TA1,this.getOffset())); } if( ! reconstructionResult.getUnifiedConstraints().contains(pair.TA2)){ - this.genericClassParameters.add(new GenericTypeVar(pair.TA2)); + this.genericClassParameters.add(new GenericTypeVar(pair.TA2, this.getOffset())); } } } + public int getOffset(){ + //TODO: richtiges Offset: + return 0; + } + /** * Erstellt einen RefType, welcher auf diese Klasse verweist * Ersetzt alle Generischen Variablen in der Parameterliste mit TPH @@ -1346,5 +1353,10 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface public String getDescription(){ return "class "+this.getName(); } + @Override + public int getVariableLength() { + // TODO Auto-generated method stub + return 0; + } } // ino.end diff --git a/src/mycompiler/myclass/Field.java b/src/mycompiler/myclass/Field.java index 4d5620d11..c736a3514 100644 --- a/src/mycompiler/myclass/Field.java +++ b/src/mycompiler/myclass/Field.java @@ -103,7 +103,7 @@ public abstract class Field extends SyntaxTreeNode implements TypeInsertable, Ty @Override public TypeInsertPoint createTypeInsertPoint(TypePlaceholder tph, ResultSet resultSet) { - return new TypeInsertPoint(tph, this, resultSet.getTypeEqualTo(tph), resultSet); + return new TypeInsertPoint(this, resultSet.getTypeEqualTo(tph), resultSet); } /** diff --git a/src/mycompiler/myclass/FormalParameter.java b/src/mycompiler/myclass/FormalParameter.java index ee1d9d869..06aabbcd6 100755 --- a/src/mycompiler/myclass/FormalParameter.java +++ b/src/mycompiler/myclass/FormalParameter.java @@ -259,7 +259,7 @@ public class FormalParameter extends SyntaxTreeNode implements ITypeReplacementL public TypeInsertPoint createTypeInsertPoint(TypePlaceholder tph, ResultSet resultSet) { if(this.getOffset()<=0)return null; - return new TypeInsertPoint(tph, this, resultSet.getTypeEqualTo(tph), resultSet); + return new TypeInsertPoint(this, resultSet.getTypeEqualTo(tph), resultSet); } diff --git a/src/mycompiler/mystatement/LambdaExpression.java b/src/mycompiler/mystatement/LambdaExpression.java index 1df56c084..b2df8159d 100755 --- a/src/mycompiler/mystatement/LambdaExpression.java +++ b/src/mycompiler/mystatement/LambdaExpression.java @@ -197,6 +197,7 @@ public class LambdaExpression extends Expr{ public Vector getChildren() { Vector ret = new Vector(); ret.add(this.method_body); + for(FormalParameter fp : this.params)ret.add(fp); return ret; } diff --git a/src/mycompiler/mystatement/LocalVarDecl.java b/src/mycompiler/mystatement/LocalVarDecl.java index 370360d77..a96de1d06 100755 --- a/src/mycompiler/mystatement/LocalVarDecl.java +++ b/src/mycompiler/mystatement/LocalVarDecl.java @@ -515,7 +515,7 @@ public class LocalVarDecl extends Statement implements TypeInsertable @Override public TypeInsertPoint createTypeInsertPoint(TypePlaceholder tph, ResultSet resultSet) { - return new TypeInsertPoint(tph, this, resultSet.getTypeEqualTo(tph),resultSet); + return new TypeInsertPoint(this, resultSet.getTypeEqualTo(tph),resultSet); } } // ino.end diff --git a/src/mycompiler/mytype/BoundedGenericTypeVar.java b/src/mycompiler/mytype/BoundedGenericTypeVar.java index c8bbdc175..4d2bd011d 100755 --- a/src/mycompiler/mytype/BoundedGenericTypeVar.java +++ b/src/mycompiler/mytype/BoundedGenericTypeVar.java @@ -5,6 +5,8 @@ package mycompiler.mytype; // ino.module.BoundedGenericTypeVar.8669.import import java.util.Vector; + +import sun.reflect.generics.reflectiveObjects.NotImplementedException; // ino.end // ino.class.BoundedGenericTypeVar.26464.description type=javadoc @@ -39,6 +41,7 @@ public class BoundedGenericTypeVar extends GenericTypeVar // ino.method.BoundedGenericTypeVar.26471.body { super(s, offset); + throw new NotImplementedException(); } // ino.end @@ -49,6 +52,7 @@ public class BoundedGenericTypeVar extends GenericTypeVar { super(s, offset); this.bounds = bounds; + throw new NotImplementedException(); } // ino.end diff --git a/src/mycompiler/mytype/GenericTypeVar.java b/src/mycompiler/mytype/GenericTypeVar.java index db7249833..b8139dbd1 100755 --- a/src/mycompiler/mytype/GenericTypeVar.java +++ b/src/mycompiler/mytype/GenericTypeVar.java @@ -10,9 +10,14 @@ import java.util.Vector; + + +import mycompiler.mytypereconstruction.replacementlistener.CReplaceTypeEvent; import mycompiler.mytypereconstruction.replacementlistener.ITypeReplacementListener; import typinferenz.JavaCodeResult; import typinferenz.ResultSet; +import typinferenz.TypeInsertPoint; +import typinferenz.TypeInsertable; // ino.class.GenericTypeVar.26505.description type=javadoc @@ -42,8 +47,8 @@ public class GenericTypeVar extends Type * * @param genericTypeVarExtendsVar */ - public GenericTypeVar(Pair genericTypeVarExtendsVar){ - super(0); + public GenericTypeVar(Pair genericTypeVarExtendsVar, int offset){ + super(offset); genericTypeVar = genericTypeVarExtendsVar; this.name = genericTypeVar.toString(); } @@ -58,8 +63,8 @@ public class GenericTypeVar extends Type } // ino.end - public GenericTypeVar(Type tA1) { - this(new Pair(tA1,null)); + public GenericTypeVar(Type tA1, int offset) { + this(new Pair(tA1,null),offset); } // ino.method.clone.26512.defdescription type=javadoc @@ -77,7 +82,8 @@ public class GenericTypeVar extends Type } // ino.end - // ino.method.equals.26515.defdescription type=javadoc + + // ino.method.equals.26515.defdescription type=javadoc /** *
Author: J�rg B�uerle * @param obj @@ -146,10 +152,10 @@ public class GenericTypeVar extends Type } public TypePlaceholder getTypePlaceHolder() { - if(!this.tph.containsKey(this)){ - this.tph.put(this, TypePlaceholder.fresh()); + if(!GenericTypeVar.tph.containsKey(this)){ + GenericTypeVar.tph.put(this, TypePlaceholder.fresh()); } - return this.tph.get(this); + return GenericTypeVar.tph.get(this); //if(this.tph == null)this.tph = TypePlaceholder.fresh(); //return this.tph; } diff --git a/src/mycompiler/mytype/RefType.java b/src/mycompiler/mytype/RefType.java index d6b7e4243..1096dd282 100755 --- a/src/mycompiler/mytype/RefType.java +++ b/src/mycompiler/mytype/RefType.java @@ -19,9 +19,11 @@ import org.apache.log4j.Logger; + import sun.reflect.generics.reflectiveObjects.NotImplementedException; import typinferenz.JavaCodeResult; import typinferenz.ResultSet; +import typinferenz.TypeInsertable; @@ -260,7 +262,9 @@ public class RefType extends Type implements IMatchable return getName(); } - // ino.method.getName.26658.definition + + + // ino.method.getName.26658.definition public String getName() // ino.end // ino.method.getName.26658.body @@ -611,7 +615,7 @@ public class RefType extends Type implements IMatchable // ino.end // ino.method.modifyToGenericTypeVar.26694.definition - public GenericTypeVar modifyToGenericTypeVar() + public GenericTypeVar modifyToGenericTypeVar(TypeInsertable parent) // ino.end // ino.method.modifyToGenericTypeVar.26694.body { @@ -742,6 +746,19 @@ public class RefType extends Type implements IMatchable } return ret; } + + @Override + public Vector getUnresolvedTPH(ResultSet resultSet) { + Vector ret = super.getUnresolvedTPH(resultSet); + if(this.parameter!=null)for(Type t : this.parameter){ + if(t instanceof TypePlaceholder){ + TypePlaceholder tph = (TypePlaceholder)t; + Type eq = resultSet.getTypeEqualTo(tph); + if(eq instanceof TypePlaceholder)ret.add((TypePlaceholder)eq); + } + } + return ret; + } } // ino.end diff --git a/src/mycompiler/mytype/Type.java b/src/mycompiler/mytype/Type.java index 15b23b94d..261d5e799 100755 --- a/src/mycompiler/mytype/Type.java +++ b/src/mycompiler/mytype/Type.java @@ -8,6 +8,7 @@ import java.util.Vector; import typinferenz.JavaCodeResult; import typinferenz.ResultSet; import mycompiler.IItemWithOffset; +import mycompiler.SyntaxTreeNode; import mycompiler.mybytecode.JVMCode; import mycompiler.myclass.UsedId; // ino.end @@ -58,6 +59,10 @@ public class Type implements IItemWithOffset } // ino.end + public void setOffset(int offset){ + this.offset = offset; + } + // ino.method.getVariableLength.26738.definition public int getVariableLength() // ino.end @@ -254,6 +259,15 @@ public class Type implements IItemWithOffset if(this instanceof SuperWildcardType)ret.add((SuperWildcardType)this); return ret; } + + /** + * Sucht nach TPHs in diesem Typ, denen das resultSet keinen Typ zuordnen kann. + * @param resultSet + * @return + */ + public Vector getUnresolvedTPH(ResultSet resultSet) { + return new Vector(); + } } // ino.end diff --git a/src/mycompiler/mytype/TypePlaceholder.java b/src/mycompiler/mytype/TypePlaceholder.java index 3dcf4fd68..142f1bd95 100755 --- a/src/mycompiler/mytype/TypePlaceholder.java +++ b/src/mycompiler/mytype/TypePlaceholder.java @@ -534,6 +534,16 @@ public class TypePlaceholder extends Type implements IReplaceTypeEventProvider } return ret; } + + @Override + public Vector getUnresolvedTPH(ResultSet resultSet) { + Vector ret = super.getUnresolvedTPH(resultSet); + Type t = resultSet.getTypeEqualTo(this); + if(t instanceof TypePlaceholder){ + ret.add((TypePlaceholder)t); + } + return ret; + } } // ino.end diff --git a/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java b/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java index 1eeef9998..14fe034f9 100755 --- a/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java +++ b/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java @@ -57,7 +57,7 @@ public class TypeinferenceResultSet // ino.end // ino.method.CTypeReconstructionResult.27256.body { - this.ownerOfResultSet = inferedClass; + this.ownerOfResultSet = inferedClass; this.constraints = constraints; this.unifiedConstraints = unifiedConstraints; } @@ -108,7 +108,7 @@ public class TypeinferenceResultSet } /** - * Berechnet alle möglichen Punkte zum Einsetzen eines Typs im Quelltext an der Stelle dieses TypePlaceholders + * Berechnet alle möglichen Punkte zum Einsetzen eines Typs im Quelltext * @return */ public Vector getTypeInsertionPoints(){ diff --git a/src/typinferenz/ResultSet.java b/src/typinferenz/ResultSet.java index ac4ab89df..df133c87a 100755 --- a/src/typinferenz/ResultSet.java +++ b/src/typinferenz/ResultSet.java @@ -5,6 +5,7 @@ import java.util.Vector; import mycompiler.mytype.Pair; import mycompiler.mytype.Type; +import mycompiler.mytype.TypePlaceholder; /** * Im Grunde Sammlung von Pair s mit Equal-Operatoren. @@ -75,4 +76,29 @@ public class ResultSet implements Iterable { public boolean equals(Object obj){ return true; } + + + /** + * Sammelt alle Constraints, welche mit den übergebenen TPH's in Verbindung stehen. + * Auch alle Constraints, welche wiederum mit den gesammelten Constraints in Verbindung stehen werden gesammelt. + * @return + */ + public Vector getConstraintsFor(Vector typePlaceholders) { + Vector ret = new Vector(); + Vector tphs = (Vector) typePlaceholders.clone(); + for(int i = 0;i{ - private TypePlaceholder tph; - private TypeInsertable point; + private IItemWithOffset point; private Type type; private ResultSet resultSet; - public TypeInsertPoint(TypePlaceholder tph, TypeInsertable insertPoint, Type insertType, ResultSet resultSet){ - this.tph = tph; + public TypeInsertPoint(IItemWithOffset insertPoint, Type insertType, ResultSet resultSet){ this.point = insertPoint; this.type = insertType; this.resultSet = resultSet; @@ -24,15 +34,15 @@ public class TypeInsertPoint implements Comparable{ * @param additionalOffset - Falls mehrere Typen in einen Quellcode eingesetzet werden muss die Verschiebung der Offsets mit einbezogen werden. * @return */ - public String insertType(String fileContent, int additionalOffset) { + public JavaCodeResult insertType(String fileContent, int additionalOffset) { String anfang = fileContent.substring(0, point.getOffset()+additionalOffset); - String mitte = this.getTypeInsertString(); + JavaCodeResult mitte = this.getTypeInsertString(); String ende = fileContent.substring(point.getOffset()+additionalOffset); - return anfang + mitte + ende; + return new JavaCodeResult(anfang).attach(mitte).attach(ende); } public int getInsertLength() { - return this.getTypeInsertString().length(); + return this.getTypeInsertString().toString().length(); } /** @@ -47,15 +57,15 @@ public class TypeInsertPoint implements Comparable{ * Die Zeichenkette die durch diesen TypeInsertPoint eingesetzt wird. (Der Typ als String) * @return */ - public String getTypeInsertString(){ - String ret = type.printJavaCode(this.resultSet).toString()+" "; + public JavaCodeResult getTypeInsertString(){ + JavaCodeResult ret = type.printJavaCode(this.resultSet).attach(" "); return ret; } /** * @return - Der Punkt (Knoten) im Syntaxbaum, für den dieser TypeInsertPoint gilt. */ - public TypeInsertable getInsertNode(){ + public IItemWithOffset getInsertNode(){ return this.point; } @@ -64,7 +74,6 @@ public class TypeInsertPoint implements Comparable{ if(! (obj instanceof TypeInsertPoint))return false; TypeInsertPoint equals = (TypeInsertPoint) obj; if(!(equals.point.equals(this.point)))return false; - if(!(equals.tph.equals(this.tph)))return false; if(!(equals.resultSet.equals(this.resultSet)))return false; if(!(equals.type.equals(this.type)))return false; @@ -75,4 +84,23 @@ public class TypeInsertPoint implements Comparable{ public int compareTo(TypeInsertPoint arg0) { return new Integer(this.getOffset()).compareTo(new Integer(arg0.getOffset())); } + + public ResultSet getResultSet() { + return resultSet; + } + + public IItemWithOffset getGenericTypeVarInsertNode() { + if(! (this.point instanceof SyntaxTreeNode)){ + throw new DebugException("Ein IItemWithOffset muss immer auch ein SyntaxTreeNode sein"); + } + SyntaxTreeNode ret = (SyntaxTreeNode)this.point; + while(!(ret instanceof Field || ret instanceof Class)){ + ret = ret.getParent(); + if(ret == null){ + throw new DebugException(this.point.toString()+" hat kein Feld oder Klasse als Elternelement"); + } + } + return (IItemWithOffset)ret; + } + } diff --git a/src/typinferenz/TypeInsertSet.java b/src/typinferenz/TypeInsertSet.java index 6509fa6d6..c732dbe86 100644 --- a/src/typinferenz/TypeInsertSet.java +++ b/src/typinferenz/TypeInsertSet.java @@ -1,9 +1,14 @@ package typinferenz; import java.util.Collections; +import java.util.Iterator; import java.util.Vector; import mycompiler.SyntaxTreeNode; +import mycompiler.mytype.GenericTypeVar; +import mycompiler.mytype.Pair; +import mycompiler.mytype.RefType; +import mycompiler.mytype.TypePlaceholder; /** * Bündelt ein Set von TypeInsertPoints, die alle zu einem TypePlaceholder gehören. @@ -32,12 +37,47 @@ public class TypeInsertSet { * @return */ public String insertAllTypes(String fileContent) { + int additionalOffset = 0; String ret = fileContent; Collections.sort(points); for(TypeInsertPoint p : points){ - ret = p.insertType(ret, additionalOffset); + /* + //TODO: Verbessern. Momentan noch komischer Hack: + //Kontrollieren ob beim Einsetzen Generische Typvariablen entstehen: + Iterator it = p.getUnresolvedPairs().iterator(); + String genericTypeParameters = "<"; + while(it.hasNext()){ + genericTypeParameters += new GenericTypeVar(it.next(), 0).printJavaCode(p.getResultSet()); + if(it.hasNext())genericTypeParameters += ", "; + } + genericTypeParameters += ">"; + //HACK: Reftype mit dem Typ der einzusetzenden Generischen Variablen: + TypeInsertPoint tip = new TypeInsertPoint(p.getGenericTypeVarInsertNode(), new RefType(genericTypeParameters,0), p.getResultSet()); + //ret = tip.insertType(fileContent, additionalOffset); + //additionalOffset += tip.getInsertLength(); + */ + + //Zuerst den Typ einsetzen + JavaCodeResult insertCode = p.insertType(ret, additionalOffset); + ret = insertCode.toString(); + //Das additional Offset noch nicht korrigieren, da die generischen Parameter noch vor den Typ müssen. + + //Jetzt sind die übriggebliebenen TPHs bekannt und die benötigten Generischen Variablen können berechnet werden. + Iterator it = p.getResultSet().getConstraintsFor(insertCode.getUnresolvedTPH()).iterator(); + String genericTypeParameters = "<"; + while(it.hasNext()){ + genericTypeParameters += new GenericTypeVar(it.next(), 0).printJavaCode(p.getResultSet()); + if(it.hasNext())genericTypeParameters += ", "; + } + genericTypeParameters += ">"; + //Der Generische Variablen String zum Einsetzen ist nun vorhanden + TypeInsertPoint tip = new TypeInsertPoint(p.getGenericTypeVarInsertNode(), new RefType(genericTypeParameters,0), p.getResultSet()); + ret = tip.insertType(insertCode.toString(), additionalOffset).toString(); + //Jetzt das gesamte Offset korrigieren: + additionalOffset += tip.getInsertLength(); additionalOffset += p.getInsertLength(); + } return ret; } diff --git a/src/typinferenz/exceptions/DebugException.java b/src/typinferenz/exceptions/DebugException.java new file mode 100644 index 000000000..b7c082d3e --- /dev/null +++ b/src/typinferenz/exceptions/DebugException.java @@ -0,0 +1,7 @@ +package typinferenz.exceptions; + +public class DebugException extends RuntimeException { + + public DebugException(String message) { + } +} diff --git a/src/typinferenz/exceptions/TypeinferenceException.java b/src/typinferenz/exceptions/TypeinferenceException.java index 676496003..46e763ebe 100755 --- a/src/typinferenz/exceptions/TypeinferenceException.java +++ b/src/typinferenz/exceptions/TypeinferenceException.java @@ -28,4 +28,16 @@ public class TypeinferenceException extends RuntimeException { this.message=message; } + /** + * + * @return Der Offset an dem im Quellcode der Fehler aufgetreten ist. + */ + public int getOffset(){ + return offset; + } + + public String getMessage(){ + return this.message; + } + } diff --git a/test/plugindevelopment/TypeInsertTests/GenericVarInsertTest.jav b/test/plugindevelopment/TypeInsertTests/GenericVarInsertTest.jav new file mode 100644 index 000000000..3f552dbca --- /dev/null +++ b/test/plugindevelopment/TypeInsertTests/GenericVarInsertTest.jav @@ -0,0 +1,3 @@ +class GenericVarInsertTest{ + op = (m) -> (f) -> f; +} \ No newline at end of file diff --git a/test/plugindevelopment/TypeInsertTests/GenericVarInsertTest.java b/test/plugindevelopment/TypeInsertTests/GenericVarInsertTest.java new file mode 100644 index 000000000..453e46e71 --- /dev/null +++ b/test/plugindevelopment/TypeInsertTests/GenericVarInsertTest.java @@ -0,0 +1,16 @@ +package plugindevelopment.TypeInsertTests; + +import java.util.Vector; + +import org.junit.Test; + +public class GenericVarInsertTest { + private static final String TEST_FILE = "GenericVarInsertTest.jav"; + + @Test + public void run(){ + Vector mustContain = new Vector(); + mustContain.add("Fun1, Object2>, Object1> op"); + MultipleTypesInsertTester.test(this.TEST_FILE, mustContain); + } +} From 258c172f80e10ab91372a7b4d2acf629da48b862 Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Wed, 16 Apr 2014 17:34:35 +0200 Subject: [PATCH 50/79] Modifikation am Parser. Auch Felder sind Generisc. --- bin/mycompiler/myparser/JavaParser.jay | 10 +- src/mycompiler/myclass/Field.java | 2 +- src/mycompiler/myclass/FieldDeclaration.java | 6 + src/mycompiler/myclass/Generic.java | 14 + src/mycompiler/myclass/Method.java | 5 + src/mycompiler/myparser/JavaParser.java | 2727 ++-- src/mycompiler/myparser/JavaParser.jay | 10 +- .../mytype/BoundedGenericTypeVar.java | 6 +- src/typinferenz/TypeInsertSet.java | 5 +- test/parser/BoundedParameter.jav | 3 + test/parser/GeneralParserTest.java | 5 +- test/plugindevelopment/TRMEqualTest.java | 2 +- tools/y.output | 12171 ++++++++-------- 13 files changed, 7570 insertions(+), 7396 deletions(-) create mode 100644 src/mycompiler/myclass/Generic.java create mode 100644 test/parser/BoundedParameter.jav diff --git a/bin/mycompiler/myparser/JavaParser.jay b/bin/mycompiler/myparser/JavaParser.jay index 5f0306837..fb9c4897d 100755 --- a/bin/mycompiler/myparser/JavaParser.jay +++ b/bin/mycompiler/myparser/JavaParser.jay @@ -906,6 +906,12 @@ fielddeclaration : fielddeclarator ';' $2.setType($1); $$=$2; } + | '<' boundedMethodParameters '>' type fielddeclarator + {//angefügt von Andreas Stadelmeier + $5.setGenericParameter($2); + $5.setType($4); + $$=$5; + } | variabledeclarators ';' { @@ -1022,8 +1028,8 @@ boundedMethodParameter : IDENTIFIER } | IDENTIFIER EXTENDS boundedclassidentifierlist { - BoundedGenericTypeVar gtv=new BoundedGenericTypeVar($1.getLexem(),$1.getOffset()); - gtv.setBounds($3); + BoundedGenericTypeVar gtv=new BoundedGenericTypeVar($1.getLexem(),$3,$1.getOffset()); + //gtv.setBounds($3); $$=gtv; } // returns Vector diff --git a/src/mycompiler/myclass/Field.java b/src/mycompiler/myclass/Field.java index c736a3514..b645d636e 100644 --- a/src/mycompiler/myclass/Field.java +++ b/src/mycompiler/myclass/Field.java @@ -18,7 +18,7 @@ import typinferenz.Typeable; import typinferenz.TypeInsertable; import typinferenz.assumptions.TypeAssumptions; -public abstract class Field extends SyntaxTreeNode implements TypeInsertable, Typeable{ +public abstract class Field extends SyntaxTreeNode implements TypeInsertable, Typeable, Generic{ protected Vector declid = new Vector(); // Vector, da 'int a, b, c, ...' auch eingeparst werden muss diff --git a/src/mycompiler/myclass/FieldDeclaration.java b/src/mycompiler/myclass/FieldDeclaration.java index a878284a5..c96ef69c6 100644 --- a/src/mycompiler/myclass/FieldDeclaration.java +++ b/src/mycompiler/myclass/FieldDeclaration.java @@ -30,6 +30,7 @@ public class FieldDeclaration extends Field{ private Expr wert; //private Type type; + private Vector parameter; /** * Dieser Konstruktor der FieldDeclaration erstellt den Syntaxknoten vollständig. @@ -160,4 +161,9 @@ public class FieldDeclaration extends Field{ if(this.getWert()!=null)this.getWert().wandleRefTypeAttributes2GenericAttributes(paralist, new Vector()); //FieldDeclaration hat keine Generischen Variablen, daher leere Liste übergeben } + @Override + public void setGenericParameter(Vector params) { + this.parameter = params; + } + } diff --git a/src/mycompiler/myclass/Generic.java b/src/mycompiler/myclass/Generic.java new file mode 100644 index 000000000..b26a2257d --- /dev/null +++ b/src/mycompiler/myclass/Generic.java @@ -0,0 +1,14 @@ +package mycompiler.myclass; + +import java.util.Vector; + +import mycompiler.mytype.GenericTypeVar; + +/** + * Wird von allen Klassen implementiert, welche generische Parameter halten können. (Class, Method und Field) + * @author janulrich + * + */ +public interface Generic { + public void setGenericParameter(Vector params); +} diff --git a/src/mycompiler/myclass/Method.java b/src/mycompiler/myclass/Method.java index 0f8141ba5..bcb94f155 100755 --- a/src/mycompiler/myclass/Method.java +++ b/src/mycompiler/myclass/Method.java @@ -736,6 +736,11 @@ public class Method extends Field implements IItemWithOffset, TypeInsertable return super.equals(obj); } + @Override + public void setGenericParameter(Vector params) { + this.genericMethodParameters = params; + } + } diff --git a/src/mycompiler/myparser/JavaParser.java b/src/mycompiler/myparser/JavaParser.java index a586a203b..b7062e2ec 100644 --- a/src/mycompiler/myparser/JavaParser.java +++ b/src/mycompiler/myparser/JavaParser.java @@ -357,6 +357,7 @@ public Vector testPair = new Vector(); //t "fielddeclarator : variabledeclarator '=' expression", //t "fielddeclaration : fielddeclarator ';'", //t "fielddeclaration : type fielddeclarator", +//t "fielddeclaration : '<' boundedMethodParameters '>' type fielddeclarator", //t "fielddeclaration : variabledeclarators ';'", //t "fielddeclaration : type variabledeclarators ';'", //t "fielddeclaration : modifiers type variabledeclarators ';'", @@ -1458,21 +1459,29 @@ case 88: } break; case 89: - // line 911 "./../src/mycompiler/myparser/JavaParser.jay" + // line 910 "./../src/mycompiler/myparser/JavaParser.jay" + {/*angefügt von Andreas Stadelmeier*/ + ((FieldDeclaration)yyVals[0+yyTop]).setGenericParameter(((Vector)yyVals[-3+yyTop])); + ((FieldDeclaration)yyVals[0+yyTop]).setType(((Type)yyVals[-1+yyTop])); + yyVal=((FieldDeclaration)yyVals[0+yyTop]); + } + break; +case 90: + // line 917 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((FieldDeclaration)yyVals[-1+yyTop]); } break; -case 90: - // line 916 "./../src/mycompiler/myparser/JavaParser.jay" +case 91: + // line 922 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("T->Parser->fielddeclaration ...: type " + ((Type)yyVals[-2+yyTop])); ((FieldDeclaration)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); yyVal = ((FieldDeclaration)yyVals[-1+yyTop]); } break; -case 91: - // line 923 "./../src/mycompiler/myparser/JavaParser.jay" +case 92: + // line 929 "./../src/mycompiler/myparser/JavaParser.jay" { ((FieldDeclaration)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); for(int i=0;i<(((FieldDeclaration)yyVals[-1+yyTop]).getDeclIdVector().size());i++) @@ -1482,28 +1491,28 @@ case 91: yyVal = ((FieldDeclaration)yyVals[-1+yyTop]); } break; -case 92: - // line 933 "./../src/mycompiler/myparser/JavaParser.jay" +case 93: + // line 939 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[-1+yyTop]).set_Block(((Block)yyVals[0+yyTop])); yyVal=((Method)yyVals[-1+yyTop]); } break; -case 93: - // line 940 "./../src/mycompiler/myparser/JavaParser.jay" +case 94: + // line 946 "./../src/mycompiler/myparser/JavaParser.jay" { Block Bl = new Block(); yyVal=Bl; } break; -case 94: - // line 946 "./../src/mycompiler/myparser/JavaParser.jay" +case 95: + // line 952 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[-1+yyTop]); } break; -case 95: - // line 951 "./../src/mycompiler/myparser/JavaParser.jay" +case 96: + // line 957 "./../src/mycompiler/myparser/JavaParser.jay" { Constructor CON = new Constructor(null); /*TODO: Der Parser kann sowieso nicht zwischen einem Konstruktor und einer Methode unterscheiden. Das hier kann wegfallen...*/ DeclId DIDCon = new DeclId(); @@ -1512,8 +1521,8 @@ case 95: yyVal=CON; } break; -case 96: - // line 959 "./../src/mycompiler/myparser/JavaParser.jay" +case 97: + // line 965 "./../src/mycompiler/myparser/JavaParser.jay" { Constructor CONpara = new Constructor(null); DeclId DIconpara = new DeclId(); @@ -1523,29 +1532,29 @@ case 96: yyVal=CONpara; } break; -case 97: - // line 969 "./../src/mycompiler/myparser/JavaParser.jay" +case 98: + // line 975 "./../src/mycompiler/myparser/JavaParser.jay" { Block CBL = new Block(); yyVal=CBL; } break; -case 98: - // line 974 "./../src/mycompiler/myparser/JavaParser.jay" +case 99: + // line 980 "./../src/mycompiler/myparser/JavaParser.jay" { Block CBLexpl = new Block(); CBLexpl.set_Statement(((Statement)yyVals[-1+yyTop])); yyVal=CBLexpl; } break; -case 99: - // line 980 "./../src/mycompiler/myparser/JavaParser.jay" +case 100: + // line 986 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[-1+yyTop]); } break; -case 100: - // line 984 "./../src/mycompiler/myparser/JavaParser.jay" +case 101: + // line 990 "./../src/mycompiler/myparser/JavaParser.jay" { Block CBes = new Block(); CBes.set_Statement(((Statement)yyVals[-2+yyTop])); @@ -1556,51 +1565,51 @@ case 100: yyVal=CBes; } break; -case 101: - // line 995 "./../src/mycompiler/myparser/JavaParser.jay" +case 102: + // line 1001 "./../src/mycompiler/myparser/JavaParser.jay" { ExceptionList EL = new ExceptionList(); EL.set_addElem(((RefType)yyVals[0+yyTop])); yyVal=EL; } break; -case 102: - // line 1002 "./../src/mycompiler/myparser/JavaParser.jay" +case 103: + // line 1008 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = ((GenericTypeVar)yyVals[0+yyTop]); } break; -case 103: - // line 1007 "./../src/mycompiler/myparser/JavaParser.jay" +case 104: + // line 1013 "./../src/mycompiler/myparser/JavaParser.jay" { ParaList p = new ParaList(); p.add_ParaList(((GenericTypeVar)yyVals[0+yyTop])); yyVal=p; } break; -case 104: - // line 1013 "./../src/mycompiler/myparser/JavaParser.jay" +case 105: + // line 1019 "./../src/mycompiler/myparser/JavaParser.jay" { ((ParaList)yyVals[-2+yyTop]).add_ParaList(((GenericTypeVar)yyVals[0+yyTop])); yyVal=((ParaList)yyVals[-2+yyTop]); } break; -case 105: - // line 1020 "./../src/mycompiler/myparser/JavaParser.jay" +case 106: + // line 1026 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=new GenericTypeVar(((Token)yyVals[0+yyTop]).getLexem(),((Token)yyVals[0+yyTop]).getOffset()); } break; -case 106: - // line 1024 "./../src/mycompiler/myparser/JavaParser.jay" +case 107: + // line 1030 "./../src/mycompiler/myparser/JavaParser.jay" { - BoundedGenericTypeVar gtv=new BoundedGenericTypeVar(((Token)yyVals[-2+yyTop]).getLexem(),((Token)yyVals[-2+yyTop]).getOffset()); - gtv.setBounds(((Vector)yyVals[0+yyTop])); + BoundedGenericTypeVar gtv=new BoundedGenericTypeVar(((Token)yyVals[-2+yyTop]).getLexem(),((Vector)yyVals[0+yyTop]),((Token)yyVals[-2+yyTop]).getOffset()); + /*gtv.setBounds($3);*/ yyVal=gtv; } break; -case 107: - // line 1031 "./../src/mycompiler/myparser/JavaParser.jay" +case 108: + // line 1037 "./../src/mycompiler/myparser/JavaParser.jay" { Vector vec=new Vector(); vec.addElement(((RefType)yyVals[0+yyTop])); @@ -1608,54 +1617,54 @@ case 107: yyVal=vec; } break; -case 108: - // line 1038 "./../src/mycompiler/myparser/JavaParser.jay" +case 109: + // line 1044 "./../src/mycompiler/myparser/JavaParser.jay" { ((Vector)yyVals[-2+yyTop]).addElement(((RefType)yyVals[0+yyTop])); containedTypes.addElement(((RefType)yyVals[0+yyTop])); yyVal=((Vector)yyVals[-2+yyTop]); } break; -case 109: - // line 1045 "./../src/mycompiler/myparser/JavaParser.jay" +case 110: + // line 1051 "./../src/mycompiler/myparser/JavaParser.jay" { Vector vec=new Vector(); vec.addElement(((GenericTypeVar)yyVals[0+yyTop])); yyVal=vec; } break; -case 110: - // line 1051 "./../src/mycompiler/myparser/JavaParser.jay" +case 111: + // line 1057 "./../src/mycompiler/myparser/JavaParser.jay" { ((Vector)yyVals[-2+yyTop]).addElement(((GenericTypeVar)yyVals[0+yyTop])); yyVal=((Vector)yyVals[-2+yyTop]); } break; -case 111: - // line 1059 "./../src/mycompiler/myparser/JavaParser.jay" +case 112: + // line 1065 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[0+yyTop]).setType(((Type)yyVals[-1+yyTop])); ((Method)yyVals[0+yyTop]).setGenericMethodParameters(((Vector)yyVals[-3+yyTop])); yyVal=((Method)yyVals[0+yyTop]); } break; -case 112: - // line 1065 "./../src/mycompiler/myparser/JavaParser.jay" - { - ((Method)yyVals[0+yyTop]).setType(((Type)yyVals[-1+yyTop])); - yyVal=((Method)yyVals[0+yyTop]); - } - break; case 113: - // line 1070 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1071 "./../src/mycompiler/myparser/JavaParser.jay" { - ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-2+yyTop])); ((Method)yyVals[0+yyTop]).setType(((Type)yyVals[-1+yyTop])); yyVal=((Method)yyVals[0+yyTop]); } break; case 114: // line 1076 "./../src/mycompiler/myparser/JavaParser.jay" + { + ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-2+yyTop])); + ((Method)yyVals[0+yyTop]).setType(((Type)yyVals[-1+yyTop])); + yyVal=((Method)yyVals[0+yyTop]); + } + break; +case 115: + // line 1082 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-5+yyTop])); ((Method)yyVals[0+yyTop]).setGenericMethodParameters(((Vector)yyVals[-3+yyTop])); @@ -1663,16 +1672,16 @@ case 114: yyVal=((Method)yyVals[0+yyTop]); } break; -case 115: - // line 1083 "./../src/mycompiler/myparser/JavaParser.jay" +case 116: + // line 1089 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop])); yyVal=((Method)yyVals[-1+yyTop]); } break; -case 116: - // line 1089 "./../src/mycompiler/myparser/JavaParser.jay" +case 117: + // line 1095 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[-1+yyTop]).setGenericMethodParameters(((Vector)yyVals[-4+yyTop])); ((Method)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); @@ -1680,8 +1689,8 @@ case 116: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 117: - // line 1096 "./../src/mycompiler/myparser/JavaParser.jay" +case 118: + // line 1102 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-3+yyTop])); ((Method)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); @@ -1689,8 +1698,8 @@ case 117: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 118: - // line 1103 "./../src/mycompiler/myparser/JavaParser.jay" +case 119: + // line 1109 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-6+yyTop])); ((Method)yyVals[-1+yyTop]).setGenericMethodParameters(((Vector)yyVals[-4+yyTop])); @@ -1699,16 +1708,16 @@ case 118: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 119: - // line 1111 "./../src/mycompiler/myparser/JavaParser.jay" +case 120: + // line 1117 "./../src/mycompiler/myparser/JavaParser.jay" { Void Voit = new Void(((Token)yyVals[-1+yyTop]).getOffset()); ((Method)yyVals[0+yyTop]).setType(Voit); yyVal=((Method)yyVals[0+yyTop]); } break; -case 120: - // line 1117 "./../src/mycompiler/myparser/JavaParser.jay" +case 121: + // line 1123 "./../src/mycompiler/myparser/JavaParser.jay" { Void voit = new Void(((Token)yyVals[-1+yyTop]).getOffset()); ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-2+yyTop])); @@ -1716,8 +1725,8 @@ case 120: yyVal=((Method)yyVals[0+yyTop]); } break; -case 121: - // line 1124 "./../src/mycompiler/myparser/JavaParser.jay" +case 122: + // line 1130 "./../src/mycompiler/myparser/JavaParser.jay" { Void voyt = new Void(((Token)yyVals[-2+yyTop]).getOffset()); ((Method)yyVals[-1+yyTop]).setType(voyt); @@ -1725,8 +1734,8 @@ case 121: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 122: - // line 1131 "./../src/mycompiler/myparser/JavaParser.jay" +case 123: + // line 1137 "./../src/mycompiler/myparser/JavaParser.jay" { Void voyd = new Void(((Token)yyVals[-2+yyTop]).getOffset()); ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-3+yyTop])); @@ -1735,8 +1744,8 @@ case 122: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 123: - // line 1139 "./../src/mycompiler/myparser/JavaParser.jay" +case 124: + // line 1145 "./../src/mycompiler/myparser/JavaParser.jay" { Void Voit = new Void(((Token)yyVals[-1+yyTop]).getOffset()); ((Method)yyVals[0+yyTop]).setType(Voit); @@ -1744,8 +1753,8 @@ case 123: yyVal=((Method)yyVals[0+yyTop]); } break; -case 124: - // line 1146 "./../src/mycompiler/myparser/JavaParser.jay" +case 125: + // line 1152 "./../src/mycompiler/myparser/JavaParser.jay" { Void voit = new Void(((Token)yyVals[-1+yyTop]).getOffset()); ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-5+yyTop])); @@ -1754,8 +1763,8 @@ case 124: yyVal=((Method)yyVals[0+yyTop]); } break; -case 125: - // line 1154 "./../src/mycompiler/myparser/JavaParser.jay" +case 126: + // line 1160 "./../src/mycompiler/myparser/JavaParser.jay" { Void voyt = new Void(((Token)yyVals[-2+yyTop]).getOffset()); ((Method)yyVals[-1+yyTop]).setType(voyt); @@ -1764,8 +1773,8 @@ case 125: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 126: - // line 1162 "./../src/mycompiler/myparser/JavaParser.jay" +case 127: + // line 1168 "./../src/mycompiler/myparser/JavaParser.jay" { Void voyd = new Void(((Token)yyVals[-2+yyTop]).getOffset()); ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-6+yyTop])); @@ -1775,39 +1784,39 @@ case 126: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 127: - // line 1172 "./../src/mycompiler/myparser/JavaParser.jay" +case 128: + // line 1178 "./../src/mycompiler/myparser/JavaParser.jay" { /*auskommentiert von Andreas Stadelmeier (a10023) $1.setType(TypePlaceholder.fresh()); */ yyVal=((Method)yyVals[0+yyTop]); } break; -case 128: - // line 1177 "./../src/mycompiler/myparser/JavaParser.jay" +case 129: + // line 1183 "./../src/mycompiler/myparser/JavaParser.jay" { /*auskommentiert von Andreas Stadelmeier (a10023) $4.setType(TypePlaceholder.fresh());*/ ((Method)yyVals[0+yyTop]).setGenericMethodParameters(((Vector)yyVals[-2+yyTop])); yyVal=((Method)yyVals[0+yyTop]); } break; -case 129: - // line 1184 "./../src/mycompiler/myparser/JavaParser.jay" +case 130: + // line 1190 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-1+yyTop])); /*auskommentiert von Andreas Stadelmeier (a10023) $2.setType(TypePlaceholder.fresh());*/ yyVal=((Method)yyVals[0+yyTop]); } break; -case 130: - // line 1190 "./../src/mycompiler/myparser/JavaParser.jay" +case 131: + // line 1196 "./../src/mycompiler/myparser/JavaParser.jay" { /*auskommentiert von Andreas Stadelmeier (a10023) $1.setType(TypePlaceholder.fresh());*/ ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop])); yyVal=((Method)yyVals[-1+yyTop]); } break; -case 131: - // line 1196 "./../src/mycompiler/myparser/JavaParser.jay" +case 132: + // line 1202 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-2+yyTop])); /*auskommentiert von Andreas Stadelmeier (a10023) $2.setType(TypePlaceholder.fresh());*/ @@ -1815,32 +1824,32 @@ case 131: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 132: - // line 1205 "./../src/mycompiler/myparser/JavaParser.jay" +case 133: + // line 1211 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((BaseType)yyVals[0+yyTop]); } break; -case 133: - // line 1209 "./../src/mycompiler/myparser/JavaParser.jay" +case 134: + // line 1215 "./../src/mycompiler/myparser/JavaParser.jay" { ((BaseType)yyVals[-2+yyTop]).setArray(true); } break; -case 134: - // line 1213 "./../src/mycompiler/myparser/JavaParser.jay" +case 135: + // line 1219 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((RefType)yyVals[0+yyTop]); } break; -case 135: - // line 1217 "./../src/mycompiler/myparser/JavaParser.jay" +case 136: + // line 1223 "./../src/mycompiler/myparser/JavaParser.jay" { ((RefType)yyVals[-2+yyTop]).setArray(true); } break; -case 136: - // line 1221 "./../src/mycompiler/myparser/JavaParser.jay" +case 137: + // line 1227 "./../src/mycompiler/myparser/JavaParser.jay" { FieldDeclaration IVD = new FieldDeclaration(((DeclId)yyVals[0+yyTop]).getOffset()); IVD.getDeclIdVector().addElement( ((DeclId)yyVals[0+yyTop]) ); @@ -1848,66 +1857,66 @@ case 136: yyVal = IVD; } break; -case 137: - // line 1228 "./../src/mycompiler/myparser/JavaParser.jay" +case 138: + // line 1234 "./../src/mycompiler/myparser/JavaParser.jay" { ((FieldDeclaration)yyVals[-2+yyTop]).getDeclIdVector().addElement(((DeclId)yyVals[0+yyTop])); yyVal=((FieldDeclaration)yyVals[-2+yyTop]); } break; -case 138: - // line 1234 "./../src/mycompiler/myparser/JavaParser.jay" +case 139: + // line 1240 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[0+yyTop]); } break; -case 139: - // line 1239 "./../src/mycompiler/myparser/JavaParser.jay" +case 140: + // line 1245 "./../src/mycompiler/myparser/JavaParser.jay" { Block Blstat = new Block(); Blstat.set_Statement(((Statement)yyVals[0+yyTop])); yyVal=Blstat; } break; -case 140: - // line 1246 "./../src/mycompiler/myparser/JavaParser.jay" +case 141: + // line 1252 "./../src/mycompiler/myparser/JavaParser.jay" { ((Block)yyVals[-1+yyTop]).set_Statement(((Statement)yyVals[0+yyTop])); yyVal=((Block)yyVals[-1+yyTop]); } break; -case 141: - // line 1252 "./../src/mycompiler/myparser/JavaParser.jay" +case 142: + // line 1258 "./../src/mycompiler/myparser/JavaParser.jay" { ParameterList PL = new ParameterList(); PL.set_AddParameter(((FormalParameter)yyVals[0+yyTop])); yyVal = PL; } break; -case 142: - // line 1258 "./../src/mycompiler/myparser/JavaParser.jay" +case 143: + // line 1264 "./../src/mycompiler/myparser/JavaParser.jay" { ((ParameterList)yyVals[-2+yyTop]).set_AddParameter(((FormalParameter)yyVals[0+yyTop])); yyVal = ((ParameterList)yyVals[-2+yyTop]); } break; -case 143: - // line 1264 "./../src/mycompiler/myparser/JavaParser.jay" +case 144: + // line 1270 "./../src/mycompiler/myparser/JavaParser.jay" { This THCON = new This(((Token)yyVals[-3+yyTop]).getOffset(),((Token)yyVals[-3+yyTop]).getLexem().length()); yyVal=THCON; } break; -case 144: - // line 1269 "./../src/mycompiler/myparser/JavaParser.jay" +case 145: + // line 1275 "./../src/mycompiler/myparser/JavaParser.jay" { This THCONargl = new This(((Token)yyVals[-4+yyTop]).getOffset(),((Token)yyVals[-4+yyTop]).getLexem().length()); THCONargl.set_ArgumentList(((ArgumentList)yyVals[-2+yyTop])); yyVal=THCONargl; } break; -case 145: - // line 1278 "./../src/mycompiler/myparser/JavaParser.jay" +case 146: + // line 1284 "./../src/mycompiler/myparser/JavaParser.jay" { RefType RT = new RefType(-1); RT.set_UsedId(((UsedId)yyVals[0+yyTop])); @@ -1915,16 +1924,16 @@ case 145: yyVal=RT; } break; -case 146: - // line 1285 "./../src/mycompiler/myparser/JavaParser.jay" +case 147: + // line 1291 "./../src/mycompiler/myparser/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()); yyVal=((RefType)yyVals[-2+yyTop]); } break; -case 147: - // line 1292 "./../src/mycompiler/myparser/JavaParser.jay" +case 148: + // line 1298 "./../src/mycompiler/myparser/JavaParser.jay" { Method met = new Method(((Token)yyVals[-2+yyTop]).getOffset()); /* #JB# 10.04.2005 */ @@ -1938,8 +1947,8 @@ case 147: yyVal = met; } break; -case 148: - // line 1305 "./../src/mycompiler/myparser/JavaParser.jay" +case 149: + // line 1311 "./../src/mycompiler/myparser/JavaParser.jay" { Method met_para = new Method(((Token)yyVals[-3+yyTop]).getOffset()); /* #JB# 10.04.2005 */ @@ -1954,8 +1963,8 @@ case 148: yyVal = met_para; } break; -case 149: - // line 1320 "./../src/mycompiler/myparser/JavaParser.jay" +case 150: + // line 1326 "./../src/mycompiler/myparser/JavaParser.jay" { BooleanType BT = new BooleanType(); /* #JB# 05.04.2005 */ @@ -1965,14 +1974,14 @@ case 149: yyVal=BT; } break; -case 150: - // line 1329 "./../src/mycompiler/myparser/JavaParser.jay" +case 151: + // line 1335 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((BaseType)yyVals[0+yyTop]); } break; -case 151: - // line 1334 "./../src/mycompiler/myparser/JavaParser.jay" +case 152: + // line 1340 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("T->Parser->referenctype: " + ((UsedId)yyVals[0+yyTop])); RefType RT = new RefType(((UsedId)yyVals[0+yyTop]).getOffset()); @@ -1991,26 +2000,26 @@ case 151: yyVal=RT; } break; -case 152: - // line 1354 "./../src/mycompiler/myparser/JavaParser.jay" +case 153: + // line 1360 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((DeclId)yyVals[0+yyTop]); } break; -case 153: - // line 1375 "./../src/mycompiler/myparser/JavaParser.jay" +case 154: + // line 1381 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((LocalVarDecl)yyVals[0+yyTop]); } break; -case 154: - // line 1379 "./../src/mycompiler/myparser/JavaParser.jay" +case 155: + // line 1385 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Statement)yyVals[0+yyTop]); } break; -case 155: - // line 1384 "./../src/mycompiler/myparser/JavaParser.jay" +case 156: + // line 1390 "./../src/mycompiler/myparser/JavaParser.jay" { FormalParameter FP = new FormalParameter(((DeclId)yyVals[0+yyTop])); FP.setType(((Type)yyVals[-1+yyTop])); @@ -2018,8 +2027,8 @@ case 155: yyVal=FP; } break; -case 156: - // line 1409 "./../src/mycompiler/myparser/JavaParser.jay" +case 157: + // line 1415 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("\nFunktionsdeklaration mit typlosen Parametern: " + ((DeclId)yyVals[0+yyTop]).name); @@ -2038,29 +2047,29 @@ case 156: yyVal=FP; } break; -case 157: - // line 1428 "./../src/mycompiler/myparser/JavaParser.jay" +case 158: + // line 1434 "./../src/mycompiler/myparser/JavaParser.jay" { ArgumentList AL = new ArgumentList(); AL.expr.addElement(((Expr)yyVals[0+yyTop])); yyVal=AL; } break; -case 158: - // line 1434 "./../src/mycompiler/myparser/JavaParser.jay" +case 159: + // line 1440 "./../src/mycompiler/myparser/JavaParser.jay" { ((ArgumentList)yyVals[-2+yyTop]).expr.addElement(((Expr)yyVals[0+yyTop])); yyVal=((ArgumentList)yyVals[-2+yyTop]); } break; -case 159: - // line 1440 "./../src/mycompiler/myparser/JavaParser.jay" +case 160: + // line 1446 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((BaseType)yyVals[0+yyTop]); } break; -case 160: - // line 1445 "./../src/mycompiler/myparser/JavaParser.jay" +case 161: + // line 1451 "./../src/mycompiler/myparser/JavaParser.jay" { DeclId DI = new DeclId(); /* #JB# 10.04.2005 */ @@ -2072,62 +2081,62 @@ case 160: yyVal=DI; } break; -case 161: - // line 1457 "./../src/mycompiler/myparser/JavaParser.jay" +case 162: + // line 1463 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 162: - // line 1462 "./../src/mycompiler/myparser/JavaParser.jay" +case 163: + // line 1468 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((LocalVarDecl)yyVals[-1+yyTop]); } break; -case 163: - // line 1467 "./../src/mycompiler/myparser/JavaParser.jay" +case 164: + // line 1473 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Statement)yyVals[0+yyTop]); } break; -case 164: - // line 1471 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((IfStmt)yyVals[0+yyTop]); - } - break; case 165: - // line 1475 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1477 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((IfStmt)yyVals[0+yyTop]); } break; case 166: - // line 1479 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1481 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((IfStmt)yyVals[0+yyTop]); + } + break; +case 167: + // line 1485 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((WhileStmt)yyVals[0+yyTop]); } break; -case 167: - // line 1483 "./../src/mycompiler/myparser/JavaParser.jay" +case 168: + // line 1489 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((ForStmt)yyVals[0+yyTop]); } break; -case 168: - // line 1488 "./../src/mycompiler/myparser/JavaParser.jay" +case 169: + // line 1494 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 169: - // line 1492 "./../src/mycompiler/myparser/JavaParser.jay" +case 170: + // line 1498 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((NewClass)yyVals[0+yyTop]); } break; -case 170: - // line 1497 "./../src/mycompiler/myparser/JavaParser.jay" +case 171: + // line 1503 "./../src/mycompiler/myparser/JavaParser.jay" { IntegerType IT = new IntegerType(); /* #JB# 05.04.2005 */ @@ -2137,8 +2146,8 @@ case 170: yyVal=IT; } break; -case 171: - // line 1506 "./../src/mycompiler/myparser/JavaParser.jay" +case 172: + // line 1512 "./../src/mycompiler/myparser/JavaParser.jay" { CharacterType CT = new CharacterType(); /* #JB# 05.04.2005 */ @@ -2148,8 +2157,8 @@ case 171: yyVal=CT; } break; -case 172: - // line 1516 "./../src/mycompiler/myparser/JavaParser.jay" +case 173: + // line 1522 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("P -> Lokale Variable angelegt!"); LocalVarDecl LVD = new LocalVarDecl(((Type)yyVals[-1+yyTop]).getOffset(),((Type)yyVals[-1+yyTop]).getVariableLength()); @@ -2158,8 +2167,8 @@ case 172: yyVal = LVD; } break; -case 173: - // line 1527 "./../src/mycompiler/myparser/JavaParser.jay" +case 174: + // line 1533 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("P -> Lokale Variable angelegt!"); LocalVarDecl LVD = new LocalVarDecl(((FieldDeclaration)yyVals[0+yyTop]).getOffset(),((FieldDeclaration)yyVals[0+yyTop]).getVariableLength()); @@ -2168,32 +2177,32 @@ case 173: yyVal = LVD; } break; -case 174: - // line 1537 "./../src/mycompiler/myparser/JavaParser.jay" +case 175: + // line 1543 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[0+yyTop]); } break; -case 175: - // line 1541 "./../src/mycompiler/myparser/JavaParser.jay" +case 176: + // line 1547 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((EmptyStmt)yyVals[0+yyTop]); } break; -case 176: - // line 1545 "./../src/mycompiler/myparser/JavaParser.jay" +case 177: + // line 1551 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((ExprStmt)yyVals[0+yyTop]); } break; -case 177: - // line 1549 "./../src/mycompiler/myparser/JavaParser.jay" +case 178: + // line 1555 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Return)yyVals[0+yyTop]); } break; -case 178: - // line 1554 "./../src/mycompiler/myparser/JavaParser.jay" +case 179: + // line 1560 "./../src/mycompiler/myparser/JavaParser.jay" { IfStmt Ifst = new IfStmt(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); Ifst.set_Expr(((Expr)yyVals[-2+yyTop])); @@ -2201,8 +2210,8 @@ case 178: yyVal=Ifst; } break; -case 179: - // line 1562 "./../src/mycompiler/myparser/JavaParser.jay" +case 180: + // line 1568 "./../src/mycompiler/myparser/JavaParser.jay" { IfStmt IfstElst = new IfStmt(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength()); IfstElst.set_Expr(((Expr)yyVals[-4+yyTop])); @@ -2211,8 +2220,8 @@ case 179: yyVal=IfstElst; } break; -case 180: - // line 1571 "./../src/mycompiler/myparser/JavaParser.jay" +case 181: + // line 1577 "./../src/mycompiler/myparser/JavaParser.jay" { WhileStmt Whlst = new WhileStmt(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); Whlst.set_Expr(((Expr)yyVals[-2+yyTop])); @@ -2220,8 +2229,8 @@ case 180: yyVal=Whlst; } break; -case 181: - // line 1582 "./../src/mycompiler/myparser/JavaParser.jay" +case 182: + // line 1588 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-6+yyTop]).getOffset(),((Expr)yyVals[-6+yyTop]).getVariableLength()); Fst.set_head_Initializer(((Expr)yyVals[-6+yyTop])); @@ -2233,8 +2242,8 @@ case 181: yyVal = Fst; } break; -case 182: - // line 1594 "./../src/mycompiler/myparser/JavaParser.jay" +case 183: + // line 1600 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-5+yyTop]).getOffset(),((Expr)yyVals[-5+yyTop]).getVariableLength()); Fst.set_head_Initializer(((Expr)yyVals[-5+yyTop])); @@ -2245,8 +2254,8 @@ case 182: yyVal = Fst; } break; -case 183: - // line 1605 "./../src/mycompiler/myparser/JavaParser.jay" +case 184: + // line 1611 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-5+yyTop]).getOffset(),((Expr)yyVals[-5+yyTop]).getVariableLength()); Fst.set_head_Initializer(((Expr)yyVals[-5+yyTop])); @@ -2257,8 +2266,8 @@ case 183: yyVal = Fst; } break; -case 184: - // line 1616 "./../src/mycompiler/myparser/JavaParser.jay" +case 185: + // line 1622 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength()); Fst.set_head_Condition(((Expr)yyVals[-4+yyTop])); @@ -2269,8 +2278,8 @@ case 184: yyVal = Fst; } break; -case 185: - // line 1627 "./../src/mycompiler/myparser/JavaParser.jay" +case 186: + // line 1633 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength()); Fst.set_head_Initializer(((Expr)yyVals[-4+yyTop])); @@ -2280,8 +2289,8 @@ case 185: yyVal = Fst; } break; -case 186: - // line 1637 "./../src/mycompiler/myparser/JavaParser.jay" +case 187: + // line 1643 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-3+yyTop]).getOffset(),((Expr)yyVals[-3+yyTop]).getVariableLength()); Fst.set_head_Condition(((Expr)yyVals[-3+yyTop])); @@ -2291,8 +2300,8 @@ case 186: yyVal = Fst; } break; -case 187: - // line 1647 "./../src/mycompiler/myparser/JavaParser.jay" +case 188: + // line 1653 "./../src/mycompiler/myparser/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])); @@ -2302,8 +2311,8 @@ case 187: yyVal = Fst; } break; -case 188: - // line 1657 "./../src/mycompiler/myparser/JavaParser.jay" +case 189: + // line 1663 "./../src/mycompiler/myparser/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])); @@ -2312,73 +2321,73 @@ case 188: yyVal = Fst; } break; -case 189: - // line 1666 "./../src/mycompiler/myparser/JavaParser.jay" +case 190: + // line 1672 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("conditionalexpression"); yyVal=((Expr)yyVals[0+yyTop]); } break; -case 190: - // line 1671 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Assign)yyVals[0+yyTop]); - } - break; case 191: // line 1677 "./../src/mycompiler/myparser/JavaParser.jay" { - EmptyStmt Empst = new EmptyStmt(); - yyVal=Empst; + yyVal=((Assign)yyVals[0+yyTop]); } break; case 192: // line 1683 "./../src/mycompiler/myparser/JavaParser.jay" { - yyVal=((Expr)yyVals[-1+yyTop]); + EmptyStmt Empst = new EmptyStmt(); + yyVal=Empst; } break; case 193: - // line 1688 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1689 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[-1+yyTop]); + } + break; +case 194: + // line 1694 "./../src/mycompiler/myparser/JavaParser.jay" { Return ret = new Return(-1,-1); yyVal= ret; } break; -case 194: - // line 1693 "./../src/mycompiler/myparser/JavaParser.jay" +case 195: + // line 1699 "./../src/mycompiler/myparser/JavaParser.jay" { Return retexp = new Return(((Expr)yyVals[-1+yyTop]).getOffset(),((Expr)yyVals[-1+yyTop]).getVariableLength()); retexp.set_ReturnExpr(((Expr)yyVals[-1+yyTop])); yyVal=retexp; } break; -case 195: - // line 1700 "./../src/mycompiler/myparser/JavaParser.jay" +case 196: + // line 1706 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Statement)yyVals[0+yyTop]); } break; -case 196: - // line 1704 "./../src/mycompiler/myparser/JavaParser.jay" +case 197: + // line 1710 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((IfStmt)yyVals[0+yyTop]); } break; -case 197: - // line 1708 "./../src/mycompiler/myparser/JavaParser.jay" +case 198: + // line 1714 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((WhileStmt)yyVals[0+yyTop]); } break; -case 198: - // line 1713 "./../src/mycompiler/myparser/JavaParser.jay" +case 199: + // line 1719 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 199: - // line 1719 "./../src/mycompiler/myparser/JavaParser.jay" +case 200: + // line 1725 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("\nParser --> Zuweisung1!\n"); Assign Ass = new Assign(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); @@ -2404,8 +2413,8 @@ case 199: yyVal=Ass; } break; -case 200: - // line 1744 "./../src/mycompiler/myparser/JavaParser.jay" +case 201: + // line 1750 "./../src/mycompiler/myparser/JavaParser.jay" { Assign Ass =new Assign(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); LocalOrFieldVar LOFV = new LocalOrFieldVar(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); @@ -2428,44 +2437,44 @@ case 200: yyVal=Ass; } break; -case 201: - // line 1767 "./../src/mycompiler/myparser/JavaParser.jay" +case 202: + // line 1773 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Assign)yyVals[0+yyTop]); } break; -case 202: - // line 1771 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; case 203: - // line 1775 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1777 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 204: - // line 1779 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1781 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 205: - // line 1783 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1785 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 206: - // line 1787 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1789 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; +case 207: + // line 1793 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((MethodCall)yyVals[0+yyTop]); } break; -case 207: - // line 1798 "./../src/mycompiler/myparser/JavaParser.jay" +case 208: + // line 1804 "./../src/mycompiler/myparser/JavaParser.jay" { IfStmt IfElno = new IfStmt(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength()); IfElno.set_Expr(((Expr)yyVals[-4+yyTop])); @@ -2474,8 +2483,8 @@ case 207: yyVal=IfElno; } break; -case 208: - // line 1807 "./../src/mycompiler/myparser/JavaParser.jay" +case 209: + // line 1813 "./../src/mycompiler/myparser/JavaParser.jay" { WhileStmt Whstno = new WhileStmt(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); Whstno.set_Expr(((Expr)yyVals[-2+yyTop])); @@ -2483,14 +2492,14 @@ case 208: yyVal=Whstno; } break; -case 209: - // line 1815 "./../src/mycompiler/myparser/JavaParser.jay" +case 210: + // line 1821 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 210: - // line 1819 "./../src/mycompiler/myparser/JavaParser.jay" +case 211: + // line 1825 "./../src/mycompiler/myparser/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()); @@ -2501,20 +2510,20 @@ case 210: yyVal=LogOr; } break; -case 211: - // line 1832 "./../src/mycompiler/myparser/JavaParser.jay" +case 212: + // line 1838 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=null; } break; -case 212: - // line 1837 "./../src/mycompiler/myparser/JavaParser.jay" +case 213: + // line 1843 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[0+yyTop]); } break; -case 213: - // line 1841 "./../src/mycompiler/myparser/JavaParser.jay" +case 214: + // line 1847 "./../src/mycompiler/myparser/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";}|*/ @@ -2524,20 +2533,20 @@ case 213: yyVal=ret; } break; -case 214: - // line 1851 "./../src/mycompiler/myparser/JavaParser.jay" +case 215: + // line 1857 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=null; } break; -case 215: - // line 1855 "./../src/mycompiler/myparser/JavaParser.jay" +case 216: + // line 1861 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((ParameterList)yyVals[-1+yyTop]); } break; -case 216: - // line 1860 "./../src/mycompiler/myparser/JavaParser.jay" +case 217: + // line 1866 "./../src/mycompiler/myparser/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])); @@ -2545,87 +2554,87 @@ case 216: yyVal=lambda; } break; -case 217: - // line 1879 "./../src/mycompiler/myparser/JavaParser.jay" +case 218: + // line 1885 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((UsedId)yyVals[0+yyTop]); } break; -case 218: - // line 1884 "./../src/mycompiler/myparser/JavaParser.jay" +case 219: + // line 1890 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=null; } break; -case 219: - // line 1888 "./../src/mycompiler/myparser/JavaParser.jay" +case 220: + // line 1894 "./../src/mycompiler/myparser/JavaParser.jay" { TimesOp TEO = new TimesOp(-1,-1); yyVal=TEO; } break; -case 220: - // line 1893 "./../src/mycompiler/myparser/JavaParser.jay" +case 221: + // line 1899 "./../src/mycompiler/myparser/JavaParser.jay" { DivideOp DEO = new DivideOp(-1,-1); yyVal=DEO; } break; -case 221: - // line 1898 "./../src/mycompiler/myparser/JavaParser.jay" +case 222: + // line 1904 "./../src/mycompiler/myparser/JavaParser.jay" { ModuloOp MEO = new ModuloOp(-1,-1); yyVal=MEO; } break; -case 222: - // line 1903 "./../src/mycompiler/myparser/JavaParser.jay" +case 223: + // line 1909 "./../src/mycompiler/myparser/JavaParser.jay" { PlusOp PEO = new PlusOp(-1,-1); yyVal=PEO; } break; -case 223: - // line 1908 "./../src/mycompiler/myparser/JavaParser.jay" +case 224: + // line 1914 "./../src/mycompiler/myparser/JavaParser.jay" { MinusOp MEO = new MinusOp(-1,-1); yyVal=MEO; } break; -case 224: - // line 1920 "./../src/mycompiler/myparser/JavaParser.jay" +case 225: + // line 1926 "./../src/mycompiler/myparser/JavaParser.jay" { PreIncExpr PRINC = new PreIncExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); PRINC.set_Expr(((Expr)yyVals[0+yyTop])); yyVal=PRINC; } break; -case 225: - // line 1927 "./../src/mycompiler/myparser/JavaParser.jay" +case 226: + // line 1933 "./../src/mycompiler/myparser/JavaParser.jay" { PreDecExpr PRDEC = new PreDecExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); PRDEC.set_Expr(((Expr)yyVals[0+yyTop])); yyVal=PRDEC; } break; -case 226: - // line 1934 "./../src/mycompiler/myparser/JavaParser.jay" +case 227: + // line 1940 "./../src/mycompiler/myparser/JavaParser.jay" { PostIncExpr PIE = new PostIncExpr(((Expr)yyVals[-1+yyTop]).getOffset(),((Expr)yyVals[-1+yyTop]).getVariableLength()); PIE.set_Expr(((Expr)yyVals[-1+yyTop])); yyVal=PIE; } break; -case 227: - // line 1941 "./../src/mycompiler/myparser/JavaParser.jay" +case 228: + // line 1947 "./../src/mycompiler/myparser/JavaParser.jay" { PostDecExpr PDE = new PostDecExpr(((Expr)yyVals[-1+yyTop]).getOffset(),((Expr)yyVals[-1+yyTop]).getVariableLength()); PDE.set_Expr(((Expr)yyVals[-1+yyTop])); yyVal=PDE; } break; -case 228: - // line 1949 "./../src/mycompiler/myparser/JavaParser.jay" +case 229: + // line 1955 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("M1"); MethodCall MC = new MethodCall(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); @@ -2656,8 +2665,8 @@ case 228: yyVal=MC; } break; -case 229: - // line 1979 "./../src/mycompiler/myparser/JavaParser.jay" +case 230: + // line 1985 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("M2"); MethodCall MCarg = new MethodCall(((UsedId)yyVals[-3+yyTop]).getOffset(),((UsedId)yyVals[-3+yyTop]).getVariableLength()); @@ -2689,8 +2698,8 @@ case 229: yyVal=MCarg; } break; -case 230: - // line 2010 "./../src/mycompiler/myparser/JavaParser.jay" +case 231: + // line 2016 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("M3"); MethodCall MCpr = new MethodCall(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength()); @@ -2710,8 +2719,8 @@ case 230: yyVal=MCpr; } break; -case 231: - // line 2029 "./../src/mycompiler/myparser/JavaParser.jay" +case 232: + // line 2035 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("M4"); MethodCall MCPA = new MethodCall(((Expr)yyVals[-5+yyTop]).getOffset(),((Expr)yyVals[-5+yyTop]).getVariableLength()); @@ -2732,8 +2741,8 @@ case 231: yyVal=MCPA; } break; -case 232: - // line 2052 "./../src/mycompiler/myparser/JavaParser.jay" +case 233: + // line 2058 "./../src/mycompiler/myparser/JavaParser.jay" { NewClass NC = new NewClass(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); NC.set_UsedId(((UsedId)yyVals[-2+yyTop])); @@ -2742,8 +2751,8 @@ case 232: yyVal=NC; } break; -case 233: - // line 2060 "./../src/mycompiler/myparser/JavaParser.jay" +case 234: + // line 2066 "./../src/mycompiler/myparser/JavaParser.jay" { NewClass NCarg = new NewClass(((UsedId)yyVals[-3+yyTop]).getOffset(),((UsedId)yyVals[-3+yyTop]).getVariableLength()); NCarg.set_UsedId(((UsedId)yyVals[-3+yyTop])); @@ -2753,14 +2762,14 @@ case 233: yyVal=NCarg; } break; -case 234: - // line 2070 "./../src/mycompiler/myparser/JavaParser.jay" +case 235: + // line 2076 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 235: - // line 2074 "./../src/mycompiler/myparser/JavaParser.jay" +case 236: + // line 2080 "./../src/mycompiler/myparser/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()); @@ -2771,20 +2780,20 @@ case 235: yyVal=And; } break; -case 236: - // line 2090 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; case 237: - // line 2094 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2096 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 238: - // line 2098 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2100 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; +case 239: + // line 2104 "./../src/mycompiler/myparser/JavaParser.jay" { PositivExpr POSEX=new PositivExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); UnaryPlus UP= new UnaryPlus(); @@ -2793,8 +2802,8 @@ case 238: yyVal=POSEX; } break; -case 239: - // line 2106 "./../src/mycompiler/myparser/JavaParser.jay" +case 240: + // line 2112 "./../src/mycompiler/myparser/JavaParser.jay" { NegativeExpr NEGEX=new NegativeExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); UnaryMinus UM=new UnaryMinus(); @@ -2803,20 +2812,20 @@ case 239: yyVal=NEGEX; } break; -case 240: - // line 2114 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; case 241: - // line 2119 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2120 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 242: - // line 2123 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2125 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; +case 243: + // line 2129 "./../src/mycompiler/myparser/JavaParser.jay" { if (((UsedId)yyVals[0+yyTop]).get_Name().size() > 1) { @@ -2835,38 +2844,38 @@ case 242: } } break; -case 243: - // line 2141 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; case 244: - // line 2145 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2147 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 245: - // line 2150 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2151 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 246: - // line 2155 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2156 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 248: +case 247: // line 2161 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; +case 249: + // line 2167 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Literal)yyVals[0+yyTop]); } break; -case 249: - // line 2165 "./../src/mycompiler/myparser/JavaParser.jay" +case 250: + // line 2171 "./../src/mycompiler/myparser/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()); @@ -2875,24 +2884,24 @@ case 249: yyVal=T; } break; -case 250: - // line 2186 "./../src/mycompiler/myparser/JavaParser.jay" +case 251: + // line 2192 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((MethodCall)yyVals[0+yyTop]); } break; -case 251: - // line 2190 "./../src/mycompiler/myparser/JavaParser.jay" +case 252: + // line 2196 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 252: - // line 2195 "./../src/mycompiler/myparser/JavaParser.jay" +case 253: + // line 2201 "./../src/mycompiler/myparser/JavaParser.jay" {yyVal=((Expr)yyVals[0+yyTop]);} break; -case 253: - // line 2197 "./../src/mycompiler/myparser/JavaParser.jay" +case 254: + // line 2203 "./../src/mycompiler/myparser/JavaParser.jay" {NotExpr NE=new NotExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); UnaryNot UN=new UnaryNot(); NE.set_UnaryNot(UN); @@ -2900,75 +2909,75 @@ case 253: yyVal=NE; } break; -case 254: - // line 2203 "./../src/mycompiler/myparser/JavaParser.jay" +case 255: + // line 2209 "./../src/mycompiler/myparser/JavaParser.jay" {yyVal=((CastExpr)yyVals[0+yyTop]);} break; -case 255: - // line 2205 "./../src/mycompiler/myparser/JavaParser.jay" +case 256: + // line 2211 "./../src/mycompiler/myparser/JavaParser.jay" {yyVal=((Expr)yyVals[0+yyTop]);} break; -case 257: - // line 2210 "./../src/mycompiler/myparser/JavaParser.jay" +case 258: + // line 2216 "./../src/mycompiler/myparser/JavaParser.jay" {IntLiteral IL = new IntLiteral(); IL.set_Int(((Token)yyVals[0+yyTop]).String2Int()); yyVal = IL; } break; -case 258: - // line 2215 "./../src/mycompiler/myparser/JavaParser.jay" +case 259: + // line 2221 "./../src/mycompiler/myparser/JavaParser.jay" {BoolLiteral BL = new BoolLiteral(); BL.set_Bool(((Token)yyVals[0+yyTop]).String2Bool()); yyVal = BL; } break; -case 259: - // line 2219 "./../src/mycompiler/myparser/JavaParser.jay" +case 260: + // line 2225 "./../src/mycompiler/myparser/JavaParser.jay" {CharLiteral CL = new CharLiteral(); CL.set_Char(((Token)yyVals[0+yyTop]).CharInString()); yyVal=CL; } break; -case 260: - // line 2224 "./../src/mycompiler/myparser/JavaParser.jay" +case 261: + // line 2230 "./../src/mycompiler/myparser/JavaParser.jay" { StringLiteral ST = new StringLiteral(); ST.set_String(((Token)yyVals[0+yyTop]).get_String()); yyVal=ST; } break; -case 261: - // line 2229 "./../src/mycompiler/myparser/JavaParser.jay" +case 262: + // line 2235 "./../src/mycompiler/myparser/JavaParser.jay" { LongLiteral LL = new LongLiteral(); LL.set_Long(((Token)yyVals[0+yyTop]).String2Long()); yyVal = LL; } break; -case 262: - // line 2233 "./../src/mycompiler/myparser/JavaParser.jay" +case 263: + // line 2239 "./../src/mycompiler/myparser/JavaParser.jay" { FloatLiteral FL = new FloatLiteral(); FL.set_Float(((Token)yyVals[0+yyTop]).String2Float()); yyVal = FL; } break; -case 263: - // line 2238 "./../src/mycompiler/myparser/JavaParser.jay" +case 264: + // line 2244 "./../src/mycompiler/myparser/JavaParser.jay" { DoubleLiteral DL = new DoubleLiteral(); DL.set_Double(((Token)yyVals[0+yyTop]).String2Double()); yyVal = DL; } break; -case 264: - // line 2244 "./../src/mycompiler/myparser/JavaParser.jay" +case 265: + // line 2250 "./../src/mycompiler/myparser/JavaParser.jay" { Null NN = new Null(); yyVal=NN; } break; -case 265: - // line 2250 "./../src/mycompiler/myparser/JavaParser.jay" +case 266: + // line 2256 "./../src/mycompiler/myparser/JavaParser.jay" { CastExpr CaEx=new CastExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); CaEx.set_Type(((BaseType)yyVals[-2+yyTop])); @@ -2976,25 +2985,25 @@ case 265: yyVal=CaEx; } break; -case 266: - // line 2259 "./../src/mycompiler/myparser/JavaParser.jay" +case 267: + // line 2265 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 267: - // line 2263 "./../src/mycompiler/myparser/JavaParser.jay" - { - } - break; case 268: - // line 2267 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2269 "./../src/mycompiler/myparser/JavaParser.jay" + { + } + break; +case 269: + // line 2273 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 269: - // line 2271 "./../src/mycompiler/myparser/JavaParser.jay" +case 270: + // line 2277 "./../src/mycompiler/myparser/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()); @@ -3005,8 +3014,8 @@ case 269: yyVal=EQ; } break; -case 270: - // line 2281 "./../src/mycompiler/myparser/JavaParser.jay" +case 271: + // line 2287 "./../src/mycompiler/myparser/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()); @@ -3017,14 +3026,14 @@ case 270: yyVal=NEQ; } break; -case 271: - // line 2292 "./../src/mycompiler/myparser/JavaParser.jay" +case 272: + // line 2298 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 272: - // line 2296 "./../src/mycompiler/myparser/JavaParser.jay" +case 273: + // line 2302 "./../src/mycompiler/myparser/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()); @@ -3035,8 +3044,8 @@ case 272: yyVal=LO; } break; -case 273: - // line 2306 "./../src/mycompiler/myparser/JavaParser.jay" +case 274: + // line 2312 "./../src/mycompiler/myparser/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()); @@ -3047,8 +3056,8 @@ case 273: yyVal=GO; } break; -case 274: - // line 2316 "./../src/mycompiler/myparser/JavaParser.jay" +case 275: + // line 2322 "./../src/mycompiler/myparser/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()); @@ -3059,8 +3068,8 @@ case 274: yyVal=LE; } break; -case 275: - // line 2326 "./../src/mycompiler/myparser/JavaParser.jay" +case 276: + // line 2332 "./../src/mycompiler/myparser/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()); @@ -3071,8 +3080,8 @@ case 275: yyVal=GE; } break; -case 276: - // line 2336 "./../src/mycompiler/myparser/JavaParser.jay" +case 277: + // line 2342 "./../src/mycompiler/myparser/JavaParser.jay" { InstanceOf ISO=new InstanceOf(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); ISO.set_Expr(((Expr)yyVals[-2+yyTop])); @@ -3080,20 +3089,20 @@ case 276: yyVal=ISO; } break; -case 277: - // line 2344 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; case 278: - // line 2349 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2350 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 279: - // line 2353 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2355 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; +case 280: + // line 2359 "./../src/mycompiler/myparser/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()); @@ -3104,8 +3113,8 @@ case 279: yyVal=AD; } break; -case 280: - // line 2363 "./../src/mycompiler/myparser/JavaParser.jay" +case 281: + // line 2369 "./../src/mycompiler/myparser/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()); @@ -3116,14 +3125,14 @@ case 280: yyVal=MI; } break; -case 281: - // line 2374 "./../src/mycompiler/myparser/JavaParser.jay" +case 282: + // line 2380 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 282: - // line 2378 "./../src/mycompiler/myparser/JavaParser.jay" +case 283: + // line 2384 "./../src/mycompiler/myparser/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()); @@ -3134,8 +3143,8 @@ case 282: yyVal=ML; } break; -case 283: - // line 2388 "./../src/mycompiler/myparser/JavaParser.jay" +case 284: + // line 2394 "./../src/mycompiler/myparser/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()); @@ -3146,8 +3155,8 @@ case 283: yyVal = DV; } break; -case 284: - // line 2398 "./../src/mycompiler/myparser/JavaParser.jay" +case 285: + // line 2404 "./../src/mycompiler/myparser/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()); @@ -3158,7 +3167,7 @@ case 284: yyVal =MD; } break; - // line 3162 "-" + // line 3171 "-" } yyTop -= yyLen[yyN]; yyState = yyStates[yyTop]; @@ -3198,26 +3207,26 @@ case 284: 41, 41, 41, 29, 4, 4, 31, 16, 16, 16, 30, 113, 113, 114, 114, 5, 5, 17, 17, 110, 106, 106, 10, 6, 19, 19, 11, 11, 11, 11, - 11, 13, 42, 42, 107, 107, 108, 108, 108, 108, - 48, 94, 97, 97, 93, 93, 95, 95, 96, 96, + 11, 11, 13, 42, 42, 107, 107, 108, 108, 108, + 108, 48, 94, 97, 97, 93, 93, 95, 95, 96, + 96, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 12, 39, 39, 39, 39, 18, 18, 43, 44, 44, - 50, 50, 109, 109, 38, 38, 14, 14, 36, 36, - 37, 20, 80, 80, 49, 49, 103, 103, 35, 21, - 78, 46, 81, 81, 81, 81, 81, 71, 71, 34, - 34, 47, 47, 79, 79, 79, 79, 86, 87, 83, - 84, 84, 84, 84, 84, 84, 84, 84, 69, 69, - 89, 77, 90, 90, 82, 82, 82, 68, 99, 99, - 72, 72, 72, 72, 72, 72, 88, 85, 67, 67, - 101, 45, 45, 51, 51, 70, 102, 100, 100, 100, - 100, 100, 100, 73, 74, 75, 76, 104, 104, 104, - 104, 91, 91, 66, 66, 57, 57, 57, 57, 57, - 55, 55, 55, 55, 54, 65, 65, 53, 53, 53, - 53, 56, 56, 56, 64, 64, 52, 52, 52, 52, - 52, 52, 52, 52, 111, 63, 63, 62, 62, 62, - 61, 61, 61, 61, 61, 61, 60, 59, 59, 59, - 58, 58, 58, 58, + 12, 12, 39, 39, 39, 39, 18, 18, 43, 44, + 44, 50, 50, 109, 109, 38, 38, 14, 14, 36, + 36, 37, 20, 80, 80, 49, 49, 103, 103, 35, + 21, 78, 46, 81, 81, 81, 81, 81, 71, 71, + 34, 34, 47, 47, 79, 79, 79, 79, 86, 87, + 83, 84, 84, 84, 84, 84, 84, 84, 84, 69, + 69, 89, 77, 90, 90, 82, 82, 82, 68, 99, + 99, 72, 72, 72, 72, 72, 72, 88, 85, 67, + 67, 101, 45, 45, 51, 51, 70, 102, 100, 100, + 100, 100, 100, 100, 73, 74, 75, 76, 104, 104, + 104, 104, 91, 91, 66, 66, 57, 57, 57, 57, + 57, 55, 55, 55, 55, 54, 65, 65, 53, 53, + 53, 53, 56, 56, 56, 64, 64, 52, 52, 52, + 52, 52, 52, 52, 52, 111, 63, 63, 62, 62, + 62, 61, 61, 61, 61, 61, 61, 60, 59, 59, + 59, 58, 58, 58, 58, }; protected static final short yyLen [] = { 2, 1, 2, 3, 2, 3, 3, 1, 2, 3, 1, @@ -3228,1014 +3237,1038 @@ case 284: 3, 2, 3, 2, 3, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 2, 1, 3, 0, 3, 1, 1, 1, 1, 2, - 2, 3, 6, 2, 4, 3, 2, 2, 2, 3, - 4, 2, 2, 3, 3, 4, 2, 3, 3, 4, - 2, 1, 1, 3, 1, 3, 1, 3, 1, 3, - 5, 2, 3, 6, 3, 6, 4, 7, 2, 3, - 3, 4, 5, 6, 6, 7, 1, 4, 2, 2, - 3, 1, 3, 1, 3, 1, 3, 1, 1, 2, - 1, 3, 4, 5, 1, 3, 3, 4, 1, 1, - 1, 1, 1, 1, 2, 1, 1, 3, 1, 1, - 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 2, 1, 1, 1, 1, 1, 5, 7, 5, - 9, 8, 8, 8, 7, 7, 7, 6, 1, 1, - 1, 2, 2, 3, 1, 1, 1, 1, 3, 3, - 1, 1, 1, 1, 1, 1, 7, 5, 1, 3, - 1, 1, 1, 2, 3, 3, 1, 1, 1, 1, - 1, 1, 1, 2, 2, 2, 2, 3, 4, 5, - 6, 4, 5, 1, 3, 1, 1, 2, 2, 1, - 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, - 1, 1, 2, 1, 1, 3, 1, 1, 1, 1, - 1, 1, 1, 1, 4, 1, 3, 1, 3, 3, - 1, 3, 3, 3, 3, 3, 1, 1, 3, 3, - 1, 3, 3, 3, + 2, 3, 6, 2, 4, 3, 2, 2, 5, 2, + 3, 4, 2, 2, 3, 3, 4, 2, 3, 3, + 4, 2, 1, 1, 3, 1, 3, 1, 3, 1, + 3, 5, 2, 3, 6, 3, 6, 4, 7, 2, + 3, 3, 4, 5, 6, 6, 7, 1, 4, 2, + 2, 3, 1, 3, 1, 3, 1, 3, 1, 1, + 2, 1, 3, 4, 5, 1, 3, 3, 4, 1, + 1, 1, 1, 1, 1, 2, 1, 1, 3, 1, + 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 2, 1, 1, 1, 1, 1, 5, 7, + 5, 9, 8, 8, 8, 7, 7, 7, 6, 1, + 1, 1, 2, 2, 3, 1, 1, 1, 1, 3, + 3, 1, 1, 1, 1, 1, 1, 7, 5, 1, + 3, 1, 1, 1, 2, 3, 3, 1, 1, 1, + 1, 1, 1, 1, 2, 2, 2, 2, 3, 4, + 5, 6, 4, 5, 1, 3, 1, 1, 2, 2, + 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, + 1, 1, 1, 2, 1, 1, 3, 1, 1, 1, + 1, 1, 1, 1, 1, 4, 1, 3, 1, 3, + 3, 1, 3, 3, 3, 3, 3, 1, 1, 3, + 3, 1, 3, 3, 3, }; protected static final short yyDefRed [] = { 0, - 62, 149, 171, 0, 63, 170, 60, 59, 58, 0, + 62, 150, 172, 0, 63, 171, 60, 59, 58, 0, 0, 0, 61, 19, 0, 14, 15, 0, 7, 0, - 151, 159, 150, 0, 0, 0, 0, 47, 0, 0, + 152, 160, 151, 0, 0, 0, 0, 47, 0, 0, 10, 0, 0, 13, 12, 0, 0, 0, 0, 0, 0, 71, 8, 0, 0, 0, 0, 0, 0, 48, 11, 0, 0, 0, 0, 0, 0, 20, 0, 0, 6, 0, 9, 0, 0, 0, 0, 32, 0, 72, - 0, 133, 135, 5, 0, 0, 0, 0, 102, 103, + 0, 134, 136, 5, 0, 0, 0, 0, 103, 104, 0, 49, 64, 67, 50, 0, 0, 0, 0, 45, 78, 0, 79, 0, 0, 56, 68, 0, 0, 0, - 152, 0, 0, 0, 70, 0, 69, 22, 0, 0, - 24, 16, 0, 18, 0, 54, 0, 52, 0, 65, - 77, 76, 0, 0, 0, 0, 34, 0, 75, 21, - 0, 0, 33, 0, 0, 0, 31, 0, 80, 0, - 0, 0, 109, 0, 138, 92, 0, 130, 46, 57, - 0, 89, 87, 0, 0, 0, 0, 88, 0, 0, - 0, 0, 0, 0, 0, 0, 81, 26, 51, 29, - 53, 66, 84, 0, 55, 73, 23, 0, 25, 35, - 107, 0, 104, 0, 0, 0, 249, 0, 257, 261, - 263, 262, 258, 264, 259, 260, 0, 0, 0, 191, - 93, 0, 0, 136, 0, 0, 0, 174, 0, 153, - 0, 0, 248, 245, 0, 0, 251, 0, 202, 203, - 0, 0, 176, 163, 139, 154, 166, 167, 164, 165, - 175, 177, 201, 0, 0, 121, 147, 156, 0, 141, - 0, 0, 0, 145, 0, 160, 137, 0, 0, 0, - 0, 0, 0, 240, 281, 0, 0, 271, 0, 0, - 0, 0, 0, 0, 0, 189, 168, 86, 236, 237, - 243, 244, 169, 190, 250, 254, 95, 0, 115, 90, - 0, 0, 0, 0, 131, 0, 0, 0, 82, 0, - 97, 0, 0, 0, 27, 0, 0, 0, 193, 0, - 0, 0, 224, 225, 214, 0, 0, 0, 94, 140, - 162, 211, 0, 0, 226, 227, 192, 222, 223, 219, - 220, 221, 218, 0, 155, 0, 148, 110, 0, 128, - 0, 0, 0, 0, 238, 239, 253, 0, 0, 0, + 153, 0, 0, 0, 70, 0, 69, 22, 0, 0, + 24, 16, 0, 18, 0, 54, 0, 0, 52, 0, + 65, 77, 76, 0, 0, 0, 0, 34, 0, 75, + 21, 0, 0, 33, 0, 0, 0, 31, 0, 80, + 0, 0, 0, 110, 0, 139, 93, 0, 131, 46, + 57, 0, 90, 87, 0, 0, 0, 0, 88, 0, + 0, 0, 0, 0, 0, 0, 0, 81, 26, 51, + 29, 0, 53, 66, 84, 0, 55, 73, 23, 0, + 25, 35, 108, 0, 105, 0, 0, 0, 250, 0, + 258, 262, 264, 263, 259, 265, 260, 261, 0, 0, + 0, 192, 94, 0, 0, 137, 0, 0, 0, 175, + 0, 154, 0, 0, 249, 246, 0, 0, 252, 0, + 203, 204, 0, 0, 177, 164, 140, 155, 167, 168, + 165, 166, 176, 178, 202, 0, 0, 122, 148, 157, + 0, 142, 0, 0, 0, 146, 0, 161, 138, 0, + 0, 0, 0, 0, 0, 241, 282, 0, 0, 272, + 0, 0, 0, 0, 0, 0, 0, 190, 169, 86, + 237, 238, 244, 245, 170, 191, 251, 255, 96, 0, + 116, 91, 0, 0, 0, 0, 132, 0, 0, 0, + 82, 0, 98, 0, 0, 0, 0, 27, 0, 0, + 0, 194, 0, 0, 0, 225, 226, 215, 0, 0, + 0, 95, 141, 163, 212, 0, 0, 227, 228, 193, + 223, 224, 220, 221, 222, 219, 0, 156, 0, 149, + 111, 0, 129, 0, 0, 0, 0, 239, 240, 254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 96, 0, 0, 122, 0, 117, - 91, 0, 99, 98, 0, 0, 108, 0, 0, 0, - 194, 0, 215, 228, 157, 0, 212, 216, 213, 0, - 199, 200, 142, 0, 0, 146, 0, 0, 282, 283, - 284, 0, 0, 276, 274, 275, 272, 273, 0, 0, - 0, 0, 0, 0, 0, 85, 0, 0, 0, 0, - 100, 0, 0, 0, 0, 0, 0, 0, 229, 0, - 125, 116, 232, 0, 265, 0, 0, 143, 0, 83, - 0, 0, 0, 0, 0, 0, 0, 0, 178, 0, - 197, 196, 180, 158, 230, 0, 233, 126, 118, 144, - 188, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 231, 187, 186, 0, 185, 0, 0, 0, 0, 0, - 179, 184, 183, 182, 0, 0, 0, 181, 0, 208, - 0, 207, + 0, 0, 0, 0, 0, 0, 0, 97, 0, 0, + 123, 0, 118, 92, 0, 100, 99, 0, 0, 0, + 109, 0, 0, 0, 195, 0, 216, 229, 158, 0, + 213, 217, 214, 0, 200, 201, 143, 0, 0, 89, + 0, 147, 0, 0, 283, 284, 285, 0, 0, 277, + 275, 276, 273, 274, 0, 0, 0, 0, 0, 0, + 0, 85, 0, 0, 0, 0, 101, 0, 0, 0, + 0, 0, 0, 0, 230, 0, 126, 117, 233, 0, + 266, 0, 0, 144, 0, 83, 0, 0, 0, 0, + 0, 0, 0, 0, 179, 0, 198, 197, 181, 159, + 231, 0, 234, 127, 119, 145, 189, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 232, 188, 187, 0, + 186, 0, 0, 0, 0, 0, 180, 185, 184, 183, + 0, 0, 0, 182, 0, 209, 0, 208, }; protected static final short yyDgoto [] = { 15, - 16, 17, 68, 119, 120, 121, 58, 33, 40, 122, - 91, 92, 93, 94, 95, 96, 97, 203, 99, 204, - 101, 34, 35, 37, 19, 20, 206, 59, 82, 21, - 85, 60, 69, 22, 23, 24, 25, 245, 207, 27, - 28, 208, 146, 209, 378, 210, 211, 148, 240, 306, - 212, 213, 214, 215, 253, 254, 255, 256, 257, 258, - 259, 260, 261, 262, 263, 264, 265, 266, 267, 217, - 375, 218, 269, 270, 271, 272, 223, 0, 224, 225, - 226, 440, 227, 228, 441, 229, 230, 442, 231, 232, - 273, 29, 79, 80, 182, 144, 81, 30, 274, 324, - 313, 234, 376, 275, 31, 105, 106, 167, 293, 107, - 276, 0, 71, 42, 0, + 16, 17, 68, 120, 121, 122, 58, 33, 40, 123, + 91, 92, 93, 94, 95, 96, 97, 205, 99, 206, + 101, 34, 35, 37, 19, 20, 208, 59, 82, 21, + 85, 60, 69, 22, 23, 24, 25, 247, 209, 27, + 28, 210, 147, 211, 382, 212, 213, 149, 242, 309, + 214, 215, 216, 217, 255, 256, 257, 258, 259, 260, + 261, 262, 263, 264, 265, 266, 267, 268, 269, 219, + 379, 220, 271, 272, 273, 274, 225, 0, 226, 227, + 228, 446, 229, 230, 447, 231, 232, 448, 233, 234, + 275, 29, 79, 80, 184, 145, 81, 30, 276, 327, + 316, 236, 380, 277, 31, 105, 106, 168, 295, 107, + 278, 0, 71, 42, 0, }; - protected static final short yySindex [] = { 1561, - 0, 0, 0, -265, 0, 0, 0, 0, 0, -248, - -248, -239, 0, 0, 0, 0, 0, 8, 0, 504, - 0, 0, 0, 36, 83, 191, 361, 0, 1049, 504, - 0, 48, -97, 0, 0, 38, 125, 154, 149, -88, - 191, 0, 0, 1049, 127, 160, 1561, -265, -239, 0, - 0, 504, 1049, -42, -248, -248, 2581, 0, -104, -4, - 0, -26, 0, -37, -42, -248, 3380, 0, -3, 0, - 159, 0, 0, 0, -97, -88, 1049, 57, 0, 0, - 163, 0, 0, 0, 0, 185, 61, 326, -42, 0, - 0, 185, 0, 86, 3408, 0, 0, 93, 311, 329, - 0, 25, 223, 3471, 0, 259, 0, 0, -4, -248, - 0, 0, 0, 0, 168, 0, 326, 0, 3443, 0, - 0, 0, 336, 61, 3471, -248, 0, 191, 0, 0, - -104, -4, 0, -3, -248, -42, 0, 2993, 0, 326, - 86, -8, 0, 187, 0, 0, -248, 0, 0, 0, - 96, 0, 0, 1041, 173, 86, 235, 0, 359, 96, - 61, -42, 86, 138, 259, 3054, 0, 0, 0, 0, - 0, 0, 0, 139, 0, 0, 0, -4, 0, 0, - 0, 410, 0, 411, 412, 572, 0, 414, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 923, 923, 0, - 0, 176, 413, 0, 8, 56, 96, 0, 3110, 0, - 396, 130, 0, 0, 420, 68, 0, 408, 0, 0, + protected static final short yySindex [] = { 1495, + 0, 0, 0, -257, 0, 0, 0, 0, 0, -242, + -242, -236, 0, 0, 0, 0, 0, 44, 0, 493, + 0, 0, 0, -9, 70, 105, 998, 0, 1182, 493, + 0, 143, -94, 0, 0, 75, 156, 200, 190, -111, + 105, 0, 0, 1182, 208, 233, 1495, -257, -236, 0, + 0, 493, 1182, 61, -242, -242, 3511, 0, -119, -5, + 0, 76, 0, -36, 61, -242, 3548, 0, 5, 0, + 48, 0, 0, 0, -94, -111, 1182, 9, 0, 0, + 149, 0, 0, 0, 0, 226, 85, 333, 61, 0, + 0, 226, 0, 103, 3578, 0, 0, 155, 335, 339, + 0, 24, 106, 1982, 0, 279, 0, 0, -5, -242, + 0, 0, 0, 0, 178, 0, 333, 61, 0, 3614, + 0, 0, 0, 355, 85, 1982, -242, 0, 105, 0, + 0, -119, -5, 0, 5, -242, 61, 0, 3078, 0, + 333, 103, -27, 0, 243, 0, 0, -242, 0, 0, + 0, 114, 0, 0, 1056, -13, 103, 169, 0, 363, + 114, 85, 61, 103, 115, 279, 3160, 0, 0, 0, + 0, 250, 0, 0, 0, 136, 0, 0, 0, -5, + 0, 0, 0, 401, 0, 424, 426, 538, 0, 428, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 878, + 878, 0, 0, 127, 432, 0, 44, 342, 114, 0, + 3269, 0, 436, 168, 0, 0, 459, -182, 0, 450, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 40, 0, 0, 0, 0, 96, 0, - 72, -42, 249, 0, 424, 0, 0, -248, 176, 923, - 923, 923, 68, 0, 0, 459, 304, 0, -6, -211, - 437, 384, 366, 179, 182, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 110, 0, 0, - 1041, 438, 86, 245, 0, 326, 86, 262, 0, 460, - 0, 3154, 3198, 92, 0, -248, 601, 1041, 0, 446, - 1041, 56, 0, 0, 0, 167, 618, 413, 0, 0, - 0, 0, 678, 209, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1041, 0, 321, 0, 0, 61, 0, - 61, -248, 475, 42, 0, 0, 0, 923, 923, 923, - 923, 923, -248, 923, 923, 923, 923, 923, 923, 923, - 923, 923, 923, 923, 0, 0, 1041, 0, 291, 0, - 0, 714, 0, 0, 3255, 1041, 0, 731, 457, 487, - 0, 488, 0, 0, 0, 260, 0, 0, 0, 490, - 0, 0, 0, 86, 86, 0, 771, 923, 0, 0, - 0, 459, 459, 0, 0, 0, 0, 0, -6, -6, - -211, 437, 384, 366, 179, 0, 61, 61, 473, 323, - 0, 476, 808, 477, 844, 1169, 1447, 1041, 0, 888, - 0, 0, 0, 347, 0, 86, 86, 0, 478, 0, - 1447, 500, 905, 950, 486, 506, 507, 0, 0, 284, - 0, 0, 0, 0, 0, 362, 0, 0, 0, 0, - 0, 1447, 1447, 511, 1447, 513, 1002, 1041, 1041, 1447, - 0, 0, 0, 1447, 0, 1447, 1447, 514, 517, 518, - 0, 0, 0, 0, 1447, 1169, 1169, 0, 296, 0, - 1169, 0, + 0, 0, 0, 0, 0, -24, 0, 0, 0, 0, + 114, 0, 17, 61, 186, 0, 466, 0, 0, -242, + 127, 878, 878, 878, -182, 0, 0, 329, 108, 0, + 7, 25, 476, 425, 394, 215, 218, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 391, + 0, 0, 1056, 464, 103, 254, 0, 333, 103, 175, + 0, 489, 0, 3323, 3371, 186, 120, 0, -242, 570, + 1056, 0, 471, 1056, 342, 0, 0, 0, 392, 720, + 432, 0, 0, 0, 0, 752, 230, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1056, 0, 232, 0, + 0, 85, 0, 106, -242, 496, -11, 0, 0, 0, + 878, 878, 878, 878, 878, -242, 878, 878, 878, 878, + 878, 878, 878, 878, 878, 878, 878, 0, 0, 1056, + 0, 207, 0, 0, 769, 0, 0, 3423, 85, 1056, + 0, 815, 478, 497, 0, 498, 0, 0, 0, 413, + 0, 0, 0, 502, 0, 0, 0, 103, 103, 0, + 339, 0, 843, 878, 0, 0, 0, 329, 329, 0, + 0, 0, 0, 0, 7, 7, 25, 476, 425, 394, + 215, 0, 85, 85, 487, 415, 0, 491, 860, 495, + 907, 1600, 2324, 1056, 0, 934, 0, 0, 0, 439, + 0, 103, 103, 0, 501, 0, 2324, 515, 951, 990, + 503, 517, 521, 0, 0, 297, 0, 0, 0, 0, + 0, 460, 0, 0, 0, 0, 0, 2324, 2324, 524, + 2324, 528, 1039, 1056, 1056, 2324, 0, 0, 0, 2324, + 0, 2324, 2324, 529, 531, 532, 0, 0, 0, 0, + 2324, 1600, 1600, 0, 307, 0, 1600, 0, }; protected static final short yyRindex [] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1223, 0, 0, - 0, 0, 0, 3312, 3352, 0, 0, 0, 568, 0, - 0, -92, 0, 0, 0, 0, 0, 0, -71, 0, - 0, 0, 0, 569, 0, 0, 0, 0, 0, 0, - 0, 0, 577, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1329, 0, 0, + 0, 0, 0, 724, 1123, 0, 0, 0, 575, 0, + 0, -90, 0, 0, 0, 0, 0, 0, -98, 0, + 0, 0, 0, 580, 0, 0, 0, 0, 0, 0, + 0, 0, 582, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 578, 247, 0, 0, - 0, 0, 0, 0, 0, 3499, 0, 122, 0, 0, - 0, 0, 0, -12, 0, 0, 0, 0, 0, 267, - 0, -64, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 299, 0, 0, 0, -54, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 585, 258, 0, 0, + 0, 0, 0, 0, 0, 2403, 0, 402, 0, 0, + 0, 0, 0, -23, 0, 0, 0, 0, 0, 263, + 0, -50, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 212, 0, 0, 0, -53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 5, 0, 0, 267, 0, - 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, + 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -4, 0, 0, 263, + 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 252, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -31, 0, 0, 0, - 0, 0, 336, 0, 155, 529, 0, 0, 0, 0, - 0, 0, 0, 0, 1117, 0, 0, 0, 0, 0, - -57, -51, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -35, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, - 0, 0, 2968, 0, 0, 2693, 2216, 0, 2342, 2306, - 1318, 1391, 1503, 1592, 1664, 0, 0, 0, 0, 0, + 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 507, 0, + 0, 0, 0, 0, 527, 0, 332, 655, 0, 0, + 0, 0, 0, 0, 0, 0, 1265, 0, 0, 0, + 0, 0, -56, -49, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -41, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, + 0, 0, 0, 0, 3214, 0, 0, 2854, 2238, 0, + 2434, 2489, 1384, 1438, 1689, 1743, 1781, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 34, 0, 0, 274, 50, 0, 0, -21, + 0, 0, 0, 0, 43, 0, 0, 315, 50, 0, + 0, -26, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1818, 0, 0, 0, 0, 0, + 530, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1754, 0, 0, 0, 0, 0, 521, 0, 0, + 0, 0, 0, 0, 0, 0, 286, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 3476, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 280, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 71, 72, 0, + 0, 0, 0, 0, 0, 0, 0, 2908, 2963, 0, + 0, 0, 0, 0, 2603, 2794, 2543, 1878, 2069, 2129, + 2183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1825, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 76, 79, 0, 0, 0, 0, 0, - 0, 2782, 2894, 0, 0, 0, 0, 0, 2507, 2617, - 2417, 1865, 1940, 2030, 2141, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 81, 120, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2838, 0, 0, + 0, 79, 81, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 3024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, }; - protected static final short yyGindex [] = { 546, - 0, 0, 2, 0, 481, 0, 386, 553, 545, 0, - 0, -16, 0, 131, 0, 508, 0, -15, 499, 9, - -11, 20, 0, 0, 3, 576, -10, 532, -126, -52, - -28, -2, 533, 0, 0, 365, -128, 0, 22, 205, - 17, -74, 0, -123, 0, 0, 0, -124, 287, 77, - 0, 0, 0, 0, -66, 0, 174, 80, 0, 240, - 65, 276, 277, 275, 282, 286, 0, 0, 319, 0, - 335, 0, -48, 27, 67, 144, 0, 0, -371, -193, - 2296, -154, 0, 0, 0, 0, 0, 0, 0, 0, - 328, 29, -55, 519, 0, 485, 591, 0, 233, 0, - 0, 0, -139, 264, 364, 0, 558, 492, 0, 0, + protected static final short yyGindex [] = { 545, + 0, 0, -42, 0, 473, 0, 383, 546, 547, 0, + 0, 22, 0, 113, 0, 500, 0, -22, -80, -55, + -45, 19, 0, 0, 51, 574, -10, 533, -137, -40, + 110, 4, 535, 0, 0, 358, -128, 0, 21, 87, + -14, -35, 0, -115, 0, 0, 0, -133, 283, 153, + 0, 0, 0, 0, -62, 0, -158, -118, 0, 123, + 18, 261, 262, 267, 268, 260, 0, 0, 291, 0, + 319, 0, -32, 30, 62, 118, 0, 0, -350, -179, + 1033, -65, 0, 0, 0, 0, 0, 0, 0, 0, + 298, 256, -72, 490, 0, -64, 561, 0, 184, 0, + 0, 0, -343, 264, 275, 0, 526, 462, 0, 0, 0, 0, 0, 0, 0, }; protected static final short yyTable [] = { 36, - 38, 204, 83, 84, 114, 19, 181, 205, 19, 160, - 250, 139, 160, 84, 19, 310, 236, 145, 57, 18, - 244, 26, 43, 206, 249, 57, 74, 160, 19, 19, - 30, 279, 237, 143, 67, 32, 19, 116, 285, 110, - 126, 98, 292, 50, 438, 18, 127, 47, 44, 119, - 123, 28, 14, 346, 43, 347, 109, 84, 53, 19, - 18, 39, 70, 112, 155, 100, 18, 41, 26, 129, - 127, 216, 132, 84, 18, 18, 102, 133, 103, 98, - 77, 169, 388, 62, 41, 18, 18, 157, 124, 219, - 348, 101, 120, 349, 83, 307, 61, 175, 310, 216, - 323, 62, 123, 100, 438, 438, 143, 54, 113, 438, - 127, 159, 327, 119, 102, 326, 103, 219, 57, 67, - 50, 333, 18, 102, 160, 164, 45, 112, 178, 18, - 238, 142, 45, 129, 123, 180, 151, 111, 18, 124, - 124, 50, 216, 238, 18, 18, 174, 18, 288, 176, - 355, 152, 366, 326, 18, 101, 120, 205, 358, 247, - 219, 18, 360, 239, 220, 160, 18, 367, 282, 365, - 55, 310, 113, 46, 18, 30, 239, 56, 114, 66, - 160, 19, 160, 63, 56, 205, 328, 302, 302, 30, - 238, 308, 220, 74, 13, 83, 28, 74, 123, 64, - 13, 111, 128, 124, 221, 386, 136, 373, 65, 74, - 326, 136, 19, 277, 394, 13, 305, 141, 241, 72, - 129, 18, 410, 239, 137, 216, 216, 325, 205, 170, - 242, 278, 221, 156, 163, 220, 74, 238, 377, 302, - 302, 302, 114, 219, 219, 74, 19, 424, 243, 2, - 243, 243, 73, 3, 156, 163, 244, 244, 78, 421, - 422, 104, 18, 113, 331, 6, 343, 18, 18, 19, - 239, 125, 250, 250, 112, 221, 19, 19, 151, 83, - 446, 222, 19, 19, 19, 19, 249, 249, 242, 19, - 105, 283, 197, 280, 287, 106, 344, 345, 216, 104, - 419, 448, 449, 418, 287, 151, 359, 138, 105, 222, - 136, 205, 205, 106, 238, 18, 219, 160, 220, 220, - 361, 479, 480, 125, 135, 136, 482, 302, 302, 302, - 302, 302, 160, 302, 302, 302, 302, 302, 302, 302, - 302, 302, 302, 302, 16, 18, 341, 239, 342, 216, - 216, 18, 222, 318, 319, 320, 321, 17, 221, 221, - 322, 140, 18, 429, 216, 142, 418, 219, 219, 153, - 233, 303, 304, 330, 147, 315, 316, 302, 18, 19, - 408, 166, 219, 19, 205, 216, 216, 447, 216, 154, - 418, 220, 51, 216, 173, 19, 246, 216, 233, 216, - 216, 235, 461, 219, 219, 418, 219, 51, 216, 216, - 216, 219, 399, 400, 216, 219, 51, 219, 219, 281, - 392, 393, 19, 335, 336, 337, 219, 219, 219, 235, - 2, 221, 219, 2, 3, 222, 222, 3, 286, 294, - 51, 233, 220, 220, 108, 111, 6, 296, 2, 6, - 297, 298, 3, 301, 311, 74, 151, 220, 312, 384, - 130, 385, 13, 13, 6, 314, 317, 332, 13, 13, - 13, 13, 235, 197, 350, 13, 197, 351, 220, 220, - 2, 220, 221, 221, 3, 353, 220, 354, 268, 352, - 220, 14, 220, 220, 168, 340, 6, 221, 357, 362, - 338, 220, 220, 220, 371, 339, 2, 220, 222, 380, - 3, 389, 390, 391, 387, 415, 177, 179, 221, 221, - 300, 221, 6, 88, 233, 233, 221, 416, 417, 420, - 221, 428, 221, 221, 430, 433, 450, 426, 427, 329, - 452, 221, 221, 221, 457, 458, 459, 221, 2, 117, - 460, 464, 3, 466, 475, 235, 235, 476, 477, 222, - 222, 425, 481, 295, 6, 242, 242, 1, 2, 242, - 242, 242, 242, 242, 222, 242, 4, 3, 2, 172, - 132, 407, 3, 395, 396, 397, 398, 242, 242, 217, - 242, 14, 74, 76, 6, 222, 222, 233, 222, 172, - 75, 158, 150, 222, 252, 52, 131, 222, 134, 222, - 222, 249, 383, 334, 250, 356, 251, 1, 222, 222, - 222, 197, 242, 48, 222, 401, 403, 402, 235, 5, - 299, 369, 370, 252, 404, 372, 7, 8, 9, 405, - 249, 49, 381, 250, 13, 251, 284, 379, 233, 233, - 252, 382, 242, 242, 183, 115, 289, 249, 374, 368, - 250, 165, 251, 233, 0, 0, 0, 0, 0, 0, + 38, 100, 205, 57, 251, 114, 19, 183, 238, 206, + 246, 67, 50, 239, 83, 84, 144, 207, 18, 250, + 26, 416, 159, 281, 28, 84, 128, 279, 57, 394, + 287, 313, 30, 134, 98, 128, 326, 19, 110, 100, + 74, 306, 307, 32, 18, 144, 47, 160, 127, 430, + 140, 294, 120, 172, 113, 130, 146, 330, 14, 18, + 329, 70, 109, 156, 39, 18, 349, 26, 350, 84, + 43, 444, 98, 18, 18, 102, 218, 103, 133, 45, + 158, 45, 452, 41, 18, 18, 84, 125, 124, 50, + 144, 129, 182, 338, 339, 340, 249, 240, 286, 128, + 102, 121, 43, 41, 218, 284, 221, 83, 114, 130, + 240, 50, 336, 102, 313, 103, 120, 57, 113, 130, + 62, 18, 102, 161, 165, 318, 319, 67, 18, 124, + 112, 444, 444, 61, 221, 180, 444, 125, 18, 115, + 125, 124, 290, 104, 18, 18, 176, 18, 218, 178, + 344, 361, 345, 126, 18, 363, 66, 207, 240, 143, + 46, 18, 56, 241, 102, 121, 18, 308, 222, 28, + 371, 331, 114, 55, 18, 116, 241, 30, 221, 368, + 370, 104, 395, 396, 397, 207, 311, 56, 313, 305, + 305, 30, 137, 124, 112, 328, 222, 392, 152, 142, + 223, 125, 54, 115, 19, 240, 126, 74, 19, 83, + 138, 74, 152, 153, 63, 157, 164, 400, 152, 170, + 19, 137, 18, 74, 241, 398, 399, 282, 223, 207, + 2, 218, 218, 364, 3, 431, 177, 157, 164, 171, + 222, 305, 305, 305, 2, 64, 6, 19, 3, 65, + 74, 244, 244, 390, 427, 428, 224, 16, 245, 245, + 6, 221, 221, 18, 113, 334, 251, 251, 18, 18, + 17, 241, 223, 199, 285, 44, 136, 289, 391, 346, + 381, 250, 250, 240, 224, 53, 244, 199, 289, 321, + 322, 323, 324, 244, 83, 243, 325, 244, 454, 455, + 72, 106, 107, 51, 245, 218, 137, 77, 280, 347, + 348, 296, 207, 207, 18, 362, 369, 18, 51, 106, + 107, 137, 235, 222, 222, 73, 351, 51, 224, 352, + 305, 305, 305, 305, 305, 221, 305, 305, 305, 305, + 305, 305, 305, 305, 305, 305, 305, 18, 139, 241, + 235, 51, 18, 18, 161, 223, 223, 333, 161, 218, + 218, 78, 2, 2, 18, 343, 3, 3, 405, 406, + 341, 13, 143, 161, 218, 342, 112, 13, 6, 6, + 18, 310, 414, 305, 2, 141, 207, 62, 3, 221, + 221, 148, 13, 154, 235, 218, 218, 222, 218, 155, + 6, 167, 237, 218, 221, 14, 88, 218, 333, 218, + 218, 224, 224, 175, 248, 288, 485, 486, 218, 218, + 218, 488, 74, 283, 218, 221, 221, 199, 221, 223, + 237, 358, 377, 221, 329, 329, 297, 221, 299, 221, + 221, 108, 111, 2, 388, 161, 389, 3, 221, 221, + 221, 222, 222, 425, 221, 435, 424, 131, 424, 6, + 161, 19, 161, 300, 2, 301, 222, 304, 3, 401, + 402, 403, 404, 270, 237, 152, 332, 235, 235, 453, + 6, 389, 424, 223, 223, 224, 117, 222, 222, 2, + 222, 169, 19, 3, 314, 222, 315, 413, 223, 222, + 467, 222, 222, 424, 317, 6, 303, 14, 320, 335, + 222, 222, 222, 353, 179, 181, 222, 355, 354, 223, + 223, 356, 223, 357, 360, 432, 433, 223, 365, 375, + 384, 223, 199, 223, 223, 393, 421, 422, 423, 224, + 224, 426, 223, 223, 223, 434, 19, 161, 223, 436, + 161, 235, 19, 439, 224, 458, 464, 237, 237, 456, + 465, 463, 298, 466, 470, 161, 19, 19, 472, 481, + 254, 482, 483, 487, 1, 224, 224, 251, 224, 2, + 252, 4, 253, 224, 3, 174, 133, 224, 173, 224, + 224, 74, 174, 75, 151, 76, 302, 19, 224, 224, + 224, 359, 254, 52, 224, 235, 235, 132, 337, 251, + 135, 387, 252, 407, 253, 408, 411, 385, 373, 374, + 235, 409, 376, 410, 386, 115, 185, 291, 372, 166, + 0, 237, 74, 0, 383, 0, 0, 0, 0, 13, + 13, 235, 235, 0, 235, 13, 13, 13, 13, 235, + 0, 0, 13, 235, 0, 235, 235, 0, 0, 19, + 0, 0, 0, 19, 235, 235, 235, 0, 0, 0, + 235, 0, 0, 0, 0, 19, 0, 0, 412, 0, + 0, 0, 0, 0, 0, 237, 237, 0, 418, 0, + 420, 243, 243, 0, 0, 243, 243, 243, 243, 243, + 237, 243, 19, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 243, 243, 218, 243, 0, 0, 0, + 0, 237, 237, 0, 237, 0, 0, 0, 0, 237, + 0, 0, 0, 237, 0, 237, 237, 438, 0, 441, + 0, 0, 450, 0, 237, 237, 237, 0, 243, 1, + 237, 0, 254, 0, 0, 4, 0, 460, 462, 251, + 378, 5, 252, 0, 253, 0, 0, 133, 7, 8, + 9, 0, 11, 12, 0, 0, 13, 0, 243, 243, + 0, 474, 475, 476, 254, 133, 0, 0, 0, 0, + 0, 251, 0, 0, 252, 0, 253, 0, 0, 0, + 0, 254, 0, 0, 0, 0, 0, 19, 251, 415, + 0, 252, 250, 253, 19, 19, 0, 0, 0, 0, + 19, 19, 19, 19, 189, 0, 0, 19, 0, 0, + 191, 192, 193, 194, 195, 196, 197, 198, 14, 0, + 0, 0, 0, 0, 250, 200, 201, 254, 0, 0, + 0, 0, 0, 0, 251, 0, 189, 252, 0, 253, + 0, 0, 191, 192, 193, 194, 195, 196, 197, 198, + 14, 0, 0, 419, 139, 254, 0, 200, 201, 0, + 0, 0, 251, 429, 0, 252, 0, 253, 0, 0, + 0, 0, 254, 0, 0, 0, 0, 0, 0, 251, + 437, 0, 252, 0, 253, 0, 0, 0, 0, 0, + 254, 243, 243, 0, 0, 0, 243, 251, 0, 0, + 252, 0, 253, 243, 0, 0, 0, 243, 243, 0, + 243, 243, 243, 0, 0, 0, 0, 0, 243, 254, + 0, 0, 0, 0, 0, 243, 251, 0, 0, 252, + 0, 253, 0, 0, 0, 243, 243, 243, 243, 243, + 243, 243, 243, 243, 0, 440, 254, 0, 218, 218, + 218, 218, 0, 251, 451, 218, 252, 0, 253, 0, + 133, 133, 0, 254, 0, 133, 133, 0, 0, 0, + 251, 459, 133, 252, 250, 253, 0, 133, 0, 133, + 133, 133, 133, 133, 133, 0, 189, 133, 0, 0, + 0, 0, 191, 192, 193, 194, 195, 196, 197, 198, + 14, 0, 254, 0, 133, 0, 250, 200, 201, 251, + 461, 0, 252, 0, 253, 0, 0, 0, 189, 0, + 0, 0, 0, 250, 191, 192, 193, 194, 195, 196, + 197, 198, 14, 0, 0, 189, 0, 0, 0, 200, + 201, 191, 192, 193, 194, 195, 196, 197, 198, 14, + 0, 254, 0, 0, 0, 0, 200, 201, 251, 473, + 0, 252, 0, 253, 0, 0, 0, 0, 254, 250, + 0, 0, 0, 0, 0, 251, 0, 0, 252, 0, + 253, 189, 0, 0, 0, 0, 0, 191, 192, 193, + 194, 195, 196, 197, 198, 14, 0, 250, 0, 0, + 0, 0, 200, 201, 0, 0, 0, 0, 0, 189, + 0, 0, 0, 0, 250, 191, 192, 193, 194, 195, + 196, 197, 198, 14, 0, 0, 189, 0, 0, 0, + 200, 201, 191, 192, 193, 194, 195, 196, 197, 198, + 14, 0, 0, 0, 189, 0, 135, 200, 201, 0, + 191, 192, 193, 194, 195, 196, 197, 198, 14, 0, + 0, 250, 0, 0, 135, 200, 201, 0, 0, 0, + 0, 0, 0, 189, 0, 0, 0, 0, 0, 191, + 192, 193, 194, 195, 196, 197, 198, 14, 250, 0, + 0, 0, 0, 0, 200, 201, 0, 0, 0, 0, + 189, 0, 0, 0, 0, 250, 191, 192, 193, 194, + 195, 196, 197, 198, 14, 0, 0, 189, 0, 0, + 0, 200, 201, 191, 192, 193, 194, 195, 196, 197, + 198, 14, 0, 0, 1, 0, 0, 0, 200, 201, + 48, 0, 0, 0, 250, 0, 5, 0, 0, 0, + 0, 0, 0, 7, 8, 9, 189, 0, 49, 0, + 0, 13, 191, 192, 193, 194, 195, 196, 197, 198, + 14, 0, 0, 0, 0, 0, 0, 200, 201, 0, + 0, 242, 242, 0, 0, 242, 242, 242, 242, 242, + 0, 242, 0, 250, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 242, 242, 189, 242, 0, 0, 0, + 250, 191, 192, 193, 194, 195, 196, 197, 198, 14, + 0, 0, 189, 0, 0, 0, 200, 201, 191, 192, + 193, 194, 195, 196, 197, 198, 14, 0, 242, 0, + 0, 0, 0, 200, 201, 74, 74, 0, 74, 74, + 74, 74, 74, 74, 74, 74, 0, 0, 0, 135, + 135, 0, 0, 0, 135, 135, 0, 74, 242, 242, + 74, 135, 0, 0, 0, 0, 135, 0, 135, 135, + 135, 135, 135, 135, 0, 0, 135, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 74, + 256, 0, 74, 135, 256, 256, 256, 256, 256, 256, + 256, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 256, 256, 4, 256, 0, 0, 0, 0, + 5, 74, 74, 74, 445, 449, 0, 7, 8, 9, + 0, 0, 12, 0, 0, 13, 0, 0, 0, 457, + 0, 0, 0, 0, 247, 247, 0, 256, 247, 247, + 247, 247, 247, 247, 247, 0, 0, 0, 0, 0, + 468, 469, 0, 471, 0, 0, 247, 247, 477, 247, + 0, 0, 478, 0, 479, 480, 0, 256, 256, 0, + 0, 0, 0, 484, 445, 449, 0, 0, 0, 477, + 0, 242, 242, 0, 0, 0, 242, 0, 0, 0, + 0, 0, 0, 242, 0, 0, 0, 242, 242, 0, + 242, 242, 242, 0, 0, 0, 0, 0, 242, 0, + 0, 0, 0, 0, 0, 242, 0, 0, 0, 0, + 0, 247, 247, 0, 0, 242, 242, 242, 242, 242, + 242, 242, 242, 242, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 74, 74, 0, 0, 0, + 74, 74, 0, 0, 0, 0, 0, 74, 0, 0, + 0, 74, 74, 0, 74, 74, 74, 74, 74, 74, + 74, 0, 74, 0, 0, 0, 0, 0, 0, 74, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 74, + 74, 74, 74, 74, 74, 74, 74, 74, 0, 204, + 256, 256, 0, 0, 0, 256, 0, 0, 0, 0, + 0, 0, 256, 0, 0, 0, 256, 256, 202, 256, + 256, 256, 0, 0, 0, 0, 0, 256, 0, 0, + 0, 0, 0, 0, 256, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 256, 256, 256, 256, 256, 256, + 256, 256, 256, 0, 247, 247, 0, 0, 0, 247, + 0, 0, 0, 0, 0, 0, 247, 0, 0, 0, + 247, 247, 0, 247, 247, 247, 0, 0, 0, 0, + 0, 247, 139, 0, 0, 235, 235, 0, 247, 235, + 235, 235, 235, 235, 235, 235, 0, 0, 247, 247, + 247, 247, 247, 247, 247, 247, 247, 235, 235, 0, + 235, 1, 2, 0, 0, 0, 3, 4, 0, 0, + 0, 0, 0, 5, 0, 0, 0, 0, 6, 0, + 7, 8, 9, 10, 11, 12, 0, 0, 13, 210, + 210, 0, 235, 210, 210, 210, 210, 210, 210, 210, + 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, + 0, 210, 210, 0, 210, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 0, 0, 0, 199, 199, 0, + 0, 199, 199, 199, 199, 199, 199, 199, 0, 0, + 0, 0, 0, 0, 0, 0, 210, 0, 0, 199, + 199, 0, 199, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 243, 243, 0, 0, 243, 243, + 243, 243, 243, 0, 243, 0, 210, 210, 0, 0, + 186, 442, 0, 0, 199, 0, 243, 243, 0, 243, + 0, 0, 188, 0, 0, 0, 189, 0, 0, 0, + 0, 443, 191, 192, 193, 194, 195, 196, 197, 198, + 14, 0, 0, 0, 199, 199, 0, 200, 201, 0, + 0, 243, 0, 0, 257, 0, 0, 0, 257, 257, + 257, 257, 257, 257, 257, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 257, 257, 0, 257, + 0, 243, 243, 0, 0, 235, 235, 0, 0, 0, + 235, 0, 0, 0, 0, 0, 0, 235, 0, 0, + 0, 235, 235, 0, 235, 235, 235, 0, 0, 0, + 0, 257, 235, 0, 0, 0, 0, 0, 0, 235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, - 235, 0, 0, 0, 233, 233, 0, 233, 0, 0, - 0, 406, 233, 0, 235, 0, 233, 0, 233, 233, - 412, 0, 414, 0, 0, 0, 0, 233, 233, 233, - 252, 0, 0, 233, 0, 235, 235, 249, 235, 0, - 250, 0, 251, 235, 0, 0, 0, 235, 0, 235, - 235, 0, 0, 0, 0, 0, 0, 0, 235, 235, - 235, 0, 0, 0, 235, 0, 252, 432, 0, 435, - 0, 0, 444, 249, 409, 0, 250, 0, 251, 0, - 1, 0, 0, 252, 0, 0, 4, 454, 456, 0, - 249, 0, 5, 250, 0, 251, 0, 0, 0, 7, - 8, 9, 0, 11, 12, 242, 242, 13, 0, 413, - 242, 468, 469, 470, 0, 0, 0, 242, 0, 0, - 138, 242, 242, 252, 242, 242, 242, 0, 0, 0, - 249, 423, 242, 250, 0, 251, 0, 0, 0, 242, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 242, - 242, 242, 242, 242, 242, 242, 242, 242, 0, 0, - 252, 0, 217, 217, 217, 217, 248, 249, 431, 217, - 250, 0, 251, 0, 0, 0, 0, 0, 187, 0, - 0, 0, 0, 0, 189, 190, 191, 192, 193, 194, - 195, 196, 14, 0, 0, 248, 252, 0, 0, 198, - 199, 0, 0, 249, 0, 0, 250, 187, 251, 0, - 0, 0, 248, 189, 190, 191, 192, 193, 194, 195, - 196, 14, 434, 0, 187, 0, 0, 0, 198, 199, - 189, 190, 191, 192, 193, 194, 195, 196, 14, 0, - 252, 0, 0, 0, 0, 198, 199, 249, 445, 0, - 250, 0, 251, 0, 0, 0, 0, 252, 0, 0, - 0, 0, 0, 0, 249, 453, 0, 250, 0, 251, - 0, 0, 248, 0, 0, 252, 0, 0, 0, 0, - 0, 0, 249, 0, 187, 250, 0, 251, 0, 0, - 189, 190, 191, 192, 193, 194, 195, 196, 14, 0, - 0, 0, 252, 0, 0, 198, 199, 0, 248, 249, - 455, 0, 250, 0, 251, 0, 0, 0, 0, 0, - 187, 0, 0, 0, 0, 248, 189, 190, 191, 192, - 193, 194, 195, 196, 14, 0, 0, 187, 0, 0, - 0, 198, 199, 189, 190, 191, 192, 193, 194, 195, - 196, 14, 0, 0, 252, 0, 0, 0, 198, 199, - 0, 249, 467, 0, 250, 248, 251, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 187, 0, 0, - 0, 0, 0, 189, 190, 191, 192, 193, 194, 195, - 196, 14, 0, 252, 0, 0, 0, 0, 198, 199, - 249, 0, 248, 250, 0, 251, 0, 0, 0, 0, - 0, 0, 0, 0, 187, 0, 0, 0, 0, 0, - 189, 190, 191, 192, 193, 194, 195, 196, 14, 0, - 0, 0, 0, 0, 0, 198, 199, 0, 248, 0, + 235, 235, 235, 235, 235, 235, 235, 235, 0, 210, + 210, 257, 257, 0, 210, 0, 0, 0, 0, 0, + 0, 210, 0, 0, 0, 210, 210, 0, 210, 210, + 210, 0, 0, 0, 0, 0, 210, 0, 0, 0, + 0, 0, 0, 210, 0, 0, 0, 199, 199, 0, + 0, 163, 199, 210, 210, 210, 210, 210, 210, 199, + 210, 210, 0, 199, 199, 0, 199, 199, 199, 0, + 0, 0, 0, 0, 199, 0, 0, 0, 0, 0, + 0, 199, 0, 0, 243, 243, 0, 0, 0, 243, + 0, 199, 199, 199, 199, 199, 243, 199, 199, 199, + 243, 243, 0, 243, 243, 243, 0, 0, 0, 0, + 0, 243, 0, 0, 0, 248, 248, 0, 243, 248, + 248, 248, 248, 248, 248, 248, 0, 0, 243, 243, + 243, 243, 243, 243, 243, 243, 243, 248, 248, 0, + 248, 0, 0, 0, 257, 257, 0, 0, 0, 257, + 0, 0, 0, 0, 0, 0, 257, 0, 0, 0, + 257, 257, 0, 257, 257, 257, 0, 0, 0, 0, + 0, 257, 0, 0, 0, 236, 236, 0, 257, 236, + 236, 236, 236, 236, 236, 236, 0, 0, 257, 257, + 257, 257, 257, 257, 257, 257, 257, 236, 236, 0, + 236, 0, 248, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 187, 0, 0, 0, 0, 0, 189, 190, 191, 192, - 193, 194, 195, 196, 14, 0, 0, 0, 0, 0, - 0, 198, 199, 241, 241, 0, 0, 241, 241, 241, - 241, 241, 248, 241, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 187, 241, 241, 0, 241, 248, - 189, 190, 191, 192, 193, 194, 195, 196, 14, 0, - 0, 187, 0, 0, 0, 198, 199, 189, 190, 191, - 192, 193, 194, 195, 196, 14, 0, 0, 202, 187, - 241, 0, 198, 199, 0, 189, 190, 191, 192, 193, - 194, 195, 196, 14, 248, 0, 0, 200, 0, 0, - 198, 199, 0, 0, 0, 0, 187, 0, 0, 0, - 241, 241, 189, 190, 191, 192, 193, 194, 195, 196, - 14, 0, 0, 0, 0, 0, 0, 198, 199, 74, - 74, 0, 74, 74, 74, 74, 74, 74, 74, 74, - 0, 0, 0, 0, 0, 0, 248, 0, 0, 0, - 0, 74, 0, 0, 74, 0, 0, 0, 187, 0, - 0, 138, 0, 0, 189, 190, 191, 192, 193, 194, - 195, 196, 14, 0, 0, 1, 0, 0, 0, 198, - 199, 4, 0, 74, 0, 248, 74, 5, 0, 0, - 0, 0, 0, 0, 7, 8, 9, 187, 0, 12, - 0, 0, 13, 189, 190, 191, 192, 193, 194, 195, - 196, 14, 0, 0, 0, 74, 74, 74, 198, 199, - 0, 0, 0, 0, 255, 0, 0, 0, 255, 255, - 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, - 0, 0, 0, 241, 241, 0, 255, 255, 241, 255, - 0, 0, 0, 0, 0, 241, 0, 0, 0, 241, - 241, 0, 241, 241, 241, 0, 0, 0, 0, 0, - 241, 0, 0, 0, 0, 0, 0, 241, 0, 0, - 0, 255, 0, 0, 0, 0, 0, 241, 241, 241, - 241, 241, 241, 241, 241, 241, 0, 246, 246, 0, - 0, 246, 246, 246, 246, 246, 246, 246, 0, 184, - 436, 255, 255, 0, 0, 0, 0, 0, 0, 246, - 246, 186, 246, 0, 0, 187, 0, 0, 0, 0, - 437, 189, 190, 191, 192, 193, 194, 195, 196, 14, - 0, 0, 0, 0, 0, 0, 198, 199, 0, 74, - 74, 0, 0, 0, 74, 74, 202, 0, 0, 0, - 0, 74, 0, 0, 0, 74, 74, 0, 74, 74, - 74, 74, 74, 74, 74, 200, 74, 0, 0, 0, - 0, 0, 0, 74, 246, 246, 0, 0, 0, 0, - 0, 0, 0, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 0, 0, 0, 0, 0, 0, 0, 234, - 234, 0, 0, 234, 234, 234, 234, 234, 234, 234, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 211, + 211, 0, 236, 211, 211, 211, 211, 211, 211, 211, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, + 0, 211, 211, 3, 211, 0, 0, 0, 0, 0, + 5, 0, 0, 236, 0, 6, 0, 7, 8, 9, + 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, + 0, 0, 162, 0, 278, 278, 211, 0, 278, 278, + 0, 278, 117, 278, 278, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 278, 278, 0, 278, + 0, 0, 0, 0, 0, 0, 211, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 234, 234, 0, 234, 0, 0, 0, 0, 138, - 0, 0, 0, 0, 255, 255, 0, 0, 0, 255, - 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, - 255, 255, 0, 255, 255, 255, 234, 0, 0, 0, - 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 234, 209, 209, - 0, 0, 209, 209, 209, 209, 209, 209, 209, 0, - 0, 0, 0, 0, 0, 0, 0, 246, 246, 0, - 209, 209, 246, 209, 0, 0, 0, 0, 0, 246, - 0, 0, 0, 246, 246, 0, 246, 246, 246, 0, - 0, 0, 0, 0, 246, 0, 0, 0, 0, 0, - 0, 246, 0, 0, 0, 209, 0, 0, 0, 0, - 0, 246, 246, 246, 246, 246, 246, 246, 246, 246, - 198, 198, 0, 0, 198, 198, 198, 198, 198, 198, - 198, 0, 0, 0, 0, 209, 209, 184, 185, 0, - 0, 0, 198, 198, 0, 198, 0, 0, 0, 186, - 0, 0, 0, 187, 0, 0, 0, 0, 188, 189, - 190, 191, 192, 193, 194, 195, 196, 14, 0, 0, - 0, 0, 0, 0, 198, 199, 0, 198, 0, 234, - 234, 0, 0, 0, 234, 0, 0, 0, 0, 0, - 0, 234, 0, 0, 0, 234, 234, 0, 234, 234, - 234, 0, 0, 0, 0, 0, 234, 198, 198, 0, - 242, 242, 0, 234, 242, 242, 242, 242, 242, 0, - 242, 0, 0, 234, 234, 234, 234, 234, 234, 234, - 234, 234, 242, 242, 0, 242, 0, 1, 2, 0, - 0, 0, 3, 4, 0, 0, 0, 0, 0, 5, - 0, 0, 0, 0, 6, 0, 7, 8, 9, 10, - 11, 12, 0, 0, 13, 0, 0, 242, 209, 209, - 0, 0, 0, 209, 0, 0, 0, 0, 0, 0, - 209, 14, 0, 0, 209, 209, 0, 209, 209, 209, - 0, 0, 0, 0, 0, 209, 0, 242, 242, 0, - 0, 0, 209, 85, 86, 0, 0, 0, 0, 0, - 0, 0, 209, 209, 209, 209, 209, 209, 0, 209, - 209, 256, 0, 0, 0, 256, 256, 256, 256, 256, - 256, 256, 0, 0, 0, 0, 0, 0, 0, 0, - 198, 198, 0, 256, 256, 198, 256, 0, 0, 0, - 0, 0, 198, 0, 0, 0, 198, 198, 0, 198, - 198, 198, 0, 0, 0, 0, 0, 198, 0, 86, - 0, 0, 0, 0, 198, 0, 0, 0, 256, 0, - 0, 0, 0, 0, 198, 198, 198, 198, 198, 0, - 198, 198, 198, 0, 0, 0, 247, 247, 0, 0, - 247, 247, 247, 247, 247, 247, 247, 0, 256, 256, - 0, 0, 0, 0, 0, 0, 0, 0, 247, 247, - 0, 247, 0, 0, 0, 0, 0, 0, 0, 0, - 242, 242, 0, 0, 0, 242, 0, 0, 0, 0, - 0, 0, 242, 0, 0, 0, 242, 242, 0, 242, - 242, 242, 0, 0, 0, 0, 0, 242, 0, 0, - 0, 0, 0, 0, 242, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 242, 242, 242, 242, 242, 242, - 242, 242, 242, 247, 247, 0, 235, 235, 0, 0, - 235, 235, 235, 235, 235, 235, 235, 0, 0, 0, - 0, 86, 86, 0, 0, 0, 86, 0, 235, 235, - 0, 235, 0, 86, 0, 0, 0, 0, 86, 0, - 86, 86, 86, 0, 0, 0, 0, 0, 86, 0, - 0, 0, 0, 0, 0, 86, 0, 0, 0, 0, - 0, 256, 256, 235, 0, 86, 256, 0, 0, 0, - 0, 0, 0, 256, 0, 0, 0, 256, 256, 0, - 256, 256, 256, 0, 0, 0, 0, 0, 256, 0, - 0, 0, 0, 0, 235, 256, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 0, 0, 0, 210, 210, 0, - 0, 210, 210, 210, 210, 210, 210, 210, 0, 0, - 0, 0, 0, 0, 0, 0, 247, 247, 0, 210, - 210, 247, 210, 0, 0, 0, 0, 0, 247, 0, - 0, 0, 247, 247, 0, 247, 247, 247, 0, 0, - 0, 0, 0, 247, 0, 0, 0, 0, 0, 0, - 247, 0, 0, 0, 210, 0, 0, 0, 0, 0, - 247, 247, 247, 247, 247, 247, 247, 247, 247, 0, - 0, 0, 277, 277, 0, 0, 277, 277, 0, 277, - 0, 277, 277, 0, 210, 210, 0, 0, 0, 0, - 0, 0, 0, 0, 277, 277, 0, 277, 0, 0, - 0, 0, 0, 0, 0, 0, 235, 235, 0, 0, - 0, 235, 0, 0, 0, 0, 0, 0, 235, 0, - 0, 0, 235, 235, 0, 235, 235, 235, 0, 277, - 0, 0, 0, 235, 0, 0, 0, 0, 0, 0, - 235, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 235, 235, 235, 235, 235, 235, 235, 235, 277, - 277, 0, 266, 266, 0, 0, 266, 266, 266, 266, - 266, 266, 266, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 266, 266, 0, 266, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 268, 268, - 0, 0, 268, 268, 268, 268, 268, 268, 268, 0, - 0, 0, 0, 0, 0, 0, 0, 210, 210, 266, - 268, 0, 210, 0, 0, 0, 0, 0, 0, 210, - 0, 0, 0, 210, 210, 0, 210, 210, 210, 0, - 0, 0, 0, 0, 210, 0, 0, 0, 0, 266, - 266, 210, 0, 0, 0, 268, 0, 0, 0, 0, - 0, 210, 210, 210, 210, 210, 210, 0, 210, 210, - 0, 0, 0, 267, 267, 0, 0, 267, 267, 267, - 267, 267, 267, 267, 0, 268, 268, 0, 0, 0, - 0, 0, 277, 277, 0, 267, 267, 277, 267, 0, - 0, 0, 0, 0, 277, 0, 0, 0, 277, 277, - 0, 277, 277, 277, 0, 0, 0, 0, 0, 277, - 0, 0, 0, 0, 0, 0, 277, 0, 0, 0, - 267, 0, 0, 0, 0, 0, 277, 277, 277, 277, - 277, 277, 277, 277, 277, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 248, 248, 0, 0, 0, + 248, 278, 0, 0, 0, 0, 0, 248, 0, 0, + 0, 248, 248, 0, 248, 248, 248, 0, 0, 0, + 0, 0, 248, 0, 0, 0, 0, 0, 0, 248, + 0, 278, 278, 204, 0, 0, 0, 0, 0, 248, + 248, 248, 248, 248, 248, 248, 248, 248, 0, 0, + 0, 0, 202, 0, 0, 236, 236, 0, 0, 0, + 236, 0, 0, 0, 0, 0, 0, 236, 0, 0, + 0, 236, 236, 0, 236, 236, 236, 0, 0, 0, + 0, 0, 236, 0, 0, 0, 0, 0, 0, 236, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 236, + 236, 236, 236, 236, 236, 236, 236, 236, 0, 211, + 211, 0, 0, 0, 211, 0, 139, 0, 0, 0, + 0, 211, 0, 0, 0, 211, 211, 0, 211, 211, + 211, 0, 61, 0, 0, 0, 211, 0, 0, 0, + 269, 269, 0, 211, 269, 269, 269, 269, 269, 269, + 269, 0, 0, 211, 211, 211, 211, 211, 211, 0, + 211, 211, 269, 0, 278, 278, 0, 0, 0, 278, + 0, 0, 0, 0, 0, 0, 278, 0, 0, 0, + 278, 278, 0, 278, 278, 278, 0, 0, 0, 0, + 0, 278, 0, 0, 0, 267, 267, 269, 278, 267, + 267, 267, 267, 267, 267, 267, 0, 0, 278, 278, + 278, 278, 278, 278, 278, 278, 278, 267, 267, 0, + 267, 0, 0, 0, 0, 0, 0, 269, 269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 267, 267, 0, 269, 269, 0, 0, 269, 269, 269, - 269, 269, 269, 269, 0, 0, 0, 0, 0, 0, - 0, 0, 266, 266, 0, 269, 0, 266, 0, 0, - 0, 0, 0, 0, 266, 0, 0, 0, 266, 266, - 0, 266, 266, 266, 0, 0, 0, 0, 0, 266, - 0, 0, 0, 0, 0, 0, 266, 0, 268, 268, - 269, 0, 0, 268, 0, 0, 266, 0, 266, 266, - 268, 266, 266, 266, 266, 268, 0, 268, 268, 268, - 0, 0, 0, 0, 0, 268, 0, 0, 0, 0, - 269, 269, 268, 0, 0, 0, 0, 0, 0, 0, - 89, 0, 268, 268, 0, 0, 268, 268, 268, 268, - 268, 0, 0, 270, 270, 0, 0, 270, 270, 270, - 270, 270, 270, 270, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 267, 267, 270, 0, 0, 267, 0, - 0, 0, 0, 0, 0, 267, 0, 0, 0, 267, - 267, 0, 267, 267, 267, 0, 0, 0, 0, 0, - 267, 0, 0, 0, 0, 90, 0, 267, 0, 0, - 270, 439, 443, 0, 0, 0, 0, 267, 0, 267, - 267, 0, 267, 267, 267, 267, 451, 0, 0, 0, - 278, 0, 0, 278, 0, 278, 278, 278, 278, 0, - 270, 270, 0, 0, 0, 0, 0, 462, 463, 0, - 465, 278, 278, 0, 278, 471, 0, 0, 0, 472, - 0, 473, 474, 269, 269, 0, 0, 0, 269, 0, - 478, 439, 443, 0, 0, 269, 471, 0, 0, 0, - 269, 0, 269, 269, 269, 0, 278, 0, 0, 0, - 269, 0, 0, 0, 0, 0, 0, 269, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 269, 269, 0, - 0, 269, 269, 269, 269, 269, 278, 278, 0, 279, - 0, 0, 279, 0, 279, 279, 279, 279, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, - 279, 279, 3, 279, 0, 0, 0, 0, 0, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, + 268, 0, 267, 268, 268, 268, 268, 268, 268, 268, + 0, 0, 0, 0, 186, 187, 0, 0, 0, 0, + 0, 268, 268, 0, 268, 0, 188, 0, 0, 0, + 189, 0, 267, 267, 0, 190, 191, 192, 193, 194, + 195, 196, 197, 198, 14, 0, 0, 0, 0, 0, + 0, 200, 201, 0, 0, 0, 268, 0, 0, 270, + 270, 0, 0, 270, 270, 270, 270, 270, 270, 270, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, + 61, 270, 0, 0, 61, 0, 268, 268, 0, 0, + 0, 61, 0, 0, 0, 0, 61, 0, 61, 61, + 61, 0, 0, 0, 0, 0, 61, 0, 0, 0, + 269, 269, 0, 61, 0, 269, 270, 0, 0, 0, + 0, 0, 269, 61, 0, 0, 0, 269, 0, 269, + 269, 269, 0, 0, 0, 0, 0, 269, 0, 0, + 0, 0, 0, 0, 269, 0, 270, 270, 0, 0, + 0, 0, 0, 0, 269, 269, 0, 0, 269, 269, + 269, 269, 269, 0, 0, 267, 267, 0, 0, 0, + 267, 0, 0, 0, 0, 0, 0, 267, 0, 0, + 0, 267, 267, 0, 267, 267, 267, 0, 0, 0, + 0, 0, 267, 0, 0, 0, 0, 0, 0, 267, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 267, + 0, 267, 267, 0, 267, 267, 267, 267, 0, 268, + 268, 0, 0, 0, 268, 0, 0, 0, 0, 0, + 0, 268, 0, 0, 0, 268, 268, 0, 268, 268, + 268, 0, 0, 0, 0, 0, 268, 0, 0, 0, + 271, 271, 0, 268, 271, 271, 271, 271, 271, 271, + 271, 0, 0, 268, 0, 268, 268, 0, 268, 268, + 268, 268, 271, 0, 0, 0, 0, 0, 0, 270, + 270, 0, 0, 0, 270, 0, 0, 0, 0, 0, + 0, 270, 0, 0, 0, 0, 270, 0, 270, 270, + 270, 0, 0, 0, 0, 0, 270, 271, 0, 0, + 0, 279, 0, 270, 279, 0, 279, 279, 279, 279, + 0, 0, 0, 270, 270, 0, 0, 270, 270, 270, + 270, 270, 279, 279, 0, 279, 0, 271, 271, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 280, 0, 279, 280, 0, + 280, 280, 280, 280, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 280, 280, 0, 280, + 0, 0, 0, 0, 0, 0, 0, 279, 279, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 281, 280, 0, 281, 0, 281, 281, 281, 281, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 281, 281, 0, 281, 0, 0, 0, 0, 0, + 0, 280, 280, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 271, 271, 0, 0, 0, 271, 281, 0, 0, 0, + 0, 0, 271, 164, 0, 0, 0, 271, 0, 271, + 271, 271, 0, 0, 0, 0, 0, 271, 0, 0, + 0, 0, 164, 0, 271, 0, 281, 281, 0, 0, + 0, 0, 0, 0, 271, 271, 0, 0, 271, 271, + 271, 271, 271, 0, 0, 0, 0, 0, 0, 0, + 279, 279, 0, 0, 0, 279, 0, 204, 0, 0, + 0, 0, 279, 0, 0, 0, 279, 279, 0, 279, + 279, 279, 0, 0, 0, 0, 202, 279, 0, 0, + 0, 0, 0, 0, 279, 0, 164, 0, 164, 0, + 0, 0, 0, 0, 279, 279, 279, 279, 279, 279, + 279, 279, 279, 0, 280, 280, 0, 0, 0, 280, + 0, 0, 0, 0, 0, 0, 280, 0, 0, 0, + 280, 280, 0, 280, 280, 280, 0, 0, 0, 0, + 0, 280, 0, 0, 0, 0, 0, 0, 280, 204, + 139, 0, 203, 0, 0, 0, 0, 0, 280, 280, + 280, 280, 280, 280, 280, 280, 280, 0, 202, 281, + 281, 0, 0, 0, 281, 0, 0, 0, 0, 0, + 0, 281, 0, 0, 0, 281, 281, 0, 281, 281, + 281, 0, 0, 0, 0, 0, 281, 0, 0, 0, + 253, 253, 0, 281, 253, 253, 253, 253, 253, 253, + 253, 0, 0, 281, 281, 281, 281, 281, 281, 281, + 281, 281, 253, 253, 0, 253, 0, 0, 0, 0, + 0, 164, 139, 0, 293, 164, 0, 0, 0, 0, + 196, 0, 0, 0, 164, 164, 0, 164, 0, 0, + 0, 0, 0, 0, 0, 0, 164, 253, 204, 0, + 164, 0, 0, 0, 0, 164, 164, 164, 164, 164, + 164, 164, 164, 164, 164, 0, 0, 202, 0, 0, + 0, 164, 164, 0, 0, 2, 0, 253, 253, 3, + 0, 0, 0, 0, 0, 0, 0, 0, 186, 187, + 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, + 188, 0, 204, 0, 189, 0, 0, 0, 0, 190, + 191, 192, 193, 194, 195, 196, 197, 198, 199, 0, + 0, 202, 0, 0, 0, 200, 201, 0, 0, 0, + 0, 139, 0, 312, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 204, 0, 0, 0, 0, 0, 0, 2, 0, 0, + 0, 3, 0, 0, 0, 0, 0, 0, 0, 202, + 186, 187, 0, 6, 0, 0, 0, 0, 0, 0, + 0, 0, 188, 0, 0, 139, 292, 366, 0, 0, + 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, + 199, 0, 204, 0, 0, 0, 0, 200, 201, 0, + 253, 253, 0, 0, 0, 253, 0, 0, 0, 0, + 0, 202, 253, 0, 0, 0, 253, 253, 0, 253, + 253, 253, 0, 139, 0, 367, 0, 253, 0, 0, + 0, 0, 0, 0, 253, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 253, 253, 253, 253, 253, 253, + 253, 0, 0, 0, 0, 0, 2, 0, 0, 0, + 3, 0, 0, 0, 85, 86, 0, 0, 0, 186, + 187, 0, 6, 0, 0, 139, 0, 417, 0, 0, + 0, 188, 0, 0, 0, 189, 0, 0, 0, 0, + 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, + 89, 0, 0, 0, 0, 0, 200, 201, 0, 0, + 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0, 0, 0, 186, 187, 0, 6, 0, 0, 0, + 86, 0, 0, 0, 0, 188, 0, 118, 0, 189, + 0, 0, 0, 0, 190, 191, 192, 193, 194, 195, + 196, 197, 198, 199, 0, 0, 0, 0, 2, 0, + 200, 201, 3, 0, 0, 90, 0, 89, 0, 0, + 0, 186, 187, 0, 6, 0, 0, 0, 0, 0, + 0, 0, 0, 188, 0, 0, 0, 189, 0, 0, + 0, 0, 190, 191, 192, 193, 194, 195, 196, 197, + 198, 199, 119, 118, 0, 0, 0, 0, 200, 201, + 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0, 0, 0, 186, 187, 0, 6, 0, 0, 0, + 0, 0, 150, 0, 0, 188, 0, 0, 0, 189, + 0, 0, 0, 0, 190, 191, 192, 193, 194, 195, + 196, 197, 198, 199, 0, 0, 0, 0, 0, 0, + 200, 201, 86, 86, 0, 0, 0, 86, 173, 0, + 0, 0, 0, 0, 86, 0, 0, 0, 0, 86, + 0, 86, 86, 86, 0, 0, 0, 0, 0, 86, + 0, 0, 0, 0, 0, 0, 86, 1, 2, 0, + 0, 0, 3, 0, 0, 0, 86, 0, 0, 5, 0, 0, 0, 0, 6, 0, 7, 8, 9, 0, 0, 0, 0, 0, 86, 0, 0, 0, 0, 0, - 0, 87, 0, 270, 270, 279, 0, 163, 270, 0, - 0, 88, 0, 0, 0, 270, 0, 0, 0, 0, - 270, 0, 270, 270, 270, 0, 163, 0, 0, 0, - 270, 0, 0, 0, 0, 279, 279, 270, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 270, 270, 0, - 0, 270, 270, 270, 270, 270, 0, 0, 0, 0, - 0, 280, 0, 0, 280, 0, 280, 280, 280, 280, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 278, - 278, 0, 280, 280, 278, 280, 0, 0, 0, 0, - 163, 278, 163, 0, 0, 278, 278, 0, 278, 278, - 278, 0, 0, 0, 0, 0, 278, 0, 0, 0, - 0, 0, 0, 278, 0, 0, 0, 280, 0, 0, - 0, 0, 0, 278, 278, 278, 278, 278, 278, 278, - 278, 278, 0, 0, 252, 252, 0, 0, 252, 252, - 252, 252, 252, 252, 252, 0, 0, 280, 280, 0, - 0, 0, 0, 0, 0, 0, 252, 252, 0, 252, - 0, 0, 202, 0, 0, 0, 0, 0, 279, 279, - 0, 0, 0, 279, 0, 0, 0, 0, 0, 0, - 279, 200, 0, 0, 279, 279, 0, 279, 279, 279, - 0, 252, 0, 0, 0, 279, 0, 0, 0, 0, - 0, 0, 279, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 279, 279, 279, 279, 279, 279, 279, 279, - 279, 252, 252, 202, 0, 163, 0, 0, 0, 163, - 0, 0, 0, 0, 195, 0, 0, 0, 163, 163, - 0, 163, 200, 0, 0, 138, 0, 201, 0, 0, - 163, 0, 0, 0, 163, 0, 0, 0, 0, 163, - 163, 163, 163, 163, 163, 163, 163, 163, 163, 0, - 0, 0, 0, 0, 0, 163, 163, 0, 0, 202, - 280, 280, 0, 0, 0, 280, 0, 0, 0, 0, - 0, 0, 280, 0, 0, 0, 280, 280, 200, 280, - 280, 280, 0, 0, 0, 0, 138, 280, 291, 0, - 0, 0, 0, 0, 280, 0, 0, 0, 0, 0, - 0, 0, 0, 202, 280, 280, 280, 280, 280, 280, - 280, 280, 280, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 252, 252, 0, 0, 0, 252, - 0, 0, 138, 0, 309, 0, 252, 202, 0, 0, - 252, 252, 0, 252, 252, 252, 0, 0, 0, 0, - 2, 252, 0, 0, 3, 0, 200, 0, 252, 0, - 0, 0, 0, 184, 185, 0, 6, 0, 252, 252, - 252, 252, 252, 252, 252, 186, 138, 0, 363, 187, - 0, 0, 0, 0, 188, 189, 190, 191, 192, 193, - 194, 195, 196, 197, 202, 0, 0, 0, 0, 0, - 198, 199, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2, 0, 200, 0, 3, 0, 0, 0, 0, - 138, 0, 364, 0, 184, 185, 0, 6, 0, 0, - 0, 0, 0, 0, 0, 0, 186, 0, 0, 0, - 290, 0, 0, 0, 0, 188, 189, 190, 191, 192, - 193, 194, 195, 196, 197, 132, 0, 0, 0, 0, - 0, 198, 199, 0, 0, 0, 0, 2, 0, 0, - 0, 3, 0, 132, 0, 0, 0, 138, 0, 411, - 184, 185, 0, 6, 0, 0, 0, 0, 0, 0, - 0, 0, 186, 0, 0, 134, 187, 0, 0, 0, - 0, 188, 189, 190, 191, 192, 193, 194, 195, 196, - 197, 2, 0, 134, 0, 3, 0, 198, 199, 0, - 0, 0, 0, 0, 184, 185, 0, 6, 0, 0, - 0, 0, 0, 0, 0, 0, 186, 0, 0, 89, - 187, 0, 0, 0, 0, 188, 189, 190, 191, 192, - 193, 194, 195, 196, 197, 2, 0, 0, 0, 3, - 0, 198, 199, 0, 0, 0, 0, 89, 184, 185, - 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, - 186, 0, 0, 0, 187, 0, 0, 0, 0, 188, - 189, 190, 191, 192, 193, 194, 195, 196, 197, 0, - 0, 0, 89, 0, 118, 198, 199, 0, 0, 0, - 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 0, 184, 185, 0, 6, 0, - 162, 0, 149, 0, 0, 0, 0, 186, 0, 0, - 0, 187, 0, 0, 0, 0, 188, 189, 190, 191, - 192, 193, 194, 195, 196, 197, 0, 0, 61, 0, - 0, 0, 198, 199, 0, 0, 0, 171, 132, 132, - 0, 0, 0, 132, 132, 0, 0, 0, 0, 0, - 132, 0, 0, 0, 0, 132, 0, 132, 132, 132, - 132, 132, 132, 0, 0, 132, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 134, 134, - 0, 0, 132, 134, 134, 0, 0, 0, 0, 0, - 134, 0, 0, 0, 0, 134, 0, 134, 134, 134, - 134, 134, 134, 0, 0, 134, 1, 2, 0, 0, - 0, 3, 0, 0, 0, 0, 0, 0, 5, 0, - 0, 0, 134, 6, 0, 7, 8, 9, 0, 0, - 0, 0, 0, 13, 1, 2, 0, 0, 0, 3, - 87, 0, 0, 0, 0, 0, 5, 0, 0, 0, - 117, 6, 0, 7, 8, 9, 0, 0, 0, 0, - 0, 86, 0, 0, 0, 0, 0, 0, 87, 1, - 2, 0, 0, 0, 3, 0, 0, 0, 88, 0, - 0, 5, 0, 0, 0, 0, 6, 0, 7, 8, - 9, 0, 0, 0, 0, 0, 13, 1, 2, 0, - 0, 0, 3, 87, 0, 0, 0, 0, 0, 5, - 0, 0, 0, 117, 6, 0, 7, 8, 9, 0, - 0, 0, 0, 0, 13, 61, 61, 0, 0, 0, - 61, 161, 0, 0, 0, 0, 0, 61, 0, 0, - 0, 117, 61, 0, 61, 61, 61, 0, 0, 0, - 0, 0, 61, 0, 0, 0, 0, 0, 0, 61, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, + 0, 87, 0, 0, 1, 2, 0, 0, 0, 3, + 0, 88, 0, 0, 0, 0, 5, 0, 0, 0, + 0, 6, 0, 7, 8, 9, 0, 0, 0, 0, + 0, 13, 0, 0, 1, 2, 0, 0, 87, 3, + 0, 0, 0, 0, 0, 0, 5, 0, 117, 0, + 0, 6, 0, 7, 8, 9, 0, 0, 0, 0, + 0, 86, 0, 0, 0, 0, 0, 0, 87, 0, + 1, 2, 0, 0, 0, 3, 0, 0, 88, 0, + 0, 0, 5, 0, 0, 0, 0, 6, 0, 7, + 8, 9, 0, 0, 0, 0, 0, 13, 0, 0, + 0, 0, 0, 0, 87, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 117, }; - protected short yyCheck[] = new short[3801]; + protected short yyCheck[] = new short[3916]; } class yyCheck0 { protected static final short yyCheck0 [] = { 10, - 11, 59, 55, 56, 42, 60, 135, 59, 40, 41, - 46, 86, 44, 66, 46, 209, 141, 92, 123, 0, - 147, 0, 20, 59, 46, 123, 91, 59, 60, 61, - 123, 156, 41, 89, 123, 301, 91, 66, 163, 44, - 44, 57, 166, 27, 416, 26, 59, 26, 20, 59, - 67, 123, 301, 60, 52, 62, 59, 110, 30, 91, - 41, 301, 41, 59, 40, 57, 47, 60, 47, 59, - 69, 138, 75, 126, 55, 56, 57, 76, 57, 95, - 52, 110, 41, 46, 60, 66, 67, 103, 67, 138, - 302, 59, 59, 305, 147, 40, 59, 126, 292, 166, - 61, 46, 119, 95, 476, 477, 162, 60, 59, 481, - 123, 103, 41, 123, 95, 44, 95, 166, 123, 123, - 104, 248, 103, 104, 103, 104, 91, 123, 131, 110, - 142, 40, 91, 123, 59, 134, 44, 59, 119, 59, - 119, 125, 209, 155, 125, 126, 125, 128, 164, 128, - 41, 59, 61, 44, 135, 123, 123, 138, 283, 151, - 209, 142, 287, 142, 138, 44, 147, 296, 160, 293, - 268, 365, 123, 91, 155, 268, 155, 282, 59, 268, - 59, 60, 61, 59, 282, 166, 242, 198, 199, 282, - 202, 207, 166, 258, 40, 248, 268, 262, 123, 46, - 46, 123, 44, 123, 138, 332, 44, 41, 60, 274, - 44, 44, 91, 41, 343, 61, 41, 87, 142, 93, - 62, 202, 362, 202, 62, 292, 293, 239, 209, 62, - 44, 155, 166, 103, 104, 209, 301, 249, 313, 250, - 251, 252, 123, 292, 293, 91, 301, 387, 62, 258, - 308, 309, 93, 262, 124, 125, 308, 309, 301, 384, - 385, 57, 243, 301, 243, 274, 273, 248, 249, 301, - 249, 67, 308, 309, 301, 209, 308, 309, 44, 332, - 420, 138, 314, 315, 316, 317, 308, 309, 44, 321, - 44, 161, 301, 59, 164, 44, 303, 304, 365, 95, - 41, 426, 427, 44, 174, 44, 62, 123, 62, 166, - 44, 292, 293, 62, 326, 296, 365, 44, 292, 293, - 59, 476, 477, 119, 268, 59, 481, 338, 339, 340, - 341, 342, 59, 344, 345, 346, 347, 348, 349, 350, - 351, 352, 353, 354, 46, 326, 43, 326, 45, 416, - 417, 332, 209, 314, 315, 316, 317, 59, 292, 293, - 321, 301, 343, 41, 431, 40, 44, 416, 417, 59, - 138, 198, 199, 243, 289, 308, 309, 388, 359, 258, - 359, 123, 431, 262, 365, 452, 453, 41, 455, 61, - 44, 365, 29, 460, 59, 274, 301, 464, 166, 466, - 467, 138, 41, 452, 453, 44, 455, 44, 475, 476, - 477, 460, 348, 349, 481, 464, 53, 466, 467, 61, - 341, 342, 301, 250, 251, 252, 475, 476, 477, 166, - 258, 365, 481, 258, 262, 292, 293, 262, 301, 301, - 77, 209, 416, 417, 59, 60, 274, 38, 258, 274, - 40, 40, 262, 40, 59, 301, 44, 431, 329, 329, - 75, 331, 308, 309, 274, 46, 59, 44, 314, 315, - 316, 317, 209, 301, 38, 321, 301, 94, 452, 453, - 258, 455, 416, 417, 262, 307, 460, 306, 154, 124, - 464, 301, 466, 467, 109, 37, 274, 431, 61, 40, - 42, 475, 476, 477, 59, 47, 258, 481, 365, 301, - 262, 338, 339, 340, 40, 59, 131, 132, 452, 453, - 186, 455, 274, 301, 292, 293, 460, 41, 41, 40, - 464, 59, 466, 467, 59, 59, 59, 407, 408, 291, - 41, 475, 476, 477, 59, 40, 40, 481, 258, 301, - 267, 41, 262, 41, 41, 292, 293, 41, 41, 416, - 417, 388, 267, 178, 274, 37, 38, 0, 0, 41, - 42, 43, 44, 45, 431, 47, 0, 0, 258, 59, - 301, 291, 262, 344, 345, 346, 347, 59, 60, 61, - 62, 301, 47, 49, 274, 452, 453, 365, 455, 119, - 48, 103, 95, 460, 33, 30, 75, 464, 76, 466, - 467, 40, 326, 249, 43, 281, 45, 257, 475, 476, - 477, 301, 94, 263, 481, 350, 352, 351, 365, 269, - 59, 297, 298, 33, 353, 301, 276, 277, 278, 354, - 40, 281, 324, 43, 284, 45, 162, 313, 416, 417, - 33, 324, 124, 125, 136, 65, 165, 40, 41, 59, - 43, 104, 45, 431, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 416, - 417, -1, -1, -1, 452, 453, -1, 455, -1, -1, - -1, 357, 460, -1, 431, -1, 464, -1, 466, 467, - 366, -1, 368, -1, -1, -1, -1, 475, 476, 477, - 33, -1, -1, 481, -1, 452, 453, 40, 455, -1, - 43, -1, 45, 460, -1, -1, -1, 464, -1, 466, - 467, -1, -1, -1, -1, -1, -1, -1, 475, 476, - 477, -1, -1, -1, 481, -1, 33, 413, -1, 415, - -1, -1, 418, 40, 41, -1, 43, -1, 45, -1, - 257, -1, -1, 33, -1, -1, 263, 433, 434, -1, - 40, -1, 269, 43, -1, 45, -1, -1, -1, 276, - 277, 278, -1, 280, 281, 257, 258, 284, -1, 59, - 262, 457, 458, 459, -1, -1, -1, 269, -1, -1, - 123, 273, 274, 33, 276, 277, 278, -1, -1, -1, - 40, 41, 284, 43, -1, 45, -1, -1, -1, 291, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 301, - 302, 303, 304, 305, 306, 307, 308, 309, -1, -1, - 33, -1, 314, 315, 316, 317, 275, 40, 41, 321, - 43, -1, 45, -1, -1, -1, -1, -1, 287, -1, - -1, -1, -1, -1, 293, 294, 295, 296, 297, 298, - 299, 300, 301, -1, -1, 275, 33, -1, -1, 308, - 309, -1, -1, 40, -1, -1, 43, 287, 45, -1, - -1, -1, 275, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 59, -1, 287, -1, -1, -1, 308, 309, + 11, 57, 59, 123, 46, 42, 60, 136, 142, 59, + 148, 123, 27, 41, 55, 56, 89, 59, 0, 46, + 0, 365, 103, 157, 123, 66, 69, 41, 123, 41, + 164, 211, 123, 76, 57, 59, 61, 91, 44, 95, + 91, 200, 201, 301, 26, 118, 26, 103, 44, 393, + 86, 167, 59, 118, 59, 59, 92, 41, 301, 41, + 44, 41, 59, 40, 301, 47, 60, 47, 62, 110, + 20, 422, 95, 55, 56, 57, 139, 57, 75, 91, + 103, 91, 426, 60, 66, 67, 127, 67, 67, 104, + 163, 44, 135, 252, 253, 254, 152, 143, 163, 123, + 59, 59, 52, 60, 167, 161, 139, 148, 59, 62, + 156, 126, 250, 95, 294, 95, 123, 123, 123, 123, + 46, 103, 104, 103, 104, 308, 309, 123, 110, 59, + 59, 482, 483, 59, 167, 132, 487, 59, 120, 59, + 120, 120, 165, 57, 126, 127, 126, 129, 211, 129, + 43, 285, 45, 67, 136, 289, 268, 139, 204, 40, + 91, 143, 282, 143, 123, 123, 148, 41, 139, 268, + 299, 244, 123, 268, 156, 66, 156, 268, 211, 295, + 61, 95, 341, 342, 343, 167, 209, 282, 368, 200, + 201, 282, 44, 123, 123, 241, 167, 335, 44, 87, + 139, 123, 60, 123, 258, 251, 120, 258, 262, 250, + 62, 262, 44, 59, 59, 103, 104, 346, 44, 110, + 274, 44, 204, 274, 204, 344, 345, 59, 167, 211, + 258, 294, 295, 59, 262, 394, 127, 125, 126, 62, + 211, 252, 253, 254, 258, 46, 274, 301, 262, 60, + 301, 308, 309, 334, 388, 389, 139, 46, 308, 309, + 274, 294, 295, 245, 301, 245, 308, 309, 250, 251, + 59, 251, 211, 301, 162, 20, 268, 165, 334, 273, + 316, 308, 309, 329, 167, 30, 44, 301, 176, 314, + 315, 316, 317, 44, 335, 143, 321, 44, 432, 433, + 93, 44, 44, 29, 62, 368, 44, 52, 156, 303, + 304, 62, 294, 295, 296, 62, 296, 299, 44, 62, + 62, 59, 139, 294, 295, 93, 302, 53, 211, 305, + 341, 342, 343, 344, 345, 368, 347, 348, 349, 350, + 351, 352, 353, 354, 355, 356, 357, 329, 123, 329, + 167, 77, 334, 335, 334, 294, 295, 245, 44, 422, + 423, 301, 258, 258, 346, 37, 262, 262, 351, 352, + 42, 40, 40, 59, 437, 47, 301, 46, 274, 274, + 362, 40, 362, 394, 258, 301, 368, 46, 262, 422, + 423, 289, 61, 59, 211, 458, 459, 368, 461, 61, + 274, 123, 139, 466, 437, 301, 301, 470, 296, 472, + 473, 294, 295, 59, 301, 301, 482, 483, 481, 482, + 483, 487, 91, 61, 487, 458, 459, 301, 461, 368, + 167, 41, 41, 466, 44, 44, 301, 470, 38, 472, + 473, 59, 60, 258, 332, 44, 334, 262, 481, 482, + 483, 422, 423, 41, 487, 41, 44, 75, 44, 274, + 59, 60, 61, 40, 258, 40, 437, 40, 262, 347, + 348, 349, 350, 155, 211, 44, 291, 294, 295, 41, + 274, 369, 44, 422, 423, 368, 301, 458, 459, 258, + 461, 109, 91, 262, 59, 466, 329, 291, 437, 470, + 41, 472, 473, 44, 46, 274, 188, 301, 59, 44, + 481, 482, 483, 38, 132, 133, 487, 124, 94, 458, + 459, 307, 461, 306, 61, 413, 414, 466, 40, 59, + 301, 470, 301, 472, 473, 40, 59, 41, 41, 422, + 423, 40, 481, 482, 483, 59, 40, 41, 487, 59, + 44, 368, 46, 59, 437, 41, 40, 294, 295, 59, + 40, 59, 180, 267, 41, 59, 60, 61, 41, 41, + 33, 41, 41, 267, 0, 458, 459, 40, 461, 0, + 43, 0, 45, 466, 0, 59, 301, 470, 59, 472, + 473, 47, 120, 48, 95, 49, 59, 91, 481, 482, + 483, 283, 33, 30, 487, 422, 423, 75, 251, 40, + 76, 329, 43, 353, 45, 354, 357, 327, 300, 301, + 437, 355, 304, 356, 327, 65, 137, 166, 59, 104, + -1, 368, 301, -1, 316, -1, -1, -1, -1, 308, + 309, 458, 459, -1, 461, 314, 315, 316, 317, 466, + -1, -1, 321, 470, -1, 472, 473, -1, -1, 258, + -1, -1, -1, 262, 481, 482, 483, -1, -1, -1, + 487, -1, -1, -1, -1, 274, -1, -1, 360, -1, + -1, -1, -1, -1, -1, 422, 423, -1, 370, -1, + 372, 37, 38, -1, -1, 41, 42, 43, 44, 45, + 437, 47, 301, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 59, 60, 61, 62, -1, -1, -1, + -1, 458, 459, -1, 461, -1, -1, -1, -1, 466, + -1, -1, -1, 470, -1, 472, 473, 419, -1, 421, + -1, -1, 424, -1, 481, 482, 483, -1, 94, 257, + 487, -1, 33, -1, -1, 263, -1, 439, 440, 40, + 41, 269, 43, -1, 45, -1, -1, 44, 276, 277, + 278, -1, 280, 281, -1, -1, 284, -1, 124, 125, + -1, 463, 464, 465, 33, 62, -1, -1, -1, -1, + -1, 40, -1, -1, 43, -1, 45, -1, -1, -1, + -1, 33, -1, -1, -1, -1, -1, 301, 40, 41, + -1, 43, 275, 45, 308, 309, -1, -1, -1, -1, + 314, 315, 316, 317, 287, -1, -1, 321, -1, -1, 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, - 33, -1, -1, -1, -1, 308, 309, 40, 41, -1, - 43, -1, 45, -1, -1, -1, -1, 33, -1, -1, - -1, -1, -1, -1, 40, 41, -1, 43, -1, 45, - -1, -1, 275, -1, -1, 33, -1, -1, -1, -1, - -1, -1, 40, -1, 287, 43, -1, 45, -1, -1, - 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, - -1, -1, 33, -1, -1, 308, 309, -1, 275, 40, + -1, -1, -1, -1, 275, 308, 309, 33, -1, -1, + -1, -1, -1, -1, 40, -1, 287, 43, -1, 45, + -1, -1, 293, 294, 295, 296, 297, 298, 299, 300, + 301, -1, -1, 59, 123, 33, -1, 308, 309, -1, + -1, -1, 40, 41, -1, 43, -1, 45, -1, -1, + -1, -1, 33, -1, -1, -1, -1, -1, -1, 40, 41, -1, 43, -1, 45, -1, -1, -1, -1, -1, + 33, 257, 258, -1, -1, -1, 262, 40, -1, -1, + 43, -1, 45, 269, -1, -1, -1, 273, 274, -1, + 276, 277, 278, -1, -1, -1, -1, -1, 284, 33, + -1, -1, -1, -1, -1, 291, 40, -1, -1, 43, + -1, 45, -1, -1, -1, 301, 302, 303, 304, 305, + 306, 307, 308, 309, -1, 59, 33, -1, 314, 315, + 316, 317, -1, 40, 41, 321, 43, -1, 45, -1, + 257, 258, -1, 33, -1, 262, 263, -1, -1, -1, + 40, 41, 269, 43, 275, 45, -1, 274, -1, 276, }; } class yyCheck1 { - protected static final short yyCheck1 [] = { 287, + protected static final short yyCheck1 [] = { 277, + 278, 279, 280, 281, -1, 287, 284, -1, -1, -1, + -1, 293, 294, 295, 296, 297, 298, 299, 300, 301, + -1, 33, -1, 301, -1, 275, 308, 309, 40, 41, + -1, 43, -1, 45, -1, -1, -1, 287, -1, -1, + -1, -1, 275, 293, 294, 295, 296, 297, 298, 299, + 300, 301, -1, -1, 287, -1, -1, -1, 308, 309, + 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, + 33, -1, -1, -1, -1, 308, 309, 40, 41, -1, + 43, -1, 45, -1, -1, -1, -1, 33, 275, -1, + -1, -1, -1, -1, 40, -1, -1, 43, -1, 45, + 287, -1, -1, -1, -1, -1, 293, 294, 295, 296, + 297, 298, 299, 300, 301, -1, 275, -1, -1, -1, + -1, 308, 309, -1, -1, -1, -1, -1, 287, -1, + -1, -1, -1, 275, 293, 294, 295, 296, 297, 298, + 299, 300, 301, -1, -1, 287, -1, -1, -1, 308, + 309, 293, 294, 295, 296, 297, 298, 299, 300, 301, + -1, -1, -1, 287, -1, 44, 308, 309, -1, 293, + 294, 295, 296, 297, 298, 299, 300, 301, -1, -1, + 275, -1, -1, 62, 308, 309, -1, -1, -1, -1, + -1, -1, 287, -1, -1, -1, -1, -1, 293, 294, + 295, 296, 297, 298, 299, 300, 301, 275, -1, -1, + -1, -1, -1, 308, 309, -1, -1, -1, -1, 287, -1, -1, -1, -1, 275, 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, -1, 287, -1, -1, -1, 308, 309, 293, 294, 295, 296, 297, 298, 299, 300, - 301, -1, -1, 33, -1, -1, -1, 308, 309, -1, - 40, 41, -1, 43, 275, 45, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 287, -1, -1, -1, - -1, -1, 293, 294, 295, 296, 297, 298, 299, 300, - 301, -1, 33, -1, -1, -1, -1, 308, 309, 40, - -1, 275, 43, -1, 45, -1, -1, -1, -1, -1, - -1, -1, -1, 287, -1, -1, -1, -1, -1, 293, - 294, 295, 296, 297, 298, 299, 300, 301, -1, -1, - -1, -1, -1, -1, 308, 309, -1, 275, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 287, - -1, -1, -1, -1, -1, 293, 294, 295, 296, 297, - 298, 299, 300, 301, -1, -1, -1, -1, -1, -1, - 308, 309, 37, 38, -1, -1, 41, 42, 43, 44, - 45, 275, 47, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 287, 59, 60, -1, 62, 275, 293, - 294, 295, 296, 297, 298, 299, 300, 301, -1, -1, - 287, -1, -1, -1, 308, 309, 293, 294, 295, 296, - 297, 298, 299, 300, 301, -1, -1, 40, 287, 94, - -1, 308, 309, -1, 293, 294, 295, 296, 297, 298, - 299, 300, 301, 275, -1, -1, 59, -1, -1, 308, - 309, -1, -1, -1, -1, 287, -1, -1, -1, 124, - 125, 293, 294, 295, 296, 297, 298, 299, 300, 301, - -1, -1, -1, -1, -1, -1, 308, 309, 37, 38, - -1, 40, 41, 42, 43, 44, 45, 46, 47, -1, - -1, -1, -1, -1, -1, 275, -1, -1, -1, -1, - 59, -1, -1, 62, -1, -1, -1, 287, -1, -1, - 123, -1, -1, 293, 294, 295, 296, 297, 298, 299, - 300, 301, -1, -1, 257, -1, -1, -1, 308, 309, - 263, -1, 91, -1, 275, 94, 269, -1, -1, -1, - -1, -1, -1, 276, 277, 278, 287, -1, 281, -1, - -1, 284, 293, 294, 295, 296, 297, 298, 299, 300, - 301, -1, -1, -1, 123, 124, 125, 308, 309, -1, - -1, -1, -1, 37, -1, -1, -1, 41, 42, 43, - 44, 45, 46, 47, -1, -1, -1, -1, -1, -1, - -1, -1, 257, 258, -1, 59, 60, 262, 62, -1, - -1, -1, -1, -1, 269, -1, -1, -1, 273, 274, - -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, - -1, -1, -1, -1, -1, -1, 291, -1, -1, -1, - 94, -1, -1, -1, -1, -1, 301, 302, 303, 304, - 305, 306, 307, 308, 309, -1, 37, 38, -1, -1, - 41, 42, 43, 44, 45, 46, 47, -1, 271, 272, - 124, 125, -1, -1, -1, -1, -1, -1, 59, 60, - 283, 62, -1, -1, 287, -1, -1, -1, -1, 292, + 301, -1, -1, 257, -1, -1, -1, 308, 309, 263, + -1, -1, -1, 275, -1, 269, -1, -1, -1, -1, + -1, -1, 276, 277, 278, 287, -1, 281, -1, -1, + 284, 293, 294, 295, 296, 297, 298, 299, 300, 301, + -1, -1, -1, -1, -1, -1, 308, 309, -1, -1, + 37, 38, -1, -1, 41, 42, 43, 44, 45, -1, + 47, -1, 275, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 59, 60, 287, 62, -1, -1, -1, 275, 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, - -1, -1, -1, -1, -1, 308, 309, -1, 257, 258, - -1, -1, -1, 262, 263, 40, -1, -1, -1, -1, - 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, - 279, 280, 281, 282, 59, 284, -1, -1, -1, -1, - -1, -1, 291, 124, 125, -1, -1, -1, -1, -1, - -1, -1, 301, 302, 303, 304, 305, 306, 307, 308, - 309, -1, -1, -1, -1, -1, -1, -1, 37, 38, - -1, -1, 41, 42, 43, 44, 45, 46, 47, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 59, 60, -1, 62, -1, -1, -1, -1, 123, -1, - -1, -1, -1, 257, 258, -1, -1, -1, 262, -1, + -1, 287, -1, -1, -1, 308, 309, 293, 294, 295, + 296, 297, 298, 299, 300, 301, -1, 94, -1, -1, + -1, -1, 308, 309, 37, 38, -1, 40, 41, 42, + 43, 44, 45, 46, 47, -1, -1, -1, 257, 258, + -1, -1, -1, 262, 263, -1, 59, 124, 125, 62, + 269, -1, -1, -1, -1, 274, -1, 276, 277, 278, + 279, 280, 281, -1, -1, 284, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 91, 37, + -1, 94, 301, 41, 42, 43, 44, 45, 46, 47, + -1, -1, -1, -1, -1, -1, -1, 257, -1, -1, + -1, 59, 60, 263, 62, -1, -1, -1, -1, 269, + 123, 124, 125, 422, 423, -1, 276, 277, 278, -1, + -1, 281, -1, -1, 284, -1, -1, -1, 437, -1, + -1, -1, -1, 37, 38, -1, 94, 41, 42, 43, + 44, 45, 46, 47, -1, -1, -1, -1, -1, 458, + 459, -1, 461, -1, -1, 59, 60, 466, 62, -1, + -1, 470, -1, 472, 473, -1, 124, 125, -1, -1, + -1, -1, 481, 482, 483, -1, -1, -1, 487, -1, + 257, 258, -1, -1, -1, 262, -1, -1, -1, -1, + -1, -1, 269, -1, -1, -1, 273, 274, -1, 276, + 277, 278, -1, -1, -1, -1, -1, 284, -1, -1, + -1, -1, -1, -1, 291, -1, -1, -1, -1, -1, + 124, 125, -1, -1, 301, 302, 303, 304, 305, 306, + 307, 308, 309, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 257, 258, -1, -1, -1, 262, + 263, -1, -1, -1, -1, -1, 269, -1, -1, -1, + 273, 274, -1, 276, 277, 278, 279, 280, 281, 282, + -1, 284, -1, -1, -1, -1, -1, -1, 291, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 301, 302, + 303, 304, 305, 306, 307, 308, 309, -1, 40, 257, + 258, -1, -1, -1, 262, -1, -1, -1, -1, -1, + -1, 269, -1, -1, -1, 273, 274, 59, 276, 277, + 278, -1, -1, -1, -1, -1, 284, -1, -1, -1, + -1, -1, -1, 291, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 301, 302, 303, 304, 305, 306, 307, + 308, 309, -1, 257, 258, -1, -1, -1, 262, -1, -1, -1, -1, -1, -1, 269, -1, -1, -1, 273, - 274, -1, 276, 277, 278, 94, -1, -1, -1, -1, - 284, -1, -1, -1, -1, -1, -1, 291, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 125, 37, 38, -1, - -1, 41, 42, 43, 44, 45, 46, 47, -1, -1, - -1, -1, -1, -1, -1, -1, 257, 258, -1, 59, - 60, 262, 62, -1, -1, -1, -1, -1, 269, -1, - -1, -1, 273, 274, -1, 276, 277, 278, -1, -1, - -1, -1, -1, 284, -1, -1, -1, -1, -1, -1, - 291, -1, -1, -1, 94, -1, -1, -1, -1, -1, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 37, - 38, -1, -1, 41, 42, 43, 44, 45, 46, 47, - -1, -1, -1, -1, 124, 125, 271, 272, -1, -1, - -1, 59, 60, -1, 62, -1, -1, -1, 283, -1, - -1, -1, 287, -1, -1, -1, -1, 292, 293, 294, - 295, 296, 297, 298, 299, 300, 301, -1, -1, -1, - -1, -1, -1, 308, 309, -1, 94, -1, 257, 258, - -1, -1, -1, 262, -1, -1, -1, -1, -1, -1, - 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, - -1, -1, -1, -1, -1, 284, 124, 125, -1, 37, - 38, -1, 291, 41, 42, 43, 44, 45, -1, 47, - -1, -1, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 59, 60, -1, 62, -1, 257, 258, -1, -1, - -1, 262, 263, -1, -1, -1, -1, -1, 269, -1, - -1, -1, -1, 274, -1, 276, 277, 278, 279, 280, - 281, -1, -1, 284, -1, -1, 94, 257, 258, -1, - -1, -1, 262, -1, -1, -1, -1, -1, -1, 269, - 301, -1, -1, 273, 274, -1, 276, 277, 278, -1, - -1, -1, -1, -1, 284, -1, 124, 125, -1, -1, - -1, 291, 59, 60, -1, -1, -1, -1, -1, -1, - -1, 301, 302, 303, 304, 305, 306, -1, 308, 309, - 37, -1, -1, -1, 41, 42, 43, 44, 45, 46, - 47, -1, -1, -1, -1, -1, -1, -1, -1, 257, - 258, -1, 59, 60, 262, 62, -1, -1, -1, -1, - -1, 269, -1, -1, -1, 273, 274, -1, 276, 277, - 278, -1, -1, -1, -1, -1, 284, -1, 125, -1, - -1, -1, -1, 291, -1, -1, -1, 94, -1, -1, - -1, -1, -1, 301, 302, 303, 304, 305, -1, 307, - 308, 309, -1, -1, -1, 37, 38, -1, -1, 41, - 42, 43, 44, 45, 46, 47, -1, 124, 125, -1, - -1, -1, -1, -1, -1, -1, -1, 59, 60, -1, + 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, + 284, 123, -1, -1, 37, 38, -1, 291, 41, 42, + 43, 44, 45, 46, 47, -1, -1, 301, 302, 303, + 304, 305, 306, 307, 308, 309, 59, 60, -1, 62, + 257, 258, -1, -1, -1, 262, 263, -1, -1, -1, + -1, -1, 269, -1, -1, -1, -1, 274, -1, 276, + 277, 278, 279, 280, 281, -1, -1, 284, 37, 38, + -1, 94, 41, 42, 43, 44, 45, 46, 47, -1, + -1, -1, -1, -1, 301, -1, -1, -1, -1, -1, + 59, 60, -1, 62, -1, -1, -1, -1, -1, -1, + -1, -1, 125, -1, -1, -1, 37, 38, -1, -1, + 41, 42, 43, 44, 45, 46, 47, -1, -1, -1, + -1, -1, -1, -1, -1, 94, -1, -1, 59, 60, + -1, 62, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 37, 38, -1, -1, 41, 42, 43, + 44, 45, -1, 47, -1, 124, 125, -1, -1, 271, + 272, -1, -1, 94, -1, 59, 60, -1, 62, -1, + -1, 283, -1, -1, -1, 287, -1, -1, -1, -1, + 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, + -1, -1, -1, 124, 125, -1, 308, 309, -1, -1, + 94, -1, -1, 37, -1, -1, -1, 41, 42, 43, + 44, 45, 46, 47, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 59, 60, -1, 62, -1, + 124, 125, -1, -1, 257, 258, -1, -1, -1, 262, + -1, -1, -1, -1, -1, -1, 269, -1, -1, -1, + 273, 274, -1, 276, 277, 278, -1, -1, -1, -1, + 94, 284, -1, -1, -1, -1, -1, -1, 291, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 301, 302, + 303, 304, 305, 306, 307, 308, 309, -1, 257, 258, }; } class yyCheck2 { - protected static final short yyCheck2 [] = { 62, - -1, -1, -1, -1, -1, -1, -1, -1, 257, 258, - -1, -1, -1, 262, -1, -1, -1, -1, -1, -1, - 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, - -1, -1, -1, -1, -1, 284, -1, -1, -1, -1, - -1, -1, 291, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 124, 125, -1, 37, 38, -1, -1, 41, 42, - 43, 44, 45, 46, 47, -1, -1, -1, -1, 257, - 258, -1, -1, -1, 262, -1, 59, 60, -1, 62, - -1, 269, -1, -1, -1, -1, 274, -1, 276, 277, - 278, -1, -1, -1, -1, -1, 284, -1, -1, -1, - -1, -1, -1, 291, -1, -1, -1, -1, -1, 257, - 258, 94, -1, 301, 262, -1, -1, -1, -1, -1, - -1, 269, -1, -1, -1, 273, 274, -1, 276, 277, - 278, -1, -1, -1, -1, -1, 284, -1, -1, -1, - -1, -1, 125, 291, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 301, 302, 303, 304, 305, 306, 307, - 308, 309, -1, -1, -1, 37, 38, -1, -1, 41, - 42, 43, 44, 45, 46, 47, -1, -1, -1, -1, - -1, -1, -1, -1, 257, 258, -1, 59, 60, 262, - 62, -1, -1, -1, -1, -1, 269, -1, -1, -1, - 273, 274, -1, 276, 277, 278, -1, -1, -1, -1, - -1, 284, -1, -1, -1, -1, -1, -1, 291, -1, - -1, -1, 94, -1, -1, -1, -1, -1, 301, 302, - 303, 304, 305, 306, 307, 308, 309, -1, -1, -1, - 37, 38, -1, -1, 41, 42, -1, 44, -1, 46, - 47, -1, 124, 125, -1, -1, -1, -1, -1, -1, - -1, -1, 59, 60, -1, 62, -1, -1, -1, -1, - -1, -1, -1, -1, 257, 258, -1, -1, -1, 262, - -1, -1, -1, -1, -1, -1, 269, -1, -1, -1, - 273, 274, -1, 276, 277, 278, -1, 94, -1, -1, - -1, 284, -1, -1, -1, -1, -1, -1, 291, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 124, 125, -1, - 37, 38, -1, -1, 41, 42, 43, 44, 45, 46, - 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 59, 60, -1, 62, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 37, 38, -1, -1, - 41, 42, 43, 44, 45, 46, 47, -1, -1, -1, - -1, -1, -1, -1, -1, 257, 258, 94, 59, -1, - 262, -1, -1, -1, -1, -1, -1, 269, -1, -1, - -1, 273, 274, -1, 276, 277, 278, -1, -1, -1, - -1, -1, 284, -1, -1, -1, -1, 124, 125, 291, - -1, -1, -1, 94, -1, -1, -1, -1, -1, 301, - 302, 303, 304, 305, 306, -1, 308, 309, -1, -1, - -1, 37, 38, -1, -1, 41, 42, 43, 44, 45, - 46, 47, -1, 124, 125, -1, -1, -1, -1, -1, - 257, 258, -1, 59, 60, 262, 62, -1, -1, -1, - -1, -1, 269, -1, -1, -1, 273, 274, -1, 276, - 277, 278, -1, -1, -1, -1, -1, 284, -1, -1, - -1, -1, -1, -1, 291, -1, -1, -1, 94, -1, - -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, - 307, 308, 309, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 124, 125, - -1, 37, 38, -1, -1, 41, 42, 43, 44, 45, - 46, 47, -1, -1, -1, -1, -1, -1, -1, -1, - 257, 258, -1, 59, -1, 262, -1, -1, -1, -1, - -1, -1, 269, -1, -1, -1, 273, 274, -1, 276, - 277, 278, -1, -1, -1, -1, -1, 284, -1, -1, - -1, -1, -1, -1, 291, -1, 257, 258, 94, -1, - -1, 262, -1, -1, 301, -1, 303, 304, 269, 306, - 307, 308, 309, 274, -1, 276, 277, 278, -1, -1, - -1, -1, -1, 284, -1, -1, -1, -1, 124, 125, - 291, -1, -1, -1, -1, -1, -1, -1, 60, -1, - 301, 302, -1, -1, 305, 306, 307, 308, 309, -1, - -1, 37, 38, -1, -1, 41, 42, 43, 44, 45, - 46, 47, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 257, 258, 59, -1, -1, 262, -1, -1, -1, - -1, -1, -1, 269, -1, -1, -1, 273, 274, -1, - 276, 277, 278, -1, -1, -1, -1, -1, 284, -1, - -1, -1, -1, 125, -1, 291, -1, -1, 94, 416, - 417, -1, -1, -1, -1, 301, -1, 303, 304, -1, - 306, 307, 308, 309, 431, -1, -1, -1, 38, -1, - -1, 41, -1, 43, 44, 45, 46, -1, 124, 125, - -1, -1, -1, -1, -1, 452, 453, -1, 455, 59, - 60, -1, 62, 460, -1, -1, -1, 464, -1, 466, - 467, 257, 258, -1, -1, -1, 262, -1, 475, 476, - 477, -1, -1, 269, 481, -1, -1, -1, 274, -1, - 276, 277, 278, -1, 94, -1, -1, -1, 284, -1, - -1, -1, -1, -1, -1, 291, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 301, 302, -1, -1, 305, - 306, 307, 308, 309, 124, 125, -1, 38, -1, -1, - 41, -1, 43, 44, 45, 46, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 257, 258, -1, 59, 60, - 262, 62, -1, -1, -1, -1, -1, 269, -1, -1, - -1, -1, 274, -1, 276, 277, 278, -1, -1, -1, - -1, -1, 284, -1, -1, -1, -1, -1, -1, 291, - -1, 257, 258, 94, -1, 40, 262, -1, -1, 301, - -1, -1, -1, 269, -1, -1, -1, -1, 274, -1, - 276, 277, 278, -1, 59, -1, -1, -1, 284, -1, - -1, -1, -1, 124, 125, 291, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 301, 302, -1, -1, 305, - 306, 307, 308, 309, -1, -1, -1, -1, -1, 38, - -1, -1, 41, -1, 43, 44, 45, 46, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 257, 258, -1, - 59, 60, 262, 62, -1, -1, -1, -1, 123, 269, - 125, -1, -1, 273, 274, -1, 276, 277, 278, -1, + protected static final short yyCheck2 [] = { 124, + 125, -1, 262, -1, -1, -1, -1, -1, -1, 269, + -1, -1, -1, 273, 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, -1, -1, -1, -1, -1, - -1, 291, -1, -1, -1, 94, -1, -1, -1, -1, - -1, 301, 302, 303, 304, 305, 306, 307, 308, 309, + -1, 291, -1, -1, -1, 257, 258, -1, -1, 60, + 262, 301, 302, 303, 304, 305, 306, 269, 308, 309, + -1, 273, 274, -1, 276, 277, 278, -1, -1, -1, + -1, -1, 284, -1, -1, -1, -1, -1, -1, 291, + -1, -1, 257, 258, -1, -1, -1, 262, -1, 301, + 302, 303, 304, 305, 269, 307, 308, 309, 273, 274, + -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, + -1, -1, -1, 37, 38, -1, 291, 41, 42, 43, + 44, 45, 46, 47, -1, -1, 301, 302, 303, 304, + 305, 306, 307, 308, 309, 59, 60, -1, 62, -1, + -1, -1, 257, 258, -1, -1, -1, 262, -1, -1, + -1, -1, -1, -1, 269, -1, -1, -1, 273, 274, + -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, + -1, -1, -1, 37, 38, -1, 291, 41, 42, 43, + 44, 45, 46, 47, -1, -1, 301, 302, 303, 304, + 305, 306, 307, 308, 309, 59, 60, -1, 62, -1, + 124, 125, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 37, 38, -1, + 94, 41, 42, 43, 44, 45, 46, 47, -1, -1, + -1, -1, -1, -1, -1, -1, 257, 258, -1, 59, + 60, 262, 62, -1, -1, -1, -1, -1, 269, -1, + -1, 125, -1, 274, -1, 276, 277, 278, -1, -1, + -1, -1, -1, 284, -1, -1, -1, -1, -1, -1, + 291, -1, 37, 38, 94, -1, 41, 42, -1, 44, + 301, 46, 47, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 59, 60, -1, 62, -1, -1, + -1, -1, -1, -1, 124, 125, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 257, 258, -1, -1, -1, 262, 94, + -1, -1, -1, -1, -1, 269, -1, -1, -1, 273, + 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, + 284, -1, -1, -1, -1, -1, -1, 291, -1, 124, + 125, 40, -1, -1, -1, -1, -1, 301, 302, 303, + 304, 305, 306, 307, 308, 309, -1, -1, -1, -1, + 59, -1, -1, 257, 258, -1, -1, -1, 262, -1, + -1, -1, -1, -1, -1, 269, -1, -1, -1, 273, + 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, + 284, -1, -1, -1, -1, -1, -1, 291, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 301, 302, 303, + 304, 305, 306, 307, 308, 309, -1, 257, 258, -1, + -1, -1, 262, -1, 123, -1, -1, -1, -1, 269, + -1, -1, -1, 273, 274, -1, 276, 277, 278, -1, + 60, -1, -1, -1, 284, -1, -1, -1, 37, 38, + -1, 291, 41, 42, 43, 44, 45, 46, 47, -1, + -1, 301, 302, 303, 304, 305, 306, -1, 308, 309, + 59, -1, 257, 258, -1, -1, -1, 262, -1, -1, + -1, -1, -1, -1, 269, -1, -1, -1, 273, 274, + -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, + -1, -1, -1, 37, 38, 94, 291, 41, 42, 43, + 44, 45, 46, 47, -1, -1, 301, 302, 303, 304, + 305, 306, 307, 308, 309, 59, 60, -1, 62, -1, + -1, -1, -1, -1, -1, 124, 125, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 37, 38, -1, + 94, 41, 42, 43, 44, 45, 46, 47, -1, -1, + -1, -1, 271, 272, -1, -1, -1, -1, -1, 59, + 60, -1, 62, -1, 283, -1, -1, -1, 287, -1, + 124, 125, -1, 292, 293, 294, 295, 296, 297, 298, + 299, 300, 301, -1, -1, -1, -1, -1, -1, 308, + 309, -1, -1, -1, 94, -1, -1, 37, 38, -1, + -1, 41, 42, 43, 44, 45, 46, 47, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 257, 258, 59, + -1, -1, 262, -1, 124, 125, -1, -1, -1, 269, + -1, -1, -1, -1, 274, -1, 276, 277, 278, -1, + -1, -1, -1, -1, 284, -1, -1, -1, 257, 258, + -1, 291, -1, 262, 94, -1, -1, -1, -1, -1, + 269, 301, -1, -1, -1, 274, -1, 276, 277, 278, + -1, -1, -1, -1, -1, 284, -1, -1, -1, -1, + -1, -1, 291, -1, 124, 125, -1, -1, -1, -1, + -1, -1, 301, 302, -1, -1, 305, 306, 307, 308, + 309, -1, -1, 257, 258, -1, -1, -1, 262, -1, + -1, -1, -1, -1, -1, 269, -1, -1, -1, 273, + 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, + 284, -1, -1, -1, -1, -1, -1, 291, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 301, -1, 303, + 304, -1, 306, 307, 308, 309, -1, 257, 258, -1, + -1, -1, 262, -1, -1, -1, -1, -1, -1, 269, + -1, -1, -1, 273, 274, -1, 276, 277, 278, -1, + -1, -1, -1, -1, 284, -1, -1, -1, 37, 38, + -1, 291, 41, 42, 43, 44, 45, 46, 47, -1, + -1, 301, -1, 303, 304, -1, 306, 307, 308, 309, + 59, -1, -1, -1, -1, -1, -1, 257, 258, -1, + -1, -1, 262, -1, -1, -1, -1, -1, -1, 269, + -1, -1, -1, -1, 274, -1, 276, 277, 278, -1, + -1, -1, -1, -1, 284, 94, -1, -1, -1, 38, + -1, 291, 41, -1, 43, 44, 45, 46, -1, -1, + -1, 301, 302, -1, -1, 305, 306, 307, 308, 309, + 59, 60, -1, 62, -1, 124, 125, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 38, -1, 94, 41, -1, 43, 44, + 45, 46, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 59, 60, -1, 62, -1, -1, + -1, -1, -1, -1, -1, 124, 125, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 38, 94, }; } class yyCheck3 { protected static final short yyCheck3 [] = { -1, - -1, 37, 38, -1, -1, 41, 42, 43, 44, 45, - 46, 47, -1, -1, 124, 125, -1, -1, -1, -1, - -1, -1, -1, 59, 60, -1, 62, -1, -1, 40, - -1, -1, -1, -1, -1, 257, 258, -1, -1, -1, - 262, -1, -1, -1, -1, -1, -1, 269, 59, -1, - -1, 273, 274, -1, 276, 277, 278, -1, 94, -1, - -1, -1, 284, -1, -1, -1, -1, -1, -1, 291, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 124, 125, - 40, -1, 258, -1, -1, -1, 262, -1, -1, -1, - -1, 267, -1, -1, -1, 271, 272, -1, 274, 59, - -1, -1, 123, -1, 125, -1, -1, 283, -1, -1, - -1, 287, -1, -1, -1, -1, 292, 293, 294, 295, - 296, 297, 298, 299, 300, 301, -1, -1, -1, -1, - -1, -1, 308, 309, -1, -1, 40, 257, 258, -1, - -1, -1, 262, -1, -1, -1, -1, -1, -1, 269, - -1, -1, -1, 273, 274, 59, 276, 277, 278, -1, - -1, -1, -1, 123, 284, 125, -1, -1, -1, -1, - -1, 291, -1, -1, -1, -1, -1, -1, -1, -1, - 40, 301, 302, 303, 304, 305, 306, 307, 308, 309, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 59, + 41, -1, 43, 44, 45, 46, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 59, 60, + -1, 62, -1, -1, -1, -1, -1, -1, 124, 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 257, 258, -1, -1, -1, 262, -1, -1, 123, - -1, 125, -1, 269, 40, -1, -1, 273, 274, -1, - 276, 277, 278, -1, -1, -1, -1, 258, 284, -1, - -1, 262, -1, 59, -1, 291, -1, -1, -1, -1, - 271, 272, -1, 274, -1, 301, 302, 303, 304, 305, - 306, 307, 283, 123, -1, 125, 287, -1, -1, -1, - -1, 292, 293, 294, 295, 296, 297, 298, 299, 300, - 301, 40, -1, -1, -1, -1, -1, 308, 309, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 258, -1, - 59, -1, 262, -1, -1, -1, -1, 123, -1, 125, - -1, 271, 272, -1, 274, -1, -1, -1, -1, -1, - -1, -1, -1, 283, -1, -1, -1, 287, -1, -1, - -1, -1, 292, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 44, -1, -1, -1, -1, -1, 308, 309, - -1, -1, -1, -1, 258, -1, -1, -1, 262, -1, - 62, -1, -1, -1, 123, -1, 125, 271, 272, -1, - 274, -1, -1, -1, -1, -1, -1, -1, -1, 283, - -1, -1, 44, 287, -1, -1, -1, -1, 292, 293, - 294, 295, 296, 297, 298, 299, 300, 301, 258, -1, - 62, -1, 262, -1, 308, 309, -1, -1, -1, -1, - -1, 271, 272, -1, 274, -1, -1, -1, -1, -1, - -1, -1, -1, 283, -1, -1, 60, 287, -1, -1, - -1, -1, 292, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 258, -1, -1, -1, 262, -1, 308, 309, - -1, -1, -1, -1, 60, 271, 272, -1, 274, -1, - -1, -1, -1, -1, -1, -1, -1, 283, -1, -1, - -1, 287, -1, -1, -1, -1, 292, 293, 294, 295, - 296, 297, 298, 299, 300, 301, -1, -1, -1, 60, - -1, 125, 308, 309, -1, -1, -1, -1, -1, 258, - -1, -1, -1, 262, -1, -1, -1, -1, -1, -1, - -1, -1, 271, 272, -1, 274, -1, 60, -1, 125, - -1, -1, -1, -1, 283, -1, -1, -1, 287, -1, - -1, -1, -1, 292, 293, 294, 295, 296, 297, 298, - 299, 300, 301, -1, -1, 60, -1, -1, -1, 308, - 309, -1, -1, -1, 125, 257, 258, -1, -1, -1, - 262, 263, -1, -1, -1, -1, -1, 269, -1, -1, - -1, -1, 274, -1, 276, 277, 278, 279, 280, 281, - -1, -1, 284, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 257, 258, -1, -1, 301, - 262, 263, -1, -1, -1, -1, -1, 269, -1, -1, - -1, -1, 274, -1, 276, 277, 278, 279, 280, 281, - -1, -1, 284, 257, 258, -1, -1, -1, 262, -1, - -1, -1, -1, -1, -1, 269, -1, -1, -1, 301, - 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, - 284, 257, 258, -1, -1, -1, 262, 291, -1, -1, - -1, -1, -1, 269, -1, -1, -1, 301, 274, -1, + -1, -1, -1, -1, -1, -1, -1, 257, 258, -1, + -1, -1, 262, 94, -1, -1, -1, -1, -1, 269, + 40, -1, -1, -1, 274, -1, 276, 277, 278, -1, + -1, -1, -1, -1, 284, -1, -1, -1, -1, 59, + -1, 291, -1, 124, 125, -1, -1, -1, -1, -1, + -1, 301, 302, -1, -1, 305, 306, 307, 308, 309, + -1, -1, -1, -1, -1, -1, -1, 257, 258, -1, + -1, -1, 262, -1, 40, -1, -1, -1, -1, 269, + -1, -1, -1, 273, 274, -1, 276, 277, 278, -1, + -1, -1, -1, 59, 284, -1, -1, -1, -1, -1, + -1, 291, -1, 123, -1, 125, -1, -1, -1, -1, + -1, 301, 302, 303, 304, 305, 306, 307, 308, 309, + -1, 257, 258, -1, -1, -1, 262, -1, -1, -1, + -1, -1, -1, 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, -1, - -1, -1, -1, -1, -1, 291, 257, 258, -1, -1, - -1, 262, -1, -1, -1, 301, -1, -1, 269, -1, - -1, -1, -1, 274, -1, 276, 277, 278, -1, -1, - -1, -1, -1, 284, 257, 258, -1, -1, -1, 262, - 291, -1, -1, -1, -1, -1, 269, -1, -1, -1, - 301, 274, -1, 276, 277, 278, -1, -1, -1, -1, - -1, 284, 257, 258, -1, -1, -1, 262, 291, -1, - -1, -1, -1, -1, 269, -1, -1, -1, 301, 274, - -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, - -1, -1, -1, -1, -1, -1, 291, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 301, + -1, -1, -1, -1, -1, 291, 40, 123, -1, 125, + -1, -1, -1, -1, -1, 301, 302, 303, 304, 305, + 306, 307, 308, 309, -1, 59, 257, 258, -1, -1, + -1, 262, -1, -1, -1, -1, -1, -1, 269, -1, + -1, -1, 273, 274, -1, 276, 277, 278, -1, -1, + -1, -1, -1, 284, -1, -1, -1, 37, 38, -1, + 291, 41, 42, 43, 44, 45, 46, 47, -1, -1, + 301, 302, 303, 304, 305, 306, 307, 308, 309, 59, + 60, -1, 62, -1, -1, -1, -1, -1, 258, 123, + -1, 125, 262, -1, -1, -1, -1, 267, -1, -1, + -1, 271, 272, -1, 274, -1, -1, -1, -1, -1, + -1, -1, -1, 283, 94, 40, -1, 287, -1, -1, + -1, -1, 292, 293, 294, 295, 296, 297, 298, 299, + 300, 301, -1, -1, 59, -1, -1, -1, 308, 309, + -1, -1, 258, -1, 124, 125, 262, -1, -1, -1, + -1, -1, -1, -1, -1, 271, 272, -1, 274, -1, + -1, -1, -1, -1, -1, -1, -1, 283, -1, 40, + -1, 287, -1, -1, -1, -1, 292, 293, 294, 295, + 296, 297, 298, 299, 300, 301, -1, -1, 59, -1, + -1, -1, 308, 309, -1, -1, -1, -1, 123, -1, + 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, + -1, -1, -1, -1, 258, -1, -1, -1, 262, -1, + -1, -1, -1, -1, -1, -1, 59, 271, 272, -1, + 274, -1, -1, -1, -1, -1, -1, -1, -1, 283, + -1, -1, 123, 287, 125, -1, -1, -1, 292, 293, + 294, 295, 296, 297, 298, 299, 300, 301, -1, 40, + -1, -1, -1, -1, 308, 309, -1, 257, 258, -1, + -1, -1, 262, -1, -1, -1, -1, -1, 59, 269, + -1, -1, -1, 273, 274, -1, 276, 277, 278, -1, + 123, -1, 125, -1, 284, -1, -1, -1, -1, -1, + -1, 291, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 301, 302, 303, 304, 305, 306, 307, -1, -1, + -1, -1, -1, 258, -1, -1, -1, 262, -1, -1, + -1, 59, 60, -1, -1, -1, 271, 272, -1, 274, + -1, -1, 123, -1, 125, -1, -1, -1, 283, -1, + -1, -1, 287, -1, -1, -1, -1, 292, 293, 294, + 295, 296, 297, 298, 299, 300, 301, 60, -1, -1, + -1, -1, -1, 308, 309, -1, -1, 258, -1, -1, + -1, 262, -1, -1, -1, -1, -1, -1, -1, -1, + 271, 272, -1, 274, -1, -1, -1, 125, -1, -1, + -1, -1, 283, -1, 60, -1, 287, -1, -1, -1, + -1, 292, 293, 294, 295, 296, 297, 298, 299, 300, + 301, -1, -1, -1, -1, 258, -1, 308, 309, 262, + -1, -1, 125, -1, 60, -1, -1, -1, 271, 272, + -1, 274, -1, -1, -1, -1, -1, -1, -1, -1, + 283, -1, -1, -1, 287, -1, -1, -1, -1, 292, + 293, 294, 295, 296, 297, 298, 299, 300, 301, 125, + 60, -1, -1, -1, -1, 308, 309, 258, -1, -1, + -1, 262, -1, -1, -1, -1, -1, -1, -1, -1, + 271, 272, -1, 274, -1, -1, -1, -1, -1, 125, + -1, -1, 283, -1, -1, -1, 287, -1, -1, -1, + -1, 292, 293, 294, 295, 296, 297, 298, 299, 300, + 301, -1, -1, -1, -1, -1, -1, 308, 309, 257, + 258, -1, -1, -1, 262, 125, -1, -1, -1, -1, + -1, 269, -1, -1, -1, -1, 274, -1, 276, 277, + 278, -1, -1, -1, -1, -1, 284, -1, -1, -1, + -1, -1, -1, 291, 257, 258, -1, -1, -1, 262, + -1, -1, -1, 301, -1, -1, 269, -1, -1, -1, + -1, 274, -1, 276, 277, 278, -1, -1, -1, -1, + -1, 284, -1, -1, -1, -1, -1, -1, 291, -1, + -1, 257, 258, -1, -1, -1, 262, -1, 301, -1, + -1, -1, -1, 269, -1, -1, -1, -1, 274, -1, + 276, 277, 278, -1, -1, -1, -1, -1, 284, -1, + -1, 257, 258, -1, -1, 291, 262, -1, -1, -1, + -1, -1, -1, 269, -1, 301, -1, -1, 274, -1, + 276, 277, 278, -1, -1, -1, -1, -1, 284, -1, + -1, -1, -1, -1, -1, 291, -1, 257, 258, -1, + -1, -1, 262, -1, -1, 301, -1, -1, -1, 269, + -1, -1, -1, -1, 274, -1, 276, 277, 278, -1, + -1, -1, -1, -1, 284, -1, -1, -1, -1, -1, + -1, 291, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 301, }; } class yyCheckInit { - static short[] yyCheck = new short[3801]; + static short[] yyCheck = new short[3916]; protected static void yyCheckInit () { int numyycheck; int yyCheckerun = 0; for (numyycheck = 0; numyycheck <= 1000; numyycheck++) { - if (yyCheckerun < 3801) { + if (yyCheckerun < 3916) { yyCheck[yyCheckerun] = yyCheck0.yyCheck0[numyycheck]; yyCheckerun++; } } for (numyycheck = 0; numyycheck <= 1000; numyycheck++) { - if (yyCheckerun < 3801) { + if (yyCheckerun < 3916) { yyCheck[yyCheckerun] = yyCheck1.yyCheck1[numyycheck]; yyCheckerun++; } } for (numyycheck = 0; numyycheck <= 1000; numyycheck++) { - if (yyCheckerun < 3801) { + if (yyCheckerun < 3916) { yyCheck[yyCheckerun] = yyCheck2.yyCheck2[numyycheck]; yyCheckerun++; } } for (numyycheck = 0; numyycheck <= 1000; numyycheck++) { - if (yyCheckerun < 3801) { + if (yyCheckerun < 3916) { yyCheck[yyCheckerun] = yyCheck3.yyCheck3[numyycheck]; yyCheckerun++; } diff --git a/src/mycompiler/myparser/JavaParser.jay b/src/mycompiler/myparser/JavaParser.jay index 5f0306837..fb9c4897d 100755 --- a/src/mycompiler/myparser/JavaParser.jay +++ b/src/mycompiler/myparser/JavaParser.jay @@ -906,6 +906,12 @@ fielddeclaration : fielddeclarator ';' $2.setType($1); $$=$2; } + | '<' boundedMethodParameters '>' type fielddeclarator + {//angefügt von Andreas Stadelmeier + $5.setGenericParameter($2); + $5.setType($4); + $$=$5; + } | variabledeclarators ';' { @@ -1022,8 +1028,8 @@ boundedMethodParameter : IDENTIFIER } | IDENTIFIER EXTENDS boundedclassidentifierlist { - BoundedGenericTypeVar gtv=new BoundedGenericTypeVar($1.getLexem(),$1.getOffset()); - gtv.setBounds($3); + BoundedGenericTypeVar gtv=new BoundedGenericTypeVar($1.getLexem(),$3,$1.getOffset()); + //gtv.setBounds($3); $$=gtv; } // returns Vector diff --git a/src/mycompiler/mytype/BoundedGenericTypeVar.java b/src/mycompiler/mytype/BoundedGenericTypeVar.java index 4d2bd011d..9e63dd185 100755 --- a/src/mycompiler/mytype/BoundedGenericTypeVar.java +++ b/src/mycompiler/mytype/BoundedGenericTypeVar.java @@ -36,7 +36,7 @@ public class BoundedGenericTypeVar extends GenericTypeVar // ino.end // ino.method.BoundedGenericTypeVar.26471.definition - public BoundedGenericTypeVar(String s, int offset) + public BoundedGenericTypeVar(String s, int offset, Vector t) // ino.end // ino.method.BoundedGenericTypeVar.26471.body { @@ -51,8 +51,9 @@ public class BoundedGenericTypeVar extends GenericTypeVar // ino.method.BoundedGenericTypeVar.29409.body { super(s, offset); + if(bounds.size()>1)throw new NotImplementedException(); + this.genericTypeVar = new Pair(new RefType(s,offset),bounds.elementAt(0)); this.bounds = bounds; - throw new NotImplementedException(); } // ino.end @@ -70,6 +71,7 @@ public class BoundedGenericTypeVar extends GenericTypeVar // ino.end // ino.method.setBounds.26477.body { + this.bounds=types; } // ino.end diff --git a/src/typinferenz/TypeInsertSet.java b/src/typinferenz/TypeInsertSet.java index c732dbe86..38421a5c6 100644 --- a/src/typinferenz/TypeInsertSet.java +++ b/src/typinferenz/TypeInsertSet.java @@ -64,7 +64,9 @@ public class TypeInsertSet { //Das additional Offset noch nicht korrigieren, da die generischen Parameter noch vor den Typ müssen. //Jetzt sind die übriggebliebenen TPHs bekannt und die benötigten Generischen Variablen können berechnet werden. - Iterator it = p.getResultSet().getConstraintsFor(insertCode.getUnresolvedTPH()).iterator(); + Vector unresolvedPairs = p.getResultSet().getConstraintsFor(insertCode.getUnresolvedTPH()); + if(unresolvedPairs.size()>0){ //Nur falls es wirklich was zum Einsetzen gibt: + Iterator it = unresolvedPairs.iterator(); String genericTypeParameters = "<"; while(it.hasNext()){ genericTypeParameters += new GenericTypeVar(it.next(), 0).printJavaCode(p.getResultSet()); @@ -76,6 +78,7 @@ public class TypeInsertSet { ret = tip.insertType(insertCode.toString(), additionalOffset).toString(); //Jetzt das gesamte Offset korrigieren: additionalOffset += tip.getInsertLength(); + } additionalOffset += p.getInsertLength(); } diff --git a/test/parser/BoundedParameter.jav b/test/parser/BoundedParameter.jav new file mode 100644 index 000000000..f97bb6629 --- /dev/null +++ b/test/parser/BoundedParameter.jav @@ -0,0 +1,3 @@ +class Matrix{ + Fun1>, B> op = (m) -> ( f) -> f.apply(this, m); +} diff --git a/test/parser/GeneralParserTest.java b/test/parser/GeneralParserTest.java index 2124eb227..3b3b9de0d 100644 --- a/test/parser/GeneralParserTest.java +++ b/test/parser/GeneralParserTest.java @@ -28,8 +28,9 @@ public class GeneralParserTest{ @Test public void run(){ Vector filenames = new Vector(); - filenames.add("FieldInitializationTest.jav"); - filenames.add("ImportTest.jav"); + //filenames.add("FieldInitializationTest.jav"); + //filenames.add("ImportTest.jav"); + filenames.add("BoundedParameter.jav"); MyCompilerAPI compiler = MyCompiler.getAPI(); try{ for(String filename : filenames) diff --git a/test/plugindevelopment/TRMEqualTest.java b/test/plugindevelopment/TRMEqualTest.java index 73ade1a3e..6077ca0c4 100644 --- a/test/plugindevelopment/TRMEqualTest.java +++ b/test/plugindevelopment/TRMEqualTest.java @@ -108,7 +108,7 @@ class TestNode implements TypeInsertable{ @Override public TypeInsertPoint createTypeInsertPoint(TypePlaceholder tph, ResultSet resultSet) { - return new TypeInsertPoint(tph, this, resultSet.getTypeEqualTo(tph), resultSet); + return new TypeInsertPoint( this, resultSet.getTypeEqualTo(tph), resultSet); } @Override diff --git a/tools/y.output b/tools/y.output index 33b603905..1a9018977 100644 --- a/tools/y.output +++ b/tools/y.output @@ -126,279 +126,280 @@ 87 fielddeclaration : fielddeclarator ';' 88 | type fielddeclarator - 89 | variabledeclarators ';' - 90 | type variabledeclarators ';' - 91 | modifiers type variabledeclarators ';' + 89 | '<' boundedMethodParameters '>' type fielddeclarator + 90 | variabledeclarators ';' + 91 | type variabledeclarators ';' + 92 | modifiers type variabledeclarators ';' - 92 methoddeclaration : methodheader methodbody + 93 methoddeclaration : methodheader methodbody - 93 block : '{' '}' - 94 | '{' blockstatements '}' + 94 block : '{' '}' + 95 | '{' blockstatements '}' - 95 constructordeclarator : simplename '(' ')' - 96 | simplename '(' formalparameterlist ')' + 96 constructordeclarator : simplename '(' ')' + 97 | simplename '(' formalparameterlist ')' - 97 constructorbody : '{' '}' - 98 | '{' explicitconstructorinvocation '}' - 99 | '{' blockstatements '}' - 100 | '{' explicitconstructorinvocation blockstatements '}' + 98 constructorbody : '{' '}' + 99 | '{' explicitconstructorinvocation '}' + 100 | '{' blockstatements '}' + 101 | '{' explicitconstructorinvocation blockstatements '}' - 101 throws : THROWS classtypelist + 102 throws : THROWS classtypelist - 102 boundedClassParameter : boundedMethodParameter + 103 boundedClassParameter : boundedMethodParameter - 103 boundedClassParameters : boundedClassParameter - 104 | boundedClassParameters ',' boundedClassParameter + 104 boundedClassParameters : boundedClassParameter + 105 | boundedClassParameters ',' boundedClassParameter - 105 boundedMethodParameter : IDENTIFIER - 106 | IDENTIFIER EXTENDS boundedclassidentifierlist + 106 boundedMethodParameter : IDENTIFIER + 107 | IDENTIFIER EXTENDS boundedclassidentifierlist - 107 boundedclassidentifierlist : referencetype - 108 | boundedclassidentifierlist '&' referencetype + 108 boundedclassidentifierlist : referencetype + 109 | boundedclassidentifierlist '&' referencetype - 109 boundedMethodParameters : boundedMethodParameter - 110 | boundedMethodParameters ',' boundedMethodParameter + 110 boundedMethodParameters : boundedMethodParameter + 111 | boundedMethodParameters ',' boundedMethodParameter - 111 methodheader : '<' boundedMethodParameters '>' type methoddeclarator - 112 | type methoddeclarator - 113 | modifiers type methoddeclarator - 114 | modifiers '<' boundedMethodParameters '>' type methoddeclarator - 115 | type methoddeclarator throws - 116 | '<' boundedMethodParameters '>' type methoddeclarator throws - 117 | modifiers type methoddeclarator throws - 118 | modifiers '<' boundedMethodParameters '>' type methoddeclarator throws - 119 | VOID methoddeclarator - 120 | modifiers VOID methoddeclarator - 121 | VOID methoddeclarator throws - 122 | modifiers VOID methoddeclarator throws - 123 | '<' boundedMethodParameters '>' VOID methoddeclarator - 124 | modifiers '<' boundedMethodParameters '>' VOID methoddeclarator - 125 | '<' boundedMethodParameters '>' VOID methoddeclarator throws - 126 | modifiers '<' boundedMethodParameters '>' VOID methoddeclarator throws - 127 | methoddeclarator - 128 | '<' boundedMethodParameters '>' methoddeclarator - 129 | modifiers methoddeclarator - 130 | methoddeclarator throws - 131 | modifiers methoddeclarator throws + 112 methodheader : '<' boundedMethodParameters '>' type methoddeclarator + 113 | type methoddeclarator + 114 | modifiers type methoddeclarator + 115 | modifiers '<' boundedMethodParameters '>' type methoddeclarator + 116 | type methoddeclarator throws + 117 | '<' boundedMethodParameters '>' type methoddeclarator throws + 118 | modifiers type methoddeclarator throws + 119 | modifiers '<' boundedMethodParameters '>' type methoddeclarator throws + 120 | VOID methoddeclarator + 121 | modifiers VOID methoddeclarator + 122 | VOID methoddeclarator throws + 123 | modifiers VOID methoddeclarator throws + 124 | '<' boundedMethodParameters '>' VOID methoddeclarator + 125 | modifiers '<' boundedMethodParameters '>' VOID methoddeclarator + 126 | '<' boundedMethodParameters '>' VOID methoddeclarator throws + 127 | modifiers '<' boundedMethodParameters '>' VOID methoddeclarator throws + 128 | methoddeclarator + 129 | '<' boundedMethodParameters '>' methoddeclarator + 130 | modifiers methoddeclarator + 131 | methoddeclarator throws + 132 | modifiers methoddeclarator throws - 132 type : primitivetype - 133 | primitivetype '[' ']' - 134 | referencetype - 135 | referencetype '[' ']' + 133 type : primitivetype + 134 | primitivetype '[' ']' + 135 | referencetype + 136 | referencetype '[' ']' - 136 variabledeclarators : variabledeclarator - 137 | variabledeclarators ',' variabledeclarator + 137 variabledeclarators : variabledeclarator + 138 | variabledeclarators ',' variabledeclarator - 138 methodbody : block + 139 methodbody : block - 139 blockstatements : blockstatement - 140 | blockstatements blockstatement + 140 blockstatements : blockstatement + 141 | blockstatements blockstatement - 141 formalparameterlist : formalparameter - 142 | formalparameterlist ',' formalparameter + 142 formalparameterlist : formalparameter + 143 | formalparameterlist ',' formalparameter - 143 explicitconstructorinvocation : THIS '(' ')' ';' - 144 | THIS '(' argumentlist ')' ';' + 144 explicitconstructorinvocation : THIS '(' ')' ';' + 145 | THIS '(' argumentlist ')' ';' - 145 classtypelist : classtype - 146 | classtypelist ',' classtype + 146 classtypelist : classtype + 147 | classtypelist ',' classtype - 147 methoddeclarator : IDENTIFIER '(' ')' - 148 | IDENTIFIER '(' formalparameterlist ')' + 148 methoddeclarator : IDENTIFIER '(' ')' + 149 | IDENTIFIER '(' formalparameterlist ')' - 149 primitivetype : BOOLEAN - 150 | numerictype + 150 primitivetype : BOOLEAN + 151 | numerictype - 151 referencetype : classorinterfacetype + 152 referencetype : classorinterfacetype - 152 variabledeclarator : variabledeclaratorid + 153 variabledeclarator : variabledeclaratorid - 153 blockstatement : localvariabledeclarationstatement - 154 | statement + 154 blockstatement : localvariabledeclarationstatement + 155 | statement - 155 formalparameter : type variabledeclaratorid - 156 | variabledeclaratorid + 156 formalparameter : type variabledeclaratorid + 157 | variabledeclaratorid - 157 argumentlist : expression - 158 | argumentlist ',' expression + 158 argumentlist : expression + 159 | argumentlist ',' expression - 159 numerictype : integraltype + 160 numerictype : integraltype - 160 variabledeclaratorid : IDENTIFIER + 161 variabledeclaratorid : IDENTIFIER - 161 variableinitializer : expression + 162 variableinitializer : expression - 162 localvariabledeclarationstatement : localvariabledeclaration ';' + 163 localvariabledeclarationstatement : localvariabledeclaration ';' - 163 statement : statementwithouttrailingsubstatement - 164 | ifthenstatement - 165 | ifthenelsestatement - 166 | whilestatement - 167 | forstatement + 164 statement : statementwithouttrailingsubstatement + 165 | ifthenstatement + 166 | ifthenelsestatement + 167 | whilestatement + 168 | forstatement - 168 expression : assignmentexpression - 169 | classinstancecreationexpression + 169 expression : assignmentexpression + 170 | classinstancecreationexpression - 170 integraltype : INT - 171 | CHAR + 171 integraltype : INT + 172 | CHAR - 172 localvariabledeclaration : type variabledeclarators - 173 | variabledeclarators + 173 localvariabledeclaration : type variabledeclarators + 174 | variabledeclarators - 174 statementwithouttrailingsubstatement : block - 175 | emptystatement - 176 | expressionstatement - 177 | returnstatement + 175 statementwithouttrailingsubstatement : block + 176 | emptystatement + 177 | expressionstatement + 178 | returnstatement - 178 ifthenstatement : IF '(' expression ')' statement + 179 ifthenstatement : IF '(' expression ')' statement - 179 ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE statement + 180 ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE statement - 180 whilestatement : WHILE '(' expression ')' statement + 181 whilestatement : WHILE '(' expression ')' statement - 181 forstatement : FOR '(' expression ';' expression ';' expression ')' statement - 182 | FOR '(' expression ';' expression ';' ')' statement - 183 | FOR '(' expression ';' ';' expression ')' statement - 184 | FOR '(' ';' expression ';' expression ')' statement - 185 | FOR '(' expression ';' ';' ')' statement - 186 | FOR '(' ';' expression ';' ')' statement - 187 | FOR '(' ';' ';' expression ')' statement - 188 | FOR '(' ';' ';' ')' statement + 182 forstatement : FOR '(' expression ';' expression ';' expression ')' statement + 183 | FOR '(' expression ';' expression ';' ')' statement + 184 | FOR '(' expression ';' ';' expression ')' statement + 185 | FOR '(' ';' expression ';' expression ')' statement + 186 | FOR '(' expression ';' ';' ')' statement + 187 | FOR '(' ';' expression ';' ')' statement + 188 | FOR '(' ';' ';' expression ')' statement + 189 | FOR '(' ';' ';' ')' statement - 189 assignmentexpression : conditionalexpression - 190 | assignment + 190 assignmentexpression : conditionalexpression + 191 | assignment - 191 emptystatement : ';' + 192 emptystatement : ';' - 192 expressionstatement : statementexpression ';' + 193 expressionstatement : statementexpression ';' - 193 returnstatement : RETURN ';' - 194 | RETURN expression ';' + 194 returnstatement : RETURN ';' + 195 | RETURN expression ';' - 195 statementnoshortif : statementwithouttrailingsubstatement - 196 | ifthenelsestatementnoshortif - 197 | whilestatementnoshortif + 196 statementnoshortif : statementwithouttrailingsubstatement + 197 | ifthenelsestatementnoshortif + 198 | whilestatementnoshortif - 198 conditionalexpression : conditionalorexpression + 199 conditionalexpression : conditionalorexpression - 199 assignment : lefthandside assignmentoperator assignmentexpression - 200 | lefthandside assignmentoperator classinstancecreationexpression + 200 assignment : lefthandside assignmentoperator assignmentexpression + 201 | lefthandside assignmentoperator classinstancecreationexpression - 201 statementexpression : assignment - 202 | preincrementexpression - 203 | predecrementexpression - 204 | postincrementexpression - 205 | postdecrementexpression - 206 | methodinvocation + 202 statementexpression : assignment + 203 | preincrementexpression + 204 | predecrementexpression + 205 | postincrementexpression + 206 | postdecrementexpression + 207 | methodinvocation - 207 ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif ELSE statementnoshortif + 208 ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif ELSE statementnoshortif - 208 whilestatementnoshortif : WHILE '(' expression ')' statementnoshortif + 209 whilestatementnoshortif : WHILE '(' expression ')' statementnoshortif - 209 conditionalorexpression : conditionalandexpression - 210 | conditionalorexpression LOGICALOR conditionalandexpression + 210 conditionalorexpression : conditionalandexpression + 211 | conditionalorexpression LOGICALOR conditionalandexpression - 211 lambdaassignmentoperator : LAMBDAASSIGNMENT + 212 lambdaassignmentoperator : LAMBDAASSIGNMENT - 212 lambdabody : block - 213 | expression + 213 lambdabody : block + 214 | expression - 214 lambdaexpressionparameter : '(' ')' - 215 | '(' formalparameterlist ')' + 215 lambdaexpressionparameter : '(' ')' + 216 | '(' formalparameterlist ')' - 216 lambdaexpression : lambdaexpressionparameter lambdaassignmentoperator lambdabody + 217 lambdaexpression : lambdaexpressionparameter lambdaassignmentoperator lambdabody - 217 lefthandside : name + 218 lefthandside : name - 218 assignmentoperator : '=' - 219 | TIMESEQUAL - 220 | DIVIDEEQUAL - 221 | MODULOEQUAL - 222 | PLUSEQUAL - 223 | MINUSEQUAL + 219 assignmentoperator : '=' + 220 | TIMESEQUAL + 221 | DIVIDEEQUAL + 222 | MODULOEQUAL + 223 | PLUSEQUAL + 224 | MINUSEQUAL - 224 preincrementexpression : INCREMENT unaryexpression + 225 preincrementexpression : INCREMENT unaryexpression - 225 predecrementexpression : DECREMENT unaryexpression + 226 predecrementexpression : DECREMENT unaryexpression - 226 postincrementexpression : postfixexpression INCREMENT + 227 postincrementexpression : postfixexpression INCREMENT - 227 postdecrementexpression : postfixexpression DECREMENT + 228 postdecrementexpression : postfixexpression DECREMENT - 228 methodinvocation : name '(' ')' - 229 | name '(' argumentlist ')' - 230 | primary '.' IDENTIFIER '(' ')' - 231 | primary '.' IDENTIFIER '(' argumentlist ')' + 229 methodinvocation : name '(' ')' + 230 | name '(' argumentlist ')' + 231 | primary '.' IDENTIFIER '(' ')' + 232 | primary '.' IDENTIFIER '(' argumentlist ')' - 232 classinstancecreationexpression : NEW classtype '(' ')' - 233 | NEW classtype '(' argumentlist ')' + 233 classinstancecreationexpression : NEW classtype '(' ')' + 234 | NEW classtype '(' argumentlist ')' - 234 conditionalandexpression : inclusiveorexpression - 235 | conditionalandexpression LOGICALAND inclusiveorexpression + 235 conditionalandexpression : inclusiveorexpression + 236 | conditionalandexpression LOGICALAND inclusiveorexpression - 236 unaryexpression : preincrementexpression - 237 | predecrementexpression - 238 | '+' unaryexpression - 239 | '-' unaryexpression - 240 | unaryexpressionnotplusminus + 237 unaryexpression : preincrementexpression + 238 | predecrementexpression + 239 | '+' unaryexpression + 240 | '-' unaryexpression + 241 | unaryexpressionnotplusminus - 241 postfixexpression : primary - 242 | name - 243 | postincrementexpression - 244 | postdecrementexpression + 242 postfixexpression : primary + 243 | name + 244 | postincrementexpression + 245 | postdecrementexpression - 245 primary : primarynonewarray + 246 primary : primarynonewarray - 246 inclusiveorexpression : exclusiveorexpression - 247 | inclusiveorexpression '|' exclusiveorexpression + 247 inclusiveorexpression : exclusiveorexpression + 248 | inclusiveorexpression '|' exclusiveorexpression - 248 primarynonewarray : literal - 249 | THIS - 250 | methodinvocation - 251 | lambdaexpression + 249 primarynonewarray : literal + 250 | THIS + 251 | methodinvocation + 252 | lambdaexpression - 252 unaryexpressionnotplusminus : postfixexpression - 253 | '!' unaryexpression - 254 | castexpression + 253 unaryexpressionnotplusminus : postfixexpression + 254 | '!' unaryexpression + 255 | castexpression - 255 exclusiveorexpression : andexpression - 256 | exclusiveorexpression '^' andexpression + 256 exclusiveorexpression : andexpression + 257 | exclusiveorexpression '^' andexpression - 257 literal : INTLITERAL - 258 | BOOLLITERAL - 259 | CHARLITERAL - 260 | STRINGLITERAL - 261 | LONGLITERAL - 262 | FLOATLITERAL - 263 | DOUBLELITERAL - 264 | JNULL + 258 literal : INTLITERAL + 259 | BOOLLITERAL + 260 | CHARLITERAL + 261 | STRINGLITERAL + 262 | LONGLITERAL + 263 | FLOATLITERAL + 264 | DOUBLELITERAL + 265 | JNULL - 265 castexpression : '(' primitivetype ')' unaryexpression + 266 castexpression : '(' primitivetype ')' unaryexpression - 266 andexpression : equalityexpression - 267 | andexpression '&' equalityexpression + 267 andexpression : equalityexpression + 268 | andexpression '&' equalityexpression - 268 equalityexpression : relationalexpression - 269 | equalityexpression EQUAL relationalexpression - 270 | equalityexpression NOTEQUAL relationalexpression + 269 equalityexpression : relationalexpression + 270 | equalityexpression EQUAL relationalexpression + 271 | equalityexpression NOTEQUAL relationalexpression - 271 relationalexpression : shiftexpression - 272 | relationalexpression '<' shiftexpression - 273 | relationalexpression '>' shiftexpression - 274 | relationalexpression LESSEQUAL shiftexpression - 275 | relationalexpression GREATEREQUAL shiftexpression - 276 | relationalexpression INSTANCEOF referencetype + 272 relationalexpression : shiftexpression + 273 | relationalexpression '<' shiftexpression + 274 | relationalexpression '>' shiftexpression + 275 | relationalexpression LESSEQUAL shiftexpression + 276 | relationalexpression GREATEREQUAL shiftexpression + 277 | relationalexpression INSTANCEOF referencetype - 277 shiftexpression : additiveexpression + 278 shiftexpression : additiveexpression - 278 additiveexpression : multiplicativeexpression - 279 | additiveexpression '+' multiplicativeexpression - 280 | additiveexpression '-' multiplicativeexpression + 279 additiveexpression : multiplicativeexpression + 280 | additiveexpression '+' multiplicativeexpression + 281 | additiveexpression '-' multiplicativeexpression - 281 multiplicativeexpression : unaryexpression - 282 | multiplicativeexpression '*' unaryexpression - 283 | multiplicativeexpression '/' unaryexpression - 284 | multiplicativeexpression '%' unaryexpression + 282 multiplicativeexpression : unaryexpression + 283 | multiplicativeexpression '*' unaryexpression + 284 | multiplicativeexpression '/' unaryexpression + 285 | multiplicativeexpression '%' unaryexpression state 0 $accept : . compilationunit $end (0) @@ -445,15 +446,15 @@ state 1 state 2 - primitivetype : BOOLEAN . (149) + primitivetype : BOOLEAN . (150) - . reduce 149 + . reduce 150 state 3 - integraltype : CHAR . (171) + integraltype : CHAR . (172) - . reduce 171 + . reduce 172 state 4 @@ -475,9 +476,9 @@ state 5 state 6 - integraltype : INT . (170) + integraltype : INT . (171) - . reduce 170 + . reduce 171 state 7 @@ -644,67 +645,67 @@ state 20 state 21 - referencetype : classorinterfacetype . (151) + referencetype : classorinterfacetype . (152) + + . reduce 152 + + +state 22 + numerictype : integraltype . (160) + + . reduce 160 + + +state 23 + primitivetype : numerictype . (151) . reduce 151 -state 22 - numerictype : integraltype . (159) - - . reduce 159 - - -state 23 - primitivetype : numerictype . (150) - - . reduce 150 - - state 24 - type : primitivetype . (132) - type : primitivetype . '[' ']' (133) + type : primitivetype . (133) + type : primitivetype . '[' ']' (134) '[' shift 45 - ABSTRACT reduce 132 - BOOLEAN reduce 132 - CHAR reduce 132 - CLASS reduce 132 - FINAL reduce 132 - INT reduce 132 - PRIVATE reduce 132 - PROTECTED reduce 132 - PUBLIC reduce 132 - PACKAGE reduce 132 - IMPORT reduce 132 - INTERFACE reduce 132 - STATIC reduce 132 - IDENTIFIER reduce 132 - ',' reduce 132 - '>' reduce 132 + ABSTRACT reduce 133 + BOOLEAN reduce 133 + CHAR reduce 133 + CLASS reduce 133 + FINAL reduce 133 + INT reduce 133 + PRIVATE reduce 133 + PROTECTED reduce 133 + PUBLIC reduce 133 + PACKAGE reduce 133 + IMPORT reduce 133 + INTERFACE reduce 133 + STATIC reduce 133 + IDENTIFIER reduce 133 + ',' reduce 133 + '>' reduce 133 state 25 - type : referencetype . (134) - type : referencetype . '[' ']' (135) + type : referencetype . (135) + type : referencetype . '[' ']' (136) '[' shift 46 - ABSTRACT reduce 134 - BOOLEAN reduce 134 - CHAR reduce 134 - CLASS reduce 134 - FINAL reduce 134 - INT reduce 134 - PRIVATE reduce 134 - PROTECTED reduce 134 - PUBLIC reduce 134 - PACKAGE reduce 134 - IMPORT reduce 134 - INTERFACE reduce 134 - STATIC reduce 134 - IDENTIFIER reduce 134 - ',' reduce 134 - '>' reduce 134 + ABSTRACT reduce 135 + BOOLEAN reduce 135 + CHAR reduce 135 + CLASS reduce 135 + FINAL reduce 135 + INT reduce 135 + PRIVATE reduce 135 + PROTECTED reduce 135 + PUBLIC reduce 135 + PACKAGE reduce 135 + IMPORT reduce 135 + INTERFACE reduce 135 + STATIC reduce 135 + IDENTIFIER reduce 135 + ',' reduce 135 + '>' reduce 135 state 26 @@ -942,14 +943,14 @@ state 44 state 45 - type : primitivetype '[' . ']' (133) + type : primitivetype '[' . ']' (134) ']' shift 72 . error state 46 - type : referencetype '[' . ']' (135) + type : referencetype '[' . ']' (136) ']' shift 73 . error @@ -1244,15 +1245,15 @@ state 67 STATIC shift 13 VOID shift 87 IDENTIFIER shift 117 - '<' shift 89 - '}' shift 118 + '<' shift 118 + '}' shift 119 . error - interfacememberdeclarations goto 119 - interfacememberdeclaration goto 120 - abstractmethoddeclaration goto 121 - constantdeclaration goto 122 - methodheader goto 123 + interfacememberdeclarations goto 120 + interfacememberdeclaration goto 121 + abstractmethoddeclaration goto 122 + constantdeclaration goto 123 + methodheader goto 124 methoddeclarator goto 94 simplename goto 18 classorinterfacetype goto 21 @@ -1260,8 +1261,8 @@ state 67 numerictype goto 23 primitivetype goto 24 referencetype goto 25 - type goto 124 - modifiers goto 125 + type goto 125 + modifiers goto 126 modifier goto 28 @@ -1275,11 +1276,11 @@ state 69 interfacedeclaration : INTERFACE interfaceidentifier extendsinterfaces . interfacebody (34) extendsinterfaces : extendsinterfaces . ',' interfacetype (55) - ',' shift 126 + ',' shift 127 '{' shift 67 . error - interfacebody goto 127 + interfacebody goto 128 state 70 @@ -1292,21 +1293,21 @@ state 71 typelist : typelist . ',' type (73) parameter : '<' typelist . '>' (75) - ',' shift 128 - '>' shift 129 + ',' shift 129 + '>' shift 130 . error state 72 - type : primitivetype '[' ']' . (133) + type : primitivetype '[' ']' . (134) - . reduce 133 + . reduce 134 state 73 - type : referencetype '[' ']' . (135) + type : referencetype '[' ']' . (136) - . reduce 135 + . reduce 136 state 74 @@ -1326,9 +1327,9 @@ state 75 '{' shift 57 . error - classbody goto 130 - super goto 131 - interfaces goto 132 + classbody goto 131 + super goto 132 + interfaces goto 133 state 76 @@ -1339,8 +1340,8 @@ state 76 '{' shift 67 . error - interfacebody goto 133 - extendsinterfaces goto 134 + interfacebody goto 134 + extendsinterfaces goto 135 state 77 @@ -1365,32 +1366,32 @@ state 77 state 78 - boundedMethodParameter : IDENTIFIER . (105) - boundedMethodParameter : IDENTIFIER . EXTENDS boundedclassidentifierlist (106) + boundedMethodParameter : IDENTIFIER . (106) + boundedMethodParameter : IDENTIFIER . EXTENDS boundedclassidentifierlist (107) - EXTENDS shift 135 - ',' reduce 105 - '>' reduce 105 + EXTENDS shift 136 + ',' reduce 106 + '>' reduce 106 state 79 - boundedClassParameter : boundedMethodParameter . (102) - - . reduce 102 - - -state 80 - boundedClassParameters : boundedClassParameter . (103) + boundedClassParameter : boundedMethodParameter . (103) . reduce 103 +state 80 + boundedClassParameters : boundedClassParameter . (104) + + . reduce 104 + + state 81 classidentifier : IDENTIFIER '<' boundedClassParameters . '>' (31) - boundedClassParameters : boundedClassParameters . ',' boundedClassParameter (104) + boundedClassParameters : boundedClassParameters . ',' boundedClassParameter (105) - ',' shift 136 - '>' shift 137 + ',' shift 137 + '>' shift 138 . error @@ -1422,7 +1423,7 @@ state 86 modifier : STATIC . (61) staticinitializer : STATIC . block (80) - '{' shift 138 + '{' shift 139 ABSTRACT reduce 61 BOOLEAN reduce 61 CHAR reduce 61 @@ -1436,50 +1437,51 @@ state 86 IDENTIFIER reduce 61 '<' reduce 61 - block goto 139 + block goto 140 state 87 - methodheader : VOID . methoddeclarator (119) - methodheader : VOID . methoddeclarator throws (121) + methodheader : VOID . methoddeclarator (120) + methodheader : VOID . methoddeclarator throws (122) - IDENTIFIER shift 140 + IDENTIFIER shift 141 . error - methoddeclarator goto 141 + methoddeclarator goto 142 -88: shift/reduce conflict (shift 142, reduce 19) on '(' +88: shift/reduce conflict (shift 143, reduce 19) on '(' state 88 simplename : IDENTIFIER . (19) - methoddeclarator : IDENTIFIER . '(' ')' (147) - methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (148) - variabledeclaratorid : IDENTIFIER . (160) + methoddeclarator : IDENTIFIER . '(' ')' (148) + methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (149) + variabledeclaratorid : IDENTIFIER . (161) - '(' shift 142 + '(' shift 143 BOOLEAN reduce 19 CHAR reduce 19 INT reduce 19 IDENTIFIER reduce 19 - ',' reduce 160 - ';' reduce 160 + ',' reduce 161 + ';' reduce 161 '<' reduce 19 - '=' reduce 160 + '=' reduce 161 '[' reduce 19 state 89 - methodheader : '<' . boundedMethodParameters '>' type methoddeclarator (111) - methodheader : '<' . boundedMethodParameters '>' type methoddeclarator throws (116) - methodheader : '<' . boundedMethodParameters '>' VOID methoddeclarator (123) - methodheader : '<' . boundedMethodParameters '>' VOID methoddeclarator throws (125) - methodheader : '<' . boundedMethodParameters '>' methoddeclarator (128) + fielddeclaration : '<' . boundedMethodParameters '>' type fielddeclarator (89) + methodheader : '<' . boundedMethodParameters '>' type methoddeclarator (112) + methodheader : '<' . boundedMethodParameters '>' type methoddeclarator throws (117) + methodheader : '<' . boundedMethodParameters '>' VOID methoddeclarator (124) + methodheader : '<' . boundedMethodParameters '>' VOID methoddeclarator throws (126) + methodheader : '<' . boundedMethodParameters '>' methoddeclarator (129) IDENTIFIER shift 78 . error - boundedMethodParameter goto 143 - boundedMethodParameters goto 144 + boundedMethodParameter goto 144 + boundedMethodParameters goto 145 state 90 @@ -1495,13 +1497,13 @@ state 91 state 92 - methoddeclaration : methodheader . methodbody (92) + methoddeclaration : methodheader . methodbody (93) - '{' shift 138 + '{' shift 139 . error - block goto 145 - methodbody goto 146 + block goto 146 + methodbody goto 147 state 93 @@ -1511,14 +1513,14 @@ state 93 state 94 - methodheader : methoddeclarator . (127) - methodheader : methoddeclarator . throws (130) + methodheader : methoddeclarator . (128) + methodheader : methoddeclarator . throws (131) - THROWS shift 147 - ';' reduce 127 - '{' reduce 127 + THROWS shift 148 + ';' reduce 128 + '{' reduce 128 - throws goto 148 + throws goto 149 state 95 @@ -1537,14 +1539,14 @@ state 95 VOID shift 87 IDENTIFIER shift 88 '<' shift 89 - '}' shift 149 + '}' shift 150 . error fielddeclaration goto 91 methodheader goto 92 methoddeclaration goto 93 methoddeclarator goto 94 - classbodydeclaration goto 150 + classbodydeclaration goto 151 classmemberdeclaration goto 97 variabledeclarators goto 98 fielddeclarator goto 99 @@ -1577,44 +1579,44 @@ state 97 state 98 - fielddeclaration : variabledeclarators . ';' (89) - variabledeclarators : variabledeclarators . ',' variabledeclarator (137) + fielddeclaration : variabledeclarators . ';' (90) + variabledeclarators : variabledeclarators . ',' variabledeclarator (138) - ',' shift 151 - ';' shift 152 + ',' shift 152 + ';' shift 153 . error state 99 fielddeclaration : fielddeclarator . ';' (87) - ';' shift 153 + ';' shift 154 . error state 100 fielddeclarator : variabledeclarator . '=' expression (86) - variabledeclarators : variabledeclarator . (136) + variabledeclarators : variabledeclarator . (137) - '=' shift 154 - ',' reduce 136 - ';' reduce 136 + '=' shift 155 + ',' reduce 137 + ';' reduce 137 state 101 - variabledeclarator : variabledeclaratorid . (152) + variabledeclarator : variabledeclaratorid . (153) - . reduce 152 + . reduce 153 state 102 classorinterfacetype : simplename . parameter (71) - constructordeclarator : simplename . '(' ')' (95) - constructordeclarator : simplename . '(' formalparameterlist ')' (96) + constructordeclarator : simplename . '(' ')' (96) + constructordeclarator : simplename . '(' formalparameterlist ')' (97) parameter : . (74) '<' shift 41 - '(' shift 155 + '(' shift 156 BOOLEAN reduce 74 CHAR reduce 74 INT reduce 74 @@ -1627,9 +1629,9 @@ state 102 state 103 fielddeclarator : type . variabledeclarator '=' expression (85) fielddeclaration : type . fielddeclarator (88) - fielddeclaration : type . variabledeclarators ';' (90) - methodheader : type . methoddeclarator (112) - methodheader : type . methoddeclarator throws (115) + fielddeclaration : type . variabledeclarators ';' (91) + methodheader : type . methoddeclarator (113) + methodheader : type . methoddeclarator throws (116) BOOLEAN shift 2 CHAR shift 3 @@ -1637,10 +1639,10 @@ state 103 IDENTIFIER shift 88 . error - methoddeclarator goto 156 - variabledeclarators goto 157 - fielddeclarator goto 158 - variabledeclarator goto 159 + methoddeclarator goto 157 + variabledeclarators goto 158 + fielddeclarator goto 159 + variabledeclarator goto 160 variabledeclaratorid goto 101 simplename goto 18 classorinterfacetype goto 21 @@ -1648,23 +1650,23 @@ state 103 numerictype goto 23 primitivetype goto 24 referencetype goto 25 - type goto 160 + type goto 161 state 104 modifiers : modifiers . modifier (48) constructordeclaration : modifiers . constructordeclarator constructorbody (82) - fielddeclaration : modifiers . type variabledeclarators ';' (91) - methodheader : modifiers . type methoddeclarator (113) - methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator (114) - methodheader : modifiers . type methoddeclarator throws (117) - methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator throws (118) - methodheader : modifiers . VOID methoddeclarator (120) - methodheader : modifiers . VOID methoddeclarator throws (122) - methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator (124) - methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator throws (126) - methodheader : modifiers . methoddeclarator (129) - methodheader : modifiers . methoddeclarator throws (131) + fielddeclaration : modifiers . type variabledeclarators ';' (92) + methodheader : modifiers . type methoddeclarator (114) + methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator (115) + methodheader : modifiers . type methoddeclarator throws (118) + methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator throws (119) + methodheader : modifiers . VOID methoddeclarator (121) + methodheader : modifiers . VOID methoddeclarator throws (123) + methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator (125) + methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator throws (127) + methodheader : modifiers . methoddeclarator (130) + methodheader : modifiers . methoddeclarator throws (132) ABSTRACT shift 1 BOOLEAN shift 2 @@ -1675,21 +1677,21 @@ state 104 PROTECTED shift 8 PUBLIC shift 9 STATIC shift 13 - VOID shift 161 + VOID shift 162 IDENTIFIER shift 117 - '<' shift 162 + '<' shift 163 . error - methoddeclarator goto 163 + methoddeclarator goto 164 simplename goto 102 classorinterfacetype goto 21 integraltype goto 22 numerictype goto 23 primitivetype goto 24 referencetype goto 25 - type goto 164 + type goto 165 modifier goto 50 - constructordeclarator goto 165 + constructordeclarator goto 166 state 105 @@ -1701,10 +1703,10 @@ state 105 state 106 constructordeclaration : constructordeclarator . constructorbody (81) - '{' shift 166 + '{' shift 167 . error - constructorbody goto 167 + constructorbody goto 168 state 107 @@ -1727,7 +1729,7 @@ state 109 '{' shift 57 . error - classbody goto 168 + classbody goto 169 state 110 @@ -1738,7 +1740,7 @@ state 110 simplename goto 18 classorinterfacetype goto 84 - interfacetype goto 169 + interfacetype goto 170 state 111 @@ -1769,10 +1771,10 @@ state 114 state 115 interfaceidentifier : IDENTIFIER '<' boundedClassParameters . '>' (29) - boundedClassParameters : boundedClassParameters . ',' boundedClassParameter (104) + boundedClassParameters : boundedClassParameters . ',' boundedClassParameter (105) - ',' shift 136 - '>' shift 170 + ',' shift 137 + '>' shift 171 . error @@ -1782,25 +1784,42 @@ state 116 . reduce 54 -117: shift/reduce conflict (shift 142, reduce 19) on '(' +117: shift/reduce conflict (shift 143, reduce 19) on '(' state 117 simplename : IDENTIFIER . (19) - methoddeclarator : IDENTIFIER . '(' ')' (147) - methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (148) + methoddeclarator : IDENTIFIER . '(' ')' (148) + methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (149) - '(' shift 142 + '(' shift 143 + BOOLEAN reduce 19 + CHAR reduce 19 + INT reduce 19 IDENTIFIER reduce 19 '<' reduce 19 '[' reduce 19 state 118 + methodheader : '<' . boundedMethodParameters '>' type methoddeclarator (112) + methodheader : '<' . boundedMethodParameters '>' type methoddeclarator throws (117) + methodheader : '<' . boundedMethodParameters '>' VOID methoddeclarator (124) + methodheader : '<' . boundedMethodParameters '>' VOID methoddeclarator throws (126) + methodheader : '<' . boundedMethodParameters '>' methoddeclarator (129) + + IDENTIFIER shift 78 + . error + + boundedMethodParameter goto 144 + boundedMethodParameters goto 172 + + +state 119 interfacebody : '{' '}' . (52) . reduce 52 -state 119 +state 120 interfacebody : '{' interfacememberdeclarations . '}' (53) interfacememberdeclarations : interfacememberdeclarations . interfacememberdeclaration (66) @@ -1815,14 +1834,14 @@ state 119 STATIC shift 13 VOID shift 87 IDENTIFIER shift 117 - '<' shift 89 - '}' shift 171 + '<' shift 118 + '}' shift 173 . error - interfacememberdeclaration goto 172 - abstractmethoddeclaration goto 121 - constantdeclaration goto 122 - methodheader goto 123 + interfacememberdeclaration goto 174 + abstractmethoddeclaration goto 122 + constantdeclaration goto 123 + methodheader goto 124 methoddeclarator goto 94 simplename goto 18 classorinterfacetype goto 21 @@ -1830,59 +1849,59 @@ state 119 numerictype goto 23 primitivetype goto 24 referencetype goto 25 - type goto 124 - modifiers goto 125 + type goto 125 + modifiers goto 126 modifier goto 28 -state 120 +state 121 interfacememberdeclarations : interfacememberdeclaration . (65) . reduce 65 -state 121 +state 122 interfacememberdeclaration : abstractmethoddeclaration . (77) . reduce 77 -state 122 +state 123 interfacememberdeclaration : constantdeclaration . (76) . reduce 76 -state 123 +state 124 abstractmethoddeclaration : methodheader . ';' (84) - ';' shift 173 + ';' shift 175 . error -state 124 - methodheader : type . methoddeclarator (112) - methodheader : type . methoddeclarator throws (115) - - IDENTIFIER shift 140 - . error - - methoddeclarator goto 156 - - state 125 + methodheader : type . methoddeclarator (113) + methodheader : type . methoddeclarator throws (116) + + IDENTIFIER shift 141 + . error + + methoddeclarator goto 157 + + +state 126 modifiers : modifiers . modifier (48) constantdeclaration : modifiers . type IDENTIFIER '=' expression ';' (83) - methodheader : modifiers . type methoddeclarator (113) - methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator (114) - methodheader : modifiers . type methoddeclarator throws (117) - methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator throws (118) - methodheader : modifiers . VOID methoddeclarator (120) - methodheader : modifiers . VOID methoddeclarator throws (122) - methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator (124) - methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator throws (126) - methodheader : modifiers . methoddeclarator (129) - methodheader : modifiers . methoddeclarator throws (131) + methodheader : modifiers . type methoddeclarator (114) + methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator (115) + methodheader : modifiers . type methoddeclarator throws (118) + methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator throws (119) + methodheader : modifiers . VOID methoddeclarator (121) + methodheader : modifiers . VOID methoddeclarator throws (123) + methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator (125) + methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator throws (127) + methodheader : modifiers . methoddeclarator (130) + methodheader : modifiers . methoddeclarator throws (132) ABSTRACT shift 1 BOOLEAN shift 2 @@ -1893,23 +1912,23 @@ state 125 PROTECTED shift 8 PUBLIC shift 9 STATIC shift 13 - VOID shift 161 + VOID shift 162 IDENTIFIER shift 117 - '<' shift 162 + '<' shift 163 . error - methoddeclarator goto 163 + methoddeclarator goto 164 simplename goto 18 classorinterfacetype goto 21 integraltype goto 22 numerictype goto 23 primitivetype goto 24 referencetype goto 25 - type goto 174 + type goto 176 modifier goto 50 -state 126 +state 127 extendsinterfaces : extendsinterfaces ',' . interfacetype (55) IDENTIFIER shift 14 @@ -1917,16 +1936,16 @@ state 126 simplename goto 18 classorinterfacetype goto 84 - interfacetype goto 175 + interfacetype goto 177 -state 127 +state 128 interfacedeclaration : INTERFACE interfaceidentifier extendsinterfaces interfacebody . (34) . reduce 34 -state 128 +state 129 typelist : typelist ',' . type (73) BOOLEAN shift 2 @@ -1941,22 +1960,22 @@ state 128 numerictype goto 23 primitivetype goto 24 referencetype goto 25 - type goto 176 + type goto 178 -state 129 +state 130 parameter : '<' typelist '>' . (75) . reduce 75 -state 130 +state 131 classdeclaration : modifiers CLASS classidentifier classbody . (21) . reduce 21 -state 131 +state 132 classdeclaration : modifiers CLASS classidentifier super . classbody (23) classdeclaration : modifiers CLASS classidentifier super . interfaces classbody (27) @@ -1964,11 +1983,11 @@ state 131 '{' shift 57 . error - classbody goto 177 - interfaces goto 178 + classbody goto 179 + interfaces goto 180 -state 132 +state 133 classdeclaration : modifiers CLASS classidentifier interfaces . classbody (25) interfaces : interfaces . ',' interfacetype (51) @@ -1976,585 +1995,599 @@ state 132 '{' shift 57 . error - classbody goto 179 + classbody goto 181 -state 133 +state 134 interfacedeclaration : modifiers INTERFACE interfaceidentifier interfacebody . (33) . reduce 33 -state 134 +state 135 interfacedeclaration : modifiers INTERFACE interfaceidentifier extendsinterfaces . interfacebody (35) extendsinterfaces : extendsinterfaces . ',' interfacetype (55) - ',' shift 126 + ',' shift 127 '{' shift 67 . error - interfacebody goto 180 + interfacebody goto 182 -state 135 - boundedMethodParameter : IDENTIFIER EXTENDS . boundedclassidentifierlist (106) +state 136 + boundedMethodParameter : IDENTIFIER EXTENDS . boundedclassidentifierlist (107) IDENTIFIER shift 14 . error simplename goto 18 classorinterfacetype goto 21 - referencetype goto 181 - boundedclassidentifierlist goto 182 + referencetype goto 183 + boundedclassidentifierlist goto 184 -state 136 - boundedClassParameters : boundedClassParameters ',' . boundedClassParameter (104) +state 137 + boundedClassParameters : boundedClassParameters ',' . boundedClassParameter (105) IDENTIFIER shift 78 . error boundedMethodParameter goto 79 - boundedClassParameter goto 183 + boundedClassParameter goto 185 -state 137 +state 138 classidentifier : IDENTIFIER '<' boundedClassParameters '>' . (31) . reduce 31 -state 138 - block : '{' . '}' (93) - block : '{' . blockstatements '}' (94) +state 139 + block : '{' . '}' (94) + block : '{' . blockstatements '}' (95) BOOLEAN shift 2 CHAR shift 3 - FOR shift 184 - IF shift 185 + FOR shift 186 + IF shift 187 INT shift 6 - RETURN shift 186 - THIS shift 187 - WHILE shift 188 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 197 - INCREMENT shift 198 - DECREMENT shift 199 - ';' shift 200 - '{' shift 138 - '}' shift 201 - '(' shift 202 + RETURN shift 188 + THIS shift 189 + WHILE shift 190 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 199 + INCREMENT shift 200 + DECREMENT shift 201 + ';' shift 202 + '{' shift 139 + '}' shift 203 + '(' shift 204 . error - variabledeclarators goto 203 - variabledeclarator goto 204 + variabledeclarators goto 205 + variabledeclarator goto 206 variabledeclaratorid goto 101 - simplename goto 205 + simplename goto 207 qualifiedname goto 35 - name goto 206 + name goto 208 classorinterfacetype goto 21 integraltype goto 22 numerictype goto 23 primitivetype goto 24 referencetype goto 25 - type goto 207 - block goto 208 - blockstatements goto 209 - localvariabledeclarationstatement goto 210 - localvariabledeclaration goto 211 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 216 - lambdaexpression goto 217 - statementexpression goto 218 - preincrementexpression goto 219 - predecrementexpression goto 220 - postincrementexpression goto 221 - postdecrementexpression goto 222 - expressionstatement goto 223 - statementwithouttrailingsubstatement goto 224 - blockstatement goto 225 - statement goto 226 - whilestatement goto 227 - forstatement goto 228 - ifthenstatement goto 229 - ifthenelsestatement goto 230 - emptystatement goto 231 - returnstatement goto 232 - assignment goto 233 - lefthandside goto 234 - methodinvocation goto 235 + type goto 209 + block goto 210 + blockstatements goto 211 + localvariabledeclarationstatement goto 212 + localvariabledeclaration goto 213 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 218 + lambdaexpression goto 219 + statementexpression goto 220 + preincrementexpression goto 221 + predecrementexpression goto 222 + postincrementexpression goto 223 + postdecrementexpression goto 224 + expressionstatement goto 225 + statementwithouttrailingsubstatement goto 226 + blockstatement goto 227 + statement goto 228 + whilestatement goto 229 + forstatement goto 230 + ifthenstatement goto 231 + ifthenelsestatement goto 232 + emptystatement goto 233 + returnstatement goto 234 + assignment goto 235 + lefthandside goto 236 + methodinvocation goto 237 -state 139 +state 140 staticinitializer : STATIC block . (80) . reduce 80 -state 140 - methoddeclarator : IDENTIFIER . '(' ')' (147) - methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (148) +state 141 + methoddeclarator : IDENTIFIER . '(' ')' (148) + methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (149) - '(' shift 142 + '(' shift 143 . error -state 141 - methodheader : VOID methoddeclarator . (119) - methodheader : VOID methoddeclarator . throws (121) - - THROWS shift 147 - ';' reduce 119 - '{' reduce 119 - - throws goto 236 - - state 142 - methoddeclarator : IDENTIFIER '(' . ')' (147) - methoddeclarator : IDENTIFIER '(' . formalparameterlist ')' (148) + methodheader : VOID methoddeclarator . (120) + methodheader : VOID methoddeclarator . throws (122) + + THROWS shift 148 + ';' reduce 120 + '{' reduce 120 + + throws goto 238 + + +state 143 + methoddeclarator : IDENTIFIER '(' . ')' (148) + methoddeclarator : IDENTIFIER '(' . formalparameterlist ')' (149) BOOLEAN shift 2 CHAR shift 3 INT shift 6 - IDENTIFIER shift 197 - ')' shift 237 + IDENTIFIER shift 199 + ')' shift 239 . error - variabledeclaratorid goto 238 + variabledeclaratorid goto 240 simplename goto 18 classorinterfacetype goto 21 integraltype goto 22 numerictype goto 23 primitivetype goto 24 referencetype goto 25 - type goto 239 - formalparameter goto 240 - formalparameterlist goto 241 - - -state 143 - boundedMethodParameters : boundedMethodParameter . (109) - - . reduce 109 + type goto 241 + formalparameter goto 242 + formalparameterlist goto 243 state 144 - boundedMethodParameters : boundedMethodParameters . ',' boundedMethodParameter (110) - methodheader : '<' boundedMethodParameters . '>' type methoddeclarator (111) - methodheader : '<' boundedMethodParameters . '>' type methoddeclarator throws (116) - methodheader : '<' boundedMethodParameters . '>' VOID methoddeclarator (123) - methodheader : '<' boundedMethodParameters . '>' VOID methoddeclarator throws (125) - methodheader : '<' boundedMethodParameters . '>' methoddeclarator (128) + boundedMethodParameters : boundedMethodParameter . (110) - ',' shift 242 - '>' shift 243 - . error + . reduce 110 state 145 - methodbody : block . (138) + fielddeclaration : '<' boundedMethodParameters . '>' type fielddeclarator (89) + boundedMethodParameters : boundedMethodParameters . ',' boundedMethodParameter (111) + methodheader : '<' boundedMethodParameters . '>' type methoddeclarator (112) + methodheader : '<' boundedMethodParameters . '>' type methoddeclarator throws (117) + methodheader : '<' boundedMethodParameters . '>' VOID methoddeclarator (124) + methodheader : '<' boundedMethodParameters . '>' VOID methoddeclarator throws (126) + methodheader : '<' boundedMethodParameters . '>' methoddeclarator (129) - . reduce 138 + ',' shift 244 + '>' shift 245 + . error state 146 - methoddeclaration : methodheader methodbody . (92) + methodbody : block . (139) - . reduce 92 + . reduce 139 state 147 - throws : THROWS . classtypelist (101) + methoddeclaration : methodheader methodbody . (93) + + . reduce 93 + + +state 148 + throws : THROWS . classtypelist (102) IDENTIFIER shift 14 . error simplename goto 18 - classtype goto 244 + classtype goto 246 classorinterfacetype goto 83 - classtypelist goto 245 - - -state 148 - methodheader : methoddeclarator throws . (130) - - . reduce 130 + classtypelist goto 247 state 149 + methodheader : methoddeclarator throws . (131) + + . reduce 131 + + +state 150 classbody : '{' classbodydeclarations '}' . (46) . reduce 46 -state 150 +state 151 classbodydeclarations : classbodydeclarations classbodydeclaration . (57) . reduce 57 -state 151 - variabledeclarators : variabledeclarators ',' . variabledeclarator (137) +state 152 + variabledeclarators : variabledeclarators ',' . variabledeclarator (138) - IDENTIFIER shift 246 + IDENTIFIER shift 248 . error - variabledeclarator goto 247 + variabledeclarator goto 249 variabledeclaratorid goto 101 -state 152 - fielddeclaration : variabledeclarators ';' . (89) - - . reduce 89 - - state 153 + fielddeclaration : variabledeclarators ';' . (90) + + . reduce 90 + + +state 154 fielddeclaration : fielddeclarator ';' . (87) . reduce 87 -state 154 +state 155 fielddeclarator : variabledeclarator '=' . expression (86) - NEW shift 248 - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 + NEW shift 250 + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 . error simplename goto 34 qualifiedname goto 35 - name goto 206 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 259 - equalityexpression goto 260 - andexpression goto 261 - exclusiveorexpression goto 262 - inclusiveorexpression goto 263 - conditionalandexpression goto 264 - conditionalorexpression goto 265 - conditionalexpression goto 266 - assignmentexpression goto 267 - lambdaexpression goto 217 - expression goto 268 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - classinstancecreationexpression goto 273 - assignment goto 274 - lefthandside goto 234 - methodinvocation goto 275 - castexpression goto 276 + name goto 208 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 261 + equalityexpression goto 262 + andexpression goto 263 + exclusiveorexpression goto 264 + inclusiveorexpression goto 265 + conditionalandexpression goto 266 + conditionalorexpression goto 267 + conditionalexpression goto 268 + assignmentexpression goto 269 + lambdaexpression goto 219 + expression goto 270 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + classinstancecreationexpression goto 275 + assignment goto 276 + lefthandside goto 236 + methodinvocation goto 277 + castexpression goto 278 -state 155 - constructordeclarator : simplename '(' . ')' (95) - constructordeclarator : simplename '(' . formalparameterlist ')' (96) +state 156 + constructordeclarator : simplename '(' . ')' (96) + constructordeclarator : simplename '(' . formalparameterlist ')' (97) BOOLEAN shift 2 CHAR shift 3 INT shift 6 - IDENTIFIER shift 197 - ')' shift 277 + IDENTIFIER shift 199 + ')' shift 279 . error - variabledeclaratorid goto 238 + variabledeclaratorid goto 240 simplename goto 18 classorinterfacetype goto 21 integraltype goto 22 numerictype goto 23 primitivetype goto 24 referencetype goto 25 - type goto 239 - formalparameter goto 240 - formalparameterlist goto 278 - - -state 156 - methodheader : type methoddeclarator . (112) - methodheader : type methoddeclarator . throws (115) - - THROWS shift 147 - ';' reduce 112 - '{' reduce 112 - - throws goto 279 + type goto 241 + formalparameter goto 242 + formalparameterlist goto 280 state 157 - fielddeclaration : type variabledeclarators . ';' (90) - variabledeclarators : variabledeclarators . ',' variabledeclarator (137) + methodheader : type methoddeclarator . (113) + methodheader : type methoddeclarator . throws (116) - ',' shift 151 - ';' shift 280 - . error + THROWS shift 148 + ';' reduce 113 + '{' reduce 113 + + throws goto 281 state 158 + fielddeclaration : type variabledeclarators . ';' (91) + variabledeclarators : variabledeclarators . ',' variabledeclarator (138) + + ',' shift 152 + ';' shift 282 + . error + + +state 159 fielddeclaration : type fielddeclarator . (88) . reduce 88 -state 159 +state 160 fielddeclarator : type variabledeclarator . '=' expression (85) fielddeclarator : variabledeclarator . '=' expression (86) - variabledeclarators : variabledeclarator . (136) + variabledeclarators : variabledeclarator . (137) - '=' shift 281 - ',' reduce 136 - ';' reduce 136 - - -state 160 - fielddeclarator : type . variabledeclarator '=' expression (85) - - IDENTIFIER shift 246 - . error - - variabledeclarator goto 282 - variabledeclaratorid goto 101 + '=' shift 283 + ',' reduce 137 + ';' reduce 137 state 161 - methodheader : modifiers VOID . methoddeclarator (120) - methodheader : modifiers VOID . methoddeclarator throws (122) + fielddeclarator : type . variabledeclarator '=' expression (85) - IDENTIFIER shift 140 + IDENTIFIER shift 248 . error - methoddeclarator goto 283 + variabledeclarator goto 284 + variabledeclaratorid goto 101 state 162 - methodheader : modifiers '<' . boundedMethodParameters '>' type methoddeclarator (114) - methodheader : modifiers '<' . boundedMethodParameters '>' type methoddeclarator throws (118) - methodheader : modifiers '<' . boundedMethodParameters '>' VOID methoddeclarator (124) - methodheader : modifiers '<' . boundedMethodParameters '>' VOID methoddeclarator throws (126) + methodheader : modifiers VOID . methoddeclarator (121) + methodheader : modifiers VOID . methoddeclarator throws (123) + + IDENTIFIER shift 141 + . error + + methoddeclarator goto 285 + + +state 163 + methodheader : modifiers '<' . boundedMethodParameters '>' type methoddeclarator (115) + methodheader : modifiers '<' . boundedMethodParameters '>' type methoddeclarator throws (119) + methodheader : modifiers '<' . boundedMethodParameters '>' VOID methoddeclarator (125) + methodheader : modifiers '<' . boundedMethodParameters '>' VOID methoddeclarator throws (127) IDENTIFIER shift 78 . error - boundedMethodParameter goto 143 - boundedMethodParameters goto 284 - - -state 163 - methodheader : modifiers methoddeclarator . (129) - methodheader : modifiers methoddeclarator . throws (131) - - THROWS shift 147 - ';' reduce 129 - '{' reduce 129 - - throws goto 285 + boundedMethodParameter goto 144 + boundedMethodParameters goto 286 state 164 - fielddeclaration : modifiers type . variabledeclarators ';' (91) - methodheader : modifiers type . methoddeclarator (113) - methodheader : modifiers type . methoddeclarator throws (117) + methodheader : modifiers methoddeclarator . (130) + methodheader : modifiers methoddeclarator . throws (132) - IDENTIFIER shift 286 - . error + THROWS shift 148 + ';' reduce 130 + '{' reduce 130 - methoddeclarator goto 287 - variabledeclarators goto 288 - variabledeclarator goto 204 - variabledeclaratorid goto 101 + throws goto 287 state 165 - constructordeclaration : modifiers constructordeclarator . constructorbody (82) + fielddeclaration : modifiers type . variabledeclarators ';' (92) + methodheader : modifiers type . methoddeclarator (114) + methodheader : modifiers type . methoddeclarator throws (118) - '{' shift 166 + IDENTIFIER shift 288 . error - constructorbody goto 289 + methoddeclarator goto 289 + variabledeclarators goto 290 + variabledeclarator goto 206 + variabledeclaratorid goto 101 state 166 - constructorbody : '{' . '}' (97) - constructorbody : '{' . explicitconstructorinvocation '}' (98) - constructorbody : '{' . blockstatements '}' (99) - constructorbody : '{' . explicitconstructorinvocation blockstatements '}' (100) + constructordeclaration : modifiers constructordeclarator . constructorbody (82) + + '{' shift 167 + . error + + constructorbody goto 291 + + +state 167 + constructorbody : '{' . '}' (98) + constructorbody : '{' . explicitconstructorinvocation '}' (99) + constructorbody : '{' . blockstatements '}' (100) + constructorbody : '{' . explicitconstructorinvocation blockstatements '}' (101) BOOLEAN shift 2 CHAR shift 3 - FOR shift 184 - IF shift 185 + FOR shift 186 + IF shift 187 INT shift 6 - RETURN shift 186 - THIS shift 290 - WHILE shift 188 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 197 - INCREMENT shift 198 - DECREMENT shift 199 - ';' shift 200 - '{' shift 138 - '}' shift 291 - '(' shift 202 + RETURN shift 188 + THIS shift 292 + WHILE shift 190 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 199 + INCREMENT shift 200 + DECREMENT shift 201 + ';' shift 202 + '{' shift 139 + '}' shift 293 + '(' shift 204 . error - variabledeclarators goto 203 - variabledeclarator goto 204 + variabledeclarators goto 205 + variabledeclarator goto 206 variabledeclaratorid goto 101 - simplename goto 205 + simplename goto 207 qualifiedname goto 35 - name goto 206 + name goto 208 classorinterfacetype goto 21 integraltype goto 22 numerictype goto 23 primitivetype goto 24 referencetype goto 25 - type goto 207 - block goto 208 - blockstatements goto 292 - localvariabledeclarationstatement goto 210 - localvariabledeclaration goto 211 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 216 - lambdaexpression goto 217 - statementexpression goto 218 - preincrementexpression goto 219 - predecrementexpression goto 220 - postincrementexpression goto 221 - postdecrementexpression goto 222 - expressionstatement goto 223 - statementwithouttrailingsubstatement goto 224 - blockstatement goto 225 - statement goto 226 - whilestatement goto 227 - forstatement goto 228 - ifthenstatement goto 229 - ifthenelsestatement goto 230 - emptystatement goto 231 - returnstatement goto 232 - assignment goto 233 - lefthandside goto 234 - methodinvocation goto 235 - explicitconstructorinvocation goto 293 + type goto 209 + block goto 210 + blockstatements goto 294 + localvariabledeclarationstatement goto 212 + localvariabledeclaration goto 213 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 218 + lambdaexpression goto 219 + statementexpression goto 220 + preincrementexpression goto 221 + predecrementexpression goto 222 + postincrementexpression goto 223 + postdecrementexpression goto 224 + expressionstatement goto 225 + statementwithouttrailingsubstatement goto 226 + blockstatement goto 227 + statement goto 228 + whilestatement goto 229 + forstatement goto 230 + ifthenstatement goto 231 + ifthenelsestatement goto 232 + emptystatement goto 233 + returnstatement goto 234 + assignment goto 235 + lefthandside goto 236 + methodinvocation goto 237 + explicitconstructorinvocation goto 295 -state 167 +state 168 constructordeclaration : constructordeclarator constructorbody . (81) . reduce 81 -state 168 +state 169 classdeclaration : CLASS classidentifier super interfaces classbody . (26) . reduce 26 -state 169 +state 170 interfaces : interfaces ',' interfacetype . (51) . reduce 51 -state 170 +state 171 interfaceidentifier : IDENTIFIER '<' boundedClassParameters '>' . (29) . reduce 29 -state 171 +state 172 + boundedMethodParameters : boundedMethodParameters . ',' boundedMethodParameter (111) + methodheader : '<' boundedMethodParameters . '>' type methoddeclarator (112) + methodheader : '<' boundedMethodParameters . '>' type methoddeclarator throws (117) + methodheader : '<' boundedMethodParameters . '>' VOID methoddeclarator (124) + methodheader : '<' boundedMethodParameters . '>' VOID methoddeclarator throws (126) + methodheader : '<' boundedMethodParameters . '>' methoddeclarator (129) + + ',' shift 244 + '>' shift 296 + . error + + +state 173 interfacebody : '{' interfacememberdeclarations '}' . (53) . reduce 53 -state 172 +state 174 interfacememberdeclarations : interfacememberdeclarations interfacememberdeclaration . (66) . reduce 66 -state 173 +state 175 abstractmethoddeclaration : methodheader ';' . (84) . reduce 84 -state 174 +state 176 constantdeclaration : modifiers type . IDENTIFIER '=' expression ';' (83) - methodheader : modifiers type . methoddeclarator (113) - methodheader : modifiers type . methoddeclarator throws (117) + methodheader : modifiers type . methoddeclarator (114) + methodheader : modifiers type . methoddeclarator throws (118) - IDENTIFIER shift 294 + IDENTIFIER shift 297 . error - methoddeclarator goto 287 + methoddeclarator goto 289 -state 175 +state 177 extendsinterfaces : extendsinterfaces ',' interfacetype . (55) . reduce 55 -state 176 +state 178 typelist : typelist ',' type . (73) . reduce 73 -state 177 +state 179 classdeclaration : modifiers CLASS classidentifier super classbody . (23) . reduce 23 -state 178 +state 180 classdeclaration : modifiers CLASS classidentifier super interfaces . classbody (27) interfaces : interfaces . ',' interfacetype (51) @@ -2562,187 +2595,187 @@ state 178 '{' shift 57 . error - classbody goto 295 + classbody goto 298 -state 179 +state 181 classdeclaration : modifiers CLASS classidentifier interfaces classbody . (25) . reduce 25 -state 180 +state 182 interfacedeclaration : modifiers INTERFACE interfaceidentifier extendsinterfaces interfacebody . (35) . reduce 35 -state 181 - boundedclassidentifierlist : referencetype . (107) - - . reduce 107 - - -state 182 - boundedMethodParameter : IDENTIFIER EXTENDS boundedclassidentifierlist . (106) - boundedclassidentifierlist : boundedclassidentifierlist . '&' referencetype (108) - - '&' shift 296 - ',' reduce 106 - '>' reduce 106 - - state 183 - boundedClassParameters : boundedClassParameters ',' boundedClassParameter . (104) + boundedclassidentifierlist : referencetype . (108) - . reduce 104 + . reduce 108 state 184 - forstatement : FOR . '(' expression ';' expression ';' expression ')' statement (181) - forstatement : FOR . '(' expression ';' expression ';' ')' statement (182) - forstatement : FOR . '(' expression ';' ';' expression ')' statement (183) - forstatement : FOR . '(' ';' expression ';' expression ')' statement (184) - forstatement : FOR . '(' expression ';' ';' ')' statement (185) - forstatement : FOR . '(' ';' expression ';' ')' statement (186) - forstatement : FOR . '(' ';' ';' expression ')' statement (187) - forstatement : FOR . '(' ';' ';' ')' statement (188) + boundedMethodParameter : IDENTIFIER EXTENDS boundedclassidentifierlist . (107) + boundedclassidentifierlist : boundedclassidentifierlist . '&' referencetype (109) - '(' shift 297 - . error + '&' shift 299 + ',' reduce 107 + '>' reduce 107 state 185 - ifthenstatement : IF . '(' expression ')' statement (178) - ifthenelsestatement : IF . '(' expression ')' statementnoshortif ELSE statement (179) + boundedClassParameters : boundedClassParameters ',' boundedClassParameter . (105) - '(' shift 298 - . error + . reduce 105 state 186 - returnstatement : RETURN . ';' (193) - returnstatement : RETURN . expression ';' (194) + forstatement : FOR . '(' expression ';' expression ';' expression ')' statement (182) + forstatement : FOR . '(' expression ';' expression ';' ')' statement (183) + forstatement : FOR . '(' expression ';' ';' expression ')' statement (184) + forstatement : FOR . '(' ';' expression ';' expression ')' statement (185) + forstatement : FOR . '(' expression ';' ';' ')' statement (186) + forstatement : FOR . '(' ';' expression ';' ')' statement (187) + forstatement : FOR . '(' ';' ';' expression ')' statement (188) + forstatement : FOR . '(' ';' ';' ')' statement (189) - NEW shift 248 - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - ';' shift 299 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 + '(' shift 300 . error - simplename goto 34 - qualifiedname goto 35 - name goto 206 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 259 - equalityexpression goto 260 - andexpression goto 261 - exclusiveorexpression goto 262 - inclusiveorexpression goto 263 - conditionalandexpression goto 264 - conditionalorexpression goto 265 - conditionalexpression goto 266 - assignmentexpression goto 267 - lambdaexpression goto 217 - expression goto 300 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - classinstancecreationexpression goto 273 - assignment goto 274 - lefthandside goto 234 - methodinvocation goto 275 - castexpression goto 276 - state 187 - primarynonewarray : THIS . (249) - - . reduce 249 - - -state 188 - whilestatement : WHILE . '(' expression ')' statement (180) + ifthenstatement : IF . '(' expression ')' statement (179) + ifthenelsestatement : IF . '(' expression ')' statementnoshortif ELSE statement (180) '(' shift 301 . error -state 189 - literal : INTLITERAL . (257) +state 188 + returnstatement : RETURN . ';' (194) + returnstatement : RETURN . expression ';' (195) - . reduce 257 + NEW shift 250 + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + ';' shift 302 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 261 + equalityexpression goto 262 + andexpression goto 263 + exclusiveorexpression goto 264 + inclusiveorexpression goto 265 + conditionalandexpression goto 266 + conditionalorexpression goto 267 + conditionalexpression goto 268 + assignmentexpression goto 269 + lambdaexpression goto 219 + expression goto 303 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + classinstancecreationexpression goto 275 + assignment goto 276 + lefthandside goto 236 + methodinvocation goto 277 + castexpression goto 278 + + +state 189 + primarynonewarray : THIS . (250) + + . reduce 250 state 190 - literal : LONGLITERAL . (261) + whilestatement : WHILE . '(' expression ')' statement (181) - . reduce 261 + '(' shift 304 + . error state 191 - literal : DOUBLELITERAL . (263) + literal : INTLITERAL . (258) - . reduce 263 + . reduce 258 state 192 - literal : FLOATLITERAL . (262) + literal : LONGLITERAL . (262) . reduce 262 state 193 - literal : BOOLLITERAL . (258) - - . reduce 258 - - -state 194 - literal : JNULL . (264) + literal : DOUBLELITERAL . (264) . reduce 264 +state 194 + literal : FLOATLITERAL . (263) + + . reduce 263 + + state 195 - literal : CHARLITERAL . (259) + literal : BOOLLITERAL . (259) . reduce 259 state 196 - literal : STRINGLITERAL . (260) + literal : JNULL . (265) + + . reduce 265 + + +state 197 + literal : CHARLITERAL . (260) . reduce 260 -state 197 +state 198 + literal : STRINGLITERAL . (261) + + . reduce 261 + + +state 199 simplename : IDENTIFIER . (19) - variabledeclaratorid : IDENTIFIER . (160) + variabledeclaratorid : IDENTIFIER . (161) IDENTIFIER reduce 19 INCREMENT reduce 19 @@ -2752,146 +2785,146 @@ state 197 TIMESEQUAL reduce 19 DIVIDEEQUAL reduce 19 MODULOEQUAL reduce 19 - ',' reduce 160 - ';' reduce 160 + ',' reduce 161 + ';' reduce 161 '.' reduce 19 '<' reduce 19 '=' reduce 19 '(' reduce 19 - ')' reduce 160 + ')' reduce 161 '[' reduce 19 -state 198 - preincrementexpression : INCREMENT . unaryexpression (224) - - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 302 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 303 - lambdaexpression goto 217 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - methodinvocation goto 275 - castexpression goto 276 - - -state 199 - predecrementexpression : DECREMENT . unaryexpression (225) - - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 302 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 304 - lambdaexpression goto 217 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - methodinvocation goto 275 - castexpression goto 276 - - state 200 - emptystatement : ';' . (191) + preincrementexpression : INCREMENT . unaryexpression (225) - . reduce 191 + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 305 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 306 + lambdaexpression goto 219 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + methodinvocation goto 277 + castexpression goto 278 state 201 - block : '{' '}' . (93) + predecrementexpression : DECREMENT . unaryexpression (226) - . reduce 93 + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 305 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 307 + lambdaexpression goto 219 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + methodinvocation goto 277 + castexpression goto 278 state 202 - lambdaexpressionparameter : '(' . ')' (214) - lambdaexpressionparameter : '(' . formalparameterlist ')' (215) + emptystatement : ';' . (192) + + . reduce 192 + + +state 203 + block : '{' '}' . (94) + + . reduce 94 + + +state 204 + lambdaexpressionparameter : '(' . ')' (215) + lambdaexpressionparameter : '(' . formalparameterlist ')' (216) BOOLEAN shift 2 CHAR shift 3 INT shift 6 - IDENTIFIER shift 197 - ')' shift 305 + IDENTIFIER shift 199 + ')' shift 308 . error - variabledeclaratorid goto 238 + variabledeclaratorid goto 240 simplename goto 18 classorinterfacetype goto 21 integraltype goto 22 numerictype goto 23 primitivetype goto 24 referencetype goto 25 - type goto 239 - formalparameter goto 240 - formalparameterlist goto 306 - - -state 203 - variabledeclarators : variabledeclarators . ',' variabledeclarator (137) - localvariabledeclaration : variabledeclarators . (173) - - ',' shift 151 - ';' reduce 173 - - -state 204 - variabledeclarators : variabledeclarator . (136) - - . reduce 136 + type goto 241 + formalparameter goto 242 + formalparameterlist goto 309 state 205 + variabledeclarators : variabledeclarators . ',' variabledeclarator (138) + localvariabledeclaration : variabledeclarators . (174) + + ',' shift 152 + ';' reduce 174 + + +state 206 + variabledeclarators : variabledeclarator . (137) + + . reduce 137 + + +state 207 name : simplename . (13) classorinterfacetype : simplename . parameter (71) parameter : . (74) @@ -2913,16 +2946,186 @@ state 205 parameter goto 42 -206: shift/reduce conflict (shift 62, reduce 242) on '.' -state 206 +208: shift/reduce conflict (shift 62, reduce 243) on '.' +state 208 qualifiedname : name . '.' IDENTIFIER (16) - lefthandside : name . (217) - methodinvocation : name . '(' ')' (228) - methodinvocation : name . '(' argumentlist ')' (229) - postfixexpression : name . (242) + lefthandside : name . (218) + methodinvocation : name . '(' ')' (229) + methodinvocation : name . '(' argumentlist ')' (230) + postfixexpression : name . (243) '.' shift 62 - '(' shift 307 + '(' shift 310 + ABSTRACT reduce 243 + BOOLEAN reduce 243 + CHAR reduce 243 + FINAL reduce 243 + INSTANCEOF reduce 243 + INT reduce 243 + PRIVATE reduce 243 + PROTECTED reduce 243 + PUBLIC reduce 243 + STATIC reduce 243 + VOID reduce 243 + IDENTIFIER reduce 243 + EQUAL reduce 243 + LESSEQUAL reduce 243 + GREATEREQUAL reduce 243 + NOTEQUAL reduce 243 + LOGICALOR reduce 243 + LOGICALAND reduce 243 + INCREMENT reduce 243 + DECREMENT reduce 243 + PLUSEQUAL reduce 218 + MINUSEQUAL reduce 218 + TIMESEQUAL reduce 218 + DIVIDEEQUAL reduce 218 + MODULOEQUAL reduce 218 + ',' reduce 243 + ';' reduce 243 + '*' reduce 243 + '<' reduce 243 + '>' reduce 243 + '}' reduce 243 + '=' reduce 218 + ')' reduce 243 + '&' reduce 243 + '+' reduce 243 + '-' reduce 243 + '|' reduce 243 + '^' reduce 243 + '/' reduce 243 + '%' reduce 243 + + +state 209 + localvariabledeclaration : type . variabledeclarators (173) + + IDENTIFIER shift 248 + . error + + variabledeclarators goto 311 + variabledeclarator goto 206 + variabledeclaratorid goto 101 + + +state 210 + statementwithouttrailingsubstatement : block . (175) + + . reduce 175 + + +state 211 + block : '{' blockstatements . '}' (95) + blockstatements : blockstatements . blockstatement (141) + + BOOLEAN shift 2 + CHAR shift 3 + FOR shift 186 + IF shift 187 + INT shift 6 + RETURN shift 188 + THIS shift 189 + WHILE shift 190 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 199 + INCREMENT shift 200 + DECREMENT shift 201 + ';' shift 202 + '{' shift 139 + '}' shift 312 + '(' shift 204 + . error + + variabledeclarators goto 205 + variabledeclarator goto 206 + variabledeclaratorid goto 101 + simplename goto 207 + qualifiedname goto 35 + name goto 208 + classorinterfacetype goto 21 + integraltype goto 22 + numerictype goto 23 + primitivetype goto 24 + referencetype goto 25 + type goto 209 + block goto 210 + localvariabledeclarationstatement goto 212 + localvariabledeclaration goto 213 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 218 + lambdaexpression goto 219 + statementexpression goto 220 + preincrementexpression goto 221 + predecrementexpression goto 222 + postincrementexpression goto 223 + postdecrementexpression goto 224 + expressionstatement goto 225 + statementwithouttrailingsubstatement goto 226 + blockstatement goto 313 + statement goto 228 + whilestatement goto 229 + forstatement goto 230 + ifthenstatement goto 231 + ifthenelsestatement goto 232 + emptystatement goto 233 + returnstatement goto 234 + assignment goto 235 + lefthandside goto 236 + methodinvocation goto 237 + + +state 212 + blockstatement : localvariabledeclarationstatement . (154) + + . reduce 154 + + +state 213 + localvariabledeclarationstatement : localvariabledeclaration . ';' (163) + + ';' shift 314 + . error + + +state 214 + lambdaexpression : lambdaexpressionparameter . lambdaassignmentoperator lambdabody (217) + + LAMBDAASSIGNMENT shift 315 + . error + + lambdaassignmentoperator goto 316 + + +state 215 + primarynonewarray : literal . (249) + + . reduce 249 + + +state 216 + primary : primarynonewarray . (246) + + . reduce 246 + + +217: shift/reduce conflict (shift 317, reduce 242) on '.' +state 217 + methodinvocation : primary . '.' IDENTIFIER '(' ')' (231) + methodinvocation : primary . '.' IDENTIFIER '(' argumentlist ')' (232) + postfixexpression : primary . (242) + + '.' shift 317 ABSTRACT reduce 242 BOOLEAN reduce 242 CHAR reduce 242 @@ -2943,18 +3146,12 @@ state 206 LOGICALAND reduce 242 INCREMENT reduce 242 DECREMENT reduce 242 - PLUSEQUAL reduce 217 - MINUSEQUAL reduce 217 - TIMESEQUAL reduce 217 - DIVIDEEQUAL reduce 217 - MODULOEQUAL reduce 217 ',' reduce 242 ';' reduce 242 '*' reduce 242 '<' reduce 242 '>' reduce 242 '}' reduce 242 - '=' reduce 217 ')' reduce 242 '&' reduce 242 '+' reduce 242 @@ -2965,3439 +3162,476 @@ state 206 '%' reduce 242 -state 207 - localvariabledeclaration : type . variabledeclarators (172) - - IDENTIFIER shift 246 - . error - - variabledeclarators goto 308 - variabledeclarator goto 204 - variabledeclaratorid goto 101 - - -state 208 - statementwithouttrailingsubstatement : block . (174) - - . reduce 174 - - -state 209 - block : '{' blockstatements . '}' (94) - blockstatements : blockstatements . blockstatement (140) - - BOOLEAN shift 2 - CHAR shift 3 - FOR shift 184 - IF shift 185 - INT shift 6 - RETURN shift 186 - THIS shift 187 - WHILE shift 188 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 197 - INCREMENT shift 198 - DECREMENT shift 199 - ';' shift 200 - '{' shift 138 - '}' shift 309 - '(' shift 202 - . error - - variabledeclarators goto 203 - variabledeclarator goto 204 - variabledeclaratorid goto 101 - simplename goto 205 - qualifiedname goto 35 - name goto 206 - classorinterfacetype goto 21 - integraltype goto 22 - numerictype goto 23 - primitivetype goto 24 - referencetype goto 25 - type goto 207 - block goto 208 - localvariabledeclarationstatement goto 210 - localvariabledeclaration goto 211 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 216 - lambdaexpression goto 217 - statementexpression goto 218 - preincrementexpression goto 219 - predecrementexpression goto 220 - postincrementexpression goto 221 - postdecrementexpression goto 222 - expressionstatement goto 223 - statementwithouttrailingsubstatement goto 224 - blockstatement goto 310 - statement goto 226 - whilestatement goto 227 - forstatement goto 228 - ifthenstatement goto 229 - ifthenelsestatement goto 230 - emptystatement goto 231 - returnstatement goto 232 - assignment goto 233 - lefthandside goto 234 - methodinvocation goto 235 - - -state 210 - blockstatement : localvariabledeclarationstatement . (153) - - . reduce 153 - - -state 211 - localvariabledeclarationstatement : localvariabledeclaration . ';' (162) - - ';' shift 311 - . error - - -state 212 - lambdaexpression : lambdaexpressionparameter . lambdaassignmentoperator lambdabody (216) - - LAMBDAASSIGNMENT shift 312 - . error - - lambdaassignmentoperator goto 313 - - -state 213 - primarynonewarray : literal . (248) - - . reduce 248 - - -state 214 - primary : primarynonewarray . (245) - - . reduce 245 - - -215: shift/reduce conflict (shift 314, reduce 241) on '.' -state 215 - methodinvocation : primary . '.' IDENTIFIER '(' ')' (230) - methodinvocation : primary . '.' IDENTIFIER '(' argumentlist ')' (231) - postfixexpression : primary . (241) - - '.' shift 314 - ABSTRACT reduce 241 - BOOLEAN reduce 241 - CHAR reduce 241 - FINAL reduce 241 - INSTANCEOF reduce 241 - INT reduce 241 - PRIVATE reduce 241 - PROTECTED reduce 241 - PUBLIC reduce 241 - STATIC reduce 241 - VOID reduce 241 - IDENTIFIER reduce 241 - EQUAL reduce 241 - LESSEQUAL reduce 241 - GREATEREQUAL reduce 241 - NOTEQUAL reduce 241 - LOGICALOR reduce 241 - LOGICALAND reduce 241 - INCREMENT reduce 241 - DECREMENT reduce 241 - ',' reduce 241 - ';' reduce 241 - '*' reduce 241 - '<' reduce 241 - '>' reduce 241 - '}' reduce 241 - ')' reduce 241 - '&' reduce 241 - '+' reduce 241 - '-' reduce 241 - '|' reduce 241 - '^' reduce 241 - '/' reduce 241 - '%' reduce 241 - - -state 216 - postincrementexpression : postfixexpression . INCREMENT (226) - postdecrementexpression : postfixexpression . DECREMENT (227) - - INCREMENT shift 315 - DECREMENT shift 316 - . error - - -state 217 - primarynonewarray : lambdaexpression . (251) - - . reduce 251 - - state 218 - expressionstatement : statementexpression . ';' (192) + postincrementexpression : postfixexpression . INCREMENT (227) + postdecrementexpression : postfixexpression . DECREMENT (228) - ';' shift 317 + INCREMENT shift 318 + DECREMENT shift 319 . error state 219 - statementexpression : preincrementexpression . (202) + primarynonewarray : lambdaexpression . (252) - . reduce 202 + . reduce 252 state 220 - statementexpression : predecrementexpression . (203) + expressionstatement : statementexpression . ';' (193) + + ';' shift 320 + . error + + +state 221 + statementexpression : preincrementexpression . (203) . reduce 203 -state 221 - statementexpression : postincrementexpression . (204) - postfixexpression : postincrementexpression . (243) - - INCREMENT reduce 243 - DECREMENT reduce 243 - ';' reduce 204 - - state 222 - statementexpression : postdecrementexpression . (205) - postfixexpression : postdecrementexpression . (244) + statementexpression : predecrementexpression . (204) + + . reduce 204 + + +state 223 + statementexpression : postincrementexpression . (205) + postfixexpression : postincrementexpression . (244) INCREMENT reduce 244 DECREMENT reduce 244 ';' reduce 205 -state 223 - statementwithouttrailingsubstatement : expressionstatement . (176) - - . reduce 176 - - state 224 - statement : statementwithouttrailingsubstatement . (163) + statementexpression : postdecrementexpression . (206) + postfixexpression : postdecrementexpression . (245) - . reduce 163 + INCREMENT reduce 245 + DECREMENT reduce 245 + ';' reduce 206 state 225 - blockstatements : blockstatement . (139) - - . reduce 139 - - -state 226 - blockstatement : statement . (154) - - . reduce 154 - - -state 227 - statement : whilestatement . (166) - - . reduce 166 - - -state 228 - statement : forstatement . (167) - - . reduce 167 - - -state 229 - statement : ifthenstatement . (164) - - . reduce 164 - - -state 230 - statement : ifthenelsestatement . (165) - - . reduce 165 - - -state 231 - statementwithouttrailingsubstatement : emptystatement . (175) - - . reduce 175 - - -state 232 - statementwithouttrailingsubstatement : returnstatement . (177) + statementwithouttrailingsubstatement : expressionstatement . (177) . reduce 177 -state 233 - statementexpression : assignment . (201) +state 226 + statement : statementwithouttrailingsubstatement . (164) - . reduce 201 + . reduce 164 -state 234 - assignment : lefthandside . assignmentoperator assignmentexpression (199) - assignment : lefthandside . assignmentoperator classinstancecreationexpression (200) - - PLUSEQUAL shift 318 - MINUSEQUAL shift 319 - TIMESEQUAL shift 320 - DIVIDEEQUAL shift 321 - MODULOEQUAL shift 322 - '=' shift 323 - . error - - assignmentoperator goto 324 - - -state 235 - statementexpression : methodinvocation . (206) - primarynonewarray : methodinvocation . (250) - - INCREMENT reduce 250 - DECREMENT reduce 250 - ';' reduce 206 - '.' reduce 250 - - -state 236 - methodheader : VOID methoddeclarator throws . (121) - - . reduce 121 - - -state 237 - methoddeclarator : IDENTIFIER '(' ')' . (147) - - . reduce 147 - - -state 238 - formalparameter : variabledeclaratorid . (156) - - . reduce 156 - - -state 239 - formalparameter : type . variabledeclaratorid (155) - - IDENTIFIER shift 246 - . error - - variabledeclaratorid goto 325 - - -state 240 - formalparameterlist : formalparameter . (141) - - . reduce 141 - - -state 241 - formalparameterlist : formalparameterlist . ',' formalparameter (142) - methoddeclarator : IDENTIFIER '(' formalparameterlist . ')' (148) - - ',' shift 326 - ')' shift 327 - . error - - -state 242 - boundedMethodParameters : boundedMethodParameters ',' . boundedMethodParameter (110) - - IDENTIFIER shift 78 - . error - - boundedMethodParameter goto 328 - - -state 243 - methodheader : '<' boundedMethodParameters '>' . type methoddeclarator (111) - methodheader : '<' boundedMethodParameters '>' . type methoddeclarator throws (116) - methodheader : '<' boundedMethodParameters '>' . VOID methoddeclarator (123) - methodheader : '<' boundedMethodParameters '>' . VOID methoddeclarator throws (125) - methodheader : '<' boundedMethodParameters '>' . methoddeclarator (128) - - BOOLEAN shift 2 - CHAR shift 3 - INT shift 6 - VOID shift 329 - IDENTIFIER shift 117 - . error - - methoddeclarator goto 330 - simplename goto 18 - classorinterfacetype goto 21 - integraltype goto 22 - numerictype goto 23 - primitivetype goto 24 - referencetype goto 25 - type goto 331 - - -state 244 - classtypelist : classtype . (145) - - . reduce 145 - - -state 245 - throws : THROWS classtypelist . (101) - classtypelist : classtypelist . ',' classtype (146) - - ',' shift 332 - ';' reduce 101 - '{' reduce 101 - - -state 246 - variabledeclaratorid : IDENTIFIER . (160) - - . reduce 160 - - -state 247 - variabledeclarators : variabledeclarators ',' variabledeclarator . (137) - - . reduce 137 - - -state 248 - classinstancecreationexpression : NEW . classtype '(' ')' (232) - classinstancecreationexpression : NEW . classtype '(' argumentlist ')' (233) - - IDENTIFIER shift 14 - . error - - simplename goto 18 - classtype goto 333 - classorinterfacetype goto 83 - - -state 249 - lambdaexpressionparameter : '(' . ')' (214) - lambdaexpressionparameter : '(' . formalparameterlist ')' (215) - castexpression : '(' . primitivetype ')' unaryexpression (265) - - BOOLEAN shift 2 - CHAR shift 3 - INT shift 6 - IDENTIFIER shift 197 - ')' shift 305 - . error - - variabledeclaratorid goto 238 - simplename goto 18 - classorinterfacetype goto 21 - integraltype goto 22 - numerictype goto 23 - primitivetype goto 334 - referencetype goto 25 - type goto 239 - formalparameter goto 240 - formalparameterlist goto 306 - - -state 250 - unaryexpression : '+' . unaryexpression (238) - - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 302 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 335 - lambdaexpression goto 217 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - methodinvocation goto 275 - castexpression goto 276 - - -state 251 - unaryexpression : '-' . unaryexpression (239) - - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 302 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 336 - lambdaexpression goto 217 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - methodinvocation goto 275 - castexpression goto 276 - - -state 252 - unaryexpressionnotplusminus : '!' . unaryexpression (253) - - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 302 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 337 - lambdaexpression goto 217 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - methodinvocation goto 275 - castexpression goto 276 - - -253: shift/reduce conflict (shift 315, reduce 252) on INCREMENT -253: shift/reduce conflict (shift 316, reduce 252) on DECREMENT -state 253 - postincrementexpression : postfixexpression . INCREMENT (226) - postdecrementexpression : postfixexpression . DECREMENT (227) - unaryexpressionnotplusminus : postfixexpression . (252) - - INCREMENT shift 315 - DECREMENT shift 316 - ABSTRACT reduce 252 - BOOLEAN reduce 252 - CHAR reduce 252 - FINAL reduce 252 - INSTANCEOF reduce 252 - INT reduce 252 - PRIVATE reduce 252 - PROTECTED reduce 252 - PUBLIC reduce 252 - STATIC reduce 252 - VOID reduce 252 - IDENTIFIER reduce 252 - EQUAL reduce 252 - LESSEQUAL reduce 252 - GREATEREQUAL reduce 252 - NOTEQUAL reduce 252 - LOGICALOR reduce 252 - LOGICALAND reduce 252 - ',' reduce 252 - ';' reduce 252 - '.' reduce 252 - '*' reduce 252 - '<' reduce 252 - '>' reduce 252 - '}' reduce 252 - ')' reduce 252 - '&' reduce 252 - '+' reduce 252 - '-' reduce 252 - '|' reduce 252 - '^' reduce 252 - '/' reduce 252 - '%' reduce 252 - - -state 254 - unaryexpression : unaryexpressionnotplusminus . (240) - - . reduce 240 - - -state 255 - multiplicativeexpression : unaryexpression . (281) - - . reduce 281 - - -256: shift/reduce conflict (shift 338, reduce 278) on '*' -256: shift/reduce conflict (shift 339, reduce 278) on '/' -256: shift/reduce conflict (shift 340, reduce 278) on '%' -state 256 - additiveexpression : multiplicativeexpression . (278) - multiplicativeexpression : multiplicativeexpression . '*' unaryexpression (282) - multiplicativeexpression : multiplicativeexpression . '/' unaryexpression (283) - multiplicativeexpression : multiplicativeexpression . '%' unaryexpression (284) - - '*' shift 338 - '/' shift 339 - '%' shift 340 - ABSTRACT reduce 278 - BOOLEAN reduce 278 - CHAR reduce 278 - FINAL reduce 278 - INSTANCEOF reduce 278 - INT reduce 278 - PRIVATE reduce 278 - PROTECTED reduce 278 - PUBLIC reduce 278 - STATIC reduce 278 - VOID reduce 278 - IDENTIFIER reduce 278 - EQUAL reduce 278 - LESSEQUAL reduce 278 - GREATEREQUAL reduce 278 - NOTEQUAL reduce 278 - LOGICALOR reduce 278 - LOGICALAND reduce 278 - INCREMENT reduce 278 - DECREMENT reduce 278 - ',' reduce 278 - ';' reduce 278 - '.' reduce 278 - '<' reduce 278 - '>' reduce 278 - '}' reduce 278 - ')' reduce 278 - '&' reduce 278 - '+' reduce 278 - '-' reduce 278 - '|' reduce 278 - '^' reduce 278 - - -257: shift/reduce conflict (shift 341, reduce 277) on '+' -257: shift/reduce conflict (shift 342, reduce 277) on '-' -state 257 - shiftexpression : additiveexpression . (277) - additiveexpression : additiveexpression . '+' multiplicativeexpression (279) - additiveexpression : additiveexpression . '-' multiplicativeexpression (280) - - '+' shift 341 - '-' shift 342 - ABSTRACT reduce 277 - BOOLEAN reduce 277 - CHAR reduce 277 - FINAL reduce 277 - INSTANCEOF reduce 277 - INT reduce 277 - PRIVATE reduce 277 - PROTECTED reduce 277 - PUBLIC reduce 277 - STATIC reduce 277 - VOID reduce 277 - IDENTIFIER reduce 277 - EQUAL reduce 277 - LESSEQUAL reduce 277 - GREATEREQUAL reduce 277 - NOTEQUAL reduce 277 - LOGICALOR reduce 277 - LOGICALAND reduce 277 - INCREMENT reduce 277 - DECREMENT reduce 277 - ',' reduce 277 - ';' reduce 277 - '.' reduce 277 - '*' reduce 277 - '<' reduce 277 - '>' reduce 277 - '}' reduce 277 - ')' reduce 277 - '&' reduce 277 - '|' reduce 277 - '^' reduce 277 - '/' reduce 277 - '%' reduce 277 - - -state 258 - relationalexpression : shiftexpression . (271) - - . reduce 271 - - -259: shift/reduce conflict (shift 343, reduce 268) on INSTANCEOF -259: shift/reduce conflict (shift 344, reduce 268) on LESSEQUAL -259: shift/reduce conflict (shift 345, reduce 268) on GREATEREQUAL -259: shift/reduce conflict (shift 346, reduce 268) on '<' -259: shift/reduce conflict (shift 347, reduce 268) on '>' -state 259 - equalityexpression : relationalexpression . (268) - relationalexpression : relationalexpression . '<' shiftexpression (272) - relationalexpression : relationalexpression . '>' shiftexpression (273) - relationalexpression : relationalexpression . LESSEQUAL shiftexpression (274) - relationalexpression : relationalexpression . GREATEREQUAL shiftexpression (275) - relationalexpression : relationalexpression . INSTANCEOF referencetype (276) - - INSTANCEOF shift 343 - LESSEQUAL shift 344 - GREATEREQUAL shift 345 - '<' shift 346 - '>' shift 347 - ABSTRACT reduce 268 - BOOLEAN reduce 268 - CHAR reduce 268 - FINAL reduce 268 - INT reduce 268 - PRIVATE reduce 268 - PROTECTED reduce 268 - PUBLIC reduce 268 - STATIC reduce 268 - VOID reduce 268 - IDENTIFIER reduce 268 - EQUAL reduce 268 - NOTEQUAL reduce 268 - LOGICALOR reduce 268 - LOGICALAND reduce 268 - INCREMENT reduce 268 - DECREMENT reduce 268 - ',' reduce 268 - ';' reduce 268 - '.' reduce 268 - '*' reduce 268 - '}' reduce 268 - ')' reduce 268 - '&' reduce 268 - '+' reduce 268 - '-' reduce 268 - '|' reduce 268 - '^' reduce 268 - '/' reduce 268 - '%' reduce 268 - - -260: shift/reduce conflict (shift 348, reduce 266) on EQUAL -260: shift/reduce conflict (shift 349, reduce 266) on NOTEQUAL -state 260 - andexpression : equalityexpression . (266) - equalityexpression : equalityexpression . EQUAL relationalexpression (269) - equalityexpression : equalityexpression . NOTEQUAL relationalexpression (270) - - EQUAL shift 348 - NOTEQUAL shift 349 - ABSTRACT reduce 266 - BOOLEAN reduce 266 - CHAR reduce 266 - FINAL reduce 266 - INSTANCEOF reduce 266 - INT reduce 266 - PRIVATE reduce 266 - PROTECTED reduce 266 - PUBLIC reduce 266 - STATIC reduce 266 - VOID reduce 266 - IDENTIFIER reduce 266 - LESSEQUAL reduce 266 - GREATEREQUAL reduce 266 - LOGICALOR reduce 266 - LOGICALAND reduce 266 - INCREMENT reduce 266 - DECREMENT reduce 266 - ',' reduce 266 - ';' reduce 266 - '.' reduce 266 - '*' reduce 266 - '<' reduce 266 - '>' reduce 266 - '}' reduce 266 - ')' reduce 266 - '&' reduce 266 - '+' reduce 266 - '-' reduce 266 - '|' reduce 266 - '^' reduce 266 - '/' reduce 266 - '%' reduce 266 - - -261: shift/reduce conflict (shift 350, reduce 255) on '&' -state 261 - exclusiveorexpression : andexpression . (255) - andexpression : andexpression . '&' equalityexpression (267) - - '&' shift 350 - ABSTRACT reduce 255 - BOOLEAN reduce 255 - CHAR reduce 255 - FINAL reduce 255 - INSTANCEOF reduce 255 - INT reduce 255 - PRIVATE reduce 255 - PROTECTED reduce 255 - PUBLIC reduce 255 - STATIC reduce 255 - VOID reduce 255 - IDENTIFIER reduce 255 - EQUAL reduce 255 - LESSEQUAL reduce 255 - GREATEREQUAL reduce 255 - NOTEQUAL reduce 255 - LOGICALOR reduce 255 - LOGICALAND reduce 255 - INCREMENT reduce 255 - DECREMENT reduce 255 - ',' reduce 255 - ';' reduce 255 - '.' reduce 255 - '*' reduce 255 - '<' reduce 255 - '>' reduce 255 - '}' reduce 255 - ')' reduce 255 - '+' reduce 255 - '-' reduce 255 - '|' reduce 255 - '^' reduce 255 - '/' reduce 255 - '%' reduce 255 - - -262: shift/reduce conflict (shift 351, reduce 246) on '^' -state 262 - inclusiveorexpression : exclusiveorexpression . (246) - exclusiveorexpression : exclusiveorexpression . '^' andexpression (256) - - '^' shift 351 - ABSTRACT reduce 246 - BOOLEAN reduce 246 - CHAR reduce 246 - FINAL reduce 246 - INSTANCEOF reduce 246 - INT reduce 246 - PRIVATE reduce 246 - PROTECTED reduce 246 - PUBLIC reduce 246 - STATIC reduce 246 - VOID reduce 246 - IDENTIFIER reduce 246 - EQUAL reduce 246 - LESSEQUAL reduce 246 - GREATEREQUAL reduce 246 - NOTEQUAL reduce 246 - LOGICALOR reduce 246 - LOGICALAND reduce 246 - INCREMENT reduce 246 - DECREMENT reduce 246 - ',' reduce 246 - ';' reduce 246 - '.' reduce 246 - '*' reduce 246 - '<' reduce 246 - '>' reduce 246 - '}' reduce 246 - ')' reduce 246 - '&' reduce 246 - '+' reduce 246 - '-' reduce 246 - '|' reduce 246 - '/' reduce 246 - '%' reduce 246 - - -263: shift/reduce conflict (shift 352, reduce 234) on '|' -state 263 - conditionalandexpression : inclusiveorexpression . (234) - inclusiveorexpression : inclusiveorexpression . '|' exclusiveorexpression (247) - - '|' shift 352 - ABSTRACT reduce 234 - BOOLEAN reduce 234 - CHAR reduce 234 - FINAL reduce 234 - INSTANCEOF reduce 234 - INT reduce 234 - PRIVATE reduce 234 - PROTECTED reduce 234 - PUBLIC reduce 234 - STATIC reduce 234 - VOID reduce 234 - IDENTIFIER reduce 234 - EQUAL reduce 234 - LESSEQUAL reduce 234 - GREATEREQUAL reduce 234 - NOTEQUAL reduce 234 - LOGICALOR reduce 234 - LOGICALAND reduce 234 - INCREMENT reduce 234 - DECREMENT reduce 234 - ',' reduce 234 - ';' reduce 234 - '.' reduce 234 - '*' reduce 234 - '<' reduce 234 - '>' reduce 234 - '}' reduce 234 - ')' reduce 234 - '&' reduce 234 - '+' reduce 234 - '-' reduce 234 - '^' reduce 234 - '/' reduce 234 - '%' reduce 234 - - -264: shift/reduce conflict (shift 353, reduce 209) on LOGICALAND -state 264 - conditionalorexpression : conditionalandexpression . (209) - conditionalandexpression : conditionalandexpression . LOGICALAND inclusiveorexpression (235) - - LOGICALAND shift 353 - ABSTRACT reduce 209 - BOOLEAN reduce 209 - CHAR reduce 209 - FINAL reduce 209 - INSTANCEOF reduce 209 - INT reduce 209 - PRIVATE reduce 209 - PROTECTED reduce 209 - PUBLIC reduce 209 - STATIC reduce 209 - VOID reduce 209 - IDENTIFIER reduce 209 - EQUAL reduce 209 - LESSEQUAL reduce 209 - GREATEREQUAL reduce 209 - NOTEQUAL reduce 209 - LOGICALOR reduce 209 - INCREMENT reduce 209 - DECREMENT reduce 209 - ',' reduce 209 - ';' reduce 209 - '.' reduce 209 - '*' reduce 209 - '<' reduce 209 - '>' reduce 209 - '}' reduce 209 - ')' reduce 209 - '&' reduce 209 - '+' reduce 209 - '-' reduce 209 - '|' reduce 209 - '^' reduce 209 - '/' reduce 209 - '%' reduce 209 - - -265: shift/reduce conflict (shift 354, reduce 198) on LOGICALOR -state 265 - conditionalexpression : conditionalorexpression . (198) - conditionalorexpression : conditionalorexpression . LOGICALOR conditionalandexpression (210) - - LOGICALOR shift 354 - ABSTRACT reduce 198 - BOOLEAN reduce 198 - CHAR reduce 198 - FINAL reduce 198 - INSTANCEOF reduce 198 - INT reduce 198 - PRIVATE reduce 198 - PROTECTED reduce 198 - PUBLIC reduce 198 - STATIC reduce 198 - VOID reduce 198 - IDENTIFIER reduce 198 - EQUAL reduce 198 - LESSEQUAL reduce 198 - GREATEREQUAL reduce 198 - NOTEQUAL reduce 198 - LOGICALAND reduce 198 - INCREMENT reduce 198 - DECREMENT reduce 198 - ',' reduce 198 - ';' reduce 198 - '.' reduce 198 - '*' reduce 198 - '<' reduce 198 - '>' reduce 198 - '}' reduce 198 - ')' reduce 198 - '&' reduce 198 - '+' reduce 198 - '-' reduce 198 - '|' reduce 198 - '^' reduce 198 - '/' reduce 198 - '%' reduce 198 - - -state 266 - assignmentexpression : conditionalexpression . (189) - - . reduce 189 - - -state 267 - expression : assignmentexpression . (168) - - . reduce 168 - - -state 268 - fielddeclarator : variabledeclarator '=' expression . (86) - - . reduce 86 - - -state 269 - unaryexpression : preincrementexpression . (236) - - . reduce 236 - - -state 270 - unaryexpression : predecrementexpression . (237) - - . reduce 237 - - -state 271 - postfixexpression : postincrementexpression . (243) - - . reduce 243 - - -state 272 - postfixexpression : postdecrementexpression . (244) - - . reduce 244 - - -state 273 - expression : classinstancecreationexpression . (169) - - . reduce 169 - - -state 274 - assignmentexpression : assignment . (190) - - . reduce 190 - - -state 275 - primarynonewarray : methodinvocation . (250) - - . reduce 250 - - -state 276 - unaryexpressionnotplusminus : castexpression . (254) - - . reduce 254 - - -state 277 - constructordeclarator : simplename '(' ')' . (95) - - . reduce 95 - - -state 278 - constructordeclarator : simplename '(' formalparameterlist . ')' (96) - formalparameterlist : formalparameterlist . ',' formalparameter (142) - - ',' shift 326 - ')' shift 355 - . error - - -state 279 - methodheader : type methoddeclarator throws . (115) - - . reduce 115 - - -state 280 - fielddeclaration : type variabledeclarators ';' . (90) - - . reduce 90 - - -state 281 - fielddeclarator : type variabledeclarator '=' . expression (85) - fielddeclarator : variabledeclarator '=' . expression (86) - - NEW shift 248 - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 206 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 259 - equalityexpression goto 260 - andexpression goto 261 - exclusiveorexpression goto 262 - inclusiveorexpression goto 263 - conditionalandexpression goto 264 - conditionalorexpression goto 265 - conditionalexpression goto 266 - assignmentexpression goto 267 - lambdaexpression goto 217 - expression goto 356 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - classinstancecreationexpression goto 273 - assignment goto 274 - lefthandside goto 234 - methodinvocation goto 275 - castexpression goto 276 - - -state 282 - fielddeclarator : type variabledeclarator . '=' expression (85) - - '=' shift 357 - . error - - -state 283 - methodheader : modifiers VOID methoddeclarator . (120) - methodheader : modifiers VOID methoddeclarator . throws (122) - - THROWS shift 147 - ';' reduce 120 - '{' reduce 120 - - throws goto 358 - - -state 284 - boundedMethodParameters : boundedMethodParameters . ',' boundedMethodParameter (110) - methodheader : modifiers '<' boundedMethodParameters . '>' type methoddeclarator (114) - methodheader : modifiers '<' boundedMethodParameters . '>' type methoddeclarator throws (118) - methodheader : modifiers '<' boundedMethodParameters . '>' VOID methoddeclarator (124) - methodheader : modifiers '<' boundedMethodParameters . '>' VOID methoddeclarator throws (126) - - ',' shift 242 - '>' shift 359 - . error - - -state 285 - methodheader : modifiers methoddeclarator throws . (131) - - . reduce 131 - - -state 286 - methoddeclarator : IDENTIFIER . '(' ')' (147) - methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (148) - variabledeclaratorid : IDENTIFIER . (160) - - '(' shift 142 - ',' reduce 160 - ';' reduce 160 - - -state 287 - methodheader : modifiers type methoddeclarator . (113) - methodheader : modifiers type methoddeclarator . throws (117) - - THROWS shift 147 - ';' reduce 113 - '{' reduce 113 - - throws goto 360 - - -state 288 - fielddeclaration : modifiers type variabledeclarators . ';' (91) - variabledeclarators : variabledeclarators . ',' variabledeclarator (137) - - ',' shift 151 - ';' shift 361 - . error - - -state 289 - constructordeclaration : modifiers constructordeclarator constructorbody . (82) - - . reduce 82 - - -state 290 - explicitconstructorinvocation : THIS . '(' ')' ';' (143) - explicitconstructorinvocation : THIS . '(' argumentlist ')' ';' (144) - primarynonewarray : THIS . (249) - - '(' shift 362 - INCREMENT reduce 249 - DECREMENT reduce 249 - '.' reduce 249 - - -state 291 - constructorbody : '{' '}' . (97) - - . reduce 97 - - -state 292 - constructorbody : '{' blockstatements . '}' (99) - blockstatements : blockstatements . blockstatement (140) - - BOOLEAN shift 2 - CHAR shift 3 - FOR shift 184 - IF shift 185 - INT shift 6 - RETURN shift 186 - THIS shift 187 - WHILE shift 188 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 197 - INCREMENT shift 198 - DECREMENT shift 199 - ';' shift 200 - '{' shift 138 - '}' shift 363 - '(' shift 202 - . error - - variabledeclarators goto 203 - variabledeclarator goto 204 - variabledeclaratorid goto 101 - simplename goto 205 - qualifiedname goto 35 - name goto 206 - classorinterfacetype goto 21 - integraltype goto 22 - numerictype goto 23 - primitivetype goto 24 - referencetype goto 25 - type goto 207 - block goto 208 - localvariabledeclarationstatement goto 210 - localvariabledeclaration goto 211 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 216 - lambdaexpression goto 217 - statementexpression goto 218 - preincrementexpression goto 219 - predecrementexpression goto 220 - postincrementexpression goto 221 - postdecrementexpression goto 222 - expressionstatement goto 223 - statementwithouttrailingsubstatement goto 224 - blockstatement goto 310 - statement goto 226 - whilestatement goto 227 - forstatement goto 228 - ifthenstatement goto 229 - ifthenelsestatement goto 230 - emptystatement goto 231 - returnstatement goto 232 - assignment goto 233 - lefthandside goto 234 - methodinvocation goto 235 - - -state 293 - constructorbody : '{' explicitconstructorinvocation . '}' (98) - constructorbody : '{' explicitconstructorinvocation . blockstatements '}' (100) - - BOOLEAN shift 2 - CHAR shift 3 - FOR shift 184 - IF shift 185 - INT shift 6 - RETURN shift 186 - THIS shift 187 - WHILE shift 188 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 197 - INCREMENT shift 198 - DECREMENT shift 199 - ';' shift 200 - '{' shift 138 - '}' shift 364 - '(' shift 202 - . error - - variabledeclarators goto 203 - variabledeclarator goto 204 - variabledeclaratorid goto 101 - simplename goto 205 - qualifiedname goto 35 - name goto 206 - classorinterfacetype goto 21 - integraltype goto 22 - numerictype goto 23 - primitivetype goto 24 - referencetype goto 25 - type goto 207 - block goto 208 - blockstatements goto 365 - localvariabledeclarationstatement goto 210 - localvariabledeclaration goto 211 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 216 - lambdaexpression goto 217 - statementexpression goto 218 - preincrementexpression goto 219 - predecrementexpression goto 220 - postincrementexpression goto 221 - postdecrementexpression goto 222 - expressionstatement goto 223 - statementwithouttrailingsubstatement goto 224 - blockstatement goto 225 - statement goto 226 - whilestatement goto 227 - forstatement goto 228 - ifthenstatement goto 229 - ifthenelsestatement goto 230 - emptystatement goto 231 - returnstatement goto 232 - assignment goto 233 - lefthandside goto 234 - methodinvocation goto 235 - - -state 294 - constantdeclaration : modifiers type IDENTIFIER . '=' expression ';' (83) - methoddeclarator : IDENTIFIER . '(' ')' (147) - methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (148) - - '=' shift 366 - '(' shift 142 - . error - - -state 295 - classdeclaration : modifiers CLASS classidentifier super interfaces classbody . (27) - - . reduce 27 - - -state 296 - boundedclassidentifierlist : boundedclassidentifierlist '&' . referencetype (108) - - IDENTIFIER shift 14 - . error - - simplename goto 18 - classorinterfacetype goto 21 - referencetype goto 367 - - -state 297 - forstatement : FOR '(' . expression ';' expression ';' expression ')' statement (181) - forstatement : FOR '(' . expression ';' expression ';' ')' statement (182) - forstatement : FOR '(' . expression ';' ';' expression ')' statement (183) - forstatement : FOR '(' . ';' expression ';' expression ')' statement (184) - forstatement : FOR '(' . expression ';' ';' ')' statement (185) - forstatement : FOR '(' . ';' expression ';' ')' statement (186) - forstatement : FOR '(' . ';' ';' expression ')' statement (187) - forstatement : FOR '(' . ';' ';' ')' statement (188) - - NEW shift 248 - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - ';' shift 368 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 206 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 259 - equalityexpression goto 260 - andexpression goto 261 - exclusiveorexpression goto 262 - inclusiveorexpression goto 263 - conditionalandexpression goto 264 - conditionalorexpression goto 265 - conditionalexpression goto 266 - assignmentexpression goto 267 - lambdaexpression goto 217 - expression goto 369 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - classinstancecreationexpression goto 273 - assignment goto 274 - lefthandside goto 234 - methodinvocation goto 275 - castexpression goto 276 - - -state 298 - ifthenstatement : IF '(' . expression ')' statement (178) - ifthenelsestatement : IF '(' . expression ')' statementnoshortif ELSE statement (179) - - NEW shift 248 - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 206 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 259 - equalityexpression goto 260 - andexpression goto 261 - exclusiveorexpression goto 262 - inclusiveorexpression goto 263 - conditionalandexpression goto 264 - conditionalorexpression goto 265 - conditionalexpression goto 266 - assignmentexpression goto 267 - lambdaexpression goto 217 - expression goto 370 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - classinstancecreationexpression goto 273 - assignment goto 274 - lefthandside goto 234 - methodinvocation goto 275 - castexpression goto 276 - - -state 299 - returnstatement : RETURN ';' . (193) - - . reduce 193 - - -state 300 - returnstatement : RETURN expression . ';' (194) - - ';' shift 371 - . error - - -state 301 - whilestatement : WHILE '(' . expression ')' statement (180) - - NEW shift 248 - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 206 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 259 - equalityexpression goto 260 - andexpression goto 261 - exclusiveorexpression goto 262 - inclusiveorexpression goto 263 - conditionalandexpression goto 264 - conditionalorexpression goto 265 - conditionalexpression goto 266 - assignmentexpression goto 267 - lambdaexpression goto 217 - expression goto 372 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - classinstancecreationexpression goto 273 - assignment goto 274 - lefthandside goto 234 - methodinvocation goto 275 - castexpression goto 276 - - -302: shift/reduce conflict (shift 62, reduce 242) on '.' -state 302 - qualifiedname : name . '.' IDENTIFIER (16) - methodinvocation : name . '(' ')' (228) - methodinvocation : name . '(' argumentlist ')' (229) - postfixexpression : name . (242) - - '.' shift 62 - '(' shift 307 - ABSTRACT reduce 242 - BOOLEAN reduce 242 - CHAR reduce 242 - FINAL reduce 242 - INSTANCEOF reduce 242 - INT reduce 242 - PRIVATE reduce 242 - PROTECTED reduce 242 - PUBLIC reduce 242 - STATIC reduce 242 - VOID reduce 242 - IDENTIFIER reduce 242 - EQUAL reduce 242 - LESSEQUAL reduce 242 - GREATEREQUAL reduce 242 - NOTEQUAL reduce 242 - LOGICALOR reduce 242 - LOGICALAND reduce 242 - INCREMENT reduce 242 - DECREMENT reduce 242 - ',' reduce 242 - ';' reduce 242 - '*' reduce 242 - '<' reduce 242 - '>' reduce 242 - '}' reduce 242 - ')' reduce 242 - '&' reduce 242 - '+' reduce 242 - '-' reduce 242 - '|' reduce 242 - '^' reduce 242 - '/' reduce 242 - '%' reduce 242 - - -state 303 - preincrementexpression : INCREMENT unaryexpression . (224) - - . reduce 224 - - -state 304 - predecrementexpression : DECREMENT unaryexpression . (225) - - . reduce 225 - - -state 305 - lambdaexpressionparameter : '(' ')' . (214) - - . reduce 214 - - -state 306 - formalparameterlist : formalparameterlist . ',' formalparameter (142) - lambdaexpressionparameter : '(' formalparameterlist . ')' (215) - - ',' shift 326 - ')' shift 373 - . error - - -state 307 - methodinvocation : name '(' . ')' (228) - methodinvocation : name '(' . argumentlist ')' (229) - - NEW shift 248 - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - ')' shift 374 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 206 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 259 - equalityexpression goto 260 - andexpression goto 261 - exclusiveorexpression goto 262 - inclusiveorexpression goto 263 - conditionalandexpression goto 264 - conditionalorexpression goto 265 - conditionalexpression goto 266 - assignmentexpression goto 267 - lambdaexpression goto 217 - expression goto 375 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - classinstancecreationexpression goto 273 - assignment goto 274 - lefthandside goto 234 - argumentlist goto 376 - methodinvocation goto 275 - castexpression goto 276 - - -state 308 - variabledeclarators : variabledeclarators . ',' variabledeclarator (137) - localvariabledeclaration : type variabledeclarators . (172) - - ',' shift 151 - ';' reduce 172 - - -state 309 - block : '{' blockstatements '}' . (94) - - . reduce 94 - - -state 310 - blockstatements : blockstatements blockstatement . (140) +state 227 + blockstatements : blockstatement . (140) . reduce 140 -state 311 - localvariabledeclarationstatement : localvariabledeclaration ';' . (162) - - . reduce 162 - - -state 312 - lambdaassignmentoperator : LAMBDAASSIGNMENT . (211) - - . reduce 211 - - -state 313 - lambdaexpression : lambdaexpressionparameter lambdaassignmentoperator . lambdabody (216) - - NEW shift 248 - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '{' shift 138 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 206 - block goto 377 - lambdabody goto 378 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 259 - equalityexpression goto 260 - andexpression goto 261 - exclusiveorexpression goto 262 - inclusiveorexpression goto 263 - conditionalandexpression goto 264 - conditionalorexpression goto 265 - conditionalexpression goto 266 - assignmentexpression goto 267 - lambdaexpression goto 217 - expression goto 379 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - classinstancecreationexpression goto 273 - assignment goto 274 - lefthandside goto 234 - methodinvocation goto 275 - castexpression goto 276 - - -state 314 - methodinvocation : primary '.' . IDENTIFIER '(' ')' (230) - methodinvocation : primary '.' . IDENTIFIER '(' argumentlist ')' (231) - - IDENTIFIER shift 380 - . error - - -state 315 - postincrementexpression : postfixexpression INCREMENT . (226) - - . reduce 226 - - -state 316 - postdecrementexpression : postfixexpression DECREMENT . (227) - - . reduce 227 - - -state 317 - expressionstatement : statementexpression ';' . (192) - - . reduce 192 - - -state 318 - assignmentoperator : PLUSEQUAL . (222) - - . reduce 222 - - -state 319 - assignmentoperator : MINUSEQUAL . (223) - - . reduce 223 - - -state 320 - assignmentoperator : TIMESEQUAL . (219) - - . reduce 219 - - -state 321 - assignmentoperator : DIVIDEEQUAL . (220) - - . reduce 220 - - -state 322 - assignmentoperator : MODULOEQUAL . (221) - - . reduce 221 - - -state 323 - assignmentoperator : '=' . (218) - - . reduce 218 - - -state 324 - assignment : lefthandside assignmentoperator . assignmentexpression (199) - assignment : lefthandside assignmentoperator . classinstancecreationexpression (200) - - NEW shift 248 - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 206 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 259 - equalityexpression goto 260 - andexpression goto 261 - exclusiveorexpression goto 262 - inclusiveorexpression goto 263 - conditionalandexpression goto 264 - conditionalorexpression goto 265 - conditionalexpression goto 266 - assignmentexpression goto 381 - lambdaexpression goto 217 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - classinstancecreationexpression goto 382 - assignment goto 274 - lefthandside goto 234 - methodinvocation goto 275 - castexpression goto 276 - - -state 325 - formalparameter : type variabledeclaratorid . (155) +state 228 + blockstatement : statement . (155) . reduce 155 -state 326 - formalparameterlist : formalparameterlist ',' . formalparameter (142) +state 229 + statement : whilestatement . (167) - BOOLEAN shift 2 - CHAR shift 3 - INT shift 6 - IDENTIFIER shift 197 + . reduce 167 + + +state 230 + statement : forstatement . (168) + + . reduce 168 + + +state 231 + statement : ifthenstatement . (165) + + . reduce 165 + + +state 232 + statement : ifthenelsestatement . (166) + + . reduce 166 + + +state 233 + statementwithouttrailingsubstatement : emptystatement . (176) + + . reduce 176 + + +state 234 + statementwithouttrailingsubstatement : returnstatement . (178) + + . reduce 178 + + +state 235 + statementexpression : assignment . (202) + + . reduce 202 + + +state 236 + assignment : lefthandside . assignmentoperator assignmentexpression (200) + assignment : lefthandside . assignmentoperator classinstancecreationexpression (201) + + PLUSEQUAL shift 321 + MINUSEQUAL shift 322 + TIMESEQUAL shift 323 + DIVIDEEQUAL shift 324 + MODULOEQUAL shift 325 + '=' shift 326 . error - variabledeclaratorid goto 238 - simplename goto 18 - classorinterfacetype goto 21 - integraltype goto 22 - numerictype goto 23 - primitivetype goto 24 - referencetype goto 25 - type goto 239 - formalparameter goto 383 + assignmentoperator goto 327 -state 327 - methoddeclarator : IDENTIFIER '(' formalparameterlist ')' . (148) +state 237 + statementexpression : methodinvocation . (207) + primarynonewarray : methodinvocation . (251) - . reduce 148 + INCREMENT reduce 251 + DECREMENT reduce 251 + ';' reduce 207 + '.' reduce 251 -state 328 - boundedMethodParameters : boundedMethodParameters ',' boundedMethodParameter . (110) - - . reduce 110 - - -state 329 - methodheader : '<' boundedMethodParameters '>' VOID . methoddeclarator (123) - methodheader : '<' boundedMethodParameters '>' VOID . methoddeclarator throws (125) - - IDENTIFIER shift 140 - . error - - methoddeclarator goto 384 - - -state 330 - methodheader : '<' boundedMethodParameters '>' methoddeclarator . (128) - - . reduce 128 - - -state 331 - methodheader : '<' boundedMethodParameters '>' type . methoddeclarator (111) - methodheader : '<' boundedMethodParameters '>' type . methoddeclarator throws (116) - - IDENTIFIER shift 140 - . error - - methoddeclarator goto 385 - - -state 332 - classtypelist : classtypelist ',' . classtype (146) - - IDENTIFIER shift 14 - . error - - simplename goto 18 - classtype goto 386 - classorinterfacetype goto 83 - - -state 333 - classinstancecreationexpression : NEW classtype . '(' ')' (232) - classinstancecreationexpression : NEW classtype . '(' argumentlist ')' (233) - - '(' shift 387 - . error - - -state 334 - type : primitivetype . (132) - type : primitivetype . '[' ']' (133) - castexpression : '(' primitivetype . ')' unaryexpression (265) - - ')' shift 388 - '[' shift 45 - IDENTIFIER reduce 132 - - -state 335 - unaryexpression : '+' unaryexpression . (238) - - . reduce 238 - - -state 336 - unaryexpression : '-' unaryexpression . (239) - - . reduce 239 - - -state 337 - unaryexpressionnotplusminus : '!' unaryexpression . (253) - - . reduce 253 - - -state 338 - multiplicativeexpression : multiplicativeexpression '*' . unaryexpression (282) - - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 302 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 389 - lambdaexpression goto 217 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - methodinvocation goto 275 - castexpression goto 276 - - -state 339 - multiplicativeexpression : multiplicativeexpression '/' . unaryexpression (283) - - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 302 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 390 - lambdaexpression goto 217 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - methodinvocation goto 275 - castexpression goto 276 - - -state 340 - multiplicativeexpression : multiplicativeexpression '%' . unaryexpression (284) - - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 302 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 391 - lambdaexpression goto 217 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - methodinvocation goto 275 - castexpression goto 276 - - -state 341 - additiveexpression : additiveexpression '+' . multiplicativeexpression (279) - - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 302 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 392 - lambdaexpression goto 217 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - methodinvocation goto 275 - castexpression goto 276 - - -state 342 - additiveexpression : additiveexpression '-' . multiplicativeexpression (280) - - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 302 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 393 - lambdaexpression goto 217 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - methodinvocation goto 275 - castexpression goto 276 - - -state 343 - relationalexpression : relationalexpression INSTANCEOF . referencetype (276) - - IDENTIFIER shift 14 - . error - - simplename goto 18 - classorinterfacetype goto 21 - referencetype goto 394 - - -state 344 - relationalexpression : relationalexpression LESSEQUAL . shiftexpression (274) - - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 302 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 395 - lambdaexpression goto 217 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - methodinvocation goto 275 - castexpression goto 276 - - -state 345 - relationalexpression : relationalexpression GREATEREQUAL . shiftexpression (275) - - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 302 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 396 - lambdaexpression goto 217 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - methodinvocation goto 275 - castexpression goto 276 - - -state 346 - relationalexpression : relationalexpression '<' . shiftexpression (272) - - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 302 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 397 - lambdaexpression goto 217 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - methodinvocation goto 275 - castexpression goto 276 - - -state 347 - relationalexpression : relationalexpression '>' . shiftexpression (273) - - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 302 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 398 - lambdaexpression goto 217 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - methodinvocation goto 275 - castexpression goto 276 - - -state 348 - equalityexpression : equalityexpression EQUAL . relationalexpression (269) - - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 302 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 399 - lambdaexpression goto 217 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - methodinvocation goto 275 - castexpression goto 276 - - -state 349 - equalityexpression : equalityexpression NOTEQUAL . relationalexpression (270) - - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 302 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 400 - lambdaexpression goto 217 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - methodinvocation goto 275 - castexpression goto 276 - - -state 350 - andexpression : andexpression '&' . equalityexpression (267) - - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 302 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 259 - equalityexpression goto 401 - lambdaexpression goto 217 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - methodinvocation goto 275 - castexpression goto 276 - - -state 351 - exclusiveorexpression : exclusiveorexpression '^' . andexpression (256) - - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 302 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 259 - equalityexpression goto 260 - andexpression goto 402 - lambdaexpression goto 217 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - methodinvocation goto 275 - castexpression goto 276 - - -state 352 - inclusiveorexpression : inclusiveorexpression '|' . exclusiveorexpression (247) - - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 302 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 259 - equalityexpression goto 260 - andexpression goto 261 - exclusiveorexpression goto 403 - lambdaexpression goto 217 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - methodinvocation goto 275 - castexpression goto 276 - - -state 353 - conditionalandexpression : conditionalandexpression LOGICALAND . inclusiveorexpression (235) - - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 302 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 259 - equalityexpression goto 260 - andexpression goto 261 - exclusiveorexpression goto 262 - inclusiveorexpression goto 404 - lambdaexpression goto 217 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - methodinvocation goto 275 - castexpression goto 276 - - -state 354 - conditionalorexpression : conditionalorexpression LOGICALOR . conditionalandexpression (210) - - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 302 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 259 - equalityexpression goto 260 - andexpression goto 261 - exclusiveorexpression goto 262 - inclusiveorexpression goto 263 - conditionalandexpression goto 405 - lambdaexpression goto 217 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - methodinvocation goto 275 - castexpression goto 276 - - -state 355 - constructordeclarator : simplename '(' formalparameterlist ')' . (96) - - . reduce 96 - - -state 356 - fielddeclarator : type variabledeclarator '=' expression . (85) - fielddeclarator : variabledeclarator '=' expression . (86) - - ABSTRACT reduce 86 - BOOLEAN reduce 86 - CHAR reduce 86 - FINAL reduce 86 - INT reduce 86 - PRIVATE reduce 86 - PROTECTED reduce 86 - PUBLIC reduce 86 - STATIC reduce 86 - VOID reduce 86 - IDENTIFIER reduce 86 - ';' reduce 85 - '<' reduce 86 - '}' reduce 86 - - -state 357 - fielddeclarator : type variabledeclarator '=' . expression (85) - - NEW shift 248 - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 206 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 259 - equalityexpression goto 260 - andexpression goto 261 - exclusiveorexpression goto 262 - inclusiveorexpression goto 263 - conditionalandexpression goto 264 - conditionalorexpression goto 265 - conditionalexpression goto 266 - assignmentexpression goto 267 - lambdaexpression goto 217 - expression goto 406 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - classinstancecreationexpression goto 273 - assignment goto 274 - lefthandside goto 234 - methodinvocation goto 275 - castexpression goto 276 - - -state 358 - methodheader : modifiers VOID methoddeclarator throws . (122) +state 238 + methodheader : VOID methoddeclarator throws . (122) . reduce 122 -state 359 - methodheader : modifiers '<' boundedMethodParameters '>' . type methoddeclarator (114) - methodheader : modifiers '<' boundedMethodParameters '>' . type methoddeclarator throws (118) - methodheader : modifiers '<' boundedMethodParameters '>' . VOID methoddeclarator (124) - methodheader : modifiers '<' boundedMethodParameters '>' . VOID methoddeclarator throws (126) +state 239 + methoddeclarator : IDENTIFIER '(' ')' . (148) + + . reduce 148 + + +state 240 + formalparameter : variabledeclaratorid . (157) + + . reduce 157 + + +state 241 + formalparameter : type . variabledeclaratorid (156) + + IDENTIFIER shift 248 + . error + + variabledeclaratorid goto 328 + + +state 242 + formalparameterlist : formalparameter . (142) + + . reduce 142 + + +state 243 + formalparameterlist : formalparameterlist . ',' formalparameter (143) + methoddeclarator : IDENTIFIER '(' formalparameterlist . ')' (149) + + ',' shift 329 + ')' shift 330 + . error + + +state 244 + boundedMethodParameters : boundedMethodParameters ',' . boundedMethodParameter (111) + + IDENTIFIER shift 78 + . error + + boundedMethodParameter goto 331 + + +state 245 + fielddeclaration : '<' boundedMethodParameters '>' . type fielddeclarator (89) + methodheader : '<' boundedMethodParameters '>' . type methoddeclarator (112) + methodheader : '<' boundedMethodParameters '>' . type methoddeclarator throws (117) + methodheader : '<' boundedMethodParameters '>' . VOID methoddeclarator (124) + methodheader : '<' boundedMethodParameters '>' . VOID methoddeclarator throws (126) + methodheader : '<' boundedMethodParameters '>' . methoddeclarator (129) BOOLEAN shift 2 CHAR shift 3 INT shift 6 - VOID shift 407 - IDENTIFIER shift 14 + VOID shift 332 + IDENTIFIER shift 117 . error + methoddeclarator goto 333 simplename goto 18 classorinterfacetype goto 21 integraltype goto 22 numerictype goto 23 primitivetype goto 24 referencetype goto 25 - type goto 408 + type goto 334 -state 360 - methodheader : modifiers type methoddeclarator throws . (117) - - . reduce 117 - - -state 361 - fielddeclaration : modifiers type variabledeclarators ';' . (91) - - . reduce 91 - - -state 362 - explicitconstructorinvocation : THIS '(' . ')' ';' (143) - explicitconstructorinvocation : THIS '(' . argumentlist ')' ';' (144) - - NEW shift 248 - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - ')' shift 409 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 206 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 259 - equalityexpression goto 260 - andexpression goto 261 - exclusiveorexpression goto 262 - inclusiveorexpression goto 263 - conditionalandexpression goto 264 - conditionalorexpression goto 265 - conditionalexpression goto 266 - assignmentexpression goto 267 - lambdaexpression goto 217 - expression goto 375 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - classinstancecreationexpression goto 273 - assignment goto 274 - lefthandside goto 234 - argumentlist goto 410 - methodinvocation goto 275 - castexpression goto 276 - - -state 363 - constructorbody : '{' blockstatements '}' . (99) - - . reduce 99 - - -state 364 - constructorbody : '{' explicitconstructorinvocation '}' . (98) - - . reduce 98 - - -state 365 - constructorbody : '{' explicitconstructorinvocation blockstatements . '}' (100) - blockstatements : blockstatements . blockstatement (140) - - BOOLEAN shift 2 - CHAR shift 3 - FOR shift 184 - IF shift 185 - INT shift 6 - RETURN shift 186 - THIS shift 187 - WHILE shift 188 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 197 - INCREMENT shift 198 - DECREMENT shift 199 - ';' shift 200 - '{' shift 138 - '}' shift 411 - '(' shift 202 - . error - - variabledeclarators goto 203 - variabledeclarator goto 204 - variabledeclaratorid goto 101 - simplename goto 205 - qualifiedname goto 35 - name goto 206 - classorinterfacetype goto 21 - integraltype goto 22 - numerictype goto 23 - primitivetype goto 24 - referencetype goto 25 - type goto 207 - block goto 208 - localvariabledeclarationstatement goto 210 - localvariabledeclaration goto 211 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 216 - lambdaexpression goto 217 - statementexpression goto 218 - preincrementexpression goto 219 - predecrementexpression goto 220 - postincrementexpression goto 221 - postdecrementexpression goto 222 - expressionstatement goto 223 - statementwithouttrailingsubstatement goto 224 - blockstatement goto 310 - statement goto 226 - whilestatement goto 227 - forstatement goto 228 - ifthenstatement goto 229 - ifthenelsestatement goto 230 - emptystatement goto 231 - returnstatement goto 232 - assignment goto 233 - lefthandside goto 234 - methodinvocation goto 235 - - -state 366 - constantdeclaration : modifiers type IDENTIFIER '=' . expression ';' (83) - - NEW shift 248 - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 206 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 259 - equalityexpression goto 260 - andexpression goto 261 - exclusiveorexpression goto 262 - inclusiveorexpression goto 263 - conditionalandexpression goto 264 - conditionalorexpression goto 265 - conditionalexpression goto 266 - assignmentexpression goto 267 - lambdaexpression goto 217 - expression goto 412 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - classinstancecreationexpression goto 273 - assignment goto 274 - lefthandside goto 234 - methodinvocation goto 275 - castexpression goto 276 - - -state 367 - boundedclassidentifierlist : boundedclassidentifierlist '&' referencetype . (108) - - . reduce 108 - - -state 368 - forstatement : FOR '(' ';' . expression ';' expression ')' statement (184) - forstatement : FOR '(' ';' . expression ';' ')' statement (186) - forstatement : FOR '(' ';' . ';' expression ')' statement (187) - forstatement : FOR '(' ';' . ';' ')' statement (188) - - NEW shift 248 - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - ';' shift 413 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 206 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 259 - equalityexpression goto 260 - andexpression goto 261 - exclusiveorexpression goto 262 - inclusiveorexpression goto 263 - conditionalandexpression goto 264 - conditionalorexpression goto 265 - conditionalexpression goto 266 - assignmentexpression goto 267 - lambdaexpression goto 217 - expression goto 414 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - classinstancecreationexpression goto 273 - assignment goto 274 - lefthandside goto 234 - methodinvocation goto 275 - castexpression goto 276 - - -state 369 - forstatement : FOR '(' expression . ';' expression ';' expression ')' statement (181) - forstatement : FOR '(' expression . ';' expression ';' ')' statement (182) - forstatement : FOR '(' expression . ';' ';' expression ')' statement (183) - forstatement : FOR '(' expression . ';' ';' ')' statement (185) - - ';' shift 415 - . error - - -state 370 - ifthenstatement : IF '(' expression . ')' statement (178) - ifthenelsestatement : IF '(' expression . ')' statementnoshortif ELSE statement (179) - - ')' shift 416 - . error - - -state 371 - returnstatement : RETURN expression ';' . (194) - - . reduce 194 - - -state 372 - whilestatement : WHILE '(' expression . ')' statement (180) - - ')' shift 417 - . error - - -state 373 - lambdaexpressionparameter : '(' formalparameterlist ')' . (215) - - . reduce 215 - - -state 374 - methodinvocation : name '(' ')' . (228) - - . reduce 228 - - -state 375 - argumentlist : expression . (157) - - . reduce 157 - - -state 376 - argumentlist : argumentlist . ',' expression (158) - methodinvocation : name '(' argumentlist . ')' (229) - - ',' shift 418 - ')' shift 419 - . error - - -state 377 - lambdabody : block . (212) - - . reduce 212 - - -state 378 - lambdaexpression : lambdaexpressionparameter lambdaassignmentoperator lambdabody . (216) - - . reduce 216 - - -state 379 - lambdabody : expression . (213) - - . reduce 213 - - -state 380 - methodinvocation : primary '.' IDENTIFIER . '(' ')' (230) - methodinvocation : primary '.' IDENTIFIER . '(' argumentlist ')' (231) - - '(' shift 420 - . error - - -state 381 - assignment : lefthandside assignmentoperator assignmentexpression . (199) - - . reduce 199 - - -state 382 - assignment : lefthandside assignmentoperator classinstancecreationexpression . (200) - - . reduce 200 - - -state 383 - formalparameterlist : formalparameterlist ',' formalparameter . (142) - - . reduce 142 - - -state 384 - methodheader : '<' boundedMethodParameters '>' VOID methoddeclarator . (123) - methodheader : '<' boundedMethodParameters '>' VOID methoddeclarator . throws (125) - - THROWS shift 147 - ';' reduce 123 - '{' reduce 123 - - throws goto 421 - - -state 385 - methodheader : '<' boundedMethodParameters '>' type methoddeclarator . (111) - methodheader : '<' boundedMethodParameters '>' type methoddeclarator . throws (116) - - THROWS shift 147 - ';' reduce 111 - '{' reduce 111 - - throws goto 422 - - -state 386 - classtypelist : classtypelist ',' classtype . (146) +state 246 + classtypelist : classtype . (146) . reduce 146 -state 387 - classinstancecreationexpression : NEW classtype '(' . ')' (232) - classinstancecreationexpression : NEW classtype '(' . argumentlist ')' (233) +state 247 + throws : THROWS classtypelist . (102) + classtypelist : classtypelist . ',' classtype (147) + + ',' shift 335 + ';' reduce 102 + '{' reduce 102 + + +state 248 + variabledeclaratorid : IDENTIFIER . (161) + + . reduce 161 + + +state 249 + variabledeclarators : variabledeclarators ',' variabledeclarator . (138) + + . reduce 138 + + +state 250 + classinstancecreationexpression : NEW . classtype '(' ')' (233) + classinstancecreationexpression : NEW . classtype '(' argumentlist ')' (234) - NEW shift 248 - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - ')' shift 423 - '+' shift 250 - '-' shift 251 - '!' shift 252 + . error + + simplename goto 18 + classtype goto 336 + classorinterfacetype goto 83 + + +state 251 + lambdaexpressionparameter : '(' . ')' (215) + lambdaexpressionparameter : '(' . formalparameterlist ')' (216) + castexpression : '(' . primitivetype ')' unaryexpression (266) + + BOOLEAN shift 2 + CHAR shift 3 + INT shift 6 + IDENTIFIER shift 199 + ')' shift 308 + . error + + variabledeclaratorid goto 240 + simplename goto 18 + classorinterfacetype goto 21 + integraltype goto 22 + numerictype goto 23 + primitivetype goto 337 + referencetype goto 25 + type goto 241 + formalparameter goto 242 + formalparameterlist goto 309 + + +state 252 + unaryexpression : '+' . unaryexpression (239) + + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 . error simplename goto 34 qualifiedname goto 35 - name goto 206 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 259 - equalityexpression goto 260 - andexpression goto 261 - exclusiveorexpression goto 262 - inclusiveorexpression goto 263 - conditionalandexpression goto 264 - conditionalorexpression goto 265 - conditionalexpression goto 266 - assignmentexpression goto 267 - lambdaexpression goto 217 - expression goto 375 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - classinstancecreationexpression goto 273 - assignment goto 274 - lefthandside goto 234 - argumentlist goto 424 - methodinvocation goto 275 - castexpression goto 276 + name goto 305 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 338 + lambdaexpression goto 219 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + methodinvocation goto 277 + castexpression goto 278 -state 388 - castexpression : '(' primitivetype ')' . unaryexpression (265) +state 253 + unaryexpression : '-' . unaryexpression (240) - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 . error simplename goto 34 qualifiedname goto 35 - name goto 302 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 425 - lambdaexpression goto 217 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - methodinvocation goto 275 - castexpression goto 276 + name goto 305 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 339 + lambdaexpression goto 219 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + methodinvocation goto 277 + castexpression goto 278 -state 389 - multiplicativeexpression : multiplicativeexpression '*' unaryexpression . (282) +state 254 + unaryexpressionnotplusminus : '!' . unaryexpression (254) + + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 305 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 340 + lambdaexpression goto 219 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + methodinvocation goto 277 + castexpression goto 278 + + +255: shift/reduce conflict (shift 318, reduce 253) on INCREMENT +255: shift/reduce conflict (shift 319, reduce 253) on DECREMENT +state 255 + postincrementexpression : postfixexpression . INCREMENT (227) + postdecrementexpression : postfixexpression . DECREMENT (228) + unaryexpressionnotplusminus : postfixexpression . (253) + + INCREMENT shift 318 + DECREMENT shift 319 + ABSTRACT reduce 253 + BOOLEAN reduce 253 + CHAR reduce 253 + FINAL reduce 253 + INSTANCEOF reduce 253 + INT reduce 253 + PRIVATE reduce 253 + PROTECTED reduce 253 + PUBLIC reduce 253 + STATIC reduce 253 + VOID reduce 253 + IDENTIFIER reduce 253 + EQUAL reduce 253 + LESSEQUAL reduce 253 + GREATEREQUAL reduce 253 + NOTEQUAL reduce 253 + LOGICALOR reduce 253 + LOGICALAND reduce 253 + ',' reduce 253 + ';' reduce 253 + '.' reduce 253 + '*' reduce 253 + '<' reduce 253 + '>' reduce 253 + '}' reduce 253 + ')' reduce 253 + '&' reduce 253 + '+' reduce 253 + '-' reduce 253 + '|' reduce 253 + '^' reduce 253 + '/' reduce 253 + '%' reduce 253 + + +state 256 + unaryexpression : unaryexpressionnotplusminus . (241) + + . reduce 241 + + +state 257 + multiplicativeexpression : unaryexpression . (282) . reduce 282 -state 390 - multiplicativeexpression : multiplicativeexpression '/' unaryexpression . (283) +258: shift/reduce conflict (shift 341, reduce 279) on '*' +258: shift/reduce conflict (shift 342, reduce 279) on '/' +258: shift/reduce conflict (shift 343, reduce 279) on '%' +state 258 + additiveexpression : multiplicativeexpression . (279) + multiplicativeexpression : multiplicativeexpression . '*' unaryexpression (283) + multiplicativeexpression : multiplicativeexpression . '/' unaryexpression (284) + multiplicativeexpression : multiplicativeexpression . '%' unaryexpression (285) - . reduce 283 - - -state 391 - multiplicativeexpression : multiplicativeexpression '%' unaryexpression . (284) - - . reduce 284 - - -392: shift/reduce conflict (shift 338, reduce 279) on '*' -392: shift/reduce conflict (shift 339, reduce 279) on '/' -392: shift/reduce conflict (shift 340, reduce 279) on '%' -state 392 - additiveexpression : additiveexpression '+' multiplicativeexpression . (279) - multiplicativeexpression : multiplicativeexpression . '*' unaryexpression (282) - multiplicativeexpression : multiplicativeexpression . '/' unaryexpression (283) - multiplicativeexpression : multiplicativeexpression . '%' unaryexpression (284) - - '*' shift 338 - '/' shift 339 - '%' shift 340 + '*' shift 341 + '/' shift 342 + '%' shift 343 ABSTRACT reduce 279 BOOLEAN reduce 279 CHAR reduce 279 @@ -6432,100 +3666,74 @@ state 392 '^' reduce 279 -393: shift/reduce conflict (shift 338, reduce 280) on '*' -393: shift/reduce conflict (shift 339, reduce 280) on '/' -393: shift/reduce conflict (shift 340, reduce 280) on '%' -state 393 - additiveexpression : additiveexpression '-' multiplicativeexpression . (280) - multiplicativeexpression : multiplicativeexpression . '*' unaryexpression (282) - multiplicativeexpression : multiplicativeexpression . '/' unaryexpression (283) - multiplicativeexpression : multiplicativeexpression . '%' unaryexpression (284) +259: shift/reduce conflict (shift 344, reduce 278) on '+' +259: shift/reduce conflict (shift 345, reduce 278) on '-' +state 259 + shiftexpression : additiveexpression . (278) + additiveexpression : additiveexpression . '+' multiplicativeexpression (280) + additiveexpression : additiveexpression . '-' multiplicativeexpression (281) - '*' shift 338 - '/' shift 339 - '%' shift 340 - ABSTRACT reduce 280 - BOOLEAN reduce 280 - CHAR reduce 280 - FINAL reduce 280 - INSTANCEOF reduce 280 - INT reduce 280 - PRIVATE reduce 280 - PROTECTED reduce 280 - PUBLIC reduce 280 - STATIC reduce 280 - VOID reduce 280 - IDENTIFIER reduce 280 - EQUAL reduce 280 - LESSEQUAL reduce 280 - GREATEREQUAL reduce 280 - NOTEQUAL reduce 280 - LOGICALOR reduce 280 - LOGICALAND reduce 280 - INCREMENT reduce 280 - DECREMENT reduce 280 - ',' reduce 280 - ';' reduce 280 - '.' reduce 280 - '<' reduce 280 - '>' reduce 280 - '}' reduce 280 - ')' reduce 280 - '&' reduce 280 - '+' reduce 280 - '-' reduce 280 - '|' reduce 280 - '^' reduce 280 + '+' shift 344 + '-' shift 345 + ABSTRACT reduce 278 + BOOLEAN reduce 278 + CHAR reduce 278 + FINAL reduce 278 + INSTANCEOF reduce 278 + INT reduce 278 + PRIVATE reduce 278 + PROTECTED reduce 278 + PUBLIC reduce 278 + STATIC reduce 278 + VOID reduce 278 + IDENTIFIER reduce 278 + EQUAL reduce 278 + LESSEQUAL reduce 278 + GREATEREQUAL reduce 278 + NOTEQUAL reduce 278 + LOGICALOR reduce 278 + LOGICALAND reduce 278 + INCREMENT reduce 278 + DECREMENT reduce 278 + ',' reduce 278 + ';' reduce 278 + '.' reduce 278 + '*' reduce 278 + '<' reduce 278 + '>' reduce 278 + '}' reduce 278 + ')' reduce 278 + '&' reduce 278 + '|' reduce 278 + '^' reduce 278 + '/' reduce 278 + '%' reduce 278 -state 394 - relationalexpression : relationalexpression INSTANCEOF referencetype . (276) - - . reduce 276 - - -state 395 - relationalexpression : relationalexpression LESSEQUAL shiftexpression . (274) - - . reduce 274 - - -state 396 - relationalexpression : relationalexpression GREATEREQUAL shiftexpression . (275) - - . reduce 275 - - -state 397 - relationalexpression : relationalexpression '<' shiftexpression . (272) +state 260 + relationalexpression : shiftexpression . (272) . reduce 272 -state 398 - relationalexpression : relationalexpression '>' shiftexpression . (273) +261: shift/reduce conflict (shift 346, reduce 269) on INSTANCEOF +261: shift/reduce conflict (shift 347, reduce 269) on LESSEQUAL +261: shift/reduce conflict (shift 348, reduce 269) on GREATEREQUAL +261: shift/reduce conflict (shift 349, reduce 269) on '<' +261: shift/reduce conflict (shift 350, reduce 269) on '>' +state 261 + equalityexpression : relationalexpression . (269) + relationalexpression : relationalexpression . '<' shiftexpression (273) + relationalexpression : relationalexpression . '>' shiftexpression (274) + relationalexpression : relationalexpression . LESSEQUAL shiftexpression (275) + relationalexpression : relationalexpression . GREATEREQUAL shiftexpression (276) + relationalexpression : relationalexpression . INSTANCEOF referencetype (277) - . reduce 273 - - -399: shift/reduce conflict (shift 343, reduce 269) on INSTANCEOF -399: shift/reduce conflict (shift 344, reduce 269) on LESSEQUAL -399: shift/reduce conflict (shift 345, reduce 269) on GREATEREQUAL -399: shift/reduce conflict (shift 346, reduce 269) on '<' -399: shift/reduce conflict (shift 347, reduce 269) on '>' -state 399 - equalityexpression : equalityexpression EQUAL relationalexpression . (269) - relationalexpression : relationalexpression . '<' shiftexpression (272) - relationalexpression : relationalexpression . '>' shiftexpression (273) - relationalexpression : relationalexpression . LESSEQUAL shiftexpression (274) - relationalexpression : relationalexpression . GREATEREQUAL shiftexpression (275) - relationalexpression : relationalexpression . INSTANCEOF referencetype (276) - - INSTANCEOF shift 343 - LESSEQUAL shift 344 - GREATEREQUAL shift 345 - '<' shift 346 - '>' shift 347 + INSTANCEOF shift 346 + LESSEQUAL shift 347 + GREATEREQUAL shift 348 + '<' shift 349 + '>' shift 350 ABSTRACT reduce 269 BOOLEAN reduce 269 CHAR reduce 269 @@ -6558,65 +3766,15 @@ state 399 '%' reduce 269 -400: shift/reduce conflict (shift 343, reduce 270) on INSTANCEOF -400: shift/reduce conflict (shift 344, reduce 270) on LESSEQUAL -400: shift/reduce conflict (shift 345, reduce 270) on GREATEREQUAL -400: shift/reduce conflict (shift 346, reduce 270) on '<' -400: shift/reduce conflict (shift 347, reduce 270) on '>' -state 400 - equalityexpression : equalityexpression NOTEQUAL relationalexpression . (270) - relationalexpression : relationalexpression . '<' shiftexpression (272) - relationalexpression : relationalexpression . '>' shiftexpression (273) - relationalexpression : relationalexpression . LESSEQUAL shiftexpression (274) - relationalexpression : relationalexpression . GREATEREQUAL shiftexpression (275) - relationalexpression : relationalexpression . INSTANCEOF referencetype (276) +262: shift/reduce conflict (shift 351, reduce 267) on EQUAL +262: shift/reduce conflict (shift 352, reduce 267) on NOTEQUAL +state 262 + andexpression : equalityexpression . (267) + equalityexpression : equalityexpression . EQUAL relationalexpression (270) + equalityexpression : equalityexpression . NOTEQUAL relationalexpression (271) - INSTANCEOF shift 343 - LESSEQUAL shift 344 - GREATEREQUAL shift 345 - '<' shift 346 - '>' shift 347 - ABSTRACT reduce 270 - BOOLEAN reduce 270 - CHAR reduce 270 - FINAL reduce 270 - INT reduce 270 - PRIVATE reduce 270 - PROTECTED reduce 270 - PUBLIC reduce 270 - STATIC reduce 270 - VOID reduce 270 - IDENTIFIER reduce 270 - EQUAL reduce 270 - NOTEQUAL reduce 270 - LOGICALOR reduce 270 - LOGICALAND reduce 270 - INCREMENT reduce 270 - DECREMENT reduce 270 - ',' reduce 270 - ';' reduce 270 - '.' reduce 270 - '*' reduce 270 - '}' reduce 270 - ')' reduce 270 - '&' reduce 270 - '+' reduce 270 - '-' reduce 270 - '|' reduce 270 - '^' reduce 270 - '/' reduce 270 - '%' reduce 270 - - -401: shift/reduce conflict (shift 348, reduce 267) on EQUAL -401: shift/reduce conflict (shift 349, reduce 267) on NOTEQUAL -state 401 - andexpression : andexpression '&' equalityexpression . (267) - equalityexpression : equalityexpression . EQUAL relationalexpression (269) - equalityexpression : equalityexpression . NOTEQUAL relationalexpression (270) - - EQUAL shift 348 - NOTEQUAL shift 349 + EQUAL shift 351 + NOTEQUAL shift 352 ABSTRACT reduce 267 BOOLEAN reduce 267 CHAR reduce 267 @@ -6652,12 +3810,12 @@ state 401 '%' reduce 267 -402: shift/reduce conflict (shift 350, reduce 256) on '&' -state 402 - exclusiveorexpression : exclusiveorexpression '^' andexpression . (256) - andexpression : andexpression . '&' equalityexpression (267) +263: shift/reduce conflict (shift 353, reduce 256) on '&' +state 263 + exclusiveorexpression : andexpression . (256) + andexpression : andexpression . '&' equalityexpression (268) - '&' shift 350 + '&' shift 353 ABSTRACT reduce 256 BOOLEAN reduce 256 CHAR reduce 256 @@ -6694,12 +3852,12 @@ state 402 '%' reduce 256 -403: shift/reduce conflict (shift 351, reduce 247) on '^' -state 403 - inclusiveorexpression : inclusiveorexpression '|' exclusiveorexpression . (247) - exclusiveorexpression : exclusiveorexpression . '^' andexpression (256) +264: shift/reduce conflict (shift 354, reduce 247) on '^' +state 264 + inclusiveorexpression : exclusiveorexpression . (247) + exclusiveorexpression : exclusiveorexpression . '^' andexpression (257) - '^' shift 351 + '^' shift 354 ABSTRACT reduce 247 BOOLEAN reduce 247 CHAR reduce 247 @@ -6736,12 +3894,12 @@ state 403 '%' reduce 247 -404: shift/reduce conflict (shift 352, reduce 235) on '|' -state 404 - conditionalandexpression : conditionalandexpression LOGICALAND inclusiveorexpression . (235) - inclusiveorexpression : inclusiveorexpression . '|' exclusiveorexpression (247) +265: shift/reduce conflict (shift 355, reduce 235) on '|' +state 265 + conditionalandexpression : inclusiveorexpression . (235) + inclusiveorexpression : inclusiveorexpression . '|' exclusiveorexpression (248) - '|' shift 352 + '|' shift 355 ABSTRACT reduce 235 BOOLEAN reduce 235 CHAR reduce 235 @@ -6778,12 +3936,12 @@ state 404 '%' reduce 235 -405: shift/reduce conflict (shift 353, reduce 210) on LOGICALAND -state 405 - conditionalorexpression : conditionalorexpression LOGICALOR conditionalandexpression . (210) - conditionalandexpression : conditionalandexpression . LOGICALAND inclusiveorexpression (235) +266: shift/reduce conflict (shift 356, reduce 210) on LOGICALAND +state 266 + conditionalorexpression : conditionalandexpression . (210) + conditionalandexpression : conditionalandexpression . LOGICALAND inclusiveorexpression (236) - LOGICALAND shift 353 + LOGICALAND shift 356 ABSTRACT reduce 210 BOOLEAN reduce 210 CHAR reduce 210 @@ -6820,1693 +3978,4630 @@ state 405 '%' reduce 210 +267: shift/reduce conflict (shift 357, reduce 199) on LOGICALOR +state 267 + conditionalexpression : conditionalorexpression . (199) + conditionalorexpression : conditionalorexpression . LOGICALOR conditionalandexpression (211) + + LOGICALOR shift 357 + ABSTRACT reduce 199 + BOOLEAN reduce 199 + CHAR reduce 199 + FINAL reduce 199 + INSTANCEOF reduce 199 + INT reduce 199 + PRIVATE reduce 199 + PROTECTED reduce 199 + PUBLIC reduce 199 + STATIC reduce 199 + VOID reduce 199 + IDENTIFIER reduce 199 + EQUAL reduce 199 + LESSEQUAL reduce 199 + GREATEREQUAL reduce 199 + NOTEQUAL reduce 199 + LOGICALAND reduce 199 + INCREMENT reduce 199 + DECREMENT reduce 199 + ',' reduce 199 + ';' reduce 199 + '.' reduce 199 + '*' reduce 199 + '<' reduce 199 + '>' reduce 199 + '}' reduce 199 + ')' reduce 199 + '&' reduce 199 + '+' reduce 199 + '-' reduce 199 + '|' reduce 199 + '^' reduce 199 + '/' reduce 199 + '%' reduce 199 + + +state 268 + assignmentexpression : conditionalexpression . (190) + + . reduce 190 + + +state 269 + expression : assignmentexpression . (169) + + . reduce 169 + + +state 270 + fielddeclarator : variabledeclarator '=' expression . (86) + + . reduce 86 + + +state 271 + unaryexpression : preincrementexpression . (237) + + . reduce 237 + + +state 272 + unaryexpression : predecrementexpression . (238) + + . reduce 238 + + +state 273 + postfixexpression : postincrementexpression . (244) + + . reduce 244 + + +state 274 + postfixexpression : postdecrementexpression . (245) + + . reduce 245 + + +state 275 + expression : classinstancecreationexpression . (170) + + . reduce 170 + + +state 276 + assignmentexpression : assignment . (191) + + . reduce 191 + + +state 277 + primarynonewarray : methodinvocation . (251) + + . reduce 251 + + +state 278 + unaryexpressionnotplusminus : castexpression . (255) + + . reduce 255 + + +state 279 + constructordeclarator : simplename '(' ')' . (96) + + . reduce 96 + + +state 280 + constructordeclarator : simplename '(' formalparameterlist . ')' (97) + formalparameterlist : formalparameterlist . ',' formalparameter (143) + + ',' shift 329 + ')' shift 358 + . error + + +state 281 + methodheader : type methoddeclarator throws . (116) + + . reduce 116 + + +state 282 + fielddeclaration : type variabledeclarators ';' . (91) + + . reduce 91 + + +state 283 + fielddeclarator : type variabledeclarator '=' . expression (85) + fielddeclarator : variabledeclarator '=' . expression (86) + + NEW shift 250 + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 261 + equalityexpression goto 262 + andexpression goto 263 + exclusiveorexpression goto 264 + inclusiveorexpression goto 265 + conditionalandexpression goto 266 + conditionalorexpression goto 267 + conditionalexpression goto 268 + assignmentexpression goto 269 + lambdaexpression goto 219 + expression goto 359 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + classinstancecreationexpression goto 275 + assignment goto 276 + lefthandside goto 236 + methodinvocation goto 277 + castexpression goto 278 + + +state 284 + fielddeclarator : type variabledeclarator . '=' expression (85) + + '=' shift 360 + . error + + +state 285 + methodheader : modifiers VOID methoddeclarator . (121) + methodheader : modifiers VOID methoddeclarator . throws (123) + + THROWS shift 148 + ';' reduce 121 + '{' reduce 121 + + throws goto 361 + + +state 286 + boundedMethodParameters : boundedMethodParameters . ',' boundedMethodParameter (111) + methodheader : modifiers '<' boundedMethodParameters . '>' type methoddeclarator (115) + methodheader : modifiers '<' boundedMethodParameters . '>' type methoddeclarator throws (119) + methodheader : modifiers '<' boundedMethodParameters . '>' VOID methoddeclarator (125) + methodheader : modifiers '<' boundedMethodParameters . '>' VOID methoddeclarator throws (127) + + ',' shift 244 + '>' shift 362 + . error + + +state 287 + methodheader : modifiers methoddeclarator throws . (132) + + . reduce 132 + + +state 288 + methoddeclarator : IDENTIFIER . '(' ')' (148) + methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (149) + variabledeclaratorid : IDENTIFIER . (161) + + '(' shift 143 + ',' reduce 161 + ';' reduce 161 + + +state 289 + methodheader : modifiers type methoddeclarator . (114) + methodheader : modifiers type methoddeclarator . throws (118) + + THROWS shift 148 + ';' reduce 114 + '{' reduce 114 + + throws goto 363 + + +state 290 + fielddeclaration : modifiers type variabledeclarators . ';' (92) + variabledeclarators : variabledeclarators . ',' variabledeclarator (138) + + ',' shift 152 + ';' shift 364 + . error + + +state 291 + constructordeclaration : modifiers constructordeclarator constructorbody . (82) + + . reduce 82 + + +state 292 + explicitconstructorinvocation : THIS . '(' ')' ';' (144) + explicitconstructorinvocation : THIS . '(' argumentlist ')' ';' (145) + primarynonewarray : THIS . (250) + + '(' shift 365 + INCREMENT reduce 250 + DECREMENT reduce 250 + '.' reduce 250 + + +state 293 + constructorbody : '{' '}' . (98) + + . reduce 98 + + +state 294 + constructorbody : '{' blockstatements . '}' (100) + blockstatements : blockstatements . blockstatement (141) + + BOOLEAN shift 2 + CHAR shift 3 + FOR shift 186 + IF shift 187 + INT shift 6 + RETURN shift 188 + THIS shift 189 + WHILE shift 190 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 199 + INCREMENT shift 200 + DECREMENT shift 201 + ';' shift 202 + '{' shift 139 + '}' shift 366 + '(' shift 204 + . error + + variabledeclarators goto 205 + variabledeclarator goto 206 + variabledeclaratorid goto 101 + simplename goto 207 + qualifiedname goto 35 + name goto 208 + classorinterfacetype goto 21 + integraltype goto 22 + numerictype goto 23 + primitivetype goto 24 + referencetype goto 25 + type goto 209 + block goto 210 + localvariabledeclarationstatement goto 212 + localvariabledeclaration goto 213 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 218 + lambdaexpression goto 219 + statementexpression goto 220 + preincrementexpression goto 221 + predecrementexpression goto 222 + postincrementexpression goto 223 + postdecrementexpression goto 224 + expressionstatement goto 225 + statementwithouttrailingsubstatement goto 226 + blockstatement goto 313 + statement goto 228 + whilestatement goto 229 + forstatement goto 230 + ifthenstatement goto 231 + ifthenelsestatement goto 232 + emptystatement goto 233 + returnstatement goto 234 + assignment goto 235 + lefthandside goto 236 + methodinvocation goto 237 + + +state 295 + constructorbody : '{' explicitconstructorinvocation . '}' (99) + constructorbody : '{' explicitconstructorinvocation . blockstatements '}' (101) + + BOOLEAN shift 2 + CHAR shift 3 + FOR shift 186 + IF shift 187 + INT shift 6 + RETURN shift 188 + THIS shift 189 + WHILE shift 190 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 199 + INCREMENT shift 200 + DECREMENT shift 201 + ';' shift 202 + '{' shift 139 + '}' shift 367 + '(' shift 204 + . error + + variabledeclarators goto 205 + variabledeclarator goto 206 + variabledeclaratorid goto 101 + simplename goto 207 + qualifiedname goto 35 + name goto 208 + classorinterfacetype goto 21 + integraltype goto 22 + numerictype goto 23 + primitivetype goto 24 + referencetype goto 25 + type goto 209 + block goto 210 + blockstatements goto 368 + localvariabledeclarationstatement goto 212 + localvariabledeclaration goto 213 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 218 + lambdaexpression goto 219 + statementexpression goto 220 + preincrementexpression goto 221 + predecrementexpression goto 222 + postincrementexpression goto 223 + postdecrementexpression goto 224 + expressionstatement goto 225 + statementwithouttrailingsubstatement goto 226 + blockstatement goto 227 + statement goto 228 + whilestatement goto 229 + forstatement goto 230 + ifthenstatement goto 231 + ifthenelsestatement goto 232 + emptystatement goto 233 + returnstatement goto 234 + assignment goto 235 + lefthandside goto 236 + methodinvocation goto 237 + + +state 296 + methodheader : '<' boundedMethodParameters '>' . type methoddeclarator (112) + methodheader : '<' boundedMethodParameters '>' . type methoddeclarator throws (117) + methodheader : '<' boundedMethodParameters '>' . VOID methoddeclarator (124) + methodheader : '<' boundedMethodParameters '>' . VOID methoddeclarator throws (126) + methodheader : '<' boundedMethodParameters '>' . methoddeclarator (129) + + BOOLEAN shift 2 + CHAR shift 3 + INT shift 6 + VOID shift 332 + IDENTIFIER shift 117 + . error + + methoddeclarator goto 333 + simplename goto 18 + classorinterfacetype goto 21 + integraltype goto 22 + numerictype goto 23 + primitivetype goto 24 + referencetype goto 25 + type goto 369 + + +state 297 + constantdeclaration : modifiers type IDENTIFIER . '=' expression ';' (83) + methoddeclarator : IDENTIFIER . '(' ')' (148) + methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (149) + + '=' shift 370 + '(' shift 143 + . error + + +state 298 + classdeclaration : modifiers CLASS classidentifier super interfaces classbody . (27) + + . reduce 27 + + +state 299 + boundedclassidentifierlist : boundedclassidentifierlist '&' . referencetype (109) + + IDENTIFIER shift 14 + . error + + simplename goto 18 + classorinterfacetype goto 21 + referencetype goto 371 + + +state 300 + forstatement : FOR '(' . expression ';' expression ';' expression ')' statement (182) + forstatement : FOR '(' . expression ';' expression ';' ')' statement (183) + forstatement : FOR '(' . expression ';' ';' expression ')' statement (184) + forstatement : FOR '(' . ';' expression ';' expression ')' statement (185) + forstatement : FOR '(' . expression ';' ';' ')' statement (186) + forstatement : FOR '(' . ';' expression ';' ')' statement (187) + forstatement : FOR '(' . ';' ';' expression ')' statement (188) + forstatement : FOR '(' . ';' ';' ')' statement (189) + + NEW shift 250 + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + ';' shift 372 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 261 + equalityexpression goto 262 + andexpression goto 263 + exclusiveorexpression goto 264 + inclusiveorexpression goto 265 + conditionalandexpression goto 266 + conditionalorexpression goto 267 + conditionalexpression goto 268 + assignmentexpression goto 269 + lambdaexpression goto 219 + expression goto 373 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + classinstancecreationexpression goto 275 + assignment goto 276 + lefthandside goto 236 + methodinvocation goto 277 + castexpression goto 278 + + +state 301 + ifthenstatement : IF '(' . expression ')' statement (179) + ifthenelsestatement : IF '(' . expression ')' statementnoshortif ELSE statement (180) + + NEW shift 250 + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 261 + equalityexpression goto 262 + andexpression goto 263 + exclusiveorexpression goto 264 + inclusiveorexpression goto 265 + conditionalandexpression goto 266 + conditionalorexpression goto 267 + conditionalexpression goto 268 + assignmentexpression goto 269 + lambdaexpression goto 219 + expression goto 374 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + classinstancecreationexpression goto 275 + assignment goto 276 + lefthandside goto 236 + methodinvocation goto 277 + castexpression goto 278 + + +state 302 + returnstatement : RETURN ';' . (194) + + . reduce 194 + + +state 303 + returnstatement : RETURN expression . ';' (195) + + ';' shift 375 + . error + + +state 304 + whilestatement : WHILE '(' . expression ')' statement (181) + + NEW shift 250 + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 261 + equalityexpression goto 262 + andexpression goto 263 + exclusiveorexpression goto 264 + inclusiveorexpression goto 265 + conditionalandexpression goto 266 + conditionalorexpression goto 267 + conditionalexpression goto 268 + assignmentexpression goto 269 + lambdaexpression goto 219 + expression goto 376 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + classinstancecreationexpression goto 275 + assignment goto 276 + lefthandside goto 236 + methodinvocation goto 277 + castexpression goto 278 + + +305: shift/reduce conflict (shift 62, reduce 243) on '.' +state 305 + qualifiedname : name . '.' IDENTIFIER (16) + methodinvocation : name . '(' ')' (229) + methodinvocation : name . '(' argumentlist ')' (230) + postfixexpression : name . (243) + + '.' shift 62 + '(' shift 310 + ABSTRACT reduce 243 + BOOLEAN reduce 243 + CHAR reduce 243 + FINAL reduce 243 + INSTANCEOF reduce 243 + INT reduce 243 + PRIVATE reduce 243 + PROTECTED reduce 243 + PUBLIC reduce 243 + STATIC reduce 243 + VOID reduce 243 + IDENTIFIER reduce 243 + EQUAL reduce 243 + LESSEQUAL reduce 243 + GREATEREQUAL reduce 243 + NOTEQUAL reduce 243 + LOGICALOR reduce 243 + LOGICALAND reduce 243 + INCREMENT reduce 243 + DECREMENT reduce 243 + ',' reduce 243 + ';' reduce 243 + '*' reduce 243 + '<' reduce 243 + '>' reduce 243 + '}' reduce 243 + ')' reduce 243 + '&' reduce 243 + '+' reduce 243 + '-' reduce 243 + '|' reduce 243 + '^' reduce 243 + '/' reduce 243 + '%' reduce 243 + + +state 306 + preincrementexpression : INCREMENT unaryexpression . (225) + + . reduce 225 + + +state 307 + predecrementexpression : DECREMENT unaryexpression . (226) + + . reduce 226 + + +state 308 + lambdaexpressionparameter : '(' ')' . (215) + + . reduce 215 + + +state 309 + formalparameterlist : formalparameterlist . ',' formalparameter (143) + lambdaexpressionparameter : '(' formalparameterlist . ')' (216) + + ',' shift 329 + ')' shift 377 + . error + + +state 310 + methodinvocation : name '(' . ')' (229) + methodinvocation : name '(' . argumentlist ')' (230) + + NEW shift 250 + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + ')' shift 378 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 261 + equalityexpression goto 262 + andexpression goto 263 + exclusiveorexpression goto 264 + inclusiveorexpression goto 265 + conditionalandexpression goto 266 + conditionalorexpression goto 267 + conditionalexpression goto 268 + assignmentexpression goto 269 + lambdaexpression goto 219 + expression goto 379 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + classinstancecreationexpression goto 275 + assignment goto 276 + lefthandside goto 236 + argumentlist goto 380 + methodinvocation goto 277 + castexpression goto 278 + + +state 311 + variabledeclarators : variabledeclarators . ',' variabledeclarator (138) + localvariabledeclaration : type variabledeclarators . (173) + + ',' shift 152 + ';' reduce 173 + + +state 312 + block : '{' blockstatements '}' . (95) + + . reduce 95 + + +state 313 + blockstatements : blockstatements blockstatement . (141) + + . reduce 141 + + +state 314 + localvariabledeclarationstatement : localvariabledeclaration ';' . (163) + + . reduce 163 + + +state 315 + lambdaassignmentoperator : LAMBDAASSIGNMENT . (212) + + . reduce 212 + + +state 316 + lambdaexpression : lambdaexpressionparameter lambdaassignmentoperator . lambdabody (217) + + NEW shift 250 + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '{' shift 139 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + block goto 381 + lambdabody goto 382 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 261 + equalityexpression goto 262 + andexpression goto 263 + exclusiveorexpression goto 264 + inclusiveorexpression goto 265 + conditionalandexpression goto 266 + conditionalorexpression goto 267 + conditionalexpression goto 268 + assignmentexpression goto 269 + lambdaexpression goto 219 + expression goto 383 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + classinstancecreationexpression goto 275 + assignment goto 276 + lefthandside goto 236 + methodinvocation goto 277 + castexpression goto 278 + + +state 317 + methodinvocation : primary '.' . IDENTIFIER '(' ')' (231) + methodinvocation : primary '.' . IDENTIFIER '(' argumentlist ')' (232) + + IDENTIFIER shift 384 + . error + + +state 318 + postincrementexpression : postfixexpression INCREMENT . (227) + + . reduce 227 + + +state 319 + postdecrementexpression : postfixexpression DECREMENT . (228) + + . reduce 228 + + +state 320 + expressionstatement : statementexpression ';' . (193) + + . reduce 193 + + +state 321 + assignmentoperator : PLUSEQUAL . (223) + + . reduce 223 + + +state 322 + assignmentoperator : MINUSEQUAL . (224) + + . reduce 224 + + +state 323 + assignmentoperator : TIMESEQUAL . (220) + + . reduce 220 + + +state 324 + assignmentoperator : DIVIDEEQUAL . (221) + + . reduce 221 + + +state 325 + assignmentoperator : MODULOEQUAL . (222) + + . reduce 222 + + +state 326 + assignmentoperator : '=' . (219) + + . reduce 219 + + +state 327 + assignment : lefthandside assignmentoperator . assignmentexpression (200) + assignment : lefthandside assignmentoperator . classinstancecreationexpression (201) + + NEW shift 250 + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 261 + equalityexpression goto 262 + andexpression goto 263 + exclusiveorexpression goto 264 + inclusiveorexpression goto 265 + conditionalandexpression goto 266 + conditionalorexpression goto 267 + conditionalexpression goto 268 + assignmentexpression goto 385 + lambdaexpression goto 219 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + classinstancecreationexpression goto 386 + assignment goto 276 + lefthandside goto 236 + methodinvocation goto 277 + castexpression goto 278 + + +state 328 + formalparameter : type variabledeclaratorid . (156) + + . reduce 156 + + +state 329 + formalparameterlist : formalparameterlist ',' . formalparameter (143) + + BOOLEAN shift 2 + CHAR shift 3 + INT shift 6 + IDENTIFIER shift 199 + . error + + variabledeclaratorid goto 240 + simplename goto 18 + classorinterfacetype goto 21 + integraltype goto 22 + numerictype goto 23 + primitivetype goto 24 + referencetype goto 25 + type goto 241 + formalparameter goto 387 + + +state 330 + methoddeclarator : IDENTIFIER '(' formalparameterlist ')' . (149) + + . reduce 149 + + +state 331 + boundedMethodParameters : boundedMethodParameters ',' boundedMethodParameter . (111) + + . reduce 111 + + +state 332 + methodheader : '<' boundedMethodParameters '>' VOID . methoddeclarator (124) + methodheader : '<' boundedMethodParameters '>' VOID . methoddeclarator throws (126) + + IDENTIFIER shift 141 + . error + + methoddeclarator goto 388 + + +state 333 + methodheader : '<' boundedMethodParameters '>' methoddeclarator . (129) + + . reduce 129 + + +state 334 + fielddeclaration : '<' boundedMethodParameters '>' type . fielddeclarator (89) + methodheader : '<' boundedMethodParameters '>' type . methoddeclarator (112) + methodheader : '<' boundedMethodParameters '>' type . methoddeclarator throws (117) + + BOOLEAN shift 2 + CHAR shift 3 + INT shift 6 + IDENTIFIER shift 88 + . error + + methoddeclarator goto 389 + fielddeclarator goto 390 + variabledeclarator goto 391 + variabledeclaratorid goto 101 + simplename goto 18 + classorinterfacetype goto 21 + integraltype goto 22 + numerictype goto 23 + primitivetype goto 24 + referencetype goto 25 + type goto 161 + + +state 335 + classtypelist : classtypelist ',' . classtype (147) + + IDENTIFIER shift 14 + . error + + simplename goto 18 + classtype goto 392 + classorinterfacetype goto 83 + + +state 336 + classinstancecreationexpression : NEW classtype . '(' ')' (233) + classinstancecreationexpression : NEW classtype . '(' argumentlist ')' (234) + + '(' shift 393 + . error + + +state 337 + type : primitivetype . (133) + type : primitivetype . '[' ']' (134) + castexpression : '(' primitivetype . ')' unaryexpression (266) + + ')' shift 394 + '[' shift 45 + IDENTIFIER reduce 133 + + +state 338 + unaryexpression : '+' unaryexpression . (239) + + . reduce 239 + + +state 339 + unaryexpression : '-' unaryexpression . (240) + + . reduce 240 + + +state 340 + unaryexpressionnotplusminus : '!' unaryexpression . (254) + + . reduce 254 + + +state 341 + multiplicativeexpression : multiplicativeexpression '*' . unaryexpression (283) + + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 305 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 395 + lambdaexpression goto 219 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + methodinvocation goto 277 + castexpression goto 278 + + +state 342 + multiplicativeexpression : multiplicativeexpression '/' . unaryexpression (284) + + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 305 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 396 + lambdaexpression goto 219 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + methodinvocation goto 277 + castexpression goto 278 + + +state 343 + multiplicativeexpression : multiplicativeexpression '%' . unaryexpression (285) + + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 305 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 397 + lambdaexpression goto 219 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + methodinvocation goto 277 + castexpression goto 278 + + +state 344 + additiveexpression : additiveexpression '+' . multiplicativeexpression (280) + + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 305 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 398 + lambdaexpression goto 219 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + methodinvocation goto 277 + castexpression goto 278 + + +state 345 + additiveexpression : additiveexpression '-' . multiplicativeexpression (281) + + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 305 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 399 + lambdaexpression goto 219 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + methodinvocation goto 277 + castexpression goto 278 + + +state 346 + relationalexpression : relationalexpression INSTANCEOF . referencetype (277) + + IDENTIFIER shift 14 + . error + + simplename goto 18 + classorinterfacetype goto 21 + referencetype goto 400 + + +state 347 + relationalexpression : relationalexpression LESSEQUAL . shiftexpression (275) + + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 305 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 401 + lambdaexpression goto 219 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + methodinvocation goto 277 + castexpression goto 278 + + +state 348 + relationalexpression : relationalexpression GREATEREQUAL . shiftexpression (276) + + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 305 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 402 + lambdaexpression goto 219 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + methodinvocation goto 277 + castexpression goto 278 + + +state 349 + relationalexpression : relationalexpression '<' . shiftexpression (273) + + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 305 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 403 + lambdaexpression goto 219 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + methodinvocation goto 277 + castexpression goto 278 + + +state 350 + relationalexpression : relationalexpression '>' . shiftexpression (274) + + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 305 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 404 + lambdaexpression goto 219 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + methodinvocation goto 277 + castexpression goto 278 + + +state 351 + equalityexpression : equalityexpression EQUAL . relationalexpression (270) + + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 305 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 405 + lambdaexpression goto 219 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + methodinvocation goto 277 + castexpression goto 278 + + +state 352 + equalityexpression : equalityexpression NOTEQUAL . relationalexpression (271) + + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 305 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 406 + lambdaexpression goto 219 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + methodinvocation goto 277 + castexpression goto 278 + + +state 353 + andexpression : andexpression '&' . equalityexpression (268) + + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 305 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 261 + equalityexpression goto 407 + lambdaexpression goto 219 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + methodinvocation goto 277 + castexpression goto 278 + + +state 354 + exclusiveorexpression : exclusiveorexpression '^' . andexpression (257) + + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 305 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 261 + equalityexpression goto 262 + andexpression goto 408 + lambdaexpression goto 219 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + methodinvocation goto 277 + castexpression goto 278 + + +state 355 + inclusiveorexpression : inclusiveorexpression '|' . exclusiveorexpression (248) + + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 305 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 261 + equalityexpression goto 262 + andexpression goto 263 + exclusiveorexpression goto 409 + lambdaexpression goto 219 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + methodinvocation goto 277 + castexpression goto 278 + + +state 356 + conditionalandexpression : conditionalandexpression LOGICALAND . inclusiveorexpression (236) + + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 305 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 261 + equalityexpression goto 262 + andexpression goto 263 + exclusiveorexpression goto 264 + inclusiveorexpression goto 410 + lambdaexpression goto 219 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + methodinvocation goto 277 + castexpression goto 278 + + +state 357 + conditionalorexpression : conditionalorexpression LOGICALOR . conditionalandexpression (211) + + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 305 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 261 + equalityexpression goto 262 + andexpression goto 263 + exclusiveorexpression goto 264 + inclusiveorexpression goto 265 + conditionalandexpression goto 411 + lambdaexpression goto 219 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + methodinvocation goto 277 + castexpression goto 278 + + +state 358 + constructordeclarator : simplename '(' formalparameterlist ')' . (97) + + . reduce 97 + + +state 359 + fielddeclarator : type variabledeclarator '=' expression . (85) + fielddeclarator : variabledeclarator '=' expression . (86) + + ABSTRACT reduce 86 + BOOLEAN reduce 86 + CHAR reduce 86 + FINAL reduce 86 + INT reduce 86 + PRIVATE reduce 86 + PROTECTED reduce 86 + PUBLIC reduce 86 + STATIC reduce 86 + VOID reduce 86 + IDENTIFIER reduce 86 + ';' reduce 85 + '<' reduce 86 + '}' reduce 86 + + +state 360 + fielddeclarator : type variabledeclarator '=' . expression (85) + + NEW shift 250 + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 261 + equalityexpression goto 262 + andexpression goto 263 + exclusiveorexpression goto 264 + inclusiveorexpression goto 265 + conditionalandexpression goto 266 + conditionalorexpression goto 267 + conditionalexpression goto 268 + assignmentexpression goto 269 + lambdaexpression goto 219 + expression goto 412 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + classinstancecreationexpression goto 275 + assignment goto 276 + lefthandside goto 236 + methodinvocation goto 277 + castexpression goto 278 + + +state 361 + methodheader : modifiers VOID methoddeclarator throws . (123) + + . reduce 123 + + +state 362 + methodheader : modifiers '<' boundedMethodParameters '>' . type methoddeclarator (115) + methodheader : modifiers '<' boundedMethodParameters '>' . type methoddeclarator throws (119) + methodheader : modifiers '<' boundedMethodParameters '>' . VOID methoddeclarator (125) + methodheader : modifiers '<' boundedMethodParameters '>' . VOID methoddeclarator throws (127) + + BOOLEAN shift 2 + CHAR shift 3 + INT shift 6 + VOID shift 413 + IDENTIFIER shift 14 + . error + + simplename goto 18 + classorinterfacetype goto 21 + integraltype goto 22 + numerictype goto 23 + primitivetype goto 24 + referencetype goto 25 + type goto 414 + + +state 363 + methodheader : modifiers type methoddeclarator throws . (118) + + . reduce 118 + + +state 364 + fielddeclaration : modifiers type variabledeclarators ';' . (92) + + . reduce 92 + + +state 365 + explicitconstructorinvocation : THIS '(' . ')' ';' (144) + explicitconstructorinvocation : THIS '(' . argumentlist ')' ';' (145) + + NEW shift 250 + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + ')' shift 415 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 261 + equalityexpression goto 262 + andexpression goto 263 + exclusiveorexpression goto 264 + inclusiveorexpression goto 265 + conditionalandexpression goto 266 + conditionalorexpression goto 267 + conditionalexpression goto 268 + assignmentexpression goto 269 + lambdaexpression goto 219 + expression goto 379 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + classinstancecreationexpression goto 275 + assignment goto 276 + lefthandside goto 236 + argumentlist goto 416 + methodinvocation goto 277 + castexpression goto 278 + + +state 366 + constructorbody : '{' blockstatements '}' . (100) + + . reduce 100 + + +state 367 + constructorbody : '{' explicitconstructorinvocation '}' . (99) + + . reduce 99 + + +state 368 + constructorbody : '{' explicitconstructorinvocation blockstatements . '}' (101) + blockstatements : blockstatements . blockstatement (141) + + BOOLEAN shift 2 + CHAR shift 3 + FOR shift 186 + IF shift 187 + INT shift 6 + RETURN shift 188 + THIS shift 189 + WHILE shift 190 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 199 + INCREMENT shift 200 + DECREMENT shift 201 + ';' shift 202 + '{' shift 139 + '}' shift 417 + '(' shift 204 + . error + + variabledeclarators goto 205 + variabledeclarator goto 206 + variabledeclaratorid goto 101 + simplename goto 207 + qualifiedname goto 35 + name goto 208 + classorinterfacetype goto 21 + integraltype goto 22 + numerictype goto 23 + primitivetype goto 24 + referencetype goto 25 + type goto 209 + block goto 210 + localvariabledeclarationstatement goto 212 + localvariabledeclaration goto 213 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 218 + lambdaexpression goto 219 + statementexpression goto 220 + preincrementexpression goto 221 + predecrementexpression goto 222 + postincrementexpression goto 223 + postdecrementexpression goto 224 + expressionstatement goto 225 + statementwithouttrailingsubstatement goto 226 + blockstatement goto 313 + statement goto 228 + whilestatement goto 229 + forstatement goto 230 + ifthenstatement goto 231 + ifthenelsestatement goto 232 + emptystatement goto 233 + returnstatement goto 234 + assignment goto 235 + lefthandside goto 236 + methodinvocation goto 237 + + +state 369 + methodheader : '<' boundedMethodParameters '>' type . methoddeclarator (112) + methodheader : '<' boundedMethodParameters '>' type . methoddeclarator throws (117) + + IDENTIFIER shift 141 + . error + + methoddeclarator goto 389 + + +state 370 + constantdeclaration : modifiers type IDENTIFIER '=' . expression ';' (83) + + NEW shift 250 + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 261 + equalityexpression goto 262 + andexpression goto 263 + exclusiveorexpression goto 264 + inclusiveorexpression goto 265 + conditionalandexpression goto 266 + conditionalorexpression goto 267 + conditionalexpression goto 268 + assignmentexpression goto 269 + lambdaexpression goto 219 + expression goto 418 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + classinstancecreationexpression goto 275 + assignment goto 276 + lefthandside goto 236 + methodinvocation goto 277 + castexpression goto 278 + + +state 371 + boundedclassidentifierlist : boundedclassidentifierlist '&' referencetype . (109) + + . reduce 109 + + +state 372 + forstatement : FOR '(' ';' . expression ';' expression ')' statement (185) + forstatement : FOR '(' ';' . expression ';' ')' statement (187) + forstatement : FOR '(' ';' . ';' expression ')' statement (188) + forstatement : FOR '(' ';' . ';' ')' statement (189) + + NEW shift 250 + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + ';' shift 419 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 261 + equalityexpression goto 262 + andexpression goto 263 + exclusiveorexpression goto 264 + inclusiveorexpression goto 265 + conditionalandexpression goto 266 + conditionalorexpression goto 267 + conditionalexpression goto 268 + assignmentexpression goto 269 + lambdaexpression goto 219 + expression goto 420 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + classinstancecreationexpression goto 275 + assignment goto 276 + lefthandside goto 236 + methodinvocation goto 277 + castexpression goto 278 + + +state 373 + forstatement : FOR '(' expression . ';' expression ';' expression ')' statement (182) + forstatement : FOR '(' expression . ';' expression ';' ')' statement (183) + forstatement : FOR '(' expression . ';' ';' expression ')' statement (184) + forstatement : FOR '(' expression . ';' ';' ')' statement (186) + + ';' shift 421 + . error + + +state 374 + ifthenstatement : IF '(' expression . ')' statement (179) + ifthenelsestatement : IF '(' expression . ')' statementnoshortif ELSE statement (180) + + ')' shift 422 + . error + + +state 375 + returnstatement : RETURN expression ';' . (195) + + . reduce 195 + + +state 376 + whilestatement : WHILE '(' expression . ')' statement (181) + + ')' shift 423 + . error + + +state 377 + lambdaexpressionparameter : '(' formalparameterlist ')' . (216) + + . reduce 216 + + +state 378 + methodinvocation : name '(' ')' . (229) + + . reduce 229 + + +state 379 + argumentlist : expression . (158) + + . reduce 158 + + +state 380 + argumentlist : argumentlist . ',' expression (159) + methodinvocation : name '(' argumentlist . ')' (230) + + ',' shift 424 + ')' shift 425 + . error + + +state 381 + lambdabody : block . (213) + + . reduce 213 + + +state 382 + lambdaexpression : lambdaexpressionparameter lambdaassignmentoperator lambdabody . (217) + + . reduce 217 + + +state 383 + lambdabody : expression . (214) + + . reduce 214 + + +state 384 + methodinvocation : primary '.' IDENTIFIER . '(' ')' (231) + methodinvocation : primary '.' IDENTIFIER . '(' argumentlist ')' (232) + + '(' shift 426 + . error + + +state 385 + assignment : lefthandside assignmentoperator assignmentexpression . (200) + + . reduce 200 + + +state 386 + assignment : lefthandside assignmentoperator classinstancecreationexpression . (201) + + . reduce 201 + + +state 387 + formalparameterlist : formalparameterlist ',' formalparameter . (143) + + . reduce 143 + + +state 388 + methodheader : '<' boundedMethodParameters '>' VOID methoddeclarator . (124) + methodheader : '<' boundedMethodParameters '>' VOID methoddeclarator . throws (126) + + THROWS shift 148 + ';' reduce 124 + '{' reduce 124 + + throws goto 427 + + +state 389 + methodheader : '<' boundedMethodParameters '>' type methoddeclarator . (112) + methodheader : '<' boundedMethodParameters '>' type methoddeclarator . throws (117) + + THROWS shift 148 + ';' reduce 112 + '{' reduce 112 + + throws goto 428 + + +state 390 + fielddeclaration : '<' boundedMethodParameters '>' type fielddeclarator . (89) + + . reduce 89 + + +state 391 + fielddeclarator : variabledeclarator . '=' expression (86) + + '=' shift 155 + . error + + +state 392 + classtypelist : classtypelist ',' classtype . (147) + + . reduce 147 + + +state 393 + classinstancecreationexpression : NEW classtype '(' . ')' (233) + classinstancecreationexpression : NEW classtype '(' . argumentlist ')' (234) + + NEW shift 250 + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + ')' shift 429 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 261 + equalityexpression goto 262 + andexpression goto 263 + exclusiveorexpression goto 264 + inclusiveorexpression goto 265 + conditionalandexpression goto 266 + conditionalorexpression goto 267 + conditionalexpression goto 268 + assignmentexpression goto 269 + lambdaexpression goto 219 + expression goto 379 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + classinstancecreationexpression goto 275 + assignment goto 276 + lefthandside goto 236 + argumentlist goto 430 + methodinvocation goto 277 + castexpression goto 278 + + +state 394 + castexpression : '(' primitivetype ')' . unaryexpression (266) + + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 305 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 431 + lambdaexpression goto 219 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + methodinvocation goto 277 + castexpression goto 278 + + +state 395 + multiplicativeexpression : multiplicativeexpression '*' unaryexpression . (283) + + . reduce 283 + + +state 396 + multiplicativeexpression : multiplicativeexpression '/' unaryexpression . (284) + + . reduce 284 + + +state 397 + multiplicativeexpression : multiplicativeexpression '%' unaryexpression . (285) + + . reduce 285 + + +398: shift/reduce conflict (shift 341, reduce 280) on '*' +398: shift/reduce conflict (shift 342, reduce 280) on '/' +398: shift/reduce conflict (shift 343, reduce 280) on '%' +state 398 + additiveexpression : additiveexpression '+' multiplicativeexpression . (280) + multiplicativeexpression : multiplicativeexpression . '*' unaryexpression (283) + multiplicativeexpression : multiplicativeexpression . '/' unaryexpression (284) + multiplicativeexpression : multiplicativeexpression . '%' unaryexpression (285) + + '*' shift 341 + '/' shift 342 + '%' shift 343 + ABSTRACT reduce 280 + BOOLEAN reduce 280 + CHAR reduce 280 + FINAL reduce 280 + INSTANCEOF reduce 280 + INT reduce 280 + PRIVATE reduce 280 + PROTECTED reduce 280 + PUBLIC reduce 280 + STATIC reduce 280 + VOID reduce 280 + IDENTIFIER reduce 280 + EQUAL reduce 280 + LESSEQUAL reduce 280 + GREATEREQUAL reduce 280 + NOTEQUAL reduce 280 + LOGICALOR reduce 280 + LOGICALAND reduce 280 + INCREMENT reduce 280 + DECREMENT reduce 280 + ',' reduce 280 + ';' reduce 280 + '.' reduce 280 + '<' reduce 280 + '>' reduce 280 + '}' reduce 280 + ')' reduce 280 + '&' reduce 280 + '+' reduce 280 + '-' reduce 280 + '|' reduce 280 + '^' reduce 280 + + +399: shift/reduce conflict (shift 341, reduce 281) on '*' +399: shift/reduce conflict (shift 342, reduce 281) on '/' +399: shift/reduce conflict (shift 343, reduce 281) on '%' +state 399 + additiveexpression : additiveexpression '-' multiplicativeexpression . (281) + multiplicativeexpression : multiplicativeexpression . '*' unaryexpression (283) + multiplicativeexpression : multiplicativeexpression . '/' unaryexpression (284) + multiplicativeexpression : multiplicativeexpression . '%' unaryexpression (285) + + '*' shift 341 + '/' shift 342 + '%' shift 343 + ABSTRACT reduce 281 + BOOLEAN reduce 281 + CHAR reduce 281 + FINAL reduce 281 + INSTANCEOF reduce 281 + INT reduce 281 + PRIVATE reduce 281 + PROTECTED reduce 281 + PUBLIC reduce 281 + STATIC reduce 281 + VOID reduce 281 + IDENTIFIER reduce 281 + EQUAL reduce 281 + LESSEQUAL reduce 281 + GREATEREQUAL reduce 281 + NOTEQUAL reduce 281 + LOGICALOR reduce 281 + LOGICALAND reduce 281 + INCREMENT reduce 281 + DECREMENT reduce 281 + ',' reduce 281 + ';' reduce 281 + '.' reduce 281 + '<' reduce 281 + '>' reduce 281 + '}' reduce 281 + ')' reduce 281 + '&' reduce 281 + '+' reduce 281 + '-' reduce 281 + '|' reduce 281 + '^' reduce 281 + + +state 400 + relationalexpression : relationalexpression INSTANCEOF referencetype . (277) + + . reduce 277 + + +state 401 + relationalexpression : relationalexpression LESSEQUAL shiftexpression . (275) + + . reduce 275 + + +state 402 + relationalexpression : relationalexpression GREATEREQUAL shiftexpression . (276) + + . reduce 276 + + +state 403 + relationalexpression : relationalexpression '<' shiftexpression . (273) + + . reduce 273 + + +state 404 + relationalexpression : relationalexpression '>' shiftexpression . (274) + + . reduce 274 + + +405: shift/reduce conflict (shift 346, reduce 270) on INSTANCEOF +405: shift/reduce conflict (shift 347, reduce 270) on LESSEQUAL +405: shift/reduce conflict (shift 348, reduce 270) on GREATEREQUAL +405: shift/reduce conflict (shift 349, reduce 270) on '<' +405: shift/reduce conflict (shift 350, reduce 270) on '>' +state 405 + equalityexpression : equalityexpression EQUAL relationalexpression . (270) + relationalexpression : relationalexpression . '<' shiftexpression (273) + relationalexpression : relationalexpression . '>' shiftexpression (274) + relationalexpression : relationalexpression . LESSEQUAL shiftexpression (275) + relationalexpression : relationalexpression . GREATEREQUAL shiftexpression (276) + relationalexpression : relationalexpression . INSTANCEOF referencetype (277) + + INSTANCEOF shift 346 + LESSEQUAL shift 347 + GREATEREQUAL shift 348 + '<' shift 349 + '>' shift 350 + ABSTRACT reduce 270 + BOOLEAN reduce 270 + CHAR reduce 270 + FINAL reduce 270 + INT reduce 270 + PRIVATE reduce 270 + PROTECTED reduce 270 + PUBLIC reduce 270 + STATIC reduce 270 + VOID reduce 270 + IDENTIFIER reduce 270 + EQUAL reduce 270 + NOTEQUAL reduce 270 + LOGICALOR reduce 270 + LOGICALAND reduce 270 + INCREMENT reduce 270 + DECREMENT reduce 270 + ',' reduce 270 + ';' reduce 270 + '.' reduce 270 + '*' reduce 270 + '}' reduce 270 + ')' reduce 270 + '&' reduce 270 + '+' reduce 270 + '-' reduce 270 + '|' reduce 270 + '^' reduce 270 + '/' reduce 270 + '%' reduce 270 + + +406: shift/reduce conflict (shift 346, reduce 271) on INSTANCEOF +406: shift/reduce conflict (shift 347, reduce 271) on LESSEQUAL +406: shift/reduce conflict (shift 348, reduce 271) on GREATEREQUAL +406: shift/reduce conflict (shift 349, reduce 271) on '<' +406: shift/reduce conflict (shift 350, reduce 271) on '>' state 406 + equalityexpression : equalityexpression NOTEQUAL relationalexpression . (271) + relationalexpression : relationalexpression . '<' shiftexpression (273) + relationalexpression : relationalexpression . '>' shiftexpression (274) + relationalexpression : relationalexpression . LESSEQUAL shiftexpression (275) + relationalexpression : relationalexpression . GREATEREQUAL shiftexpression (276) + relationalexpression : relationalexpression . INSTANCEOF referencetype (277) + + INSTANCEOF shift 346 + LESSEQUAL shift 347 + GREATEREQUAL shift 348 + '<' shift 349 + '>' shift 350 + ABSTRACT reduce 271 + BOOLEAN reduce 271 + CHAR reduce 271 + FINAL reduce 271 + INT reduce 271 + PRIVATE reduce 271 + PROTECTED reduce 271 + PUBLIC reduce 271 + STATIC reduce 271 + VOID reduce 271 + IDENTIFIER reduce 271 + EQUAL reduce 271 + NOTEQUAL reduce 271 + LOGICALOR reduce 271 + LOGICALAND reduce 271 + INCREMENT reduce 271 + DECREMENT reduce 271 + ',' reduce 271 + ';' reduce 271 + '.' reduce 271 + '*' reduce 271 + '}' reduce 271 + ')' reduce 271 + '&' reduce 271 + '+' reduce 271 + '-' reduce 271 + '|' reduce 271 + '^' reduce 271 + '/' reduce 271 + '%' reduce 271 + + +407: shift/reduce conflict (shift 351, reduce 268) on EQUAL +407: shift/reduce conflict (shift 352, reduce 268) on NOTEQUAL +state 407 + andexpression : andexpression '&' equalityexpression . (268) + equalityexpression : equalityexpression . EQUAL relationalexpression (270) + equalityexpression : equalityexpression . NOTEQUAL relationalexpression (271) + + EQUAL shift 351 + NOTEQUAL shift 352 + ABSTRACT reduce 268 + BOOLEAN reduce 268 + CHAR reduce 268 + FINAL reduce 268 + INSTANCEOF reduce 268 + INT reduce 268 + PRIVATE reduce 268 + PROTECTED reduce 268 + PUBLIC reduce 268 + STATIC reduce 268 + VOID reduce 268 + IDENTIFIER reduce 268 + LESSEQUAL reduce 268 + GREATEREQUAL reduce 268 + LOGICALOR reduce 268 + LOGICALAND reduce 268 + INCREMENT reduce 268 + DECREMENT reduce 268 + ',' reduce 268 + ';' reduce 268 + '.' reduce 268 + '*' reduce 268 + '<' reduce 268 + '>' reduce 268 + '}' reduce 268 + ')' reduce 268 + '&' reduce 268 + '+' reduce 268 + '-' reduce 268 + '|' reduce 268 + '^' reduce 268 + '/' reduce 268 + '%' reduce 268 + + +408: shift/reduce conflict (shift 353, reduce 257) on '&' +state 408 + exclusiveorexpression : exclusiveorexpression '^' andexpression . (257) + andexpression : andexpression . '&' equalityexpression (268) + + '&' shift 353 + ABSTRACT reduce 257 + BOOLEAN reduce 257 + CHAR reduce 257 + FINAL reduce 257 + INSTANCEOF reduce 257 + INT reduce 257 + PRIVATE reduce 257 + PROTECTED reduce 257 + PUBLIC reduce 257 + STATIC reduce 257 + VOID reduce 257 + IDENTIFIER reduce 257 + EQUAL reduce 257 + LESSEQUAL reduce 257 + GREATEREQUAL reduce 257 + NOTEQUAL reduce 257 + LOGICALOR reduce 257 + LOGICALAND reduce 257 + INCREMENT reduce 257 + DECREMENT reduce 257 + ',' reduce 257 + ';' reduce 257 + '.' reduce 257 + '*' reduce 257 + '<' reduce 257 + '>' reduce 257 + '}' reduce 257 + ')' reduce 257 + '+' reduce 257 + '-' reduce 257 + '|' reduce 257 + '^' reduce 257 + '/' reduce 257 + '%' reduce 257 + + +409: shift/reduce conflict (shift 354, reduce 248) on '^' +state 409 + inclusiveorexpression : inclusiveorexpression '|' exclusiveorexpression . (248) + exclusiveorexpression : exclusiveorexpression . '^' andexpression (257) + + '^' shift 354 + ABSTRACT reduce 248 + BOOLEAN reduce 248 + CHAR reduce 248 + FINAL reduce 248 + INSTANCEOF reduce 248 + INT reduce 248 + PRIVATE reduce 248 + PROTECTED reduce 248 + PUBLIC reduce 248 + STATIC reduce 248 + VOID reduce 248 + IDENTIFIER reduce 248 + EQUAL reduce 248 + LESSEQUAL reduce 248 + GREATEREQUAL reduce 248 + NOTEQUAL reduce 248 + LOGICALOR reduce 248 + LOGICALAND reduce 248 + INCREMENT reduce 248 + DECREMENT reduce 248 + ',' reduce 248 + ';' reduce 248 + '.' reduce 248 + '*' reduce 248 + '<' reduce 248 + '>' reduce 248 + '}' reduce 248 + ')' reduce 248 + '&' reduce 248 + '+' reduce 248 + '-' reduce 248 + '|' reduce 248 + '/' reduce 248 + '%' reduce 248 + + +410: shift/reduce conflict (shift 355, reduce 236) on '|' +state 410 + conditionalandexpression : conditionalandexpression LOGICALAND inclusiveorexpression . (236) + inclusiveorexpression : inclusiveorexpression . '|' exclusiveorexpression (248) + + '|' shift 355 + ABSTRACT reduce 236 + BOOLEAN reduce 236 + CHAR reduce 236 + FINAL reduce 236 + INSTANCEOF reduce 236 + INT reduce 236 + PRIVATE reduce 236 + PROTECTED reduce 236 + PUBLIC reduce 236 + STATIC reduce 236 + VOID reduce 236 + IDENTIFIER reduce 236 + EQUAL reduce 236 + LESSEQUAL reduce 236 + GREATEREQUAL reduce 236 + NOTEQUAL reduce 236 + LOGICALOR reduce 236 + LOGICALAND reduce 236 + INCREMENT reduce 236 + DECREMENT reduce 236 + ',' reduce 236 + ';' reduce 236 + '.' reduce 236 + '*' reduce 236 + '<' reduce 236 + '>' reduce 236 + '}' reduce 236 + ')' reduce 236 + '&' reduce 236 + '+' reduce 236 + '-' reduce 236 + '^' reduce 236 + '/' reduce 236 + '%' reduce 236 + + +411: shift/reduce conflict (shift 356, reduce 211) on LOGICALAND +state 411 + conditionalorexpression : conditionalorexpression LOGICALOR conditionalandexpression . (211) + conditionalandexpression : conditionalandexpression . LOGICALAND inclusiveorexpression (236) + + LOGICALAND shift 356 + ABSTRACT reduce 211 + BOOLEAN reduce 211 + CHAR reduce 211 + FINAL reduce 211 + INSTANCEOF reduce 211 + INT reduce 211 + PRIVATE reduce 211 + PROTECTED reduce 211 + PUBLIC reduce 211 + STATIC reduce 211 + VOID reduce 211 + IDENTIFIER reduce 211 + EQUAL reduce 211 + LESSEQUAL reduce 211 + GREATEREQUAL reduce 211 + NOTEQUAL reduce 211 + LOGICALOR reduce 211 + INCREMENT reduce 211 + DECREMENT reduce 211 + ',' reduce 211 + ';' reduce 211 + '.' reduce 211 + '*' reduce 211 + '<' reduce 211 + '>' reduce 211 + '}' reduce 211 + ')' reduce 211 + '&' reduce 211 + '+' reduce 211 + '-' reduce 211 + '|' reduce 211 + '^' reduce 211 + '/' reduce 211 + '%' reduce 211 + + +state 412 fielddeclarator : type variabledeclarator '=' expression . (85) . reduce 85 -state 407 - methodheader : modifiers '<' boundedMethodParameters '>' VOID . methoddeclarator (124) - methodheader : modifiers '<' boundedMethodParameters '>' VOID . methoddeclarator throws (126) - - IDENTIFIER shift 140 - . error - - methoddeclarator goto 426 - - -state 408 - methodheader : modifiers '<' boundedMethodParameters '>' type . methoddeclarator (114) - methodheader : modifiers '<' boundedMethodParameters '>' type . methoddeclarator throws (118) - - IDENTIFIER shift 140 - . error - - methoddeclarator goto 427 - - -state 409 - explicitconstructorinvocation : THIS '(' ')' . ';' (143) - - ';' shift 428 - . error - - -state 410 - explicitconstructorinvocation : THIS '(' argumentlist . ')' ';' (144) - argumentlist : argumentlist . ',' expression (158) - - ',' shift 418 - ')' shift 429 - . error - - -state 411 - constructorbody : '{' explicitconstructorinvocation blockstatements '}' . (100) - - . reduce 100 - - -state 412 - constantdeclaration : modifiers type IDENTIFIER '=' expression . ';' (83) - - ';' shift 430 - . error - - state 413 - forstatement : FOR '(' ';' ';' . expression ')' statement (187) - forstatement : FOR '(' ';' ';' . ')' statement (188) + methodheader : modifiers '<' boundedMethodParameters '>' VOID . methoddeclarator (125) + methodheader : modifiers '<' boundedMethodParameters '>' VOID . methoddeclarator throws (127) - NEW shift 248 - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - ')' shift 431 - '+' shift 250 - '-' shift 251 - '!' shift 252 + IDENTIFIER shift 141 . error - simplename goto 34 - qualifiedname goto 35 - name goto 206 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 259 - equalityexpression goto 260 - andexpression goto 261 - exclusiveorexpression goto 262 - inclusiveorexpression goto 263 - conditionalandexpression goto 264 - conditionalorexpression goto 265 - conditionalexpression goto 266 - assignmentexpression goto 267 - lambdaexpression goto 217 - expression goto 432 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - classinstancecreationexpression goto 273 - assignment goto 274 - lefthandside goto 234 - methodinvocation goto 275 - castexpression goto 276 + methoddeclarator goto 432 state 414 - forstatement : FOR '(' ';' expression . ';' expression ')' statement (184) - forstatement : FOR '(' ';' expression . ';' ')' statement (186) + methodheader : modifiers '<' boundedMethodParameters '>' type . methoddeclarator (115) + methodheader : modifiers '<' boundedMethodParameters '>' type . methoddeclarator throws (119) - ';' shift 433 + IDENTIFIER shift 141 . error + methoddeclarator goto 433 + state 415 - forstatement : FOR '(' expression ';' . expression ';' expression ')' statement (181) - forstatement : FOR '(' expression ';' . expression ';' ')' statement (182) - forstatement : FOR '(' expression ';' . ';' expression ')' statement (183) - forstatement : FOR '(' expression ';' . ';' ')' statement (185) + explicitconstructorinvocation : THIS '(' ')' . ';' (144) - NEW shift 248 - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 ';' shift 434 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 . error - simplename goto 34 - qualifiedname goto 35 - name goto 206 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 259 - equalityexpression goto 260 - andexpression goto 261 - exclusiveorexpression goto 262 - inclusiveorexpression goto 263 - conditionalandexpression goto 264 - conditionalorexpression goto 265 - conditionalexpression goto 266 - assignmentexpression goto 267 - lambdaexpression goto 217 - expression goto 435 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - classinstancecreationexpression goto 273 - assignment goto 274 - lefthandside goto 234 - methodinvocation goto 275 - castexpression goto 276 - state 416 - ifthenstatement : IF '(' expression ')' . statement (178) - ifthenelsestatement : IF '(' expression ')' . statementnoshortif ELSE statement (179) + explicitconstructorinvocation : THIS '(' argumentlist . ')' ';' (145) + argumentlist : argumentlist . ',' expression (159) - FOR shift 184 - IF shift 436 - RETURN shift 186 - THIS shift 187 - WHILE shift 437 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - ';' shift 200 - '{' shift 138 - '(' shift 202 + ',' shift 424 + ')' shift 435 . error - simplename goto 34 - qualifiedname goto 35 - name goto 206 - block goto 208 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 216 - lambdaexpression goto 217 - statementexpression goto 218 - preincrementexpression goto 219 - predecrementexpression goto 220 - postincrementexpression goto 221 - postdecrementexpression goto 222 - expressionstatement goto 223 - statementwithouttrailingsubstatement goto 438 - statement goto 439 - statementnoshortif goto 440 - whilestatement goto 227 - forstatement goto 228 - whilestatementnoshortif goto 441 - ifthenstatement goto 229 - ifthenelsestatement goto 230 - ifthenelsestatementnoshortif goto 442 - emptystatement goto 231 - returnstatement goto 232 - assignment goto 233 - lefthandside goto 234 - methodinvocation goto 235 - state 417 - whilestatement : WHILE '(' expression ')' . statement (180) + constructorbody : '{' explicitconstructorinvocation blockstatements '}' . (101) - FOR shift 184 - IF shift 185 - RETURN shift 186 - THIS shift 187 - WHILE shift 188 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - ';' shift 200 - '{' shift 138 - '(' shift 202 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 206 - block goto 208 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 216 - lambdaexpression goto 217 - statementexpression goto 218 - preincrementexpression goto 219 - predecrementexpression goto 220 - postincrementexpression goto 221 - postdecrementexpression goto 222 - expressionstatement goto 223 - statementwithouttrailingsubstatement goto 224 - statement goto 443 - whilestatement goto 227 - forstatement goto 228 - ifthenstatement goto 229 - ifthenelsestatement goto 230 - emptystatement goto 231 - returnstatement goto 232 - assignment goto 233 - lefthandside goto 234 - methodinvocation goto 235 + . reduce 101 state 418 - argumentlist : argumentlist ',' . expression (158) + constantdeclaration : modifiers type IDENTIFIER '=' expression . ';' (83) - NEW shift 248 - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 + ';' shift 436 . error - simplename goto 34 - qualifiedname goto 35 - name goto 206 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 259 - equalityexpression goto 260 - andexpression goto 261 - exclusiveorexpression goto 262 - inclusiveorexpression goto 263 - conditionalandexpression goto 264 - conditionalorexpression goto 265 - conditionalexpression goto 266 - assignmentexpression goto 267 - lambdaexpression goto 217 - expression goto 444 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - classinstancecreationexpression goto 273 - assignment goto 274 - lefthandside goto 234 - methodinvocation goto 275 - castexpression goto 276 - state 419 - methodinvocation : name '(' argumentlist ')' . (229) + forstatement : FOR '(' ';' ';' . expression ')' statement (188) + forstatement : FOR '(' ';' ';' . ')' statement (189) - . reduce 229 - - -state 420 - methodinvocation : primary '.' IDENTIFIER '(' . ')' (230) - methodinvocation : primary '.' IDENTIFIER '(' . argumentlist ')' (231) - - NEW shift 248 - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 + NEW shift 250 + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - ')' shift 445 - '+' shift 250 - '-' shift 251 - '!' shift 252 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + ')' shift 437 + '+' shift 252 + '-' shift 253 + '!' shift 254 . error simplename goto 34 qualifiedname goto 35 - name goto 206 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 259 - equalityexpression goto 260 - andexpression goto 261 - exclusiveorexpression goto 262 - inclusiveorexpression goto 263 - conditionalandexpression goto 264 - conditionalorexpression goto 265 - conditionalexpression goto 266 - assignmentexpression goto 267 - lambdaexpression goto 217 - expression goto 375 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - classinstancecreationexpression goto 273 - assignment goto 274 - lefthandside goto 234 - argumentlist goto 446 - methodinvocation goto 275 - castexpression goto 276 + name goto 208 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 261 + equalityexpression goto 262 + andexpression goto 263 + exclusiveorexpression goto 264 + inclusiveorexpression goto 265 + conditionalandexpression goto 266 + conditionalorexpression goto 267 + conditionalexpression goto 268 + assignmentexpression goto 269 + lambdaexpression goto 219 + expression goto 438 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + classinstancecreationexpression goto 275 + assignment goto 276 + lefthandside goto 236 + methodinvocation goto 277 + castexpression goto 278 + + +state 420 + forstatement : FOR '(' ';' expression . ';' expression ')' statement (185) + forstatement : FOR '(' ';' expression . ';' ')' statement (187) + + ';' shift 439 + . error state 421 - methodheader : '<' boundedMethodParameters '>' VOID methoddeclarator throws . (125) + forstatement : FOR '(' expression ';' . expression ';' expression ')' statement (182) + forstatement : FOR '(' expression ';' . expression ';' ')' statement (183) + forstatement : FOR '(' expression ';' . ';' expression ')' statement (184) + forstatement : FOR '(' expression ';' . ';' ')' statement (186) - . reduce 125 + NEW shift 250 + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + ';' shift 440 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 261 + equalityexpression goto 262 + andexpression goto 263 + exclusiveorexpression goto 264 + inclusiveorexpression goto 265 + conditionalandexpression goto 266 + conditionalorexpression goto 267 + conditionalexpression goto 268 + assignmentexpression goto 269 + lambdaexpression goto 219 + expression goto 441 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + classinstancecreationexpression goto 275 + assignment goto 276 + lefthandside goto 236 + methodinvocation goto 277 + castexpression goto 278 state 422 - methodheader : '<' boundedMethodParameters '>' type methoddeclarator throws . (116) + ifthenstatement : IF '(' expression ')' . statement (179) + ifthenelsestatement : IF '(' expression ')' . statementnoshortif ELSE statement (180) - . reduce 116 + FOR shift 186 + IF shift 442 + RETURN shift 188 + THIS shift 189 + WHILE shift 443 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + ';' shift 202 + '{' shift 139 + '(' shift 204 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + block goto 210 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 218 + lambdaexpression goto 219 + statementexpression goto 220 + preincrementexpression goto 221 + predecrementexpression goto 222 + postincrementexpression goto 223 + postdecrementexpression goto 224 + expressionstatement goto 225 + statementwithouttrailingsubstatement goto 444 + statement goto 445 + statementnoshortif goto 446 + whilestatement goto 229 + forstatement goto 230 + whilestatementnoshortif goto 447 + ifthenstatement goto 231 + ifthenelsestatement goto 232 + ifthenelsestatementnoshortif goto 448 + emptystatement goto 233 + returnstatement goto 234 + assignment goto 235 + lefthandside goto 236 + methodinvocation goto 237 state 423 - classinstancecreationexpression : NEW classtype '(' ')' . (232) + whilestatement : WHILE '(' expression ')' . statement (181) - . reduce 232 + FOR shift 186 + IF shift 187 + RETURN shift 188 + THIS shift 189 + WHILE shift 190 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + ';' shift 202 + '{' shift 139 + '(' shift 204 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + block goto 210 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 218 + lambdaexpression goto 219 + statementexpression goto 220 + preincrementexpression goto 221 + predecrementexpression goto 222 + postincrementexpression goto 223 + postdecrementexpression goto 224 + expressionstatement goto 225 + statementwithouttrailingsubstatement goto 226 + statement goto 449 + whilestatement goto 229 + forstatement goto 230 + ifthenstatement goto 231 + ifthenelsestatement goto 232 + emptystatement goto 233 + returnstatement goto 234 + assignment goto 235 + lefthandside goto 236 + methodinvocation goto 237 state 424 - argumentlist : argumentlist . ',' expression (158) - classinstancecreationexpression : NEW classtype '(' argumentlist . ')' (233) + argumentlist : argumentlist ',' . expression (159) - ',' shift 418 - ')' shift 447 + NEW shift 250 + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 . error + simplename goto 34 + qualifiedname goto 35 + name goto 208 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 261 + equalityexpression goto 262 + andexpression goto 263 + exclusiveorexpression goto 264 + inclusiveorexpression goto 265 + conditionalandexpression goto 266 + conditionalorexpression goto 267 + conditionalexpression goto 268 + assignmentexpression goto 269 + lambdaexpression goto 219 + expression goto 450 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + classinstancecreationexpression goto 275 + assignment goto 276 + lefthandside goto 236 + methodinvocation goto 277 + castexpression goto 278 + state 425 - castexpression : '(' primitivetype ')' unaryexpression . (265) + methodinvocation : name '(' argumentlist ')' . (230) - . reduce 265 + . reduce 230 state 426 - methodheader : modifiers '<' boundedMethodParameters '>' VOID methoddeclarator . (124) - methodheader : modifiers '<' boundedMethodParameters '>' VOID methoddeclarator . throws (126) + methodinvocation : primary '.' IDENTIFIER '(' . ')' (231) + methodinvocation : primary '.' IDENTIFIER '(' . argumentlist ')' (232) - THROWS shift 147 - ';' reduce 124 - '{' reduce 124 + NEW shift 250 + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + ')' shift 451 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error - throws goto 448 + simplename goto 34 + qualifiedname goto 35 + name goto 208 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 261 + equalityexpression goto 262 + andexpression goto 263 + exclusiveorexpression goto 264 + inclusiveorexpression goto 265 + conditionalandexpression goto 266 + conditionalorexpression goto 267 + conditionalexpression goto 268 + assignmentexpression goto 269 + lambdaexpression goto 219 + expression goto 379 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + classinstancecreationexpression goto 275 + assignment goto 276 + lefthandside goto 236 + argumentlist goto 452 + methodinvocation goto 277 + castexpression goto 278 state 427 - methodheader : modifiers '<' boundedMethodParameters '>' type methoddeclarator . (114) - methodheader : modifiers '<' boundedMethodParameters '>' type methoddeclarator . throws (118) + methodheader : '<' boundedMethodParameters '>' VOID methoddeclarator throws . (126) - THROWS shift 147 - ';' reduce 114 - '{' reduce 114 - - throws goto 449 + . reduce 126 state 428 - explicitconstructorinvocation : THIS '(' ')' ';' . (143) + methodheader : '<' boundedMethodParameters '>' type methoddeclarator throws . (117) - . reduce 143 + . reduce 117 state 429 - explicitconstructorinvocation : THIS '(' argumentlist ')' . ';' (144) + classinstancecreationexpression : NEW classtype '(' ')' . (233) - ';' shift 450 - . error + . reduce 233 state 430 + argumentlist : argumentlist . ',' expression (159) + classinstancecreationexpression : NEW classtype '(' argumentlist . ')' (234) + + ',' shift 424 + ')' shift 453 + . error + + +state 431 + castexpression : '(' primitivetype ')' unaryexpression . (266) + + . reduce 266 + + +state 432 + methodheader : modifiers '<' boundedMethodParameters '>' VOID methoddeclarator . (125) + methodheader : modifiers '<' boundedMethodParameters '>' VOID methoddeclarator . throws (127) + + THROWS shift 148 + ';' reduce 125 + '{' reduce 125 + + throws goto 454 + + +state 433 + methodheader : modifiers '<' boundedMethodParameters '>' type methoddeclarator . (115) + methodheader : modifiers '<' boundedMethodParameters '>' type methoddeclarator . throws (119) + + THROWS shift 148 + ';' reduce 115 + '{' reduce 115 + + throws goto 455 + + +state 434 + explicitconstructorinvocation : THIS '(' ')' ';' . (144) + + . reduce 144 + + +state 435 + explicitconstructorinvocation : THIS '(' argumentlist ')' . ';' (145) + + ';' shift 456 + . error + + +state 436 constantdeclaration : modifiers type IDENTIFIER '=' expression ';' . (83) . reduce 83 -state 431 - forstatement : FOR '(' ';' ';' ')' . statement (188) - - FOR shift 184 - IF shift 185 - RETURN shift 186 - THIS shift 187 - WHILE shift 188 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - ';' shift 200 - '{' shift 138 - '(' shift 202 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 206 - block goto 208 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 216 - lambdaexpression goto 217 - statementexpression goto 218 - preincrementexpression goto 219 - predecrementexpression goto 220 - postincrementexpression goto 221 - postdecrementexpression goto 222 - expressionstatement goto 223 - statementwithouttrailingsubstatement goto 224 - statement goto 451 - whilestatement goto 227 - forstatement goto 228 - ifthenstatement goto 229 - ifthenelsestatement goto 230 - emptystatement goto 231 - returnstatement goto 232 - assignment goto 233 - lefthandside goto 234 - methodinvocation goto 235 - - -state 432 - forstatement : FOR '(' ';' ';' expression . ')' statement (187) - - ')' shift 452 - . error - - -state 433 - forstatement : FOR '(' ';' expression ';' . expression ')' statement (184) - forstatement : FOR '(' ';' expression ';' . ')' statement (186) - - NEW shift 248 - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - ')' shift 453 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 206 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 259 - equalityexpression goto 260 - andexpression goto 261 - exclusiveorexpression goto 262 - inclusiveorexpression goto 263 - conditionalandexpression goto 264 - conditionalorexpression goto 265 - conditionalexpression goto 266 - assignmentexpression goto 267 - lambdaexpression goto 217 - expression goto 454 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - classinstancecreationexpression goto 273 - assignment goto 274 - lefthandside goto 234 - methodinvocation goto 275 - castexpression goto 276 - - -state 434 - forstatement : FOR '(' expression ';' ';' . expression ')' statement (183) - forstatement : FOR '(' expression ';' ';' . ')' statement (185) - - NEW shift 248 - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - ')' shift 455 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 206 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 259 - equalityexpression goto 260 - andexpression goto 261 - exclusiveorexpression goto 262 - inclusiveorexpression goto 263 - conditionalandexpression goto 264 - conditionalorexpression goto 265 - conditionalexpression goto 266 - assignmentexpression goto 267 - lambdaexpression goto 217 - expression goto 456 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - classinstancecreationexpression goto 273 - assignment goto 274 - lefthandside goto 234 - methodinvocation goto 275 - castexpression goto 276 - - -state 435 - forstatement : FOR '(' expression ';' expression . ';' expression ')' statement (181) - forstatement : FOR '(' expression ';' expression . ';' ')' statement (182) - - ';' shift 457 - . error - - -state 436 - ifthenstatement : IF . '(' expression ')' statement (178) - ifthenelsestatement : IF . '(' expression ')' statementnoshortif ELSE statement (179) - ifthenelsestatementnoshortif : IF . '(' expression ')' statementnoshortif ELSE statementnoshortif (207) - - '(' shift 458 - . error - - state 437 - whilestatement : WHILE . '(' expression ')' statement (180) - whilestatementnoshortif : WHILE . '(' expression ')' statementnoshortif (208) + forstatement : FOR '(' ';' ';' ')' . statement (189) - '(' shift 459 + FOR shift 186 + IF shift 187 + RETURN shift 188 + THIS shift 189 + WHILE shift 190 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + ';' shift 202 + '{' shift 139 + '(' shift 204 . error + simplename goto 34 + qualifiedname goto 35 + name goto 208 + block goto 210 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 218 + lambdaexpression goto 219 + statementexpression goto 220 + preincrementexpression goto 221 + predecrementexpression goto 222 + postincrementexpression goto 223 + postdecrementexpression goto 224 + expressionstatement goto 225 + statementwithouttrailingsubstatement goto 226 + statement goto 457 + whilestatement goto 229 + forstatement goto 230 + ifthenstatement goto 231 + ifthenelsestatement goto 232 + emptystatement goto 233 + returnstatement goto 234 + assignment goto 235 + lefthandside goto 236 + methodinvocation goto 237 + state 438 - statement : statementwithouttrailingsubstatement . (163) - statementnoshortif : statementwithouttrailingsubstatement . (195) + forstatement : FOR '(' ';' ';' expression . ')' statement (188) - BOOLEAN reduce 163 - CHAR reduce 163 - ELSE reduce 195 - FOR reduce 163 - IF reduce 163 - INT reduce 163 - RETURN reduce 163 - THIS reduce 163 - WHILE reduce 163 - INTLITERAL reduce 163 - LONGLITERAL reduce 163 - DOUBLELITERAL reduce 163 - FLOATLITERAL reduce 163 - BOOLLITERAL reduce 163 - JNULL reduce 163 - CHARLITERAL reduce 163 - STRINGLITERAL reduce 163 - IDENTIFIER reduce 163 - INCREMENT reduce 163 - DECREMENT reduce 163 - ';' reduce 163 - '{' reduce 163 - '}' reduce 163 - '(' reduce 163 + ')' shift 458 + . error state 439 - ifthenstatement : IF '(' expression ')' statement . (178) + forstatement : FOR '(' ';' expression ';' . expression ')' statement (185) + forstatement : FOR '(' ';' expression ';' . ')' statement (187) - . reduce 178 + NEW shift 250 + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + ')' shift 459 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 261 + equalityexpression goto 262 + andexpression goto 263 + exclusiveorexpression goto 264 + inclusiveorexpression goto 265 + conditionalandexpression goto 266 + conditionalorexpression goto 267 + conditionalexpression goto 268 + assignmentexpression goto 269 + lambdaexpression goto 219 + expression goto 460 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + classinstancecreationexpression goto 275 + assignment goto 276 + lefthandside goto 236 + methodinvocation goto 277 + castexpression goto 278 state 440 - ifthenelsestatement : IF '(' expression ')' statementnoshortif . ELSE statement (179) + forstatement : FOR '(' expression ';' ';' . expression ')' statement (184) + forstatement : FOR '(' expression ';' ';' . ')' statement (186) - ELSE shift 460 + NEW shift 250 + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + ')' shift 461 + '+' shift 252 + '-' shift 253 + '!' shift 254 . error + simplename goto 34 + qualifiedname goto 35 + name goto 208 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 261 + equalityexpression goto 262 + andexpression goto 263 + exclusiveorexpression goto 264 + inclusiveorexpression goto 265 + conditionalandexpression goto 266 + conditionalorexpression goto 267 + conditionalexpression goto 268 + assignmentexpression goto 269 + lambdaexpression goto 219 + expression goto 462 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + classinstancecreationexpression goto 275 + assignment goto 276 + lefthandside goto 236 + methodinvocation goto 277 + castexpression goto 278 + state 441 - statementnoshortif : whilestatementnoshortif . (197) + forstatement : FOR '(' expression ';' expression . ';' expression ')' statement (182) + forstatement : FOR '(' expression ';' expression . ';' ')' statement (183) - . reduce 197 + ';' shift 463 + . error state 442 - statementnoshortif : ifthenelsestatementnoshortif . (196) + ifthenstatement : IF . '(' expression ')' statement (179) + ifthenelsestatement : IF . '(' expression ')' statementnoshortif ELSE statement (180) + ifthenelsestatementnoshortif : IF . '(' expression ')' statementnoshortif ELSE statementnoshortif (208) - . reduce 196 + '(' shift 464 + . error state 443 - whilestatement : WHILE '(' expression ')' statement . (180) + whilestatement : WHILE . '(' expression ')' statement (181) + whilestatementnoshortif : WHILE . '(' expression ')' statementnoshortif (209) - . reduce 180 + '(' shift 465 + . error state 444 - argumentlist : argumentlist ',' expression . (158) + statement : statementwithouttrailingsubstatement . (164) + statementnoshortif : statementwithouttrailingsubstatement . (196) - . reduce 158 + BOOLEAN reduce 164 + CHAR reduce 164 + ELSE reduce 196 + FOR reduce 164 + IF reduce 164 + INT reduce 164 + RETURN reduce 164 + THIS reduce 164 + WHILE reduce 164 + INTLITERAL reduce 164 + LONGLITERAL reduce 164 + DOUBLELITERAL reduce 164 + FLOATLITERAL reduce 164 + BOOLLITERAL reduce 164 + JNULL reduce 164 + CHARLITERAL reduce 164 + STRINGLITERAL reduce 164 + IDENTIFIER reduce 164 + INCREMENT reduce 164 + DECREMENT reduce 164 + ';' reduce 164 + '{' reduce 164 + '}' reduce 164 + '(' reduce 164 state 445 - methodinvocation : primary '.' IDENTIFIER '(' ')' . (230) - - . reduce 230 - - -state 446 - argumentlist : argumentlist . ',' expression (158) - methodinvocation : primary '.' IDENTIFIER '(' argumentlist . ')' (231) - - ',' shift 418 - ')' shift 461 - . error - - -state 447 - classinstancecreationexpression : NEW classtype '(' argumentlist ')' . (233) - - . reduce 233 - - -state 448 - methodheader : modifiers '<' boundedMethodParameters '>' VOID methoddeclarator throws . (126) - - . reduce 126 - - -state 449 - methodheader : modifiers '<' boundedMethodParameters '>' type methoddeclarator throws . (118) - - . reduce 118 - - -state 450 - explicitconstructorinvocation : THIS '(' argumentlist ')' ';' . (144) - - . reduce 144 - - -state 451 - forstatement : FOR '(' ';' ';' ')' statement . (188) - - . reduce 188 - - -state 452 - forstatement : FOR '(' ';' ';' expression ')' . statement (187) - - FOR shift 184 - IF shift 185 - RETURN shift 186 - THIS shift 187 - WHILE shift 188 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - ';' shift 200 - '{' shift 138 - '(' shift 202 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 206 - block goto 208 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 216 - lambdaexpression goto 217 - statementexpression goto 218 - preincrementexpression goto 219 - predecrementexpression goto 220 - postincrementexpression goto 221 - postdecrementexpression goto 222 - expressionstatement goto 223 - statementwithouttrailingsubstatement goto 224 - statement goto 462 - whilestatement goto 227 - forstatement goto 228 - ifthenstatement goto 229 - ifthenelsestatement goto 230 - emptystatement goto 231 - returnstatement goto 232 - assignment goto 233 - lefthandside goto 234 - methodinvocation goto 235 - - -state 453 - forstatement : FOR '(' ';' expression ';' ')' . statement (186) - - FOR shift 184 - IF shift 185 - RETURN shift 186 - THIS shift 187 - WHILE shift 188 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - ';' shift 200 - '{' shift 138 - '(' shift 202 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 206 - block goto 208 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 216 - lambdaexpression goto 217 - statementexpression goto 218 - preincrementexpression goto 219 - predecrementexpression goto 220 - postincrementexpression goto 221 - postdecrementexpression goto 222 - expressionstatement goto 223 - statementwithouttrailingsubstatement goto 224 - statement goto 463 - whilestatement goto 227 - forstatement goto 228 - ifthenstatement goto 229 - ifthenelsestatement goto 230 - emptystatement goto 231 - returnstatement goto 232 - assignment goto 233 - lefthandside goto 234 - methodinvocation goto 235 - - -state 454 - forstatement : FOR '(' ';' expression ';' expression . ')' statement (184) - - ')' shift 464 - . error - - -state 455 - forstatement : FOR '(' expression ';' ';' ')' . statement (185) - - FOR shift 184 - IF shift 185 - RETURN shift 186 - THIS shift 187 - WHILE shift 188 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - ';' shift 200 - '{' shift 138 - '(' shift 202 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 206 - block goto 208 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 216 - lambdaexpression goto 217 - statementexpression goto 218 - preincrementexpression goto 219 - predecrementexpression goto 220 - postincrementexpression goto 221 - postdecrementexpression goto 222 - expressionstatement goto 223 - statementwithouttrailingsubstatement goto 224 - statement goto 465 - whilestatement goto 227 - forstatement goto 228 - ifthenstatement goto 229 - ifthenelsestatement goto 230 - emptystatement goto 231 - returnstatement goto 232 - assignment goto 233 - lefthandside goto 234 - methodinvocation goto 235 - - -state 456 - forstatement : FOR '(' expression ';' ';' expression . ')' statement (183) - - ')' shift 466 - . error - - -state 457 - forstatement : FOR '(' expression ';' expression ';' . expression ')' statement (181) - forstatement : FOR '(' expression ';' expression ';' . ')' statement (182) - - NEW shift 248 - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - ')' shift 467 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 206 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 259 - equalityexpression goto 260 - andexpression goto 261 - exclusiveorexpression goto 262 - inclusiveorexpression goto 263 - conditionalandexpression goto 264 - conditionalorexpression goto 265 - conditionalexpression goto 266 - assignmentexpression goto 267 - lambdaexpression goto 217 - expression goto 468 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - classinstancecreationexpression goto 273 - assignment goto 274 - lefthandside goto 234 - methodinvocation goto 275 - castexpression goto 276 - - -state 458 - ifthenstatement : IF '(' . expression ')' statement (178) - ifthenelsestatement : IF '(' . expression ')' statementnoshortif ELSE statement (179) - ifthenelsestatementnoshortif : IF '(' . expression ')' statementnoshortif ELSE statementnoshortif (207) - - NEW shift 248 - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 206 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 259 - equalityexpression goto 260 - andexpression goto 261 - exclusiveorexpression goto 262 - inclusiveorexpression goto 263 - conditionalandexpression goto 264 - conditionalorexpression goto 265 - conditionalexpression goto 266 - assignmentexpression goto 267 - lambdaexpression goto 217 - expression goto 469 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - classinstancecreationexpression goto 273 - assignment goto 274 - lefthandside goto 234 - methodinvocation goto 275 - castexpression goto 276 - - -state 459 - whilestatement : WHILE '(' . expression ')' statement (180) - whilestatementnoshortif : WHILE '(' . expression ')' statementnoshortif (208) - - NEW shift 248 - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 206 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 259 - equalityexpression goto 260 - andexpression goto 261 - exclusiveorexpression goto 262 - inclusiveorexpression goto 263 - conditionalandexpression goto 264 - conditionalorexpression goto 265 - conditionalexpression goto 266 - assignmentexpression goto 267 - lambdaexpression goto 217 - expression goto 470 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - classinstancecreationexpression goto 273 - assignment goto 274 - lefthandside goto 234 - methodinvocation goto 275 - castexpression goto 276 - - -state 460 - ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE . statement (179) - - FOR shift 184 - IF shift 185 - RETURN shift 186 - THIS shift 187 - WHILE shift 188 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - ';' shift 200 - '{' shift 138 - '(' shift 202 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 206 - block goto 208 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 216 - lambdaexpression goto 217 - statementexpression goto 218 - preincrementexpression goto 219 - predecrementexpression goto 220 - postincrementexpression goto 221 - postdecrementexpression goto 222 - expressionstatement goto 223 - statementwithouttrailingsubstatement goto 224 - statement goto 471 - whilestatement goto 227 - forstatement goto 228 - ifthenstatement goto 229 - ifthenelsestatement goto 230 - emptystatement goto 231 - returnstatement goto 232 - assignment goto 233 - lefthandside goto 234 - methodinvocation goto 235 - - -state 461 - methodinvocation : primary '.' IDENTIFIER '(' argumentlist ')' . (231) - - . reduce 231 - - -state 462 - forstatement : FOR '(' ';' ';' expression ')' statement . (187) - - . reduce 187 - - -state 463 - forstatement : FOR '(' ';' expression ';' ')' statement . (186) - - . reduce 186 - - -state 464 - forstatement : FOR '(' ';' expression ';' expression ')' . statement (184) - - FOR shift 184 - IF shift 185 - RETURN shift 186 - THIS shift 187 - WHILE shift 188 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - ';' shift 200 - '{' shift 138 - '(' shift 202 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 206 - block goto 208 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 216 - lambdaexpression goto 217 - statementexpression goto 218 - preincrementexpression goto 219 - predecrementexpression goto 220 - postincrementexpression goto 221 - postdecrementexpression goto 222 - expressionstatement goto 223 - statementwithouttrailingsubstatement goto 224 - statement goto 472 - whilestatement goto 227 - forstatement goto 228 - ifthenstatement goto 229 - ifthenelsestatement goto 230 - emptystatement goto 231 - returnstatement goto 232 - assignment goto 233 - lefthandside goto 234 - methodinvocation goto 235 - - -state 465 - forstatement : FOR '(' expression ';' ';' ')' statement . (185) - - . reduce 185 - - -state 466 - forstatement : FOR '(' expression ';' ';' expression ')' . statement (183) - - FOR shift 184 - IF shift 185 - RETURN shift 186 - THIS shift 187 - WHILE shift 188 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - ';' shift 200 - '{' shift 138 - '(' shift 202 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 206 - block goto 208 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 216 - lambdaexpression goto 217 - statementexpression goto 218 - preincrementexpression goto 219 - predecrementexpression goto 220 - postincrementexpression goto 221 - postdecrementexpression goto 222 - expressionstatement goto 223 - statementwithouttrailingsubstatement goto 224 - statement goto 473 - whilestatement goto 227 - forstatement goto 228 - ifthenstatement goto 229 - ifthenelsestatement goto 230 - emptystatement goto 231 - returnstatement goto 232 - assignment goto 233 - lefthandside goto 234 - methodinvocation goto 235 - - -state 467 - forstatement : FOR '(' expression ';' expression ';' ')' . statement (182) - - FOR shift 184 - IF shift 185 - RETURN shift 186 - THIS shift 187 - WHILE shift 188 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - ';' shift 200 - '{' shift 138 - '(' shift 202 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 206 - block goto 208 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 216 - lambdaexpression goto 217 - statementexpression goto 218 - preincrementexpression goto 219 - predecrementexpression goto 220 - postincrementexpression goto 221 - postdecrementexpression goto 222 - expressionstatement goto 223 - statementwithouttrailingsubstatement goto 224 - statement goto 474 - whilestatement goto 227 - forstatement goto 228 - ifthenstatement goto 229 - ifthenelsestatement goto 230 - emptystatement goto 231 - returnstatement goto 232 - assignment goto 233 - lefthandside goto 234 - methodinvocation goto 235 - - -state 468 - forstatement : FOR '(' expression ';' expression ';' expression . ')' statement (181) - - ')' shift 475 - . error - - -state 469 - ifthenstatement : IF '(' expression . ')' statement (178) - ifthenelsestatement : IF '(' expression . ')' statementnoshortif ELSE statement (179) - ifthenelsestatementnoshortif : IF '(' expression . ')' statementnoshortif ELSE statementnoshortif (207) - - ')' shift 476 - . error - - -state 470 - whilestatement : WHILE '(' expression . ')' statement (180) - whilestatementnoshortif : WHILE '(' expression . ')' statementnoshortif (208) - - ')' shift 477 - . error - - -state 471 - ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE statement . (179) + ifthenstatement : IF '(' expression ')' statement . (179) . reduce 179 -state 472 - forstatement : FOR '(' ';' expression ';' expression ')' statement . (184) +state 446 + ifthenelsestatement : IF '(' expression ')' statementnoshortif . ELSE statement (180) - . reduce 184 - - -state 473 - forstatement : FOR '(' expression ';' ';' expression ')' statement . (183) - - . reduce 183 - - -state 474 - forstatement : FOR '(' expression ';' expression ';' ')' statement . (182) - - . reduce 182 - - -state 475 - forstatement : FOR '(' expression ';' expression ';' expression ')' . statement (181) - - FOR shift 184 - IF shift 185 - RETURN shift 186 - THIS shift 187 - WHILE shift 188 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - ';' shift 200 - '{' shift 138 - '(' shift 202 + ELSE shift 466 . error - simplename goto 34 - qualifiedname goto 35 - name goto 206 - block goto 208 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 216 - lambdaexpression goto 217 - statementexpression goto 218 - preincrementexpression goto 219 - predecrementexpression goto 220 - postincrementexpression goto 221 - postdecrementexpression goto 222 - expressionstatement goto 223 - statementwithouttrailingsubstatement goto 224 - statement goto 478 - whilestatement goto 227 - forstatement goto 228 - ifthenstatement goto 229 - ifthenelsestatement goto 230 - emptystatement goto 231 - returnstatement goto 232 - assignment goto 233 - lefthandside goto 234 - methodinvocation goto 235 + +state 447 + statementnoshortif : whilestatementnoshortif . (198) + + . reduce 198 -state 476 - ifthenstatement : IF '(' expression ')' . statement (178) - ifthenelsestatement : IF '(' expression ')' . statementnoshortif ELSE statement (179) - ifthenelsestatementnoshortif : IF '(' expression ')' . statementnoshortif ELSE statementnoshortif (207) +state 448 + statementnoshortif : ifthenelsestatementnoshortif . (197) - FOR shift 184 - IF shift 436 - RETURN shift 186 - THIS shift 187 - WHILE shift 437 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - ';' shift 200 - '{' shift 138 - '(' shift 202 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 206 - block goto 208 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 216 - lambdaexpression goto 217 - statementexpression goto 218 - preincrementexpression goto 219 - predecrementexpression goto 220 - postincrementexpression goto 221 - postdecrementexpression goto 222 - expressionstatement goto 223 - statementwithouttrailingsubstatement goto 438 - statement goto 439 - statementnoshortif goto 479 - whilestatement goto 227 - forstatement goto 228 - whilestatementnoshortif goto 441 - ifthenstatement goto 229 - ifthenelsestatement goto 230 - ifthenelsestatementnoshortif goto 442 - emptystatement goto 231 - returnstatement goto 232 - assignment goto 233 - lefthandside goto 234 - methodinvocation goto 235 + . reduce 197 -state 477 - whilestatement : WHILE '(' expression ')' . statement (180) - whilestatementnoshortif : WHILE '(' expression ')' . statementnoshortif (208) - - FOR shift 184 - IF shift 436 - RETURN shift 186 - THIS shift 187 - WHILE shift 437 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - ';' shift 200 - '{' shift 138 - '(' shift 202 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 206 - block goto 208 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 216 - lambdaexpression goto 217 - statementexpression goto 218 - preincrementexpression goto 219 - predecrementexpression goto 220 - postincrementexpression goto 221 - postdecrementexpression goto 222 - expressionstatement goto 223 - statementwithouttrailingsubstatement goto 438 - statement goto 443 - statementnoshortif goto 480 - whilestatement goto 227 - forstatement goto 228 - whilestatementnoshortif goto 441 - ifthenstatement goto 229 - ifthenelsestatement goto 230 - ifthenelsestatementnoshortif goto 442 - emptystatement goto 231 - returnstatement goto 232 - assignment goto 233 - lefthandside goto 234 - methodinvocation goto 235 - - -state 478 - forstatement : FOR '(' expression ';' expression ';' expression ')' statement . (181) +state 449 + whilestatement : WHILE '(' expression ')' statement . (181) . reduce 181 -state 479 - ifthenelsestatement : IF '(' expression ')' statementnoshortif . ELSE statement (179) - ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif . ELSE statementnoshortif (207) +state 450 + argumentlist : argumentlist ',' expression . (159) - ELSE shift 481 + . reduce 159 + + +state 451 + methodinvocation : primary '.' IDENTIFIER '(' ')' . (231) + + . reduce 231 + + +state 452 + argumentlist : argumentlist . ',' expression (159) + methodinvocation : primary '.' IDENTIFIER '(' argumentlist . ')' (232) + + ',' shift 424 + ')' shift 467 . error -state 480 - whilestatementnoshortif : WHILE '(' expression ')' statementnoshortif . (208) +state 453 + classinstancecreationexpression : NEW classtype '(' argumentlist ')' . (234) - . reduce 208 + . reduce 234 -state 481 - ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE . statement (179) - ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif ELSE . statementnoshortif (207) +state 454 + methodheader : modifiers '<' boundedMethodParameters '>' VOID methoddeclarator throws . (127) - FOR shift 184 - IF shift 436 - RETURN shift 186 - THIS shift 187 - WHILE shift 437 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 + . reduce 127 + + +state 455 + methodheader : modifiers '<' boundedMethodParameters '>' type methoddeclarator throws . (119) + + . reduce 119 + + +state 456 + explicitconstructorinvocation : THIS '(' argumentlist ')' ';' . (145) + + . reduce 145 + + +state 457 + forstatement : FOR '(' ';' ';' ')' statement . (189) + + . reduce 189 + + +state 458 + forstatement : FOR '(' ';' ';' expression ')' . statement (188) + + FOR shift 186 + IF shift 187 + RETURN shift 188 + THIS shift 189 + WHILE shift 190 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - ';' shift 200 - '{' shift 138 - '(' shift 202 + INCREMENT shift 200 + DECREMENT shift 201 + ';' shift 202 + '{' shift 139 + '(' shift 204 . error simplename goto 34 qualifiedname goto 35 - name goto 206 - block goto 208 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 216 - lambdaexpression goto 217 - statementexpression goto 218 - preincrementexpression goto 219 - predecrementexpression goto 220 - postincrementexpression goto 221 - postdecrementexpression goto 222 - expressionstatement goto 223 - statementwithouttrailingsubstatement goto 438 + name goto 208 + block goto 210 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 218 + lambdaexpression goto 219 + statementexpression goto 220 + preincrementexpression goto 221 + predecrementexpression goto 222 + postincrementexpression goto 223 + postdecrementexpression goto 224 + expressionstatement goto 225 + statementwithouttrailingsubstatement goto 226 + statement goto 468 + whilestatement goto 229 + forstatement goto 230 + ifthenstatement goto 231 + ifthenelsestatement goto 232 + emptystatement goto 233 + returnstatement goto 234 + assignment goto 235 + lefthandside goto 236 + methodinvocation goto 237 + + +state 459 + forstatement : FOR '(' ';' expression ';' ')' . statement (187) + + FOR shift 186 + IF shift 187 + RETURN shift 188 + THIS shift 189 + WHILE shift 190 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + ';' shift 202 + '{' shift 139 + '(' shift 204 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + block goto 210 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 218 + lambdaexpression goto 219 + statementexpression goto 220 + preincrementexpression goto 221 + predecrementexpression goto 222 + postincrementexpression goto 223 + postdecrementexpression goto 224 + expressionstatement goto 225 + statementwithouttrailingsubstatement goto 226 + statement goto 469 + whilestatement goto 229 + forstatement goto 230 + ifthenstatement goto 231 + ifthenelsestatement goto 232 + emptystatement goto 233 + returnstatement goto 234 + assignment goto 235 + lefthandside goto 236 + methodinvocation goto 237 + + +state 460 + forstatement : FOR '(' ';' expression ';' expression . ')' statement (185) + + ')' shift 470 + . error + + +state 461 + forstatement : FOR '(' expression ';' ';' ')' . statement (186) + + FOR shift 186 + IF shift 187 + RETURN shift 188 + THIS shift 189 + WHILE shift 190 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + ';' shift 202 + '{' shift 139 + '(' shift 204 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + block goto 210 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 218 + lambdaexpression goto 219 + statementexpression goto 220 + preincrementexpression goto 221 + predecrementexpression goto 222 + postincrementexpression goto 223 + postdecrementexpression goto 224 + expressionstatement goto 225 + statementwithouttrailingsubstatement goto 226 statement goto 471 - statementnoshortif goto 482 - whilestatement goto 227 - forstatement goto 228 - whilestatementnoshortif goto 441 - ifthenstatement goto 229 - ifthenelsestatement goto 230 - ifthenelsestatementnoshortif goto 442 - emptystatement goto 231 - returnstatement goto 232 - assignment goto 233 - lefthandside goto 234 - methodinvocation goto 235 + whilestatement goto 229 + forstatement goto 230 + ifthenstatement goto 231 + ifthenelsestatement goto 232 + emptystatement goto 233 + returnstatement goto 234 + assignment goto 235 + lefthandside goto 236 + methodinvocation goto 237 + + +state 462 + forstatement : FOR '(' expression ';' ';' expression . ')' statement (184) + + ')' shift 472 + . error + + +state 463 + forstatement : FOR '(' expression ';' expression ';' . expression ')' statement (182) + forstatement : FOR '(' expression ';' expression ';' . ')' statement (183) + + NEW shift 250 + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + ')' shift 473 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 261 + equalityexpression goto 262 + andexpression goto 263 + exclusiveorexpression goto 264 + inclusiveorexpression goto 265 + conditionalandexpression goto 266 + conditionalorexpression goto 267 + conditionalexpression goto 268 + assignmentexpression goto 269 + lambdaexpression goto 219 + expression goto 474 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + classinstancecreationexpression goto 275 + assignment goto 276 + lefthandside goto 236 + methodinvocation goto 277 + castexpression goto 278 + + +state 464 + ifthenstatement : IF '(' . expression ')' statement (179) + ifthenelsestatement : IF '(' . expression ')' statementnoshortif ELSE statement (180) + ifthenelsestatementnoshortif : IF '(' . expression ')' statementnoshortif ELSE statementnoshortif (208) + + NEW shift 250 + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 261 + equalityexpression goto 262 + andexpression goto 263 + exclusiveorexpression goto 264 + inclusiveorexpression goto 265 + conditionalandexpression goto 266 + conditionalorexpression goto 267 + conditionalexpression goto 268 + assignmentexpression goto 269 + lambdaexpression goto 219 + expression goto 475 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + classinstancecreationexpression goto 275 + assignment goto 276 + lefthandside goto 236 + methodinvocation goto 277 + castexpression goto 278 + + +state 465 + whilestatement : WHILE '(' . expression ')' statement (181) + whilestatementnoshortif : WHILE '(' . expression ')' statementnoshortif (209) + + NEW shift 250 + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 261 + equalityexpression goto 262 + andexpression goto 263 + exclusiveorexpression goto 264 + inclusiveorexpression goto 265 + conditionalandexpression goto 266 + conditionalorexpression goto 267 + conditionalexpression goto 268 + assignmentexpression goto 269 + lambdaexpression goto 219 + expression goto 476 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + classinstancecreationexpression goto 275 + assignment goto 276 + lefthandside goto 236 + methodinvocation goto 277 + castexpression goto 278 + + +state 466 + ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE . statement (180) + + FOR shift 186 + IF shift 187 + RETURN shift 188 + THIS shift 189 + WHILE shift 190 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + ';' shift 202 + '{' shift 139 + '(' shift 204 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + block goto 210 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 218 + lambdaexpression goto 219 + statementexpression goto 220 + preincrementexpression goto 221 + predecrementexpression goto 222 + postincrementexpression goto 223 + postdecrementexpression goto 224 + expressionstatement goto 225 + statementwithouttrailingsubstatement goto 226 + statement goto 477 + whilestatement goto 229 + forstatement goto 230 + ifthenstatement goto 231 + ifthenelsestatement goto 232 + emptystatement goto 233 + returnstatement goto 234 + assignment goto 235 + lefthandside goto 236 + methodinvocation goto 237 + + +state 467 + methodinvocation : primary '.' IDENTIFIER '(' argumentlist ')' . (232) + + . reduce 232 + + +state 468 + forstatement : FOR '(' ';' ';' expression ')' statement . (188) + + . reduce 188 + + +state 469 + forstatement : FOR '(' ';' expression ';' ')' statement . (187) + + . reduce 187 + + +state 470 + forstatement : FOR '(' ';' expression ';' expression ')' . statement (185) + + FOR shift 186 + IF shift 187 + RETURN shift 188 + THIS shift 189 + WHILE shift 190 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + ';' shift 202 + '{' shift 139 + '(' shift 204 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + block goto 210 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 218 + lambdaexpression goto 219 + statementexpression goto 220 + preincrementexpression goto 221 + predecrementexpression goto 222 + postincrementexpression goto 223 + postdecrementexpression goto 224 + expressionstatement goto 225 + statementwithouttrailingsubstatement goto 226 + statement goto 478 + whilestatement goto 229 + forstatement goto 230 + ifthenstatement goto 231 + ifthenelsestatement goto 232 + emptystatement goto 233 + returnstatement goto 234 + assignment goto 235 + lefthandside goto 236 + methodinvocation goto 237 + + +state 471 + forstatement : FOR '(' expression ';' ';' ')' statement . (186) + + . reduce 186 + + +state 472 + forstatement : FOR '(' expression ';' ';' expression ')' . statement (184) + + FOR shift 186 + IF shift 187 + RETURN shift 188 + THIS shift 189 + WHILE shift 190 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + ';' shift 202 + '{' shift 139 + '(' shift 204 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + block goto 210 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 218 + lambdaexpression goto 219 + statementexpression goto 220 + preincrementexpression goto 221 + predecrementexpression goto 222 + postincrementexpression goto 223 + postdecrementexpression goto 224 + expressionstatement goto 225 + statementwithouttrailingsubstatement goto 226 + statement goto 479 + whilestatement goto 229 + forstatement goto 230 + ifthenstatement goto 231 + ifthenelsestatement goto 232 + emptystatement goto 233 + returnstatement goto 234 + assignment goto 235 + lefthandside goto 236 + methodinvocation goto 237 + + +state 473 + forstatement : FOR '(' expression ';' expression ';' ')' . statement (183) + + FOR shift 186 + IF shift 187 + RETURN shift 188 + THIS shift 189 + WHILE shift 190 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + ';' shift 202 + '{' shift 139 + '(' shift 204 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + block goto 210 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 218 + lambdaexpression goto 219 + statementexpression goto 220 + preincrementexpression goto 221 + predecrementexpression goto 222 + postincrementexpression goto 223 + postdecrementexpression goto 224 + expressionstatement goto 225 + statementwithouttrailingsubstatement goto 226 + statement goto 480 + whilestatement goto 229 + forstatement goto 230 + ifthenstatement goto 231 + ifthenelsestatement goto 232 + emptystatement goto 233 + returnstatement goto 234 + assignment goto 235 + lefthandside goto 236 + methodinvocation goto 237 + + +state 474 + forstatement : FOR '(' expression ';' expression ';' expression . ')' statement (182) + + ')' shift 481 + . error + + +state 475 + ifthenstatement : IF '(' expression . ')' statement (179) + ifthenelsestatement : IF '(' expression . ')' statementnoshortif ELSE statement (180) + ifthenelsestatementnoshortif : IF '(' expression . ')' statementnoshortif ELSE statementnoshortif (208) + + ')' shift 482 + . error + + +state 476 + whilestatement : WHILE '(' expression . ')' statement (181) + whilestatementnoshortif : WHILE '(' expression . ')' statementnoshortif (209) + + ')' shift 483 + . error + + +state 477 + ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE statement . (180) + + . reduce 180 + + +state 478 + forstatement : FOR '(' ';' expression ';' expression ')' statement . (185) + + . reduce 185 + + +state 479 + forstatement : FOR '(' expression ';' ';' expression ')' statement . (184) + + . reduce 184 + + +state 480 + forstatement : FOR '(' expression ';' expression ';' ')' statement . (183) + + . reduce 183 + + +state 481 + forstatement : FOR '(' expression ';' expression ';' expression ')' . statement (182) + + FOR shift 186 + IF shift 187 + RETURN shift 188 + THIS shift 189 + WHILE shift 190 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + ';' shift 202 + '{' shift 139 + '(' shift 204 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + block goto 210 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 218 + lambdaexpression goto 219 + statementexpression goto 220 + preincrementexpression goto 221 + predecrementexpression goto 222 + postincrementexpression goto 223 + postdecrementexpression goto 224 + expressionstatement goto 225 + statementwithouttrailingsubstatement goto 226 + statement goto 484 + whilestatement goto 229 + forstatement goto 230 + ifthenstatement goto 231 + ifthenelsestatement goto 232 + emptystatement goto 233 + returnstatement goto 234 + assignment goto 235 + lefthandside goto 236 + methodinvocation goto 237 state 482 - ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif ELSE statementnoshortif . (207) + ifthenstatement : IF '(' expression ')' . statement (179) + ifthenelsestatement : IF '(' expression ')' . statementnoshortif ELSE statement (180) + ifthenelsestatementnoshortif : IF '(' expression ')' . statementnoshortif ELSE statementnoshortif (208) - . reduce 207 + FOR shift 186 + IF shift 442 + RETURN shift 188 + THIS shift 189 + WHILE shift 443 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + ';' shift 202 + '{' shift 139 + '(' shift 204 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + block goto 210 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 218 + lambdaexpression goto 219 + statementexpression goto 220 + preincrementexpression goto 221 + predecrementexpression goto 222 + postincrementexpression goto 223 + postdecrementexpression goto 224 + expressionstatement goto 225 + statementwithouttrailingsubstatement goto 444 + statement goto 445 + statementnoshortif goto 485 + whilestatement goto 229 + forstatement goto 230 + whilestatementnoshortif goto 447 + ifthenstatement goto 231 + ifthenelsestatement goto 232 + ifthenelsestatementnoshortif goto 448 + emptystatement goto 233 + returnstatement goto 234 + assignment goto 235 + lefthandside goto 236 + methodinvocation goto 237 + + +state 483 + whilestatement : WHILE '(' expression ')' . statement (181) + whilestatementnoshortif : WHILE '(' expression ')' . statementnoshortif (209) + + FOR shift 186 + IF shift 442 + RETURN shift 188 + THIS shift 189 + WHILE shift 443 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + ';' shift 202 + '{' shift 139 + '(' shift 204 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + block goto 210 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 218 + lambdaexpression goto 219 + statementexpression goto 220 + preincrementexpression goto 221 + predecrementexpression goto 222 + postincrementexpression goto 223 + postdecrementexpression goto 224 + expressionstatement goto 225 + statementwithouttrailingsubstatement goto 444 + statement goto 449 + statementnoshortif goto 486 + whilestatement goto 229 + forstatement goto 230 + whilestatementnoshortif goto 447 + ifthenstatement goto 231 + ifthenelsestatement goto 232 + ifthenelsestatementnoshortif goto 448 + emptystatement goto 233 + returnstatement goto 234 + assignment goto 235 + lefthandside goto 236 + methodinvocation goto 237 + + +state 484 + forstatement : FOR '(' expression ';' expression ';' expression ')' statement . (182) + + . reduce 182 + + +state 485 + ifthenelsestatement : IF '(' expression ')' statementnoshortif . ELSE statement (180) + ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif . ELSE statementnoshortif (208) + + ELSE shift 487 + . error + + +state 486 + whilestatementnoshortif : WHILE '(' expression ')' statementnoshortif . (209) + + . reduce 209 + + +state 487 + ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE . statement (180) + ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif ELSE . statementnoshortif (208) + + FOR shift 186 + IF shift 442 + RETURN shift 188 + THIS shift 189 + WHILE shift 443 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + ';' shift 202 + '{' shift 139 + '(' shift 204 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + block goto 210 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 218 + lambdaexpression goto 219 + statementexpression goto 220 + preincrementexpression goto 221 + predecrementexpression goto 222 + postincrementexpression goto 223 + postdecrementexpression goto 224 + expressionstatement goto 225 + statementwithouttrailingsubstatement goto 444 + statement goto 477 + statementnoshortif goto 488 + whilestatement goto 229 + forstatement goto 230 + whilestatementnoshortif goto 447 + ifthenstatement goto 231 + ifthenelsestatement goto 232 + ifthenelsestatementnoshortif goto 448 + emptystatement goto 233 + returnstatement goto 234 + assignment goto 235 + lefthandside goto 236 + methodinvocation goto 237 + + +state 488 + ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif ELSE statementnoshortif . (208) + + . reduce 208 Rules never reduced: @@ -8519,35 +8614,35 @@ Rules never reduced: wildcardparameter : '?' (42) wildcardparameter : '?' EXTENDS referencetype (43) wildcardparameter : '?' SUPER referencetype (44) - variableinitializer : expression (161) + variableinitializer : expression (162) State 18 contains 1 shift/reduce conflict. State 88 contains 1 shift/reduce conflict. State 117 contains 1 shift/reduce conflict. -State 206 contains 1 shift/reduce conflict. -State 215 contains 1 shift/reduce conflict. -State 253 contains 2 shift/reduce conflicts. -State 256 contains 3 shift/reduce conflicts. -State 257 contains 2 shift/reduce conflicts. -State 259 contains 5 shift/reduce conflicts. -State 260 contains 2 shift/reduce conflicts. -State 261 contains 1 shift/reduce conflict. -State 262 contains 1 shift/reduce conflict. +State 208 contains 1 shift/reduce conflict. +State 217 contains 1 shift/reduce conflict. +State 255 contains 2 shift/reduce conflicts. +State 258 contains 3 shift/reduce conflicts. +State 259 contains 2 shift/reduce conflicts. +State 261 contains 5 shift/reduce conflicts. +State 262 contains 2 shift/reduce conflicts. State 263 contains 1 shift/reduce conflict. State 264 contains 1 shift/reduce conflict. State 265 contains 1 shift/reduce conflict. -State 302 contains 1 shift/reduce conflict. -State 392 contains 3 shift/reduce conflicts. -State 393 contains 3 shift/reduce conflicts. -State 399 contains 5 shift/reduce conflicts. -State 400 contains 5 shift/reduce conflicts. -State 401 contains 2 shift/reduce conflicts. -State 402 contains 1 shift/reduce conflict. -State 403 contains 1 shift/reduce conflict. -State 404 contains 1 shift/reduce conflict. -State 405 contains 1 shift/reduce conflict. +State 266 contains 1 shift/reduce conflict. +State 267 contains 1 shift/reduce conflict. +State 305 contains 1 shift/reduce conflict. +State 398 contains 3 shift/reduce conflicts. +State 399 contains 3 shift/reduce conflicts. +State 405 contains 5 shift/reduce conflicts. +State 406 contains 5 shift/reduce conflicts. +State 407 contains 2 shift/reduce conflicts. +State 408 contains 1 shift/reduce conflict. +State 409 contains 1 shift/reduce conflict. +State 410 contains 1 shift/reduce conflict. +State 411 contains 1 shift/reduce conflict. 97 terminals, 117 nonterminals -285 grammar rules, 483 states +286 grammar rules, 489 states From eab2c7ef939f873826f9442e954175056b99d4ee Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Wed, 23 Apr 2014 12:05:57 +0200 Subject: [PATCH 51/79] =?UTF-8?q?Neuimplementierung=20von=20automatischer?= =?UTF-8?q?=20Einsetzung=20der=20ben=C3=B6tigten=20Generischen=20Variablen?= =?UTF-8?q?=20durch=20TypeInsertSet?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/mycompiler/myparser/JavaParser.jay | 14 +- src/mycompiler/myparser/JavaParser.java | 2585 ++-- src/mycompiler/myparser/JavaParser.jay | 14 +- src/mycompiler/mytype/RefType.java | 3 + src/mycompiler/mytype/Type.java | 9 + src/mycompiler/mytype/TypePlaceholder.java | 4 +- .../TypeinferenceResultSet.java | 30 +- src/typinferenz/JavaCodeResult.java | 5 + src/typinferenz/ResultSet.java | 16 + src/typinferenz/TypeInsertPoint.java | 35 +- src/typinferenz/TypeInsertSet.java | 45 +- src/typinferenz/exceptions/ParserError.java | 1 - .../exceptions/TypeinferenceException.java | 1 + test/parser/BoundedParameter.jav | 2 +- test/parser/GeneralParserTest.java | 4 +- test/plugindevelopment/TRMEqualTest.java | 3 +- tools/y.output | 11686 ++++++++-------- 17 files changed, 6949 insertions(+), 7508 deletions(-) diff --git a/bin/mycompiler/myparser/JavaParser.jay b/bin/mycompiler/myparser/JavaParser.jay index fb9c4897d..702414c31 100755 --- a/bin/mycompiler/myparser/JavaParser.jay +++ b/bin/mycompiler/myparser/JavaParser.jay @@ -881,7 +881,9 @@ Beispiel: var = 2; Bei einer lokalen Variable lässt sich hier nicht ermitteln ob die Variable deklariert werden soll oder bereits deklariert wurde und ihr nur ein Wert zugewiesen werden soll. Dieses Problem ist bei Feldern nicht der Fall. */ -fielddeclarator : type variabledeclarator '=' expression +fielddeclarator : + /* + type variabledeclarator '=' expression { FieldDeclaration ret = new FieldDeclaration($2.getOffset()); ret.setType($1); @@ -889,7 +891,9 @@ fielddeclarator : type variabledeclarator '=' expression ret.setWert($4); $$=ret; } - | variabledeclarator '=' expression + | + */ + variabledeclarator '=' expression { FieldDeclaration ret = new FieldDeclaration($1.getOffset()); ret.set_DeclId($1); @@ -901,15 +905,15 @@ fielddeclaration : fielddeclarator ';' { $$=$1; } - | type fielddeclarator + | type fielddeclarator ';' { $2.setType($1); $$=$2; } - | '<' boundedMethodParameters '>' type fielddeclarator + | '<' boundedMethodParameters '>' type fielddeclarator ';' {//angefügt von Andreas Stadelmeier - $5.setGenericParameter($2); $5.setType($4); + $5.setGenericParameter($2); $$=$5; } | diff --git a/src/mycompiler/myparser/JavaParser.java b/src/mycompiler/myparser/JavaParser.java index b7062e2ec..b7f8a7982 100644 --- a/src/mycompiler/myparser/JavaParser.java +++ b/src/mycompiler/myparser/JavaParser.java @@ -353,11 +353,10 @@ public Vector testPair = new Vector(); //t "constructordeclaration : modifiers constructordeclarator constructorbody", //t "constantdeclaration : modifiers type IDENTIFIER '=' expression ';'", //t "abstractmethoddeclaration : methodheader ';'", -//t "fielddeclarator : type variabledeclarator '=' expression", //t "fielddeclarator : variabledeclarator '=' expression", //t "fielddeclaration : fielddeclarator ';'", -//t "fielddeclaration : type fielddeclarator", -//t "fielddeclaration : '<' boundedMethodParameters '>' type fielddeclarator", +//t "fielddeclaration : type fielddeclarator ';'", +//t "fielddeclaration : '<' boundedMethodParameters '>' type fielddeclarator ';'", //t "fielddeclaration : variabledeclarators ';'", //t "fielddeclaration : type variabledeclarators ';'", //t "fielddeclaration : modifiers type variabledeclarators ';'", @@ -1427,61 +1426,51 @@ case 84: } break; case 85: - // line 885 "./../src/mycompiler/myparser/JavaParser.jay" + // line 897 "./../src/mycompiler/myparser/JavaParser.jay" { FieldDeclaration ret = new FieldDeclaration(((DeclId)yyVals[-2+yyTop]).getOffset()); - ret.setType(((Type)yyVals[-3+yyTop])); ret.set_DeclId(((DeclId)yyVals[-2+yyTop])); ret.setWert(((Expr)yyVals[0+yyTop])); yyVal=ret; } break; case 86: - // line 893 "./../src/mycompiler/myparser/JavaParser.jay" + // line 905 "./../src/mycompiler/myparser/JavaParser.jay" { - FieldDeclaration ret = new FieldDeclaration(((DeclId)yyVals[-2+yyTop]).getOffset()); - ret.set_DeclId(((DeclId)yyVals[-2+yyTop])); - ret.setWert(((Expr)yyVals[0+yyTop])); - yyVal=ret; - } + yyVal=((FieldDeclaration)yyVals[-1+yyTop]); + } break; case 87: - // line 901 "./../src/mycompiler/myparser/JavaParser.jay" + // line 909 "./../src/mycompiler/myparser/JavaParser.jay" { + ((FieldDeclaration)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); yyVal=((FieldDeclaration)yyVals[-1+yyTop]); } break; case 88: - // line 905 "./../src/mycompiler/myparser/JavaParser.jay" - { - ((FieldDeclaration)yyVals[0+yyTop]).setType(((Type)yyVals[-1+yyTop])); - yyVal=((FieldDeclaration)yyVals[0+yyTop]); + // line 914 "./../src/mycompiler/myparser/JavaParser.jay" + {/*angefügt von Andreas Stadelmeier*/ + ((FieldDeclaration)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); + ((FieldDeclaration)yyVals[-1+yyTop]).setGenericParameter(((Vector)yyVals[-4+yyTop])); + yyVal=((FieldDeclaration)yyVals[-1+yyTop]); } break; case 89: - // line 910 "./../src/mycompiler/myparser/JavaParser.jay" - {/*angefügt von Andreas Stadelmeier*/ - ((FieldDeclaration)yyVals[0+yyTop]).setGenericParameter(((Vector)yyVals[-3+yyTop])); - ((FieldDeclaration)yyVals[0+yyTop]).setType(((Type)yyVals[-1+yyTop])); - yyVal=((FieldDeclaration)yyVals[0+yyTop]); - } - break; -case 90: - // line 917 "./../src/mycompiler/myparser/JavaParser.jay" + // line 921 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((FieldDeclaration)yyVals[-1+yyTop]); } break; -case 91: - // line 922 "./../src/mycompiler/myparser/JavaParser.jay" +case 90: + // line 926 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("T->Parser->fielddeclaration ...: type " + ((Type)yyVals[-2+yyTop])); ((FieldDeclaration)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); yyVal = ((FieldDeclaration)yyVals[-1+yyTop]); } break; -case 92: - // line 929 "./../src/mycompiler/myparser/JavaParser.jay" +case 91: + // line 933 "./../src/mycompiler/myparser/JavaParser.jay" { ((FieldDeclaration)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); for(int i=0;i<(((FieldDeclaration)yyVals[-1+yyTop]).getDeclIdVector().size());i++) @@ -1491,28 +1480,28 @@ case 92: yyVal = ((FieldDeclaration)yyVals[-1+yyTop]); } break; -case 93: - // line 939 "./../src/mycompiler/myparser/JavaParser.jay" +case 92: + // line 943 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[-1+yyTop]).set_Block(((Block)yyVals[0+yyTop])); yyVal=((Method)yyVals[-1+yyTop]); } break; -case 94: - // line 946 "./../src/mycompiler/myparser/JavaParser.jay" +case 93: + // line 950 "./../src/mycompiler/myparser/JavaParser.jay" { Block Bl = new Block(); yyVal=Bl; } break; -case 95: - // line 952 "./../src/mycompiler/myparser/JavaParser.jay" +case 94: + // line 956 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[-1+yyTop]); } break; -case 96: - // line 957 "./../src/mycompiler/myparser/JavaParser.jay" +case 95: + // line 961 "./../src/mycompiler/myparser/JavaParser.jay" { Constructor CON = new Constructor(null); /*TODO: Der Parser kann sowieso nicht zwischen einem Konstruktor und einer Methode unterscheiden. Das hier kann wegfallen...*/ DeclId DIDCon = new DeclId(); @@ -1521,8 +1510,8 @@ case 96: yyVal=CON; } break; -case 97: - // line 965 "./../src/mycompiler/myparser/JavaParser.jay" +case 96: + // line 969 "./../src/mycompiler/myparser/JavaParser.jay" { Constructor CONpara = new Constructor(null); DeclId DIconpara = new DeclId(); @@ -1532,29 +1521,29 @@ case 97: yyVal=CONpara; } break; -case 98: - // line 975 "./../src/mycompiler/myparser/JavaParser.jay" +case 97: + // line 979 "./../src/mycompiler/myparser/JavaParser.jay" { Block CBL = new Block(); yyVal=CBL; } break; -case 99: - // line 980 "./../src/mycompiler/myparser/JavaParser.jay" +case 98: + // line 984 "./../src/mycompiler/myparser/JavaParser.jay" { Block CBLexpl = new Block(); CBLexpl.set_Statement(((Statement)yyVals[-1+yyTop])); yyVal=CBLexpl; } break; -case 100: - // line 986 "./../src/mycompiler/myparser/JavaParser.jay" +case 99: + // line 990 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[-1+yyTop]); } break; -case 101: - // line 990 "./../src/mycompiler/myparser/JavaParser.jay" +case 100: + // line 994 "./../src/mycompiler/myparser/JavaParser.jay" { Block CBes = new Block(); CBes.set_Statement(((Statement)yyVals[-2+yyTop])); @@ -1565,51 +1554,51 @@ case 101: yyVal=CBes; } break; -case 102: - // line 1001 "./../src/mycompiler/myparser/JavaParser.jay" +case 101: + // line 1005 "./../src/mycompiler/myparser/JavaParser.jay" { ExceptionList EL = new ExceptionList(); EL.set_addElem(((RefType)yyVals[0+yyTop])); yyVal=EL; } break; -case 103: - // line 1008 "./../src/mycompiler/myparser/JavaParser.jay" +case 102: + // line 1012 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = ((GenericTypeVar)yyVals[0+yyTop]); } break; -case 104: - // line 1013 "./../src/mycompiler/myparser/JavaParser.jay" +case 103: + // line 1017 "./../src/mycompiler/myparser/JavaParser.jay" { ParaList p = new ParaList(); p.add_ParaList(((GenericTypeVar)yyVals[0+yyTop])); yyVal=p; } break; -case 105: - // line 1019 "./../src/mycompiler/myparser/JavaParser.jay" +case 104: + // line 1023 "./../src/mycompiler/myparser/JavaParser.jay" { ((ParaList)yyVals[-2+yyTop]).add_ParaList(((GenericTypeVar)yyVals[0+yyTop])); yyVal=((ParaList)yyVals[-2+yyTop]); } break; -case 106: - // line 1026 "./../src/mycompiler/myparser/JavaParser.jay" +case 105: + // line 1030 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=new GenericTypeVar(((Token)yyVals[0+yyTop]).getLexem(),((Token)yyVals[0+yyTop]).getOffset()); } break; -case 107: - // line 1030 "./../src/mycompiler/myparser/JavaParser.jay" +case 106: + // line 1034 "./../src/mycompiler/myparser/JavaParser.jay" { BoundedGenericTypeVar gtv=new BoundedGenericTypeVar(((Token)yyVals[-2+yyTop]).getLexem(),((Vector)yyVals[0+yyTop]),((Token)yyVals[-2+yyTop]).getOffset()); /*gtv.setBounds($3);*/ yyVal=gtv; } break; -case 108: - // line 1037 "./../src/mycompiler/myparser/JavaParser.jay" +case 107: + // line 1041 "./../src/mycompiler/myparser/JavaParser.jay" { Vector vec=new Vector(); vec.addElement(((RefType)yyVals[0+yyTop])); @@ -1617,54 +1606,54 @@ case 108: yyVal=vec; } break; -case 109: - // line 1044 "./../src/mycompiler/myparser/JavaParser.jay" +case 108: + // line 1048 "./../src/mycompiler/myparser/JavaParser.jay" { ((Vector)yyVals[-2+yyTop]).addElement(((RefType)yyVals[0+yyTop])); containedTypes.addElement(((RefType)yyVals[0+yyTop])); yyVal=((Vector)yyVals[-2+yyTop]); } break; -case 110: - // line 1051 "./../src/mycompiler/myparser/JavaParser.jay" +case 109: + // line 1055 "./../src/mycompiler/myparser/JavaParser.jay" { Vector vec=new Vector(); vec.addElement(((GenericTypeVar)yyVals[0+yyTop])); yyVal=vec; } break; -case 111: - // line 1057 "./../src/mycompiler/myparser/JavaParser.jay" +case 110: + // line 1061 "./../src/mycompiler/myparser/JavaParser.jay" { ((Vector)yyVals[-2+yyTop]).addElement(((GenericTypeVar)yyVals[0+yyTop])); yyVal=((Vector)yyVals[-2+yyTop]); } break; -case 112: - // line 1065 "./../src/mycompiler/myparser/JavaParser.jay" +case 111: + // line 1069 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[0+yyTop]).setType(((Type)yyVals[-1+yyTop])); ((Method)yyVals[0+yyTop]).setGenericMethodParameters(((Vector)yyVals[-3+yyTop])); yyVal=((Method)yyVals[0+yyTop]); } break; -case 113: - // line 1071 "./../src/mycompiler/myparser/JavaParser.jay" +case 112: + // line 1075 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[0+yyTop]).setType(((Type)yyVals[-1+yyTop])); yyVal=((Method)yyVals[0+yyTop]); } break; -case 114: - // line 1076 "./../src/mycompiler/myparser/JavaParser.jay" +case 113: + // line 1080 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-2+yyTop])); ((Method)yyVals[0+yyTop]).setType(((Type)yyVals[-1+yyTop])); yyVal=((Method)yyVals[0+yyTop]); } break; -case 115: - // line 1082 "./../src/mycompiler/myparser/JavaParser.jay" +case 114: + // line 1086 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-5+yyTop])); ((Method)yyVals[0+yyTop]).setGenericMethodParameters(((Vector)yyVals[-3+yyTop])); @@ -1672,25 +1661,25 @@ case 115: yyVal=((Method)yyVals[0+yyTop]); } break; -case 116: - // line 1089 "./../src/mycompiler/myparser/JavaParser.jay" +case 115: + // line 1093 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop])); yyVal=((Method)yyVals[-1+yyTop]); } break; +case 116: + // line 1099 "./../src/mycompiler/myparser/JavaParser.jay" + { + ((Method)yyVals[-1+yyTop]).setGenericMethodParameters(((Vector)yyVals[-4+yyTop])); + ((Method)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); + ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop])); + yyVal=((Method)yyVals[-1+yyTop]); + } + break; case 117: - // line 1095 "./../src/mycompiler/myparser/JavaParser.jay" - { - ((Method)yyVals[-1+yyTop]).setGenericMethodParameters(((Vector)yyVals[-4+yyTop])); - ((Method)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); - ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop])); - yyVal=((Method)yyVals[-1+yyTop]); - } - break; -case 118: - // line 1102 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1106 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-3+yyTop])); ((Method)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); @@ -1698,8 +1687,8 @@ case 118: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 119: - // line 1109 "./../src/mycompiler/myparser/JavaParser.jay" +case 118: + // line 1113 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-6+yyTop])); ((Method)yyVals[-1+yyTop]).setGenericMethodParameters(((Vector)yyVals[-4+yyTop])); @@ -1708,16 +1697,16 @@ case 119: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 120: - // line 1117 "./../src/mycompiler/myparser/JavaParser.jay" +case 119: + // line 1121 "./../src/mycompiler/myparser/JavaParser.jay" { Void Voit = new Void(((Token)yyVals[-1+yyTop]).getOffset()); ((Method)yyVals[0+yyTop]).setType(Voit); yyVal=((Method)yyVals[0+yyTop]); } break; -case 121: - // line 1123 "./../src/mycompiler/myparser/JavaParser.jay" +case 120: + // line 1127 "./../src/mycompiler/myparser/JavaParser.jay" { Void voit = new Void(((Token)yyVals[-1+yyTop]).getOffset()); ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-2+yyTop])); @@ -1725,8 +1714,8 @@ case 121: yyVal=((Method)yyVals[0+yyTop]); } break; -case 122: - // line 1130 "./../src/mycompiler/myparser/JavaParser.jay" +case 121: + // line 1134 "./../src/mycompiler/myparser/JavaParser.jay" { Void voyt = new Void(((Token)yyVals[-2+yyTop]).getOffset()); ((Method)yyVals[-1+yyTop]).setType(voyt); @@ -1734,8 +1723,8 @@ case 122: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 123: - // line 1137 "./../src/mycompiler/myparser/JavaParser.jay" +case 122: + // line 1141 "./../src/mycompiler/myparser/JavaParser.jay" { Void voyd = new Void(((Token)yyVals[-2+yyTop]).getOffset()); ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-3+yyTop])); @@ -1744,8 +1733,8 @@ case 123: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 124: - // line 1145 "./../src/mycompiler/myparser/JavaParser.jay" +case 123: + // line 1149 "./../src/mycompiler/myparser/JavaParser.jay" { Void Voit = new Void(((Token)yyVals[-1+yyTop]).getOffset()); ((Method)yyVals[0+yyTop]).setType(Voit); @@ -1753,8 +1742,8 @@ case 124: yyVal=((Method)yyVals[0+yyTop]); } break; -case 125: - // line 1152 "./../src/mycompiler/myparser/JavaParser.jay" +case 124: + // line 1156 "./../src/mycompiler/myparser/JavaParser.jay" { Void voit = new Void(((Token)yyVals[-1+yyTop]).getOffset()); ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-5+yyTop])); @@ -1763,8 +1752,8 @@ case 125: yyVal=((Method)yyVals[0+yyTop]); } break; -case 126: - // line 1160 "./../src/mycompiler/myparser/JavaParser.jay" +case 125: + // line 1164 "./../src/mycompiler/myparser/JavaParser.jay" { Void voyt = new Void(((Token)yyVals[-2+yyTop]).getOffset()); ((Method)yyVals[-1+yyTop]).setType(voyt); @@ -1773,8 +1762,8 @@ case 126: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 127: - // line 1168 "./../src/mycompiler/myparser/JavaParser.jay" +case 126: + // line 1172 "./../src/mycompiler/myparser/JavaParser.jay" { Void voyd = new Void(((Token)yyVals[-2+yyTop]).getOffset()); ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-6+yyTop])); @@ -1784,39 +1773,39 @@ case 127: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 128: - // line 1178 "./../src/mycompiler/myparser/JavaParser.jay" +case 127: + // line 1182 "./../src/mycompiler/myparser/JavaParser.jay" { /*auskommentiert von Andreas Stadelmeier (a10023) $1.setType(TypePlaceholder.fresh()); */ yyVal=((Method)yyVals[0+yyTop]); } break; -case 129: - // line 1183 "./../src/mycompiler/myparser/JavaParser.jay" +case 128: + // line 1187 "./../src/mycompiler/myparser/JavaParser.jay" { /*auskommentiert von Andreas Stadelmeier (a10023) $4.setType(TypePlaceholder.fresh());*/ ((Method)yyVals[0+yyTop]).setGenericMethodParameters(((Vector)yyVals[-2+yyTop])); yyVal=((Method)yyVals[0+yyTop]); } break; -case 130: - // line 1190 "./../src/mycompiler/myparser/JavaParser.jay" +case 129: + // line 1194 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-1+yyTop])); /*auskommentiert von Andreas Stadelmeier (a10023) $2.setType(TypePlaceholder.fresh());*/ yyVal=((Method)yyVals[0+yyTop]); } break; -case 131: - // line 1196 "./../src/mycompiler/myparser/JavaParser.jay" +case 130: + // line 1200 "./../src/mycompiler/myparser/JavaParser.jay" { /*auskommentiert von Andreas Stadelmeier (a10023) $1.setType(TypePlaceholder.fresh());*/ ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop])); yyVal=((Method)yyVals[-1+yyTop]); } break; -case 132: - // line 1202 "./../src/mycompiler/myparser/JavaParser.jay" +case 131: + // line 1206 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-2+yyTop])); /*auskommentiert von Andreas Stadelmeier (a10023) $2.setType(TypePlaceholder.fresh());*/ @@ -1824,32 +1813,32 @@ case 132: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 133: - // line 1211 "./../src/mycompiler/myparser/JavaParser.jay" +case 132: + // line 1215 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((BaseType)yyVals[0+yyTop]); } break; -case 134: - // line 1215 "./../src/mycompiler/myparser/JavaParser.jay" +case 133: + // line 1219 "./../src/mycompiler/myparser/JavaParser.jay" { ((BaseType)yyVals[-2+yyTop]).setArray(true); } break; -case 135: - // line 1219 "./../src/mycompiler/myparser/JavaParser.jay" +case 134: + // line 1223 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((RefType)yyVals[0+yyTop]); } break; -case 136: - // line 1223 "./../src/mycompiler/myparser/JavaParser.jay" +case 135: + // line 1227 "./../src/mycompiler/myparser/JavaParser.jay" { ((RefType)yyVals[-2+yyTop]).setArray(true); } break; -case 137: - // line 1227 "./../src/mycompiler/myparser/JavaParser.jay" +case 136: + // line 1231 "./../src/mycompiler/myparser/JavaParser.jay" { FieldDeclaration IVD = new FieldDeclaration(((DeclId)yyVals[0+yyTop]).getOffset()); IVD.getDeclIdVector().addElement( ((DeclId)yyVals[0+yyTop]) ); @@ -1857,66 +1846,66 @@ case 137: yyVal = IVD; } break; -case 138: - // line 1234 "./../src/mycompiler/myparser/JavaParser.jay" +case 137: + // line 1238 "./../src/mycompiler/myparser/JavaParser.jay" { ((FieldDeclaration)yyVals[-2+yyTop]).getDeclIdVector().addElement(((DeclId)yyVals[0+yyTop])); yyVal=((FieldDeclaration)yyVals[-2+yyTop]); } break; -case 139: - // line 1240 "./../src/mycompiler/myparser/JavaParser.jay" +case 138: + // line 1244 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[0+yyTop]); } break; -case 140: - // line 1245 "./../src/mycompiler/myparser/JavaParser.jay" +case 139: + // line 1249 "./../src/mycompiler/myparser/JavaParser.jay" { Block Blstat = new Block(); Blstat.set_Statement(((Statement)yyVals[0+yyTop])); yyVal=Blstat; } break; -case 141: - // line 1252 "./../src/mycompiler/myparser/JavaParser.jay" +case 140: + // line 1256 "./../src/mycompiler/myparser/JavaParser.jay" { ((Block)yyVals[-1+yyTop]).set_Statement(((Statement)yyVals[0+yyTop])); yyVal=((Block)yyVals[-1+yyTop]); } break; -case 142: - // line 1258 "./../src/mycompiler/myparser/JavaParser.jay" +case 141: + // line 1262 "./../src/mycompiler/myparser/JavaParser.jay" { ParameterList PL = new ParameterList(); PL.set_AddParameter(((FormalParameter)yyVals[0+yyTop])); yyVal = PL; } break; -case 143: - // line 1264 "./../src/mycompiler/myparser/JavaParser.jay" +case 142: + // line 1268 "./../src/mycompiler/myparser/JavaParser.jay" { ((ParameterList)yyVals[-2+yyTop]).set_AddParameter(((FormalParameter)yyVals[0+yyTop])); yyVal = ((ParameterList)yyVals[-2+yyTop]); } break; -case 144: - // line 1270 "./../src/mycompiler/myparser/JavaParser.jay" +case 143: + // line 1274 "./../src/mycompiler/myparser/JavaParser.jay" { This THCON = new This(((Token)yyVals[-3+yyTop]).getOffset(),((Token)yyVals[-3+yyTop]).getLexem().length()); yyVal=THCON; } break; -case 145: - // line 1275 "./../src/mycompiler/myparser/JavaParser.jay" +case 144: + // line 1279 "./../src/mycompiler/myparser/JavaParser.jay" { This THCONargl = new This(((Token)yyVals[-4+yyTop]).getOffset(),((Token)yyVals[-4+yyTop]).getLexem().length()); THCONargl.set_ArgumentList(((ArgumentList)yyVals[-2+yyTop])); yyVal=THCONargl; } break; -case 146: - // line 1284 "./../src/mycompiler/myparser/JavaParser.jay" +case 145: + // line 1288 "./../src/mycompiler/myparser/JavaParser.jay" { RefType RT = new RefType(-1); RT.set_UsedId(((UsedId)yyVals[0+yyTop])); @@ -1924,16 +1913,16 @@ case 146: yyVal=RT; } break; -case 147: - // line 1291 "./../src/mycompiler/myparser/JavaParser.jay" +case 146: + // line 1295 "./../src/mycompiler/myparser/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()); yyVal=((RefType)yyVals[-2+yyTop]); } break; -case 148: - // line 1298 "./../src/mycompiler/myparser/JavaParser.jay" +case 147: + // line 1302 "./../src/mycompiler/myparser/JavaParser.jay" { Method met = new Method(((Token)yyVals[-2+yyTop]).getOffset()); /* #JB# 10.04.2005 */ @@ -1947,8 +1936,8 @@ case 148: yyVal = met; } break; -case 149: - // line 1311 "./../src/mycompiler/myparser/JavaParser.jay" +case 148: + // line 1315 "./../src/mycompiler/myparser/JavaParser.jay" { Method met_para = new Method(((Token)yyVals[-3+yyTop]).getOffset()); /* #JB# 10.04.2005 */ @@ -1963,8 +1952,8 @@ case 149: yyVal = met_para; } break; -case 150: - // line 1326 "./../src/mycompiler/myparser/JavaParser.jay" +case 149: + // line 1330 "./../src/mycompiler/myparser/JavaParser.jay" { BooleanType BT = new BooleanType(); /* #JB# 05.04.2005 */ @@ -1974,14 +1963,14 @@ case 150: yyVal=BT; } break; -case 151: - // line 1335 "./../src/mycompiler/myparser/JavaParser.jay" +case 150: + // line 1339 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((BaseType)yyVals[0+yyTop]); } break; -case 152: - // line 1340 "./../src/mycompiler/myparser/JavaParser.jay" +case 151: + // line 1344 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("T->Parser->referenctype: " + ((UsedId)yyVals[0+yyTop])); RefType RT = new RefType(((UsedId)yyVals[0+yyTop]).getOffset()); @@ -2000,26 +1989,26 @@ case 152: yyVal=RT; } break; -case 153: - // line 1360 "./../src/mycompiler/myparser/JavaParser.jay" +case 152: + // line 1364 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((DeclId)yyVals[0+yyTop]); } break; -case 154: - // line 1381 "./../src/mycompiler/myparser/JavaParser.jay" +case 153: + // line 1385 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((LocalVarDecl)yyVals[0+yyTop]); } break; -case 155: - // line 1385 "./../src/mycompiler/myparser/JavaParser.jay" +case 154: + // line 1389 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Statement)yyVals[0+yyTop]); } break; -case 156: - // line 1390 "./../src/mycompiler/myparser/JavaParser.jay" +case 155: + // line 1394 "./../src/mycompiler/myparser/JavaParser.jay" { FormalParameter FP = new FormalParameter(((DeclId)yyVals[0+yyTop])); FP.setType(((Type)yyVals[-1+yyTop])); @@ -2027,8 +2016,8 @@ case 156: yyVal=FP; } break; -case 157: - // line 1415 "./../src/mycompiler/myparser/JavaParser.jay" +case 156: + // line 1419 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("\nFunktionsdeklaration mit typlosen Parametern: " + ((DeclId)yyVals[0+yyTop]).name); @@ -2047,29 +2036,29 @@ case 157: yyVal=FP; } break; -case 158: - // line 1434 "./../src/mycompiler/myparser/JavaParser.jay" +case 157: + // line 1438 "./../src/mycompiler/myparser/JavaParser.jay" { ArgumentList AL = new ArgumentList(); AL.expr.addElement(((Expr)yyVals[0+yyTop])); yyVal=AL; } break; -case 159: - // line 1440 "./../src/mycompiler/myparser/JavaParser.jay" +case 158: + // line 1444 "./../src/mycompiler/myparser/JavaParser.jay" { ((ArgumentList)yyVals[-2+yyTop]).expr.addElement(((Expr)yyVals[0+yyTop])); yyVal=((ArgumentList)yyVals[-2+yyTop]); } break; -case 160: - // line 1446 "./../src/mycompiler/myparser/JavaParser.jay" +case 159: + // line 1450 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((BaseType)yyVals[0+yyTop]); } break; -case 161: - // line 1451 "./../src/mycompiler/myparser/JavaParser.jay" +case 160: + // line 1455 "./../src/mycompiler/myparser/JavaParser.jay" { DeclId DI = new DeclId(); /* #JB# 10.04.2005 */ @@ -2081,62 +2070,62 @@ case 161: yyVal=DI; } break; -case 162: - // line 1463 "./../src/mycompiler/myparser/JavaParser.jay" +case 161: + // line 1467 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 163: - // line 1468 "./../src/mycompiler/myparser/JavaParser.jay" +case 162: + // line 1472 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((LocalVarDecl)yyVals[-1+yyTop]); } break; -case 164: - // line 1473 "./../src/mycompiler/myparser/JavaParser.jay" +case 163: + // line 1477 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Statement)yyVals[0+yyTop]); } break; -case 165: - // line 1477 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((IfStmt)yyVals[0+yyTop]); - } - break; -case 166: +case 164: // line 1481 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((IfStmt)yyVals[0+yyTop]); } break; -case 167: +case 165: // line 1485 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((IfStmt)yyVals[0+yyTop]); + } + break; +case 166: + // line 1489 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((WhileStmt)yyVals[0+yyTop]); } break; -case 168: - // line 1489 "./../src/mycompiler/myparser/JavaParser.jay" +case 167: + // line 1493 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((ForStmt)yyVals[0+yyTop]); } break; -case 169: - // line 1494 "./../src/mycompiler/myparser/JavaParser.jay" +case 168: + // line 1498 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 170: - // line 1498 "./../src/mycompiler/myparser/JavaParser.jay" +case 169: + // line 1502 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((NewClass)yyVals[0+yyTop]); } break; -case 171: - // line 1503 "./../src/mycompiler/myparser/JavaParser.jay" +case 170: + // line 1507 "./../src/mycompiler/myparser/JavaParser.jay" { IntegerType IT = new IntegerType(); /* #JB# 05.04.2005 */ @@ -2146,8 +2135,8 @@ case 171: yyVal=IT; } break; -case 172: - // line 1512 "./../src/mycompiler/myparser/JavaParser.jay" +case 171: + // line 1516 "./../src/mycompiler/myparser/JavaParser.jay" { CharacterType CT = new CharacterType(); /* #JB# 05.04.2005 */ @@ -2157,8 +2146,8 @@ case 172: yyVal=CT; } break; -case 173: - // line 1522 "./../src/mycompiler/myparser/JavaParser.jay" +case 172: + // line 1526 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("P -> Lokale Variable angelegt!"); LocalVarDecl LVD = new LocalVarDecl(((Type)yyVals[-1+yyTop]).getOffset(),((Type)yyVals[-1+yyTop]).getVariableLength()); @@ -2167,8 +2156,8 @@ case 173: yyVal = LVD; } break; -case 174: - // line 1533 "./../src/mycompiler/myparser/JavaParser.jay" +case 173: + // line 1537 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("P -> Lokale Variable angelegt!"); LocalVarDecl LVD = new LocalVarDecl(((FieldDeclaration)yyVals[0+yyTop]).getOffset(),((FieldDeclaration)yyVals[0+yyTop]).getVariableLength()); @@ -2177,32 +2166,32 @@ case 174: yyVal = LVD; } break; -case 175: - // line 1543 "./../src/mycompiler/myparser/JavaParser.jay" +case 174: + // line 1547 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[0+yyTop]); } break; -case 176: - // line 1547 "./../src/mycompiler/myparser/JavaParser.jay" +case 175: + // line 1551 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((EmptyStmt)yyVals[0+yyTop]); } break; -case 177: - // line 1551 "./../src/mycompiler/myparser/JavaParser.jay" +case 176: + // line 1555 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((ExprStmt)yyVals[0+yyTop]); } break; -case 178: - // line 1555 "./../src/mycompiler/myparser/JavaParser.jay" +case 177: + // line 1559 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Return)yyVals[0+yyTop]); } break; -case 179: - // line 1560 "./../src/mycompiler/myparser/JavaParser.jay" +case 178: + // line 1564 "./../src/mycompiler/myparser/JavaParser.jay" { IfStmt Ifst = new IfStmt(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); Ifst.set_Expr(((Expr)yyVals[-2+yyTop])); @@ -2210,8 +2199,8 @@ case 179: yyVal=Ifst; } break; -case 180: - // line 1568 "./../src/mycompiler/myparser/JavaParser.jay" +case 179: + // line 1572 "./../src/mycompiler/myparser/JavaParser.jay" { IfStmt IfstElst = new IfStmt(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength()); IfstElst.set_Expr(((Expr)yyVals[-4+yyTop])); @@ -2220,8 +2209,8 @@ case 180: yyVal=IfstElst; } break; -case 181: - // line 1577 "./../src/mycompiler/myparser/JavaParser.jay" +case 180: + // line 1581 "./../src/mycompiler/myparser/JavaParser.jay" { WhileStmt Whlst = new WhileStmt(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); Whlst.set_Expr(((Expr)yyVals[-2+yyTop])); @@ -2229,8 +2218,8 @@ case 181: yyVal=Whlst; } break; -case 182: - // line 1588 "./../src/mycompiler/myparser/JavaParser.jay" +case 181: + // line 1592 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-6+yyTop]).getOffset(),((Expr)yyVals[-6+yyTop]).getVariableLength()); Fst.set_head_Initializer(((Expr)yyVals[-6+yyTop])); @@ -2242,8 +2231,8 @@ case 182: yyVal = Fst; } break; -case 183: - // line 1600 "./../src/mycompiler/myparser/JavaParser.jay" +case 182: + // line 1604 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-5+yyTop]).getOffset(),((Expr)yyVals[-5+yyTop]).getVariableLength()); Fst.set_head_Initializer(((Expr)yyVals[-5+yyTop])); @@ -2254,8 +2243,8 @@ case 183: yyVal = Fst; } break; -case 184: - // line 1611 "./../src/mycompiler/myparser/JavaParser.jay" +case 183: + // line 1615 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-5+yyTop]).getOffset(),((Expr)yyVals[-5+yyTop]).getVariableLength()); Fst.set_head_Initializer(((Expr)yyVals[-5+yyTop])); @@ -2266,8 +2255,8 @@ case 184: yyVal = Fst; } break; -case 185: - // line 1622 "./../src/mycompiler/myparser/JavaParser.jay" +case 184: + // line 1626 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength()); Fst.set_head_Condition(((Expr)yyVals[-4+yyTop])); @@ -2278,8 +2267,8 @@ case 185: yyVal = Fst; } break; -case 186: - // line 1633 "./../src/mycompiler/myparser/JavaParser.jay" +case 185: + // line 1637 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength()); Fst.set_head_Initializer(((Expr)yyVals[-4+yyTop])); @@ -2289,8 +2278,8 @@ case 186: yyVal = Fst; } break; -case 187: - // line 1643 "./../src/mycompiler/myparser/JavaParser.jay" +case 186: + // line 1647 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-3+yyTop]).getOffset(),((Expr)yyVals[-3+yyTop]).getVariableLength()); Fst.set_head_Condition(((Expr)yyVals[-3+yyTop])); @@ -2300,8 +2289,8 @@ case 187: yyVal = Fst; } break; -case 188: - // line 1653 "./../src/mycompiler/myparser/JavaParser.jay" +case 187: + // line 1657 "./../src/mycompiler/myparser/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])); @@ -2311,8 +2300,8 @@ case 188: yyVal = Fst; } break; -case 189: - // line 1663 "./../src/mycompiler/myparser/JavaParser.jay" +case 188: + // line 1667 "./../src/mycompiler/myparser/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])); @@ -2321,73 +2310,73 @@ case 189: yyVal = Fst; } break; -case 190: - // line 1672 "./../src/mycompiler/myparser/JavaParser.jay" +case 189: + // line 1676 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("conditionalexpression"); yyVal=((Expr)yyVals[0+yyTop]); } break; -case 191: - // line 1677 "./../src/mycompiler/myparser/JavaParser.jay" +case 190: + // line 1681 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Assign)yyVals[0+yyTop]); } break; -case 192: - // line 1683 "./../src/mycompiler/myparser/JavaParser.jay" +case 191: + // line 1687 "./../src/mycompiler/myparser/JavaParser.jay" { EmptyStmt Empst = new EmptyStmt(); yyVal=Empst; } break; -case 193: - // line 1689 "./../src/mycompiler/myparser/JavaParser.jay" +case 192: + // line 1693 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[-1+yyTop]); } break; -case 194: - // line 1694 "./../src/mycompiler/myparser/JavaParser.jay" +case 193: + // line 1698 "./../src/mycompiler/myparser/JavaParser.jay" { Return ret = new Return(-1,-1); yyVal= ret; } break; -case 195: - // line 1699 "./../src/mycompiler/myparser/JavaParser.jay" +case 194: + // line 1703 "./../src/mycompiler/myparser/JavaParser.jay" { Return retexp = new Return(((Expr)yyVals[-1+yyTop]).getOffset(),((Expr)yyVals[-1+yyTop]).getVariableLength()); retexp.set_ReturnExpr(((Expr)yyVals[-1+yyTop])); yyVal=retexp; } break; -case 196: - // line 1706 "./../src/mycompiler/myparser/JavaParser.jay" +case 195: + // line 1710 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Statement)yyVals[0+yyTop]); } break; -case 197: - // line 1710 "./../src/mycompiler/myparser/JavaParser.jay" +case 196: + // line 1714 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((IfStmt)yyVals[0+yyTop]); } break; -case 198: - // line 1714 "./../src/mycompiler/myparser/JavaParser.jay" +case 197: + // line 1718 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((WhileStmt)yyVals[0+yyTop]); } break; -case 199: - // line 1719 "./../src/mycompiler/myparser/JavaParser.jay" +case 198: + // line 1723 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 200: - // line 1725 "./../src/mycompiler/myparser/JavaParser.jay" +case 199: + // line 1729 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("\nParser --> Zuweisung1!\n"); Assign Ass = new Assign(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); @@ -2413,8 +2402,8 @@ case 200: yyVal=Ass; } break; -case 201: - // line 1750 "./../src/mycompiler/myparser/JavaParser.jay" +case 200: + // line 1754 "./../src/mycompiler/myparser/JavaParser.jay" { Assign Ass =new Assign(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); LocalOrFieldVar LOFV = new LocalOrFieldVar(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); @@ -2437,44 +2426,44 @@ case 201: yyVal=Ass; } break; -case 202: - // line 1773 "./../src/mycompiler/myparser/JavaParser.jay" +case 201: + // line 1777 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Assign)yyVals[0+yyTop]); } break; -case 203: - // line 1777 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; -case 204: +case 202: // line 1781 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 205: +case 203: // line 1785 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 206: +case 204: // line 1789 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 207: +case 205: // line 1793 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; +case 206: + // line 1797 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((MethodCall)yyVals[0+yyTop]); } break; -case 208: - // line 1804 "./../src/mycompiler/myparser/JavaParser.jay" +case 207: + // line 1808 "./../src/mycompiler/myparser/JavaParser.jay" { IfStmt IfElno = new IfStmt(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength()); IfElno.set_Expr(((Expr)yyVals[-4+yyTop])); @@ -2483,8 +2472,8 @@ case 208: yyVal=IfElno; } break; -case 209: - // line 1813 "./../src/mycompiler/myparser/JavaParser.jay" +case 208: + // line 1817 "./../src/mycompiler/myparser/JavaParser.jay" { WhileStmt Whstno = new WhileStmt(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); Whstno.set_Expr(((Expr)yyVals[-2+yyTop])); @@ -2492,14 +2481,14 @@ case 209: yyVal=Whstno; } break; -case 210: - // line 1821 "./../src/mycompiler/myparser/JavaParser.jay" +case 209: + // line 1825 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 211: - // line 1825 "./../src/mycompiler/myparser/JavaParser.jay" +case 210: + // line 1829 "./../src/mycompiler/myparser/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()); @@ -2510,20 +2499,20 @@ case 211: yyVal=LogOr; } break; -case 212: - // line 1838 "./../src/mycompiler/myparser/JavaParser.jay" +case 211: + // line 1842 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=null; } break; -case 213: - // line 1843 "./../src/mycompiler/myparser/JavaParser.jay" +case 212: + // line 1847 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[0+yyTop]); } break; -case 214: - // line 1847 "./../src/mycompiler/myparser/JavaParser.jay" +case 213: + // line 1851 "./../src/mycompiler/myparser/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";}|*/ @@ -2533,20 +2522,20 @@ case 214: yyVal=ret; } break; -case 215: - // line 1857 "./../src/mycompiler/myparser/JavaParser.jay" +case 214: + // line 1861 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=null; } break; -case 216: - // line 1861 "./../src/mycompiler/myparser/JavaParser.jay" +case 215: + // line 1865 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((ParameterList)yyVals[-1+yyTop]); } break; -case 217: - // line 1866 "./../src/mycompiler/myparser/JavaParser.jay" +case 216: + // line 1870 "./../src/mycompiler/myparser/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])); @@ -2554,87 +2543,87 @@ case 217: yyVal=lambda; } break; -case 218: - // line 1885 "./../src/mycompiler/myparser/JavaParser.jay" +case 217: + // line 1889 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((UsedId)yyVals[0+yyTop]); } break; -case 219: - // line 1890 "./../src/mycompiler/myparser/JavaParser.jay" +case 218: + // line 1894 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=null; } break; -case 220: - // line 1894 "./../src/mycompiler/myparser/JavaParser.jay" +case 219: + // line 1898 "./../src/mycompiler/myparser/JavaParser.jay" { TimesOp TEO = new TimesOp(-1,-1); yyVal=TEO; } break; -case 221: - // line 1899 "./../src/mycompiler/myparser/JavaParser.jay" +case 220: + // line 1903 "./../src/mycompiler/myparser/JavaParser.jay" { DivideOp DEO = new DivideOp(-1,-1); yyVal=DEO; } break; -case 222: - // line 1904 "./../src/mycompiler/myparser/JavaParser.jay" +case 221: + // line 1908 "./../src/mycompiler/myparser/JavaParser.jay" { ModuloOp MEO = new ModuloOp(-1,-1); yyVal=MEO; } break; -case 223: - // line 1909 "./../src/mycompiler/myparser/JavaParser.jay" +case 222: + // line 1913 "./../src/mycompiler/myparser/JavaParser.jay" { PlusOp PEO = new PlusOp(-1,-1); yyVal=PEO; } break; -case 224: - // line 1914 "./../src/mycompiler/myparser/JavaParser.jay" +case 223: + // line 1918 "./../src/mycompiler/myparser/JavaParser.jay" { MinusOp MEO = new MinusOp(-1,-1); yyVal=MEO; } break; -case 225: - // line 1926 "./../src/mycompiler/myparser/JavaParser.jay" +case 224: + // line 1930 "./../src/mycompiler/myparser/JavaParser.jay" { PreIncExpr PRINC = new PreIncExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); PRINC.set_Expr(((Expr)yyVals[0+yyTop])); yyVal=PRINC; } break; -case 226: - // line 1933 "./../src/mycompiler/myparser/JavaParser.jay" +case 225: + // line 1937 "./../src/mycompiler/myparser/JavaParser.jay" { PreDecExpr PRDEC = new PreDecExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); PRDEC.set_Expr(((Expr)yyVals[0+yyTop])); yyVal=PRDEC; } break; -case 227: - // line 1940 "./../src/mycompiler/myparser/JavaParser.jay" +case 226: + // line 1944 "./../src/mycompiler/myparser/JavaParser.jay" { PostIncExpr PIE = new PostIncExpr(((Expr)yyVals[-1+yyTop]).getOffset(),((Expr)yyVals[-1+yyTop]).getVariableLength()); PIE.set_Expr(((Expr)yyVals[-1+yyTop])); yyVal=PIE; } break; -case 228: - // line 1947 "./../src/mycompiler/myparser/JavaParser.jay" +case 227: + // line 1951 "./../src/mycompiler/myparser/JavaParser.jay" { PostDecExpr PDE = new PostDecExpr(((Expr)yyVals[-1+yyTop]).getOffset(),((Expr)yyVals[-1+yyTop]).getVariableLength()); PDE.set_Expr(((Expr)yyVals[-1+yyTop])); yyVal=PDE; } break; -case 229: - // line 1955 "./../src/mycompiler/myparser/JavaParser.jay" +case 228: + // line 1959 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("M1"); MethodCall MC = new MethodCall(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); @@ -2665,8 +2654,8 @@ case 229: yyVal=MC; } break; -case 230: - // line 1985 "./../src/mycompiler/myparser/JavaParser.jay" +case 229: + // line 1989 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("M2"); MethodCall MCarg = new MethodCall(((UsedId)yyVals[-3+yyTop]).getOffset(),((UsedId)yyVals[-3+yyTop]).getVariableLength()); @@ -2698,8 +2687,8 @@ case 230: yyVal=MCarg; } break; -case 231: - // line 2016 "./../src/mycompiler/myparser/JavaParser.jay" +case 230: + // line 2020 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("M3"); MethodCall MCpr = new MethodCall(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength()); @@ -2719,8 +2708,8 @@ case 231: yyVal=MCpr; } break; -case 232: - // line 2035 "./../src/mycompiler/myparser/JavaParser.jay" +case 231: + // line 2039 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("M4"); MethodCall MCPA = new MethodCall(((Expr)yyVals[-5+yyTop]).getOffset(),((Expr)yyVals[-5+yyTop]).getVariableLength()); @@ -2741,8 +2730,8 @@ case 232: yyVal=MCPA; } break; -case 233: - // line 2058 "./../src/mycompiler/myparser/JavaParser.jay" +case 232: + // line 2062 "./../src/mycompiler/myparser/JavaParser.jay" { NewClass NC = new NewClass(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); NC.set_UsedId(((UsedId)yyVals[-2+yyTop])); @@ -2751,8 +2740,8 @@ case 233: yyVal=NC; } break; -case 234: - // line 2066 "./../src/mycompiler/myparser/JavaParser.jay" +case 233: + // line 2070 "./../src/mycompiler/myparser/JavaParser.jay" { NewClass NCarg = new NewClass(((UsedId)yyVals[-3+yyTop]).getOffset(),((UsedId)yyVals[-3+yyTop]).getVariableLength()); NCarg.set_UsedId(((UsedId)yyVals[-3+yyTop])); @@ -2762,14 +2751,14 @@ case 234: yyVal=NCarg; } break; -case 235: - // line 2076 "./../src/mycompiler/myparser/JavaParser.jay" +case 234: + // line 2080 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 236: - // line 2080 "./../src/mycompiler/myparser/JavaParser.jay" +case 235: + // line 2084 "./../src/mycompiler/myparser/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()); @@ -2780,20 +2769,20 @@ case 236: yyVal=And; } break; -case 237: - // line 2096 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; -case 238: +case 236: // line 2100 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 239: +case 237: // line 2104 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; +case 238: + // line 2108 "./../src/mycompiler/myparser/JavaParser.jay" { PositivExpr POSEX=new PositivExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); UnaryPlus UP= new UnaryPlus(); @@ -2802,8 +2791,8 @@ case 239: yyVal=POSEX; } break; -case 240: - // line 2112 "./../src/mycompiler/myparser/JavaParser.jay" +case 239: + // line 2116 "./../src/mycompiler/myparser/JavaParser.jay" { NegativeExpr NEGEX=new NegativeExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); UnaryMinus UM=new UnaryMinus(); @@ -2812,20 +2801,20 @@ case 240: yyVal=NEGEX; } break; +case 240: + // line 2124 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; case 241: - // line 2120 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2129 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 242: - // line 2125 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; -case 243: - // line 2129 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2133 "./../src/mycompiler/myparser/JavaParser.jay" { if (((UsedId)yyVals[0+yyTop]).get_Name().size() > 1) { @@ -2844,38 +2833,38 @@ case 243: } } break; -case 244: - // line 2147 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; -case 245: +case 243: // line 2151 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; +case 244: + // line 2155 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; +case 245: + // line 2160 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; case 246: - // line 2156 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2165 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 247: - // line 2161 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; -case 249: - // line 2167 "./../src/mycompiler/myparser/JavaParser.jay" +case 248: + // line 2171 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Literal)yyVals[0+yyTop]); } break; -case 250: - // line 2171 "./../src/mycompiler/myparser/JavaParser.jay" +case 249: + // line 2175 "./../src/mycompiler/myparser/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()); @@ -2884,24 +2873,24 @@ case 250: yyVal=T; } break; -case 251: - // line 2192 "./../src/mycompiler/myparser/JavaParser.jay" +case 250: + // line 2196 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((MethodCall)yyVals[0+yyTop]); } break; -case 252: - // line 2196 "./../src/mycompiler/myparser/JavaParser.jay" +case 251: + // line 2200 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 253: - // line 2201 "./../src/mycompiler/myparser/JavaParser.jay" +case 252: + // line 2205 "./../src/mycompiler/myparser/JavaParser.jay" {yyVal=((Expr)yyVals[0+yyTop]);} break; -case 254: - // line 2203 "./../src/mycompiler/myparser/JavaParser.jay" +case 253: + // line 2207 "./../src/mycompiler/myparser/JavaParser.jay" {NotExpr NE=new NotExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); UnaryNot UN=new UnaryNot(); NE.set_UnaryNot(UN); @@ -2909,75 +2898,75 @@ case 254: yyVal=NE; } break; -case 255: - // line 2209 "./../src/mycompiler/myparser/JavaParser.jay" +case 254: + // line 2213 "./../src/mycompiler/myparser/JavaParser.jay" {yyVal=((CastExpr)yyVals[0+yyTop]);} break; -case 256: - // line 2211 "./../src/mycompiler/myparser/JavaParser.jay" +case 255: + // line 2215 "./../src/mycompiler/myparser/JavaParser.jay" {yyVal=((Expr)yyVals[0+yyTop]);} break; -case 258: - // line 2216 "./../src/mycompiler/myparser/JavaParser.jay" +case 257: + // line 2220 "./../src/mycompiler/myparser/JavaParser.jay" {IntLiteral IL = new IntLiteral(); IL.set_Int(((Token)yyVals[0+yyTop]).String2Int()); yyVal = IL; } break; -case 259: - // line 2221 "./../src/mycompiler/myparser/JavaParser.jay" +case 258: + // line 2225 "./../src/mycompiler/myparser/JavaParser.jay" {BoolLiteral BL = new BoolLiteral(); BL.set_Bool(((Token)yyVals[0+yyTop]).String2Bool()); yyVal = BL; } break; -case 260: - // line 2225 "./../src/mycompiler/myparser/JavaParser.jay" +case 259: + // line 2229 "./../src/mycompiler/myparser/JavaParser.jay" {CharLiteral CL = new CharLiteral(); CL.set_Char(((Token)yyVals[0+yyTop]).CharInString()); yyVal=CL; } break; -case 261: - // line 2230 "./../src/mycompiler/myparser/JavaParser.jay" +case 260: + // line 2234 "./../src/mycompiler/myparser/JavaParser.jay" { StringLiteral ST = new StringLiteral(); ST.set_String(((Token)yyVals[0+yyTop]).get_String()); yyVal=ST; } break; -case 262: - // line 2235 "./../src/mycompiler/myparser/JavaParser.jay" +case 261: + // line 2239 "./../src/mycompiler/myparser/JavaParser.jay" { LongLiteral LL = new LongLiteral(); LL.set_Long(((Token)yyVals[0+yyTop]).String2Long()); yyVal = LL; } break; -case 263: - // line 2239 "./../src/mycompiler/myparser/JavaParser.jay" +case 262: + // line 2243 "./../src/mycompiler/myparser/JavaParser.jay" { FloatLiteral FL = new FloatLiteral(); FL.set_Float(((Token)yyVals[0+yyTop]).String2Float()); yyVal = FL; } break; -case 264: - // line 2244 "./../src/mycompiler/myparser/JavaParser.jay" +case 263: + // line 2248 "./../src/mycompiler/myparser/JavaParser.jay" { DoubleLiteral DL = new DoubleLiteral(); DL.set_Double(((Token)yyVals[0+yyTop]).String2Double()); yyVal = DL; } break; -case 265: - // line 2250 "./../src/mycompiler/myparser/JavaParser.jay" +case 264: + // line 2254 "./../src/mycompiler/myparser/JavaParser.jay" { Null NN = new Null(); yyVal=NN; } break; -case 266: - // line 2256 "./../src/mycompiler/myparser/JavaParser.jay" +case 265: + // line 2260 "./../src/mycompiler/myparser/JavaParser.jay" { CastExpr CaEx=new CastExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); CaEx.set_Type(((BaseType)yyVals[-2+yyTop])); @@ -2985,25 +2974,25 @@ case 266: yyVal=CaEx; } break; -case 267: - // line 2265 "./../src/mycompiler/myparser/JavaParser.jay" +case 266: + // line 2269 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; +case 267: + // line 2273 "./../src/mycompiler/myparser/JavaParser.jay" + { + } + break; case 268: - // line 2269 "./../src/mycompiler/myparser/JavaParser.jay" - { - } - break; -case 269: - // line 2273 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2277 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 270: - // line 2277 "./../src/mycompiler/myparser/JavaParser.jay" +case 269: + // line 2281 "./../src/mycompiler/myparser/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()); @@ -3014,8 +3003,8 @@ case 270: yyVal=EQ; } break; -case 271: - // line 2287 "./../src/mycompiler/myparser/JavaParser.jay" +case 270: + // line 2291 "./../src/mycompiler/myparser/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()); @@ -3026,14 +3015,14 @@ case 271: yyVal=NEQ; } break; -case 272: - // line 2298 "./../src/mycompiler/myparser/JavaParser.jay" +case 271: + // line 2302 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 273: - // line 2302 "./../src/mycompiler/myparser/JavaParser.jay" +case 272: + // line 2306 "./../src/mycompiler/myparser/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()); @@ -3044,8 +3033,8 @@ case 273: yyVal=LO; } break; -case 274: - // line 2312 "./../src/mycompiler/myparser/JavaParser.jay" +case 273: + // line 2316 "./../src/mycompiler/myparser/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()); @@ -3056,8 +3045,8 @@ case 274: yyVal=GO; } break; -case 275: - // line 2322 "./../src/mycompiler/myparser/JavaParser.jay" +case 274: + // line 2326 "./../src/mycompiler/myparser/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()); @@ -3068,8 +3057,8 @@ case 275: yyVal=LE; } break; -case 276: - // line 2332 "./../src/mycompiler/myparser/JavaParser.jay" +case 275: + // line 2336 "./../src/mycompiler/myparser/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()); @@ -3080,8 +3069,8 @@ case 276: yyVal=GE; } break; -case 277: - // line 2342 "./../src/mycompiler/myparser/JavaParser.jay" +case 276: + // line 2346 "./../src/mycompiler/myparser/JavaParser.jay" { InstanceOf ISO=new InstanceOf(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); ISO.set_Expr(((Expr)yyVals[-2+yyTop])); @@ -3089,20 +3078,20 @@ case 277: yyVal=ISO; } break; +case 277: + // line 2354 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; case 278: - // line 2350 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2359 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 279: - // line 2355 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; -case 280: - // line 2359 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2363 "./../src/mycompiler/myparser/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()); @@ -3113,8 +3102,8 @@ case 280: yyVal=AD; } break; -case 281: - // line 2369 "./../src/mycompiler/myparser/JavaParser.jay" +case 280: + // line 2373 "./../src/mycompiler/myparser/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()); @@ -3125,14 +3114,14 @@ case 281: yyVal=MI; } break; -case 282: - // line 2380 "./../src/mycompiler/myparser/JavaParser.jay" +case 281: + // line 2384 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 283: - // line 2384 "./../src/mycompiler/myparser/JavaParser.jay" +case 282: + // line 2388 "./../src/mycompiler/myparser/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()); @@ -3143,8 +3132,8 @@ case 283: yyVal=ML; } break; -case 284: - // line 2394 "./../src/mycompiler/myparser/JavaParser.jay" +case 283: + // line 2398 "./../src/mycompiler/myparser/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()); @@ -3155,8 +3144,8 @@ case 284: yyVal = DV; } break; -case 285: - // line 2404 "./../src/mycompiler/myparser/JavaParser.jay" +case 284: + // line 2408 "./../src/mycompiler/myparser/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()); @@ -3167,7 +3156,7 @@ case 285: yyVal =MD; } break; - // line 3171 "-" + // line 3160 "-" } yyTop -= yyLen[yyN]; yyState = yyStates[yyTop]; @@ -3206,27 +3195,27 @@ case 285: 32, 3, 3, 33, 33, 15, 15, 41, 41, 41, 41, 41, 41, 29, 4, 4, 31, 16, 16, 16, 30, 113, 113, 114, 114, 5, 5, 17, 17, 110, - 106, 106, 10, 6, 19, 19, 11, 11, 11, 11, - 11, 11, 13, 42, 42, 107, 107, 108, 108, 108, - 108, 48, 94, 97, 97, 93, 93, 95, 95, 96, - 96, 12, 12, 12, 12, 12, 12, 12, 12, 12, + 106, 106, 10, 6, 19, 11, 11, 11, 11, 11, + 11, 13, 42, 42, 107, 107, 108, 108, 108, 108, + 48, 94, 97, 97, 93, 93, 95, 95, 96, 96, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 12, 12, 39, 39, 39, 39, 18, 18, 43, 44, - 44, 50, 50, 109, 109, 38, 38, 14, 14, 36, - 36, 37, 20, 80, 80, 49, 49, 103, 103, 35, - 21, 78, 46, 81, 81, 81, 81, 81, 71, 71, - 34, 34, 47, 47, 79, 79, 79, 79, 86, 87, - 83, 84, 84, 84, 84, 84, 84, 84, 84, 69, - 69, 89, 77, 90, 90, 82, 82, 82, 68, 99, - 99, 72, 72, 72, 72, 72, 72, 88, 85, 67, - 67, 101, 45, 45, 51, 51, 70, 102, 100, 100, - 100, 100, 100, 100, 73, 74, 75, 76, 104, 104, - 104, 104, 91, 91, 66, 66, 57, 57, 57, 57, - 57, 55, 55, 55, 55, 54, 65, 65, 53, 53, - 53, 53, 56, 56, 56, 64, 64, 52, 52, 52, - 52, 52, 52, 52, 52, 111, 63, 63, 62, 62, - 62, 61, 61, 61, 61, 61, 61, 60, 59, 59, - 59, 58, 58, 58, 58, + 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, + 12, 39, 39, 39, 39, 18, 18, 43, 44, 44, + 50, 50, 109, 109, 38, 38, 14, 14, 36, 36, + 37, 20, 80, 80, 49, 49, 103, 103, 35, 21, + 78, 46, 81, 81, 81, 81, 81, 71, 71, 34, + 34, 47, 47, 79, 79, 79, 79, 86, 87, 83, + 84, 84, 84, 84, 84, 84, 84, 84, 69, 69, + 89, 77, 90, 90, 82, 82, 82, 68, 99, 99, + 72, 72, 72, 72, 72, 72, 88, 85, 67, 67, + 101, 45, 45, 51, 51, 70, 102, 100, 100, 100, + 100, 100, 100, 73, 74, 75, 76, 104, 104, 104, + 104, 91, 91, 66, 66, 57, 57, 57, 57, 57, + 55, 55, 55, 55, 54, 65, 65, 53, 53, 53, + 53, 56, 56, 56, 64, 64, 52, 52, 52, 52, + 52, 52, 52, 52, 111, 63, 63, 62, 62, 62, + 61, 61, 61, 61, 61, 61, 60, 59, 59, 59, + 58, 58, 58, 58, }; protected static final short yyLen [] = { 2, 1, 2, 3, 2, 3, 3, 1, 2, 3, 1, @@ -3237,1042 +3226,824 @@ case 285: 3, 2, 3, 2, 3, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 2, 1, 3, 0, 3, 1, 1, 1, 1, 2, - 2, 3, 6, 2, 4, 3, 2, 2, 5, 2, - 3, 4, 2, 2, 3, 3, 4, 2, 3, 3, - 4, 2, 1, 1, 3, 1, 3, 1, 3, 1, - 3, 5, 2, 3, 6, 3, 6, 4, 7, 2, - 3, 3, 4, 5, 6, 6, 7, 1, 4, 2, - 2, 3, 1, 3, 1, 3, 1, 3, 1, 1, - 2, 1, 3, 4, 5, 1, 3, 3, 4, 1, - 1, 1, 1, 1, 1, 2, 1, 1, 3, 1, - 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 2, 1, 1, 1, 1, 1, 5, 7, - 5, 9, 8, 8, 8, 7, 7, 7, 6, 1, - 1, 1, 2, 2, 3, 1, 1, 1, 1, 3, - 3, 1, 1, 1, 1, 1, 1, 7, 5, 1, - 3, 1, 1, 1, 2, 3, 3, 1, 1, 1, - 1, 1, 1, 1, 2, 2, 2, 2, 3, 4, - 5, 6, 4, 5, 1, 3, 1, 1, 2, 2, - 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, - 1, 1, 1, 2, 1, 1, 3, 1, 1, 1, - 1, 1, 1, 1, 1, 4, 1, 3, 1, 3, - 3, 1, 3, 3, 3, 3, 3, 1, 1, 3, - 3, 1, 3, 3, 3, + 2, 3, 6, 2, 3, 2, 3, 6, 2, 3, + 4, 2, 2, 3, 3, 4, 2, 3, 3, 4, + 2, 1, 1, 3, 1, 3, 1, 3, 1, 3, + 5, 2, 3, 6, 3, 6, 4, 7, 2, 3, + 3, 4, 5, 6, 6, 7, 1, 4, 2, 2, + 3, 1, 3, 1, 3, 1, 3, 1, 1, 2, + 1, 3, 4, 5, 1, 3, 3, 4, 1, 1, + 1, 1, 1, 1, 2, 1, 1, 3, 1, 1, + 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 2, 1, 1, 1, 1, 1, 5, 7, 5, + 9, 8, 8, 8, 7, 7, 7, 6, 1, 1, + 1, 2, 2, 3, 1, 1, 1, 1, 3, 3, + 1, 1, 1, 1, 1, 1, 7, 5, 1, 3, + 1, 1, 1, 2, 3, 3, 1, 1, 1, 1, + 1, 1, 1, 2, 2, 2, 2, 3, 4, 5, + 6, 4, 5, 1, 3, 1, 1, 2, 2, 1, + 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, + 1, 1, 2, 1, 1, 3, 1, 1, 1, 1, + 1, 1, 1, 1, 4, 1, 3, 1, 3, 3, + 1, 3, 3, 3, 3, 3, 1, 1, 3, 3, + 1, 3, 3, 3, }; protected static final short yyDefRed [] = { 0, - 62, 150, 172, 0, 63, 171, 60, 59, 58, 0, + 62, 149, 171, 0, 63, 170, 60, 59, 58, 0, 0, 0, 61, 19, 0, 14, 15, 0, 7, 0, - 152, 160, 151, 0, 0, 0, 0, 47, 0, 0, + 151, 159, 150, 0, 0, 0, 0, 47, 0, 0, 10, 0, 0, 13, 12, 0, 0, 0, 0, 0, 0, 71, 8, 0, 0, 0, 0, 0, 0, 48, 11, 0, 0, 0, 0, 0, 0, 20, 0, 0, 6, 0, 9, 0, 0, 0, 0, 32, 0, 72, - 0, 134, 136, 5, 0, 0, 0, 0, 103, 104, + 0, 133, 135, 5, 0, 0, 0, 0, 102, 103, 0, 49, 64, 67, 50, 0, 0, 0, 0, 45, 78, 0, 79, 0, 0, 56, 68, 0, 0, 0, - 153, 0, 0, 0, 70, 0, 69, 22, 0, 0, + 152, 0, 0, 0, 70, 0, 69, 22, 0, 0, 24, 16, 0, 18, 0, 54, 0, 0, 52, 0, 65, 77, 76, 0, 0, 0, 0, 34, 0, 75, 21, 0, 0, 33, 0, 0, 0, 31, 0, 80, - 0, 0, 0, 110, 0, 139, 93, 0, 131, 46, - 57, 0, 90, 87, 0, 0, 0, 0, 88, 0, - 0, 0, 0, 0, 0, 0, 0, 81, 26, 51, - 29, 0, 53, 66, 84, 0, 55, 73, 23, 0, - 25, 35, 108, 0, 105, 0, 0, 0, 250, 0, - 258, 262, 264, 263, 259, 265, 260, 261, 0, 0, - 0, 192, 94, 0, 0, 137, 0, 0, 0, 175, - 0, 154, 0, 0, 249, 246, 0, 0, 252, 0, - 203, 204, 0, 0, 177, 164, 140, 155, 167, 168, - 165, 166, 176, 178, 202, 0, 0, 122, 148, 157, - 0, 142, 0, 0, 0, 146, 0, 161, 138, 0, - 0, 0, 0, 0, 0, 241, 282, 0, 0, 272, - 0, 0, 0, 0, 0, 0, 0, 190, 169, 86, - 237, 238, 244, 245, 170, 191, 251, 255, 96, 0, - 116, 91, 0, 0, 0, 0, 132, 0, 0, 0, - 82, 0, 98, 0, 0, 0, 0, 27, 0, 0, - 0, 194, 0, 0, 0, 225, 226, 215, 0, 0, - 0, 95, 141, 163, 212, 0, 0, 227, 228, 193, - 223, 224, 220, 221, 222, 219, 0, 156, 0, 149, - 111, 0, 129, 0, 0, 0, 0, 239, 240, 254, + 0, 0, 0, 109, 0, 138, 92, 0, 130, 46, + 57, 0, 89, 86, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 81, 26, 51, 29, + 0, 53, 66, 84, 0, 55, 73, 23, 0, 25, + 35, 107, 0, 104, 0, 0, 0, 249, 0, 257, + 261, 263, 262, 258, 264, 259, 260, 0, 0, 0, + 191, 93, 0, 0, 136, 0, 0, 0, 174, 0, + 153, 0, 0, 248, 245, 0, 0, 251, 0, 202, + 203, 0, 0, 176, 163, 139, 154, 166, 167, 164, + 165, 175, 177, 201, 0, 0, 121, 147, 156, 0, + 141, 0, 0, 0, 145, 0, 160, 137, 0, 0, + 0, 0, 0, 0, 240, 281, 0, 0, 271, 0, + 0, 0, 0, 0, 0, 0, 189, 168, 85, 236, + 237, 243, 244, 169, 190, 250, 254, 95, 0, 115, + 90, 87, 0, 0, 131, 0, 0, 82, 0, 97, + 0, 0, 0, 0, 27, 0, 0, 0, 193, 0, + 0, 0, 224, 225, 214, 0, 0, 0, 94, 140, + 162, 211, 0, 0, 226, 227, 192, 222, 223, 219, + 220, 221, 218, 0, 155, 0, 148, 110, 0, 128, + 0, 0, 0, 0, 238, 239, 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 97, 0, 0, - 123, 0, 118, 92, 0, 100, 99, 0, 0, 0, - 109, 0, 0, 0, 195, 0, 216, 229, 158, 0, - 213, 217, 214, 0, 200, 201, 143, 0, 0, 89, - 0, 147, 0, 0, 283, 284, 285, 0, 0, 277, - 275, 276, 273, 274, 0, 0, 0, 0, 0, 0, - 0, 85, 0, 0, 0, 0, 101, 0, 0, 0, - 0, 0, 0, 0, 230, 0, 126, 117, 233, 0, - 266, 0, 0, 144, 0, 83, 0, 0, 0, 0, - 0, 0, 0, 0, 179, 0, 198, 197, 181, 159, - 231, 0, 234, 127, 119, 145, 189, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 232, 188, 187, 0, - 186, 0, 0, 0, 0, 0, 180, 185, 184, 183, - 0, 0, 0, 182, 0, 209, 0, 208, + 0, 0, 0, 0, 96, 122, 0, 117, 91, 0, + 99, 98, 0, 0, 0, 108, 0, 0, 0, 194, + 0, 215, 228, 157, 0, 212, 216, 213, 0, 199, + 200, 142, 0, 0, 0, 0, 146, 0, 0, 282, + 283, 284, 0, 0, 276, 274, 275, 272, 273, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 100, 0, 0, 0, 0, 0, 0, 0, 229, 0, + 125, 116, 88, 232, 0, 265, 0, 0, 143, 0, + 83, 0, 0, 0, 0, 0, 0, 0, 0, 178, + 0, 197, 196, 180, 158, 230, 0, 233, 126, 118, + 144, 188, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 231, 187, 186, 0, 185, 0, 0, 0, 0, + 0, 179, 184, 183, 182, 0, 0, 0, 181, 0, + 208, 0, 207, }; protected static final short yyDgoto [] = { 15, 16, 17, 68, 120, 121, 122, 58, 33, 40, 123, - 91, 92, 93, 94, 95, 96, 97, 205, 99, 206, - 101, 34, 35, 37, 19, 20, 208, 59, 82, 21, - 85, 60, 69, 22, 23, 24, 25, 247, 209, 27, - 28, 210, 147, 211, 382, 212, 213, 149, 242, 309, - 214, 215, 216, 217, 255, 256, 257, 258, 259, 260, - 261, 262, 263, 264, 265, 266, 267, 268, 269, 219, - 379, 220, 271, 272, 273, 274, 225, 0, 226, 227, - 228, 446, 229, 230, 447, 231, 232, 448, 233, 234, - 275, 29, 79, 80, 184, 145, 81, 30, 276, 327, - 316, 236, 380, 277, 31, 105, 106, 168, 295, 107, - 278, 0, 71, 42, 0, + 91, 92, 93, 94, 95, 96, 97, 204, 99, 205, + 101, 34, 35, 37, 19, 20, 207, 59, 82, 21, + 85, 60, 69, 22, 23, 24, 25, 246, 208, 27, + 28, 209, 147, 210, 377, 211, 212, 149, 241, 306, + 213, 214, 215, 216, 254, 255, 256, 257, 258, 259, + 260, 261, 262, 263, 264, 265, 266, 267, 268, 218, + 374, 219, 270, 271, 272, 273, 224, 0, 225, 226, + 227, 441, 228, 229, 442, 230, 231, 443, 232, 233, + 274, 29, 79, 80, 183, 145, 81, 30, 275, 324, + 313, 235, 375, 276, 31, 105, 106, 167, 292, 107, + 277, 0, 71, 42, 0, }; - protected static final short yySindex [] = { 1495, - 0, 0, 0, -257, 0, 0, 0, 0, 0, -242, - -242, -236, 0, 0, 0, 0, 0, 44, 0, 493, - 0, 0, 0, -9, 70, 105, 998, 0, 1182, 493, - 0, 143, -94, 0, 0, 75, 156, 200, 190, -111, - 105, 0, 0, 1182, 208, 233, 1495, -257, -236, 0, - 0, 493, 1182, 61, -242, -242, 3511, 0, -119, -5, - 0, 76, 0, -36, 61, -242, 3548, 0, 5, 0, - 48, 0, 0, 0, -94, -111, 1182, 9, 0, 0, - 149, 0, 0, 0, 0, 226, 85, 333, 61, 0, - 0, 226, 0, 103, 3578, 0, 0, 155, 335, 339, - 0, 24, 106, 1982, 0, 279, 0, 0, -5, -242, - 0, 0, 0, 0, 178, 0, 333, 61, 0, 3614, - 0, 0, 0, 355, 85, 1982, -242, 0, 105, 0, - 0, -119, -5, 0, 5, -242, 61, 0, 3078, 0, - 333, 103, -27, 0, 243, 0, 0, -242, 0, 0, - 0, 114, 0, 0, 1056, -13, 103, 169, 0, 363, - 114, 85, 61, 103, 115, 279, 3160, 0, 0, 0, - 0, 250, 0, 0, 0, 136, 0, 0, 0, -5, - 0, 0, 0, 401, 0, 424, 426, 538, 0, 428, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 878, - 878, 0, 0, 127, 432, 0, 44, 342, 114, 0, - 3269, 0, 436, 168, 0, 0, 459, -182, 0, 450, + protected static final short yySindex [] = { 1681, + 0, 0, 0, -271, 0, 0, 0, 0, 0, -257, + -257, -240, 0, 0, 0, 0, 0, 27, 0, 710, + 0, 0, 0, 116, 121, 110, 1768, 0, 1799, 710, + 0, 92, -96, 0, 0, 24, 181, 168, 186, -97, + 110, 0, 0, 1799, 212, 223, 1681, -271, -240, 0, + 0, 710, 1799, 55, -257, -257, 2449, 0, -112, 5, + 0, 59, 0, -37, 55, -257, 2480, 0, 11, 0, + 159, 0, 0, 0, -96, -97, 1799, 54, 0, 0, + 175, 0, 0, 0, 0, 254, 82, 356, 55, 0, + 0, 254, 0, 114, 2515, 0, 0, 73, 365, 369, + 0, 64, 144, 1947, 0, 345, 0, 0, 5, -257, + 0, 0, 0, 0, 182, 0, 356, 55, 0, 2543, + 0, 0, 0, 398, 82, 1947, -257, 0, 110, 0, + 0, -112, 5, 0, 11, -257, 55, 0, 2027, 0, + 356, 114, 97, 0, 205, 0, 0, -257, 0, 0, + 0, 180, 0, 0, 935, 112, 356, 114, 289, 427, + 82, 55, 114, 144, 345, 2075, 0, 0, 0, 0, + 331, 0, 0, 0, 189, 0, 0, 0, 5, 0, + 0, 0, 449, 0, 451, 457, 463, 0, 458, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 543, 543, + 0, 0, 154, 456, 0, 27, 134, 180, 0, 2119, + 0, 442, 173, 0, 0, 459, -13, 0, 450, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -24, 0, 0, 0, 0, - 114, 0, 17, 61, 186, 0, 466, 0, 0, -242, - 127, 878, 878, 878, -182, 0, 0, 329, 108, 0, - 7, 25, 476, 425, 394, 215, 218, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 391, - 0, 0, 1056, 464, 103, 254, 0, 333, 103, 175, - 0, 489, 0, 3323, 3371, 186, 120, 0, -242, 570, - 1056, 0, 471, 1056, 342, 0, 0, 0, 392, 720, - 432, 0, 0, 0, 0, 752, 230, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1056, 0, 232, 0, - 0, 85, 0, 106, -242, 496, -11, 0, 0, 0, - 878, 878, 878, 878, 878, -242, 878, 878, 878, 878, - 878, 878, 878, 878, 878, 878, 878, 0, 0, 1056, - 0, 207, 0, 0, 769, 0, 0, 3423, 85, 1056, - 0, 815, 478, 497, 0, 498, 0, 0, 0, 413, - 0, 0, 0, 502, 0, 0, 0, 103, 103, 0, - 339, 0, 843, 878, 0, 0, 0, 329, 329, 0, - 0, 0, 0, 0, 7, 7, 25, 476, 425, 394, - 215, 0, 85, 85, 487, 415, 0, 491, 860, 495, - 907, 1600, 2324, 1056, 0, 934, 0, 0, 0, 439, - 0, 103, 103, 0, 501, 0, 2324, 515, 951, 990, - 503, 517, 521, 0, 0, 297, 0, 0, 0, 0, - 0, 460, 0, 0, 0, 0, 0, 2324, 2324, 524, - 2324, 528, 1039, 1056, 1056, 2324, 0, 0, 0, 2324, - 0, 2324, 2324, 529, 531, 532, 0, 0, 0, 0, - 2324, 1600, 1600, 0, 307, 0, 1600, 0, + 0, 0, 0, 0, -55, 0, 0, 0, 0, 180, + 0, 38, 55, 344, 0, 466, 0, 0, -257, 154, + 543, 543, 543, -13, 0, 0, 432, 70, 0, 3, + -66, 473, 418, 393, 213, 215, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 207, 0, + 0, 0, 114, 348, 0, 114, 308, 0, 479, 0, + 2163, 2228, 344, 41, 0, -257, 501, 935, 0, 464, + 935, 134, 0, 0, 0, 245, 518, 456, 0, 0, + 0, 0, 572, 226, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 935, 0, 412, 0, 0, 82, 0, + 144, -257, 484, 28, 0, 0, 0, 543, 543, 543, + 543, 543, -257, 543, 543, 543, 543, 543, 543, 543, + 543, 543, 543, 543, 0, 0, 352, 0, 0, 601, + 0, 0, 2272, 82, 935, 0, 663, 477, 497, 0, + 502, 0, 0, 0, 309, 0, 0, 0, 512, 0, + 0, 0, 114, 114, 483, 369, 0, 702, 543, 0, + 0, 0, 432, 432, 0, 0, 0, 0, 0, 3, + 3, -66, 473, 418, 393, 213, 82, 82, 494, 397, + 0, 496, 734, 498, 789, 2319, 2364, 935, 0, 817, + 0, 0, 0, 0, 431, 0, 114, 114, 0, 505, + 0, 2364, 515, 844, 871, 506, 528, 530, 0, 0, + 306, 0, 0, 0, 0, 0, 439, 0, 0, 0, + 0, 0, 2364, 2364, 534, 2364, 536, 899, 935, 935, + 2364, 0, 0, 0, 2364, 0, 2364, 2364, 538, 541, + 551, 0, 0, 0, 0, 2364, 2319, 2319, 0, 317, + 0, 2319, 0, }; protected static final short yyRindex [] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1329, 0, 0, - 0, 0, 0, 724, 1123, 0, 0, 0, 575, 0, - 0, -90, 0, 0, 0, 0, 0, 0, -98, 0, - 0, 0, 0, 580, 0, 0, 0, 0, 0, 0, - 0, 0, 582, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1009, 0, 0, + 0, 0, 0, 2320, 2421, 0, 0, 0, 593, 0, + 0, -95, 0, 0, 0, 0, 0, 0, -92, 0, + 0, 0, 0, 594, 0, 0, 0, 0, 0, 0, + 0, 0, 596, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 585, 258, 0, 0, - 0, 0, 0, 0, 0, 2403, 0, 402, 0, 0, - 0, 0, 0, -23, 0, 0, 0, 0, 0, 263, - 0, -50, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 212, 0, 0, 0, -53, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 597, 363, 0, 0, + 0, 0, 0, 0, 0, 2571, 0, 12, 0, 0, + 0, 0, 0, -26, 0, 0, 0, 0, 0, 310, + 0, -88, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 164, 0, 0, 0, -48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -4, 0, 0, 263, - 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, + 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 259, 61, 0, 0, + 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 507, 0, - 0, 0, 0, 0, 527, 0, 332, 655, 0, 0, - 0, 0, 0, 0, 0, 0, 1265, 0, 0, 0, - 0, 0, -56, -49, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -41, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, - 0, 0, 0, 0, 3214, 0, 0, 2854, 2238, 0, - 2434, 2489, 1384, 1438, 1689, 1743, 1781, 0, 0, 0, + 0, 0, 378, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -24, 0, 0, + 0, 0, 0, 539, 0, 416, 620, 0, 0, 0, + 0, 0, 0, 0, 0, 1214, 0, 0, 0, 0, + 0, -52, -21, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -36, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 71, 0, 0, 0, 0, + 0, 0, 0, 1957, 0, 0, 1816, 1669, 0, 1565, + 1706, 1260, 1286, 1314, 1352, 1378, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 43, 0, 0, 315, 50, 0, - 0, -26, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1818, 0, 0, 0, 0, 0, - 530, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 76, 0, 0, 77, 0, 0, -28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 286, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 3476, 0, + 0, 1389, 0, 0, 0, 0, 0, 544, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 71, 72, 0, - 0, 0, 0, 0, 0, 0, 0, 2908, 2963, 0, - 0, 0, 0, 0, 2603, 2794, 2543, 1878, 2069, 2129, - 2183, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 79, 81, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3024, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 78, 81, 0, 0, 0, 0, 0, 0, + 0, 0, 1859, 1887, 0, 0, 0, 0, 0, 1764, + 1790, 1732, 1415, 1452, 1511, 1590, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 83, 85, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1983, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, }; - protected static final short yyGindex [] = { 545, - 0, 0, -42, 0, 473, 0, 383, 546, 547, 0, - 0, 22, 0, 113, 0, 500, 0, -22, -80, -55, - -45, 19, 0, 0, 51, 574, -10, 533, -137, -40, - 110, 4, 535, 0, 0, 358, -128, 0, 21, 87, - -14, -35, 0, -115, 0, 0, 0, -133, 283, 153, - 0, 0, 0, 0, -62, 0, -158, -118, 0, 123, - 18, 261, 262, 267, 268, 260, 0, 0, 291, 0, - 319, 0, -32, 30, 62, 118, 0, 0, -350, -179, - 1033, -65, 0, 0, 0, 0, 0, 0, 0, 0, - 298, 256, -72, 490, 0, -64, 561, 0, 184, 0, - 0, 0, -343, 264, 275, 0, 526, 462, 0, 0, + protected static final short yyGindex [] = { 557, + 0, 0, -30, 0, 487, 0, 383, 565, 570, 0, + 0, 125, 0, 56, 0, 526, 0, -3, -101, -53, + -25, 19, 0, 0, 39, 595, -10, 549, -123, -15, + 192, 31, 552, 0, 0, 377, -127, 0, 21, 334, + 62, -78, 0, -113, 0, 0, 0, -129, 303, 127, + 0, 0, 0, 0, -59, 0, -142, 111, 0, -20, + 118, 280, 285, 288, 295, 296, 0, 0, 327, 0, + 234, 0, -17, 17, 72, 113, 0, 0, -384, -195, + 2398, -51, 0, 0, 0, 0, 0, 0, 0, 0, + 332, 198, -41, 522, 0, -54, 590, 0, 155, 0, + 0, 0, -336, 222, 337, 0, 556, 507, 0, 0, 0, 0, 0, 0, 0, }; protected static final short yyTable [] = { 36, - 38, 100, 205, 57, 251, 114, 19, 183, 238, 206, - 246, 67, 50, 239, 83, 84, 144, 207, 18, 250, - 26, 416, 159, 281, 28, 84, 128, 279, 57, 394, - 287, 313, 30, 134, 98, 128, 326, 19, 110, 100, - 74, 306, 307, 32, 18, 144, 47, 160, 127, 430, - 140, 294, 120, 172, 113, 130, 146, 330, 14, 18, - 329, 70, 109, 156, 39, 18, 349, 26, 350, 84, - 43, 444, 98, 18, 18, 102, 218, 103, 133, 45, - 158, 45, 452, 41, 18, 18, 84, 125, 124, 50, - 144, 129, 182, 338, 339, 340, 249, 240, 286, 128, - 102, 121, 43, 41, 218, 284, 221, 83, 114, 130, - 240, 50, 336, 102, 313, 103, 120, 57, 113, 130, - 62, 18, 102, 161, 165, 318, 319, 67, 18, 124, - 112, 444, 444, 61, 221, 180, 444, 125, 18, 115, - 125, 124, 290, 104, 18, 18, 176, 18, 218, 178, - 344, 361, 345, 126, 18, 363, 66, 207, 240, 143, - 46, 18, 56, 241, 102, 121, 18, 308, 222, 28, - 371, 331, 114, 55, 18, 116, 241, 30, 221, 368, - 370, 104, 395, 396, 397, 207, 311, 56, 313, 305, - 305, 30, 137, 124, 112, 328, 222, 392, 152, 142, - 223, 125, 54, 115, 19, 240, 126, 74, 19, 83, - 138, 74, 152, 153, 63, 157, 164, 400, 152, 170, - 19, 137, 18, 74, 241, 398, 399, 282, 223, 207, - 2, 218, 218, 364, 3, 431, 177, 157, 164, 171, - 222, 305, 305, 305, 2, 64, 6, 19, 3, 65, - 74, 244, 244, 390, 427, 428, 224, 16, 245, 245, - 6, 221, 221, 18, 113, 334, 251, 251, 18, 18, - 17, 241, 223, 199, 285, 44, 136, 289, 391, 346, - 381, 250, 250, 240, 224, 53, 244, 199, 289, 321, - 322, 323, 324, 244, 83, 243, 325, 244, 454, 455, - 72, 106, 107, 51, 245, 218, 137, 77, 280, 347, - 348, 296, 207, 207, 18, 362, 369, 18, 51, 106, - 107, 137, 235, 222, 222, 73, 351, 51, 224, 352, - 305, 305, 305, 305, 305, 221, 305, 305, 305, 305, - 305, 305, 305, 305, 305, 305, 305, 18, 139, 241, - 235, 51, 18, 18, 161, 223, 223, 333, 161, 218, - 218, 78, 2, 2, 18, 343, 3, 3, 405, 406, - 341, 13, 143, 161, 218, 342, 112, 13, 6, 6, - 18, 310, 414, 305, 2, 141, 207, 62, 3, 221, - 221, 148, 13, 154, 235, 218, 218, 222, 218, 155, - 6, 167, 237, 218, 221, 14, 88, 218, 333, 218, - 218, 224, 224, 175, 248, 288, 485, 486, 218, 218, - 218, 488, 74, 283, 218, 221, 221, 199, 221, 223, - 237, 358, 377, 221, 329, 329, 297, 221, 299, 221, - 221, 108, 111, 2, 388, 161, 389, 3, 221, 221, - 221, 222, 222, 425, 221, 435, 424, 131, 424, 6, - 161, 19, 161, 300, 2, 301, 222, 304, 3, 401, - 402, 403, 404, 270, 237, 152, 332, 235, 235, 453, - 6, 389, 424, 223, 223, 224, 117, 222, 222, 2, - 222, 169, 19, 3, 314, 222, 315, 413, 223, 222, - 467, 222, 222, 424, 317, 6, 303, 14, 320, 335, - 222, 222, 222, 353, 179, 181, 222, 355, 354, 223, - 223, 356, 223, 357, 360, 432, 433, 223, 365, 375, - 384, 223, 199, 223, 223, 393, 421, 422, 423, 224, - 224, 426, 223, 223, 223, 434, 19, 161, 223, 436, - 161, 235, 19, 439, 224, 458, 464, 237, 237, 456, - 465, 463, 298, 466, 470, 161, 19, 19, 472, 481, - 254, 482, 483, 487, 1, 224, 224, 251, 224, 2, - 252, 4, 253, 224, 3, 174, 133, 224, 173, 224, - 224, 74, 174, 75, 151, 76, 302, 19, 224, 224, - 224, 359, 254, 52, 224, 235, 235, 132, 337, 251, - 135, 387, 252, 407, 253, 408, 411, 385, 373, 374, - 235, 409, 376, 410, 386, 115, 185, 291, 372, 166, - 0, 237, 74, 0, 383, 0, 0, 0, 0, 13, - 13, 235, 235, 0, 235, 13, 13, 13, 13, 235, - 0, 0, 13, 235, 0, 235, 235, 0, 0, 19, - 0, 0, 0, 19, 235, 235, 235, 0, 0, 0, - 235, 0, 0, 0, 0, 19, 0, 0, 412, 0, - 0, 0, 0, 0, 0, 237, 237, 0, 418, 0, - 420, 243, 243, 0, 0, 243, 243, 243, 243, 243, - 237, 243, 19, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 243, 243, 218, 243, 0, 0, 0, - 0, 237, 237, 0, 237, 0, 0, 0, 0, 237, - 0, 0, 0, 237, 0, 237, 237, 438, 0, 441, - 0, 0, 450, 0, 237, 237, 237, 0, 243, 1, - 237, 0, 254, 0, 0, 4, 0, 460, 462, 251, - 378, 5, 252, 0, 253, 0, 0, 133, 7, 8, - 9, 0, 11, 12, 0, 0, 13, 0, 243, 243, - 0, 474, 475, 476, 254, 133, 0, 0, 0, 0, - 0, 251, 0, 0, 252, 0, 253, 0, 0, 0, - 0, 254, 0, 0, 0, 0, 0, 19, 251, 415, - 0, 252, 250, 253, 19, 19, 0, 0, 0, 0, - 19, 19, 19, 19, 189, 0, 0, 19, 0, 0, - 191, 192, 193, 194, 195, 196, 197, 198, 14, 0, - 0, 0, 0, 0, 250, 200, 201, 254, 0, 0, - 0, 0, 0, 0, 251, 0, 189, 252, 0, 253, - 0, 0, 191, 192, 193, 194, 195, 196, 197, 198, - 14, 0, 0, 419, 139, 254, 0, 200, 201, 0, - 0, 0, 251, 429, 0, 252, 0, 253, 0, 0, - 0, 0, 254, 0, 0, 0, 0, 0, 0, 251, - 437, 0, 252, 0, 253, 0, 0, 0, 0, 0, - 254, 243, 243, 0, 0, 0, 243, 251, 0, 0, - 252, 0, 253, 243, 0, 0, 0, 243, 243, 0, - 243, 243, 243, 0, 0, 0, 0, 0, 243, 254, - 0, 0, 0, 0, 0, 243, 251, 0, 0, 252, - 0, 253, 0, 0, 0, 243, 243, 243, 243, 243, - 243, 243, 243, 243, 0, 440, 254, 0, 218, 218, - 218, 218, 0, 251, 451, 218, 252, 0, 253, 0, - 133, 133, 0, 254, 0, 133, 133, 0, 0, 0, - 251, 459, 133, 252, 250, 253, 0, 133, 0, 133, - 133, 133, 133, 133, 133, 0, 189, 133, 0, 0, - 0, 0, 191, 192, 193, 194, 195, 196, 197, 198, - 14, 0, 254, 0, 133, 0, 250, 200, 201, 251, - 461, 0, 252, 0, 253, 0, 0, 0, 189, 0, - 0, 0, 0, 250, 191, 192, 193, 194, 195, 196, - 197, 198, 14, 0, 0, 189, 0, 0, 0, 200, - 201, 191, 192, 193, 194, 195, 196, 197, 198, 14, - 0, 254, 0, 0, 0, 0, 200, 201, 251, 473, - 0, 252, 0, 253, 0, 0, 0, 0, 254, 250, - 0, 0, 0, 0, 0, 251, 0, 0, 252, 0, - 253, 189, 0, 0, 0, 0, 0, 191, 192, 193, - 194, 195, 196, 197, 198, 14, 0, 250, 0, 0, - 0, 0, 200, 201, 0, 0, 0, 0, 0, 189, - 0, 0, 0, 0, 250, 191, 192, 193, 194, 195, - 196, 197, 198, 14, 0, 0, 189, 0, 0, 0, - 200, 201, 191, 192, 193, 194, 195, 196, 197, 198, - 14, 0, 0, 0, 189, 0, 135, 200, 201, 0, - 191, 192, 193, 194, 195, 196, 197, 198, 14, 0, - 0, 250, 0, 0, 135, 200, 201, 0, 0, 0, - 0, 0, 0, 189, 0, 0, 0, 0, 0, 191, - 192, 193, 194, 195, 196, 197, 198, 14, 250, 0, - 0, 0, 0, 0, 200, 201, 0, 0, 0, 0, - 189, 0, 0, 0, 0, 250, 191, 192, 193, 194, - 195, 196, 197, 198, 14, 0, 0, 189, 0, 0, - 0, 200, 201, 191, 192, 193, 194, 195, 196, 197, - 198, 14, 0, 0, 1, 0, 0, 0, 200, 201, - 48, 0, 0, 0, 250, 0, 5, 0, 0, 0, - 0, 0, 0, 7, 8, 9, 189, 0, 49, 0, - 0, 13, 191, 192, 193, 194, 195, 196, 197, 198, - 14, 0, 0, 0, 0, 0, 0, 200, 201, 0, - 0, 242, 242, 0, 0, 242, 242, 242, 242, 242, - 0, 242, 0, 250, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 242, 242, 189, 242, 0, 0, 0, - 250, 191, 192, 193, 194, 195, 196, 197, 198, 14, - 0, 0, 189, 0, 0, 0, 200, 201, 191, 192, - 193, 194, 195, 196, 197, 198, 14, 0, 242, 0, - 0, 0, 0, 200, 201, 74, 74, 0, 74, 74, - 74, 74, 74, 74, 74, 74, 0, 0, 0, 135, - 135, 0, 0, 0, 135, 135, 0, 74, 242, 242, - 74, 135, 0, 0, 0, 0, 135, 0, 135, 135, - 135, 135, 135, 135, 0, 0, 135, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 74, - 256, 0, 74, 135, 256, 256, 256, 256, 256, 256, - 256, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 256, 256, 4, 256, 0, 0, 0, 0, - 5, 74, 74, 74, 445, 449, 0, 7, 8, 9, - 0, 0, 12, 0, 0, 13, 0, 0, 0, 457, - 0, 0, 0, 0, 247, 247, 0, 256, 247, 247, - 247, 247, 247, 247, 247, 0, 0, 0, 0, 0, - 468, 469, 0, 471, 0, 0, 247, 247, 477, 247, - 0, 0, 478, 0, 479, 480, 0, 256, 256, 0, - 0, 0, 0, 484, 445, 449, 0, 0, 0, 477, - 0, 242, 242, 0, 0, 0, 242, 0, 0, 0, - 0, 0, 0, 242, 0, 0, 0, 242, 242, 0, - 242, 242, 242, 0, 0, 0, 0, 0, 242, 0, - 0, 0, 0, 0, 0, 242, 0, 0, 0, 0, - 0, 247, 247, 0, 0, 242, 242, 242, 242, 242, - 242, 242, 242, 242, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 74, 74, 0, 0, 0, - 74, 74, 0, 0, 0, 0, 0, 74, 0, 0, + 38, 160, 74, 100, 114, 323, 204, 140, 182, 250, + 57, 19, 237, 146, 310, 19, 160, 249, 18, 160, + 26, 19, 206, 410, 245, 67, 57, 30, 280, 32, + 28, 439, 127, 285, 160, 19, 19, 205, 128, 83, + 84, 100, 19, 14, 18, 134, 47, 144, 110, 100, + 84, 425, 291, 98, 127, 160, 303, 304, 43, 18, + 39, 70, 346, 171, 347, 18, 19, 26, 389, 62, + 160, 19, 160, 18, 18, 102, 144, 103, 327, 217, + 143, 326, 61, 447, 18, 18, 41, 125, 50, 109, + 43, 98, 439, 439, 84, 310, 127, 439, 248, 159, + 119, 365, 19, 156, 181, 133, 217, 284, 335, 336, + 337, 84, 341, 102, 342, 103, 152, 239, 45, 112, + 144, 220, 102, 41, 164, 333, 129, 57, 18, 101, + 239, 153, 83, 67, 120, 113, 123, 238, 18, 111, + 125, 124, 142, 114, 18, 18, 175, 18, 220, 177, + 217, 54, 278, 356, 18, 221, 358, 206, 158, 163, + 287, 18, 179, 240, 119, 50, 18, 310, 366, 56, + 66, 55, 30, 307, 18, 28, 240, 239, 363, 62, + 158, 163, 221, 112, 206, 56, 30, 50, 302, 302, + 129, 124, 220, 101, 305, 390, 391, 392, 120, 113, + 123, 328, 129, 111, 308, 124, 45, 114, 387, 16, + 222, 46, 74, 64, 325, 395, 283, 44, 137, 286, + 130, 18, 17, 240, 239, 137, 221, 53, 206, 385, + 286, 217, 217, 83, 376, 348, 138, 222, 349, 63, + 302, 302, 302, 170, 124, 65, 426, 355, 243, 77, + 326, 223, 19, 421, 422, 243, 243, 116, 318, 319, + 320, 321, 18, 113, 331, 322, 244, 18, 18, 242, + 240, 250, 250, 220, 220, 343, 19, 386, 223, 249, + 249, 222, 279, 19, 19, 372, 244, 244, 326, 19, + 19, 19, 19, 234, 315, 316, 19, 449, 450, 330, + 239, 169, 160, 217, 72, 344, 345, 221, 221, 206, + 206, 18, 19, 364, 18, 73, 83, 160, 176, 160, + 234, 136, 223, 396, 397, 398, 399, 302, 302, 302, + 302, 302, 152, 302, 302, 302, 302, 302, 302, 302, + 302, 302, 302, 302, 18, 220, 240, 281, 330, 419, + 18, 152, 418, 136, 2, 78, 217, 217, 3, 112, + 236, 18, 222, 222, 234, 51, 359, 2, 136, 2, + 6, 3, 217, 3, 243, 18, 139, 408, 302, 221, + 51, 206, 141, 6, 383, 6, 384, 236, 269, 51, + 104, 243, 293, 217, 217, 143, 217, 198, 220, 220, + 126, 217, 148, 223, 223, 217, 105, 217, 217, 357, + 14, 2, 198, 51, 220, 3, 217, 217, 217, 384, + 300, 106, 217, 154, 105, 480, 481, 6, 104, 155, + 483, 236, 221, 221, 222, 220, 220, 430, 220, 106, + 418, 108, 111, 220, 157, 234, 234, 220, 221, 220, + 220, 393, 394, 126, 198, 13, 174, 131, 220, 220, + 220, 13, 427, 428, 220, 400, 401, 166, 340, 221, + 221, 448, 221, 338, 418, 223, 13, 221, 339, 462, + 247, 221, 418, 221, 221, 282, 296, 222, 222, 294, + 297, 168, 221, 221, 221, 253, 298, 301, 221, 152, + 311, 312, 250, 222, 314, 251, 74, 252, 317, 332, + 350, 351, 236, 236, 178, 180, 352, 234, 360, 353, + 354, 299, 370, 388, 222, 222, 379, 222, 223, 223, + 368, 369, 222, 253, 371, 415, 222, 416, 222, 222, + 250, 423, 417, 251, 223, 252, 378, 222, 222, 222, + 253, 420, 429, 222, 431, 453, 434, 250, 373, 367, + 251, 295, 252, 451, 458, 223, 223, 459, 223, 460, + 234, 234, 461, 223, 465, 253, 467, 223, 476, 223, + 223, 477, 250, 482, 236, 251, 234, 252, 223, 223, + 223, 478, 1, 2, 223, 4, 3, 173, 412, 132, + 414, 2, 172, 74, 253, 3, 173, 234, 234, 2, + 234, 250, 75, 3, 251, 234, 252, 6, 76, 234, + 151, 234, 234, 132, 52, 6, 334, 135, 382, 402, + 234, 234, 234, 253, 329, 403, 234, 236, 236, 404, + 250, 409, 407, 251, 117, 252, 433, 405, 436, 406, + 380, 445, 14, 236, 115, 381, 242, 242, 184, 165, + 242, 242, 242, 242, 242, 0, 242, 455, 457, 2, + 0, 288, 0, 3, 236, 236, 0, 236, 242, 242, + 217, 242, 236, 0, 0, 6, 236, 0, 236, 236, + 0, 469, 470, 471, 139, 253, 0, 236, 236, 236, + 0, 0, 250, 236, 0, 251, 0, 252, 0, 0, + 0, 0, 198, 242, 0, 0, 74, 0, 0, 0, + 0, 413, 0, 13, 13, 0, 0, 0, 0, 13, + 13, 13, 13, 0, 253, 0, 13, 249, 0, 0, + 0, 250, 424, 242, 251, 0, 252, 0, 0, 188, + 0, 0, 0, 0, 0, 190, 191, 192, 193, 194, + 195, 196, 197, 14, 0, 0, 253, 0, 0, 0, + 199, 200, 0, 250, 432, 249, 251, 0, 252, 0, + 0, 0, 0, 0, 0, 0, 0, 188, 0, 0, + 0, 0, 249, 190, 191, 192, 193, 194, 195, 196, + 197, 14, 0, 0, 188, 0, 0, 0, 199, 200, + 190, 191, 192, 193, 194, 195, 196, 197, 14, 0, + 0, 253, 0, 0, 0, 199, 200, 0, 250, 188, + 0, 251, 0, 252, 0, 190, 191, 192, 193, 194, + 195, 196, 197, 14, 0, 0, 249, 435, 0, 253, + 199, 200, 0, 0, 0, 0, 250, 446, 188, 251, + 0, 252, 0, 0, 190, 191, 192, 193, 194, 195, + 196, 197, 14, 0, 0, 249, 253, 0, 0, 199, + 200, 0, 0, 250, 454, 0, 251, 188, 252, 0, + 0, 0, 242, 190, 191, 192, 193, 194, 195, 196, + 197, 14, 0, 253, 0, 0, 0, 0, 199, 200, + 250, 456, 0, 251, 0, 252, 0, 0, 0, 0, + 0, 242, 242, 242, 242, 242, 242, 242, 242, 0, + 0, 253, 0, 217, 217, 217, 217, 249, 250, 468, + 217, 251, 0, 252, 0, 0, 0, 0, 0, 188, + 0, 0, 0, 0, 0, 190, 191, 192, 193, 194, + 195, 196, 197, 14, 0, 0, 1, 253, 0, 0, + 199, 200, 4, 0, 250, 0, 249, 251, 5, 252, + 0, 0, 0, 0, 0, 7, 8, 9, 188, 11, + 12, 0, 0, 13, 190, 191, 192, 193, 194, 195, + 196, 197, 14, 0, 0, 0, 0, 0, 249, 199, + 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 188, 0, 0, 0, 0, 0, 190, 191, 192, 193, + 194, 195, 196, 197, 14, 0, 0, 0, 0, 0, + 0, 199, 200, 0, 0, 74, 74, 0, 74, 74, + 74, 74, 74, 74, 74, 74, 0, 0, 0, 0, + 0, 0, 0, 249, 0, 0, 0, 74, 0, 0, + 74, 0, 0, 0, 0, 188, 0, 0, 0, 0, + 0, 190, 191, 192, 193, 194, 195, 196, 197, 14, + 0, 249, 0, 0, 0, 0, 199, 200, 0, 74, + 0, 0, 74, 188, 0, 0, 0, 0, 0, 190, + 191, 192, 193, 194, 195, 196, 197, 14, 249, 0, + 0, 0, 0, 0, 199, 200, 0, 0, 0, 0, + 188, 74, 74, 0, 0, 0, 190, 191, 192, 193, + 194, 195, 196, 197, 14, 249, 0, 0, 0, 0, + 0, 199, 200, 0, 0, 0, 0, 188, 0, 0, + 0, 0, 0, 190, 191, 192, 193, 194, 195, 196, + 197, 14, 0, 249, 0, 0, 0, 0, 199, 200, + 0, 0, 0, 0, 0, 188, 0, 0, 0, 0, + 0, 190, 191, 192, 193, 194, 195, 196, 197, 14, + 0, 0, 0, 0, 0, 0, 199, 200, 0, 249, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 188, 0, 0, 0, 0, 0, 190, 191, 192, + 193, 194, 195, 196, 197, 14, 0, 0, 0, 0, + 0, 0, 199, 200, 0, 0, 0, 0, 0, 0, + 241, 241, 0, 0, 241, 241, 241, 241, 241, 0, + 241, 0, 0, 0, 0, 74, 74, 0, 0, 0, + 74, 74, 241, 241, 0, 241, 0, 74, 0, 0, 0, 74, 74, 0, 74, 74, 74, 74, 74, 74, - 74, 0, 74, 0, 0, 0, 0, 0, 0, 74, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 0, 204, - 256, 256, 0, 0, 0, 256, 0, 0, 0, 0, - 0, 0, 256, 0, 0, 0, 256, 256, 202, 256, - 256, 256, 0, 0, 0, 0, 0, 256, 0, 0, - 0, 0, 0, 0, 256, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 0, 247, 247, 0, 0, 0, 247, - 0, 0, 0, 0, 0, 0, 247, 0, 0, 0, - 247, 247, 0, 247, 247, 247, 0, 0, 0, 0, - 0, 247, 139, 0, 0, 235, 235, 0, 247, 235, - 235, 235, 235, 235, 235, 235, 0, 0, 247, 247, - 247, 247, 247, 247, 247, 247, 247, 235, 235, 0, - 235, 1, 2, 0, 0, 0, 3, 4, 0, 0, - 0, 0, 0, 5, 0, 0, 0, 0, 6, 0, - 7, 8, 9, 10, 11, 12, 0, 0, 13, 210, - 210, 0, 235, 210, 210, 210, 210, 210, 210, 210, - 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, - 0, 210, 210, 0, 210, 0, 0, 0, 0, 0, - 0, 0, 0, 235, 0, 0, 0, 199, 199, 0, - 0, 199, 199, 199, 199, 199, 199, 199, 0, 0, - 0, 0, 0, 0, 0, 0, 210, 0, 0, 199, - 199, 0, 199, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 243, 243, 0, 0, 243, 243, - 243, 243, 243, 0, 243, 0, 210, 210, 0, 0, - 186, 442, 0, 0, 199, 0, 243, 243, 0, 243, - 0, 0, 188, 0, 0, 0, 189, 0, 0, 0, - 0, 443, 191, 192, 193, 194, 195, 196, 197, 198, - 14, 0, 0, 0, 199, 199, 0, 200, 201, 0, - 0, 243, 0, 0, 257, 0, 0, 0, 257, 257, - 257, 257, 257, 257, 257, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 257, 257, 0, 257, - 0, 243, 243, 0, 0, 235, 235, 0, 0, 0, - 235, 0, 0, 0, 0, 0, 0, 235, 0, 0, - 0, 235, 235, 0, 235, 235, 235, 0, 0, 0, - 0, 257, 235, 0, 0, 0, 0, 0, 0, 235, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, - 235, 235, 235, 235, 235, 235, 235, 235, 0, 210, - 210, 257, 257, 0, 210, 0, 0, 0, 0, 0, - 0, 210, 0, 0, 0, 210, 210, 0, 210, 210, - 210, 0, 0, 0, 0, 0, 210, 0, 0, 0, - 0, 0, 0, 210, 0, 0, 0, 199, 199, 0, - 0, 163, 199, 210, 210, 210, 210, 210, 210, 199, - 210, 210, 0, 199, 199, 0, 199, 199, 199, 0, - 0, 0, 0, 0, 199, 0, 0, 0, 0, 0, - 0, 199, 0, 0, 243, 243, 0, 0, 0, 243, - 0, 199, 199, 199, 199, 199, 243, 199, 199, 199, - 243, 243, 0, 243, 243, 243, 0, 0, 0, 0, - 0, 243, 0, 0, 0, 248, 248, 0, 243, 248, - 248, 248, 248, 248, 248, 248, 0, 0, 243, 243, - 243, 243, 243, 243, 243, 243, 243, 248, 248, 0, - 248, 0, 0, 0, 257, 257, 0, 0, 0, 257, - 0, 0, 0, 0, 0, 0, 257, 0, 0, 0, - 257, 257, 0, 257, 257, 257, 0, 0, 0, 0, - 0, 257, 0, 0, 0, 236, 236, 0, 257, 236, - 236, 236, 236, 236, 236, 236, 0, 0, 257, 257, - 257, 257, 257, 257, 257, 257, 257, 236, 236, 0, - 236, 0, 248, 248, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 211, - 211, 0, 236, 211, 211, 211, 211, 211, 211, 211, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, - 0, 211, 211, 3, 211, 0, 0, 0, 0, 0, - 5, 0, 0, 236, 0, 6, 0, 7, 8, 9, - 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, - 0, 0, 162, 0, 278, 278, 211, 0, 278, 278, - 0, 278, 117, 278, 278, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 278, 278, 0, 278, - 0, 0, 0, 0, 0, 0, 211, 211, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 248, 248, 0, 0, 0, - 248, 278, 0, 0, 0, 0, 0, 248, 0, 0, - 0, 248, 248, 0, 248, 248, 248, 0, 0, 0, - 0, 0, 248, 0, 0, 0, 0, 0, 0, 248, - 0, 278, 278, 204, 0, 0, 0, 0, 0, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 0, 0, - 0, 0, 202, 0, 0, 236, 236, 0, 0, 0, - 236, 0, 0, 0, 0, 0, 0, 236, 0, 0, - 0, 236, 236, 0, 236, 236, 236, 0, 0, 0, - 0, 0, 236, 0, 0, 0, 0, 0, 0, 236, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 236, - 236, 236, 236, 236, 236, 236, 236, 236, 0, 211, - 211, 0, 0, 0, 211, 0, 139, 0, 0, 0, - 0, 211, 0, 0, 0, 211, 211, 0, 211, 211, - 211, 0, 61, 0, 0, 0, 211, 0, 0, 0, - 269, 269, 0, 211, 269, 269, 269, 269, 269, 269, - 269, 0, 0, 211, 211, 211, 211, 211, 211, 0, - 211, 211, 269, 0, 278, 278, 0, 0, 0, 278, - 0, 0, 0, 0, 0, 0, 278, 0, 0, 0, - 278, 278, 0, 278, 278, 278, 0, 0, 0, 0, - 0, 278, 0, 0, 0, 267, 267, 269, 278, 267, - 267, 267, 267, 267, 267, 267, 0, 0, 278, 278, - 278, 278, 278, 278, 278, 278, 278, 267, 267, 0, - 267, 0, 0, 0, 0, 0, 0, 269, 269, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, - 268, 0, 267, 268, 268, 268, 268, 268, 268, 268, - 0, 0, 0, 0, 186, 187, 0, 0, 0, 0, - 0, 268, 268, 0, 268, 0, 188, 0, 0, 0, - 189, 0, 267, 267, 0, 190, 191, 192, 193, 194, - 195, 196, 197, 198, 14, 0, 0, 0, 0, 0, - 0, 200, 201, 0, 0, 0, 268, 0, 0, 270, - 270, 0, 0, 270, 270, 270, 270, 270, 270, 270, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, - 61, 270, 0, 0, 61, 0, 268, 268, 0, 0, - 0, 61, 0, 0, 0, 0, 61, 0, 61, 61, - 61, 0, 0, 0, 0, 0, 61, 0, 0, 0, - 269, 269, 0, 61, 0, 269, 270, 0, 0, 0, - 0, 0, 269, 61, 0, 0, 0, 269, 0, 269, - 269, 269, 0, 0, 0, 0, 0, 269, 0, 0, - 0, 0, 0, 0, 269, 0, 270, 270, 0, 0, - 0, 0, 0, 0, 269, 269, 0, 0, 269, 269, - 269, 269, 269, 0, 0, 267, 267, 0, 0, 0, - 267, 0, 0, 0, 0, 0, 0, 267, 0, 0, - 0, 267, 267, 0, 267, 267, 267, 0, 0, 0, - 0, 0, 267, 0, 0, 0, 0, 0, 0, 267, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 267, - 0, 267, 267, 0, 267, 267, 267, 267, 0, 268, - 268, 0, 0, 0, 268, 0, 0, 0, 0, 0, - 0, 268, 0, 0, 0, 268, 268, 0, 268, 268, - 268, 0, 0, 0, 0, 0, 268, 0, 0, 0, - 271, 271, 0, 268, 271, 271, 271, 271, 271, 271, - 271, 0, 0, 268, 0, 268, 268, 0, 268, 268, - 268, 268, 271, 0, 0, 0, 0, 0, 0, 270, - 270, 0, 0, 0, 270, 0, 0, 0, 0, 0, - 0, 270, 0, 0, 0, 0, 270, 0, 270, 270, - 270, 0, 0, 0, 0, 0, 270, 271, 0, 0, - 0, 279, 0, 270, 279, 0, 279, 279, 279, 279, - 0, 0, 0, 270, 270, 0, 0, 270, 270, 270, - 270, 270, 279, 279, 0, 279, 0, 271, 271, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 280, 0, 279, 280, 0, - 280, 280, 280, 280, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 280, 280, 0, 280, - 0, 0, 0, 0, 0, 0, 0, 279, 279, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 281, 280, 0, 281, 0, 281, 281, 281, 281, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 281, 281, 0, 281, 0, 0, 0, 0, 0, - 0, 280, 280, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 271, 271, 0, 0, 0, 271, 281, 0, 0, 0, - 0, 0, 271, 164, 0, 0, 0, 271, 0, 271, - 271, 271, 0, 0, 0, 0, 0, 271, 0, 0, - 0, 0, 164, 0, 271, 0, 281, 281, 0, 0, - 0, 0, 0, 0, 271, 271, 0, 0, 271, 271, - 271, 271, 271, 0, 0, 0, 0, 0, 0, 0, - 279, 279, 0, 0, 0, 279, 0, 204, 0, 0, - 0, 0, 279, 0, 0, 0, 279, 279, 0, 279, - 279, 279, 0, 0, 0, 0, 202, 279, 0, 0, - 0, 0, 0, 0, 279, 0, 164, 0, 164, 0, - 0, 0, 0, 0, 279, 279, 279, 279, 279, 279, - 279, 279, 279, 0, 280, 280, 0, 0, 0, 280, - 0, 0, 0, 0, 0, 0, 280, 0, 0, 0, - 280, 280, 0, 280, 280, 280, 0, 0, 0, 0, - 0, 280, 0, 0, 0, 0, 0, 0, 280, 204, - 139, 0, 203, 0, 0, 0, 0, 0, 280, 280, - 280, 280, 280, 280, 280, 280, 280, 0, 202, 281, - 281, 0, 0, 0, 281, 0, 0, 0, 0, 0, - 0, 281, 0, 0, 0, 281, 281, 0, 281, 281, - 281, 0, 0, 0, 0, 0, 281, 0, 0, 0, - 253, 253, 0, 281, 253, 253, 253, 253, 253, 253, - 253, 0, 0, 281, 281, 281, 281, 281, 281, 281, - 281, 281, 253, 253, 0, 253, 0, 0, 0, 0, - 0, 164, 139, 0, 293, 164, 0, 0, 0, 0, - 196, 0, 0, 0, 164, 164, 0, 164, 0, 0, - 0, 0, 0, 0, 0, 0, 164, 253, 204, 0, - 164, 0, 0, 0, 0, 164, 164, 164, 164, 164, - 164, 164, 164, 164, 164, 0, 0, 202, 0, 0, - 0, 164, 164, 0, 0, 2, 0, 253, 253, 3, - 0, 0, 0, 0, 0, 0, 0, 0, 186, 187, - 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, - 188, 0, 204, 0, 189, 0, 0, 0, 0, 190, - 191, 192, 193, 194, 195, 196, 197, 198, 199, 0, - 0, 202, 0, 0, 0, 200, 201, 0, 0, 0, - 0, 139, 0, 312, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 204, 0, 0, 0, 0, 0, 0, 2, 0, 0, - 0, 3, 0, 0, 0, 0, 0, 0, 0, 202, - 186, 187, 0, 6, 0, 0, 0, 0, 0, 0, - 0, 0, 188, 0, 0, 139, 292, 366, 0, 0, - 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, - 199, 0, 204, 0, 0, 0, 0, 200, 201, 0, - 253, 253, 0, 0, 0, 253, 0, 0, 0, 0, - 0, 202, 253, 0, 0, 0, 253, 253, 0, 253, - 253, 253, 0, 139, 0, 367, 0, 253, 0, 0, - 0, 0, 0, 0, 253, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 253, 253, 253, 253, 253, 253, - 253, 0, 0, 0, 0, 0, 2, 0, 0, 0, - 3, 0, 0, 0, 85, 86, 0, 0, 0, 186, - 187, 0, 6, 0, 0, 139, 0, 417, 0, 0, - 0, 188, 0, 0, 0, 189, 0, 0, 0, 0, - 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, - 89, 0, 0, 0, 0, 0, 200, 201, 0, 0, - 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, - 0, 0, 0, 186, 187, 0, 6, 0, 0, 0, - 86, 0, 0, 0, 0, 188, 0, 118, 0, 189, - 0, 0, 0, 0, 190, 191, 192, 193, 194, 195, - 196, 197, 198, 199, 0, 0, 0, 0, 2, 0, - 200, 201, 3, 0, 0, 90, 0, 89, 0, 0, - 0, 186, 187, 0, 6, 0, 0, 0, 0, 0, - 0, 0, 0, 188, 0, 0, 0, 189, 0, 0, - 0, 0, 190, 191, 192, 193, 194, 195, 196, 197, - 198, 199, 119, 118, 0, 0, 0, 0, 200, 201, - 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, - 0, 0, 0, 186, 187, 0, 6, 0, 0, 0, - 0, 0, 150, 0, 0, 188, 0, 0, 0, 189, - 0, 0, 0, 0, 190, 191, 192, 193, 194, 195, - 196, 197, 198, 199, 0, 0, 0, 0, 0, 0, - 200, 201, 86, 86, 0, 0, 0, 86, 173, 0, - 0, 0, 0, 0, 86, 0, 0, 0, 0, 86, - 0, 86, 86, 86, 0, 0, 0, 0, 0, 86, - 0, 0, 0, 0, 0, 0, 86, 1, 2, 0, - 0, 0, 3, 0, 0, 0, 86, 0, 0, 5, - 0, 0, 0, 0, 6, 0, 7, 8, 9, 0, - 0, 0, 0, 0, 86, 0, 0, 0, 0, 0, - 0, 87, 0, 0, 1, 2, 0, 0, 0, 3, - 0, 88, 0, 0, 0, 0, 5, 0, 0, 0, - 0, 6, 0, 7, 8, 9, 0, 0, 0, 0, - 0, 13, 0, 0, 1, 2, 0, 0, 87, 3, - 0, 0, 0, 0, 0, 0, 5, 0, 117, 0, - 0, 6, 0, 7, 8, 9, 0, 0, 0, 0, - 0, 86, 0, 0, 0, 0, 0, 0, 87, 0, - 1, 2, 0, 0, 0, 3, 0, 0, 88, 0, - 0, 0, 5, 0, 0, 0, 0, 6, 0, 7, - 8, 9, 0, 0, 0, 0, 0, 13, 0, 0, - 0, 0, 0, 0, 87, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 117, + 74, 0, 74, 0, 0, 0, 255, 0, 0, 0, + 255, 255, 255, 255, 255, 255, 255, 241, 0, 74, + 74, 74, 74, 74, 74, 74, 74, 74, 255, 255, + 0, 255, 246, 246, 0, 0, 246, 246, 246, 246, + 246, 246, 246, 0, 0, 0, 0, 241, 0, 0, + 0, 0, 0, 0, 246, 246, 0, 246, 0, 0, + 234, 234, 0, 255, 234, 234, 234, 234, 234, 234, + 234, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 234, 234, 0, 234, 0, 0, 0, 0, + 0, 0, 0, 255, 0, 0, 0, 0, 209, 209, + 0, 0, 209, 209, 209, 209, 209, 209, 209, 0, + 0, 0, 0, 0, 0, 0, 0, 234, 0, 246, + 209, 209, 0, 209, 198, 198, 0, 0, 198, 198, + 198, 198, 198, 198, 198, 242, 242, 0, 0, 242, + 242, 242, 242, 242, 0, 242, 198, 198, 0, 198, + 0, 0, 0, 0, 0, 209, 0, 242, 242, 0, + 242, 256, 0, 0, 0, 256, 256, 256, 256, 256, + 256, 256, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 198, 0, 256, 256, 209, 256, 0, 0, 0, + 0, 0, 242, 0, 0, 0, 241, 0, 247, 247, + 0, 0, 247, 247, 247, 247, 247, 247, 247, 0, + 0, 198, 0, 0, 0, 0, 0, 0, 256, 0, + 247, 247, 242, 247, 0, 241, 241, 241, 241, 241, + 241, 241, 241, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 255, 0, 0, 0, 0, 0, 256, 0, + 0, 0, 0, 0, 0, 0, 0, 235, 235, 0, + 0, 235, 235, 235, 235, 235, 235, 235, 246, 0, + 0, 255, 255, 255, 255, 255, 255, 255, 255, 235, + 235, 0, 235, 0, 0, 247, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 234, 246, 246, 246, + 246, 246, 246, 246, 246, 0, 0, 0, 0, 0, + 0, 268, 268, 0, 235, 268, 268, 268, 268, 268, + 268, 268, 0, 0, 0, 234, 234, 234, 234, 234, + 234, 234, 234, 268, 209, 0, 210, 210, 0, 0, + 210, 210, 210, 210, 210, 210, 210, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, + 198, 210, 0, 209, 209, 209, 209, 209, 268, 209, + 209, 242, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 198, + 198, 198, 198, 210, 198, 198, 198, 256, 268, 0, + 242, 242, 242, 242, 242, 242, 242, 242, 0, 0, + 0, 0, 0, 0, 0, 277, 277, 0, 0, 277, + 277, 0, 277, 210, 277, 277, 256, 256, 256, 256, + 256, 256, 256, 256, 247, 0, 0, 277, 277, 0, + 277, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 266, 266, 0, 0, 266, 266, 266, 266, + 266, 266, 266, 247, 247, 247, 247, 247, 247, 247, + 247, 0, 277, 0, 266, 266, 0, 266, 267, 267, + 0, 0, 267, 267, 267, 267, 267, 267, 267, 0, + 0, 0, 0, 235, 0, 0, 0, 0, 0, 0, + 267, 267, 277, 267, 0, 0, 0, 0, 0, 266, + 269, 269, 0, 0, 269, 269, 269, 269, 269, 269, + 269, 0, 235, 235, 235, 235, 235, 235, 235, 235, + 0, 0, 269, 0, 0, 267, 270, 270, 0, 266, + 270, 270, 270, 270, 270, 270, 270, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 270, 0, + 0, 0, 0, 278, 0, 267, 278, 269, 278, 278, + 278, 278, 210, 0, 0, 0, 268, 0, 0, 268, + 268, 268, 268, 268, 278, 278, 0, 278, 0, 0, + 0, 0, 0, 270, 0, 0, 0, 269, 0, 0, + 0, 210, 210, 210, 210, 210, 279, 210, 210, 279, + 0, 279, 279, 279, 279, 0, 0, 0, 0, 278, + 0, 0, 0, 270, 0, 0, 0, 279, 279, 0, + 279, 0, 0, 0, 280, 0, 0, 280, 0, 280, + 280, 280, 280, 0, 0, 0, 0, 1, 2, 278, + 0, 277, 3, 4, 0, 280, 280, 0, 280, 5, + 0, 0, 279, 0, 6, 0, 7, 8, 9, 10, + 11, 12, 0, 0, 13, 0, 0, 0, 0, 0, + 277, 277, 277, 277, 277, 277, 277, 277, 266, 0, + 280, 14, 279, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 252, 252, 0, 0, 252, 252, 252, + 252, 252, 252, 252, 267, 0, 162, 0, 266, 266, + 280, 266, 266, 266, 266, 252, 252, 0, 252, 0, + 0, 0, 163, 0, 1, 0, 0, 0, 0, 0, + 48, 0, 0, 0, 267, 267, 5, 267, 267, 267, + 267, 163, 0, 7, 8, 9, 0, 0, 49, 0, + 252, 13, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 4, 0, 0, 0, 269, 203, 5, 269, 269, + 269, 269, 269, 0, 7, 8, 9, 0, 0, 12, + 252, 0, 13, 0, 0, 201, 0, 0, 278, 0, + 0, 270, 0, 0, 270, 270, 270, 270, 270, 0, + 0, 0, 0, 0, 0, 163, 0, 163, 0, 0, + 0, 0, 0, 0, 203, 0, 0, 278, 278, 278, + 278, 278, 278, 278, 278, 0, 0, 0, 0, 0, + 0, 279, 0, 201, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 139, + 0, 202, 0, 0, 0, 0, 0, 0, 203, 280, + 279, 279, 279, 279, 279, 279, 279, 279, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 201, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 280, 280, + 280, 280, 280, 280, 280, 280, 0, 139, 0, 290, + 0, 0, 203, 1, 2, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, + 6, 201, 7, 8, 9, 0, 0, 0, 0, 252, + 13, 0, 0, 0, 0, 0, 0, 161, 0, 0, + 163, 139, 0, 309, 163, 0, 0, 117, 0, 195, + 0, 0, 0, 163, 163, 0, 163, 0, 252, 252, + 252, 252, 252, 252, 0, 163, 0, 203, 0, 163, + 0, 0, 0, 0, 163, 163, 163, 163, 163, 163, + 163, 163, 163, 163, 2, 139, 201, 361, 3, 0, + 163, 163, 0, 0, 0, 0, 0, 185, 186, 0, + 6, 0, 0, 0, 0, 0, 0, 0, 0, 187, + 0, 203, 0, 188, 0, 0, 0, 0, 189, 190, + 191, 192, 193, 194, 195, 196, 197, 198, 0, 0, + 201, 0, 2, 0, 199, 200, 3, 0, 0, 0, + 0, 0, 0, 0, 0, 185, 186, 0, 6, 0, + 139, 0, 362, 0, 0, 0, 0, 187, 203, 0, + 0, 289, 0, 132, 0, 0, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 2, 201, 0, 0, + 3, 132, 199, 200, 0, 0, 0, 0, 0, 185, + 186, 0, 6, 0, 139, 0, 411, 0, 0, 0, + 0, 187, 0, 203, 0, 188, 0, 0, 0, 0, + 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, + 2, 0, 201, 0, 3, 0, 199, 200, 0, 0, + 0, 0, 0, 185, 186, 0, 6, 0, 0, 0, + 0, 139, 0, 0, 0, 187, 0, 0, 0, 188, + 0, 0, 0, 0, 189, 190, 191, 192, 193, 194, + 195, 196, 197, 198, 134, 0, 0, 0, 0, 0, + 199, 200, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 134, 0, 0, 2, 139, 0, 0, 3, + 0, 0, 0, 0, 0, 0, 0, 0, 185, 186, + 0, 6, 0, 0, 0, 0, 0, 0, 89, 0, + 187, 0, 0, 0, 188, 0, 0, 0, 0, 189, + 190, 191, 192, 193, 194, 195, 196, 197, 198, 2, + 0, 0, 0, 3, 0, 199, 200, 0, 0, 118, + 0, 0, 185, 186, 0, 6, 0, 0, 0, 0, + 0, 0, 0, 0, 187, 0, 0, 0, 188, 0, + 0, 0, 0, 189, 190, 191, 192, 193, 194, 195, + 196, 197, 198, 90, 89, 0, 132, 132, 0, 199, + 200, 132, 132, 0, 0, 0, 0, 0, 132, 185, + 437, 0, 0, 132, 0, 132, 132, 132, 132, 132, + 132, 187, 118, 132, 119, 188, 0, 0, 0, 0, + 438, 190, 191, 192, 193, 194, 195, 196, 197, 14, + 132, 0, 0, 0, 0, 0, 199, 200, 0, 0, + 61, 0, 0, 0, 185, 186, 0, 0, 0, 150, + 0, 0, 0, 0, 0, 0, 187, 0, 0, 0, + 188, 0, 0, 0, 0, 189, 190, 191, 192, 193, + 194, 195, 196, 197, 14, 0, 0, 172, 0, 0, + 0, 199, 200, 0, 0, 0, 0, 134, 134, 0, + 0, 0, 134, 134, 0, 0, 0, 0, 0, 134, + 0, 0, 0, 0, 134, 0, 134, 134, 134, 134, + 134, 134, 0, 0, 134, 1, 2, 0, 0, 0, + 3, 0, 0, 0, 0, 0, 0, 5, 0, 0, + 0, 134, 6, 0, 7, 8, 9, 0, 0, 0, + 0, 0, 86, 0, 0, 0, 1, 2, 0, 87, + 0, 3, 0, 0, 0, 0, 0, 0, 5, 88, + 0, 0, 0, 6, 0, 7, 8, 9, 0, 0, + 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, + 87, 1, 2, 0, 0, 0, 3, 0, 0, 0, + 117, 0, 0, 5, 0, 0, 0, 0, 6, 0, + 7, 8, 9, 0, 0, 0, 0, 0, 86, 1, + 2, 0, 0, 0, 3, 87, 0, 0, 0, 0, + 0, 5, 0, 440, 444, 88, 6, 0, 7, 8, + 9, 0, 0, 0, 0, 0, 13, 61, 61, 452, + 0, 0, 61, 87, 0, 0, 0, 0, 0, 61, + 0, 0, 0, 117, 61, 0, 61, 61, 61, 0, + 463, 464, 0, 466, 61, 0, 0, 0, 472, 0, + 0, 61, 473, 0, 474, 475, 0, 0, 0, 0, + 0, 61, 0, 479, 440, 444, 0, 0, 0, 472, }; - protected short yyCheck[] = new short[3916]; + protected short yyCheck[] = new short[2881]; } class yyCheck0 { protected static final short yyCheck0 [] = { 10, - 11, 57, 59, 123, 46, 42, 60, 136, 142, 59, - 148, 123, 27, 41, 55, 56, 89, 59, 0, 46, - 0, 365, 103, 157, 123, 66, 69, 41, 123, 41, - 164, 211, 123, 76, 57, 59, 61, 91, 44, 95, - 91, 200, 201, 301, 26, 118, 26, 103, 44, 393, - 86, 167, 59, 118, 59, 59, 92, 41, 301, 41, - 44, 41, 59, 40, 301, 47, 60, 47, 62, 110, - 20, 422, 95, 55, 56, 57, 139, 57, 75, 91, - 103, 91, 426, 60, 66, 67, 127, 67, 67, 104, - 163, 44, 135, 252, 253, 254, 152, 143, 163, 123, - 59, 59, 52, 60, 167, 161, 139, 148, 59, 62, - 156, 126, 250, 95, 294, 95, 123, 123, 123, 123, - 46, 103, 104, 103, 104, 308, 309, 123, 110, 59, - 59, 482, 483, 59, 167, 132, 487, 59, 120, 59, - 120, 120, 165, 57, 126, 127, 126, 129, 211, 129, - 43, 285, 45, 67, 136, 289, 268, 139, 204, 40, - 91, 143, 282, 143, 123, 123, 148, 41, 139, 268, - 299, 244, 123, 268, 156, 66, 156, 268, 211, 295, - 61, 95, 341, 342, 343, 167, 209, 282, 368, 200, - 201, 282, 44, 123, 123, 241, 167, 335, 44, 87, - 139, 123, 60, 123, 258, 251, 120, 258, 262, 250, - 62, 262, 44, 59, 59, 103, 104, 346, 44, 110, - 274, 44, 204, 274, 204, 344, 345, 59, 167, 211, - 258, 294, 295, 59, 262, 394, 127, 125, 126, 62, - 211, 252, 253, 254, 258, 46, 274, 301, 262, 60, - 301, 308, 309, 334, 388, 389, 139, 46, 308, 309, - 274, 294, 295, 245, 301, 245, 308, 309, 250, 251, - 59, 251, 211, 301, 162, 20, 268, 165, 334, 273, - 316, 308, 309, 329, 167, 30, 44, 301, 176, 314, - 315, 316, 317, 44, 335, 143, 321, 44, 432, 433, - 93, 44, 44, 29, 62, 368, 44, 52, 156, 303, - 304, 62, 294, 295, 296, 62, 296, 299, 44, 62, - 62, 59, 139, 294, 295, 93, 302, 53, 211, 305, - 341, 342, 343, 344, 345, 368, 347, 348, 349, 350, - 351, 352, 353, 354, 355, 356, 357, 329, 123, 329, - 167, 77, 334, 335, 334, 294, 295, 245, 44, 422, - 423, 301, 258, 258, 346, 37, 262, 262, 351, 352, - 42, 40, 40, 59, 437, 47, 301, 46, 274, 274, - 362, 40, 362, 394, 258, 301, 368, 46, 262, 422, - 423, 289, 61, 59, 211, 458, 459, 368, 461, 61, - 274, 123, 139, 466, 437, 301, 301, 470, 296, 472, - 473, 294, 295, 59, 301, 301, 482, 483, 481, 482, - 483, 487, 91, 61, 487, 458, 459, 301, 461, 368, - 167, 41, 41, 466, 44, 44, 301, 470, 38, 472, - 473, 59, 60, 258, 332, 44, 334, 262, 481, 482, - 483, 422, 423, 41, 487, 41, 44, 75, 44, 274, - 59, 60, 61, 40, 258, 40, 437, 40, 262, 347, - 348, 349, 350, 155, 211, 44, 291, 294, 295, 41, - 274, 369, 44, 422, 423, 368, 301, 458, 459, 258, - 461, 109, 91, 262, 59, 466, 329, 291, 437, 470, - 41, 472, 473, 44, 46, 274, 188, 301, 59, 44, - 481, 482, 483, 38, 132, 133, 487, 124, 94, 458, - 459, 307, 461, 306, 61, 413, 414, 466, 40, 59, - 301, 470, 301, 472, 473, 40, 59, 41, 41, 422, - 423, 40, 481, 482, 483, 59, 40, 41, 487, 59, - 44, 368, 46, 59, 437, 41, 40, 294, 295, 59, - 40, 59, 180, 267, 41, 59, 60, 61, 41, 41, - 33, 41, 41, 267, 0, 458, 459, 40, 461, 0, - 43, 0, 45, 466, 0, 59, 301, 470, 59, 472, - 473, 47, 120, 48, 95, 49, 59, 91, 481, 482, - 483, 283, 33, 30, 487, 422, 423, 75, 251, 40, - 76, 329, 43, 353, 45, 354, 357, 327, 300, 301, - 437, 355, 304, 356, 327, 65, 137, 166, 59, 104, - -1, 368, 301, -1, 316, -1, -1, -1, -1, 308, - 309, 458, 459, -1, 461, 314, 315, 316, 317, 466, - -1, -1, 321, 470, -1, 472, 473, -1, -1, 258, - -1, -1, -1, 262, 481, 482, 483, -1, -1, -1, - 487, -1, -1, -1, -1, 274, -1, -1, 360, -1, - -1, -1, -1, -1, -1, 422, 423, -1, 370, -1, - 372, 37, 38, -1, -1, 41, 42, 43, 44, 45, - 437, 47, 301, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 59, 60, 61, 62, -1, -1, -1, - -1, 458, 459, -1, 461, -1, -1, -1, -1, 466, - -1, -1, -1, 470, -1, 472, 473, 419, -1, 421, - -1, -1, 424, -1, 481, 482, 483, -1, 94, 257, - 487, -1, 33, -1, -1, 263, -1, 439, 440, 40, - 41, 269, 43, -1, 45, -1, -1, 44, 276, 277, - 278, -1, 280, 281, -1, -1, 284, -1, 124, 125, - -1, 463, 464, 465, 33, 62, -1, -1, -1, -1, - -1, 40, -1, -1, 43, -1, 45, -1, -1, -1, - -1, 33, -1, -1, -1, -1, -1, 301, 40, 41, - -1, 43, 275, 45, 308, 309, -1, -1, -1, -1, - 314, 315, 316, 317, 287, -1, -1, 321, -1, -1, - 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, - -1, -1, -1, -1, 275, 308, 309, 33, -1, -1, - -1, -1, -1, -1, 40, -1, 287, 43, -1, 45, - -1, -1, 293, 294, 295, 296, 297, 298, 299, 300, - 301, -1, -1, 59, 123, 33, -1, 308, 309, -1, - -1, -1, 40, 41, -1, 43, -1, 45, -1, -1, - -1, -1, 33, -1, -1, -1, -1, -1, -1, 40, - 41, -1, 43, -1, 45, -1, -1, -1, -1, -1, - 33, 257, 258, -1, -1, -1, 262, 40, -1, -1, - 43, -1, 45, 269, -1, -1, -1, 273, 274, -1, - 276, 277, 278, -1, -1, -1, -1, -1, 284, 33, - -1, -1, -1, -1, -1, 291, 40, -1, -1, 43, - -1, 45, -1, -1, -1, 301, 302, 303, 304, 305, - 306, 307, 308, 309, -1, 59, 33, -1, 314, 315, - 316, 317, -1, 40, 41, 321, 43, -1, 45, -1, - 257, 258, -1, 33, -1, 262, 263, -1, -1, -1, - 40, 41, 269, 43, 275, 45, -1, 274, -1, 276, - }; -} -class yyCheck1 { - protected static final short yyCheck1 [] = { 277, - 278, 279, 280, 281, -1, 287, 284, -1, -1, -1, - -1, 293, 294, 295, 296, 297, 298, 299, 300, 301, - -1, 33, -1, 301, -1, 275, 308, 309, 40, 41, - -1, 43, -1, 45, -1, -1, -1, 287, -1, -1, + 11, 103, 91, 57, 42, 61, 59, 86, 136, 46, + 123, 60, 142, 92, 210, 40, 41, 46, 0, 44, + 0, 46, 59, 360, 148, 123, 123, 123, 158, 301, + 123, 416, 59, 163, 59, 60, 61, 59, 69, 55, + 56, 95, 91, 301, 26, 76, 26, 89, 44, 103, + 66, 388, 166, 57, 44, 44, 199, 200, 20, 41, + 301, 41, 60, 118, 62, 47, 91, 47, 41, 46, + 59, 60, 61, 55, 56, 57, 118, 57, 41, 139, + 40, 44, 59, 420, 66, 67, 60, 67, 27, 59, + 52, 95, 477, 478, 110, 291, 123, 482, 152, 103, + 59, 61, 91, 40, 135, 75, 166, 162, 251, 252, + 253, 127, 43, 95, 45, 95, 44, 143, 91, 59, + 162, 139, 104, 60, 104, 249, 59, 123, 110, 59, + 156, 59, 148, 123, 59, 59, 59, 41, 120, 59, + 120, 59, 87, 59, 126, 127, 126, 129, 166, 129, + 210, 60, 41, 283, 136, 139, 286, 139, 103, 104, + 164, 143, 132, 143, 123, 104, 148, 363, 296, 282, + 268, 268, 268, 40, 156, 268, 156, 203, 292, 46, + 125, 126, 166, 123, 166, 282, 282, 126, 199, 200, + 123, 67, 210, 123, 41, 338, 339, 340, 123, 123, + 123, 243, 44, 123, 208, 123, 91, 123, 332, 46, + 139, 91, 301, 46, 240, 343, 161, 20, 44, 164, + 62, 203, 59, 203, 250, 44, 210, 30, 210, 331, + 175, 291, 292, 249, 313, 302, 62, 166, 305, 59, + 251, 252, 253, 62, 120, 60, 389, 41, 44, 52, + 44, 139, 301, 383, 384, 308, 309, 66, 314, 315, + 316, 317, 244, 301, 244, 321, 62, 249, 250, 143, + 250, 308, 309, 291, 292, 273, 301, 331, 166, 308, + 309, 210, 156, 308, 309, 41, 308, 309, 44, 314, + 315, 316, 317, 139, 308, 309, 321, 427, 428, 244, + 326, 110, 44, 363, 93, 303, 304, 291, 292, 291, + 292, 293, 301, 293, 296, 93, 332, 59, 127, 61, + 166, 268, 210, 344, 345, 346, 347, 338, 339, 340, + 341, 342, 44, 344, 345, 346, 347, 348, 349, 350, + 351, 352, 353, 354, 326, 363, 326, 59, 293, 41, + 332, 44, 44, 44, 258, 301, 416, 417, 262, 301, + 139, 343, 291, 292, 210, 29, 59, 258, 59, 258, + 274, 262, 432, 262, 44, 357, 123, 357, 389, 363, + 44, 363, 301, 274, 329, 274, 331, 166, 155, 53, + 57, 44, 62, 453, 454, 40, 456, 301, 416, 417, + 67, 461, 289, 291, 292, 465, 44, 467, 468, 62, + 301, 258, 301, 77, 432, 262, 476, 477, 478, 364, + 187, 44, 482, 59, 62, 477, 478, 274, 95, 61, + 482, 210, 416, 417, 363, 453, 454, 41, 456, 62, + 44, 59, 60, 461, 301, 291, 292, 465, 432, 467, + 468, 341, 342, 120, 301, 40, 59, 75, 476, 477, + 478, 46, 407, 408, 482, 348, 349, 123, 37, 453, + 454, 41, 456, 42, 44, 363, 61, 461, 47, 41, + 301, 465, 44, 467, 468, 59, 38, 416, 417, 301, + 40, 109, 476, 477, 478, 33, 40, 40, 482, 44, + 59, 329, 40, 432, 46, 43, 91, 45, 59, 44, + 38, 94, 291, 292, 132, 133, 124, 363, 40, 307, + 306, 59, 59, 40, 453, 454, 301, 456, 416, 417, + 297, 298, 461, 33, 301, 59, 465, 41, 467, 468, + 40, 59, 41, 43, 432, 45, 313, 476, 477, 478, + 33, 40, 59, 482, 59, 41, 59, 40, 41, 59, + 43, 179, 45, 59, 59, 453, 454, 40, 456, 40, + 416, 417, 267, 461, 41, 33, 41, 465, 41, 467, + 468, 41, 40, 267, 363, 43, 432, 45, 476, 477, + 478, 41, 0, 0, 482, 0, 0, 59, 365, 301, + 367, 258, 59, 47, 33, 262, 120, 453, 454, 258, + 456, 40, 48, 262, 43, 461, 45, 274, 49, 465, + 95, 467, 468, 75, 30, 274, 250, 76, 326, 350, + 476, 477, 478, 33, 291, 351, 482, 416, 417, 352, + 40, 41, 291, 43, 301, 45, 413, 353, 415, 354, + 324, 418, 301, 432, 65, 324, 37, 38, 137, 104, + 41, 42, 43, 44, 45, -1, 47, 434, 435, 258, + -1, 165, -1, 262, 453, 454, -1, 456, 59, 60, + 61, 62, 461, -1, -1, 274, 465, -1, 467, 468, + -1, 458, 459, 460, 123, 33, -1, 476, 477, 478, + -1, -1, 40, 482, -1, 43, -1, 45, -1, -1, + -1, -1, 301, 94, -1, -1, 301, -1, -1, -1, + -1, 59, -1, 308, 309, -1, -1, -1, -1, 314, + 315, 316, 317, -1, 33, -1, 321, 275, -1, -1, + -1, 40, 41, 124, 43, -1, 45, -1, -1, 287, + -1, -1, -1, -1, -1, 293, 294, 295, 296, 297, + 298, 299, 300, 301, -1, -1, 33, -1, -1, -1, + 308, 309, -1, 40, 41, 275, 43, -1, 45, -1, + -1, -1, -1, -1, -1, -1, -1, 287, -1, -1, -1, -1, 275, 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, -1, 287, -1, -1, -1, 308, 309, 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, - 33, -1, -1, -1, -1, 308, 309, 40, 41, -1, - 43, -1, 45, -1, -1, -1, -1, 33, 275, -1, - -1, -1, -1, -1, 40, -1, -1, 43, -1, 45, - 287, -1, -1, -1, -1, -1, 293, 294, 295, 296, - 297, 298, 299, 300, 301, -1, 275, -1, -1, -1, - -1, 308, 309, -1, -1, -1, -1, -1, 287, -1, - -1, -1, -1, 275, 293, 294, 295, 296, 297, 298, - 299, 300, 301, -1, -1, 287, -1, -1, -1, 308, - 309, 293, 294, 295, 296, 297, 298, 299, 300, 301, - -1, -1, -1, 287, -1, 44, 308, 309, -1, 293, - 294, 295, 296, 297, 298, 299, 300, 301, -1, -1, - 275, -1, -1, 62, 308, 309, -1, -1, -1, -1, - -1, -1, 287, -1, -1, -1, -1, -1, 293, 294, + -1, 33, -1, -1, -1, 308, 309, -1, 40, 287, + -1, 43, -1, 45, -1, 293, 294, 295, 296, 297, + 298, 299, 300, 301, -1, -1, 275, 59, -1, 33, + 308, 309, -1, -1, -1, -1, 40, 41, 287, 43, + -1, 45, -1, -1, 293, 294, 295, 296, 297, 298, + 299, 300, 301, -1, -1, 275, 33, -1, -1, 308, + 309, -1, -1, 40, 41, -1, 43, 287, 45, -1, + -1, -1, 273, 293, 294, 295, 296, 297, 298, 299, + 300, 301, -1, 33, -1, -1, -1, -1, 308, 309, + 40, 41, -1, 43, -1, 45, -1, -1, -1, -1, + -1, 302, 303, 304, 305, 306, 307, 308, 309, -1, + -1, 33, -1, 314, 315, 316, 317, 275, 40, 41, + 321, 43, -1, 45, -1, -1, -1, -1, -1, 287, + -1, -1, -1, -1, -1, 293, 294, 295, 296, 297, + 298, 299, 300, 301, -1, -1, 257, 33, -1, -1, + 308, 309, 263, -1, 40, -1, 275, 43, 269, 45, + -1, -1, -1, -1, -1, 276, 277, 278, 287, 280, + 281, -1, -1, 284, 293, 294, 295, 296, 297, 298, + }; +} +class yyCheck1 { + protected static final short yyCheck1 [] = { 299, + 300, 301, -1, -1, -1, -1, -1, 275, 308, 309, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 287, + -1, -1, -1, -1, -1, 293, 294, 295, 296, 297, + 298, 299, 300, 301, -1, -1, -1, -1, -1, -1, + 308, 309, -1, -1, 37, 38, -1, 40, 41, 42, + 43, 44, 45, 46, 47, -1, -1, -1, -1, -1, + -1, -1, 275, -1, -1, -1, 59, -1, -1, 62, + -1, -1, -1, -1, 287, -1, -1, -1, -1, -1, + 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, + 275, -1, -1, -1, -1, 308, 309, -1, 91, -1, + -1, 94, 287, -1, -1, -1, -1, -1, 293, 294, 295, 296, 297, 298, 299, 300, 301, 275, -1, -1, -1, -1, -1, 308, 309, -1, -1, -1, -1, 287, - -1, -1, -1, -1, 275, 293, 294, 295, 296, 297, - 298, 299, 300, 301, -1, -1, 287, -1, -1, -1, - 308, 309, 293, 294, 295, 296, 297, 298, 299, 300, - 301, -1, -1, 257, -1, -1, -1, 308, 309, 263, - -1, -1, -1, 275, -1, 269, -1, -1, -1, -1, - -1, -1, 276, 277, 278, 287, -1, 281, -1, -1, - 284, 293, 294, 295, 296, 297, 298, 299, 300, 301, - -1, -1, -1, -1, -1, -1, 308, 309, -1, -1, - 37, 38, -1, -1, 41, 42, 43, 44, 45, -1, - 47, -1, 275, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 59, 60, 287, 62, -1, -1, -1, 275, + 123, 124, -1, -1, -1, 293, 294, 295, 296, 297, + 298, 299, 300, 301, 275, -1, -1, -1, -1, -1, + 308, 309, -1, -1, -1, -1, 287, -1, -1, -1, + -1, -1, 293, 294, 295, 296, 297, 298, 299, 300, + 301, -1, 275, -1, -1, -1, -1, 308, 309, -1, + -1, -1, -1, -1, 287, -1, -1, -1, -1, -1, 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, - -1, 287, -1, -1, -1, 308, 309, 293, 294, 295, - 296, 297, 298, 299, 300, 301, -1, 94, -1, -1, - -1, -1, 308, 309, 37, 38, -1, 40, 41, 42, - 43, 44, 45, 46, 47, -1, -1, -1, 257, 258, - -1, -1, -1, 262, 263, -1, 59, 124, 125, 62, - 269, -1, -1, -1, -1, 274, -1, 276, 277, 278, - 279, 280, 281, -1, -1, 284, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 91, 37, - -1, 94, 301, 41, 42, 43, 44, 45, 46, 47, - -1, -1, -1, -1, -1, -1, -1, 257, -1, -1, - -1, 59, 60, 263, 62, -1, -1, -1, -1, 269, - 123, 124, 125, 422, 423, -1, 276, 277, 278, -1, - -1, 281, -1, -1, 284, -1, -1, -1, 437, -1, - -1, -1, -1, 37, 38, -1, 94, 41, 42, 43, - 44, 45, 46, 47, -1, -1, -1, -1, -1, 458, - 459, -1, 461, -1, -1, 59, 60, 466, 62, -1, - -1, 470, -1, 472, 473, -1, 124, 125, -1, -1, - -1, -1, 481, 482, 483, -1, -1, -1, 487, -1, - 257, 258, -1, -1, -1, 262, -1, -1, -1, -1, - -1, -1, 269, -1, -1, -1, 273, 274, -1, 276, - 277, 278, -1, -1, -1, -1, -1, 284, -1, -1, - -1, -1, -1, -1, 291, -1, -1, -1, -1, -1, - 124, 125, -1, -1, 301, 302, 303, 304, 305, 306, - 307, 308, 309, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 308, 309, -1, 275, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 287, -1, -1, -1, -1, -1, 293, 294, 295, 296, + 297, 298, 299, 300, 301, -1, -1, -1, -1, -1, + -1, 308, 309, -1, -1, -1, -1, -1, -1, 37, + 38, -1, -1, 41, 42, 43, 44, 45, -1, 47, -1, -1, -1, -1, 257, 258, -1, -1, -1, 262, - 263, -1, -1, -1, -1, -1, 269, -1, -1, -1, + 263, 59, 60, -1, 62, -1, 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, 279, 280, 281, 282, - -1, 284, -1, -1, -1, -1, -1, -1, 291, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 301, 302, - 303, 304, 305, 306, 307, 308, 309, -1, 40, 257, - 258, -1, -1, -1, 262, -1, -1, -1, -1, -1, - -1, 269, -1, -1, -1, 273, 274, 59, 276, 277, - 278, -1, -1, -1, -1, -1, 284, -1, -1, -1, - -1, -1, -1, 291, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 301, 302, 303, 304, 305, 306, 307, - 308, 309, -1, 257, 258, -1, -1, -1, 262, -1, - -1, -1, -1, -1, -1, 269, -1, -1, -1, 273, - 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, - 284, 123, -1, -1, 37, 38, -1, 291, 41, 42, - 43, 44, 45, 46, 47, -1, -1, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 59, 60, -1, 62, - 257, 258, -1, -1, -1, 262, 263, -1, -1, -1, - -1, -1, 269, -1, -1, -1, -1, 274, -1, 276, - 277, 278, 279, 280, 281, -1, -1, 284, 37, 38, - -1, 94, 41, 42, 43, 44, 45, 46, 47, -1, - -1, -1, -1, -1, 301, -1, -1, -1, -1, -1, - 59, 60, -1, 62, -1, -1, -1, -1, -1, -1, - -1, -1, 125, -1, -1, -1, 37, 38, -1, -1, - 41, 42, 43, 44, 45, 46, 47, -1, -1, -1, - -1, -1, -1, -1, -1, 94, -1, -1, 59, 60, - -1, 62, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 37, 38, -1, -1, 41, 42, 43, - 44, 45, -1, 47, -1, 124, 125, -1, -1, 271, - 272, -1, -1, 94, -1, 59, 60, -1, 62, -1, - -1, 283, -1, -1, -1, 287, -1, -1, -1, -1, - 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, - -1, -1, -1, 124, 125, -1, 308, 309, -1, -1, - 94, -1, -1, 37, -1, -1, -1, 41, 42, 43, - 44, 45, 46, 47, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 59, 60, -1, 62, -1, - 124, 125, -1, -1, 257, 258, -1, -1, -1, 262, - -1, -1, -1, -1, -1, -1, 269, -1, -1, -1, - 273, 274, -1, 276, 277, 278, -1, -1, -1, -1, - 94, 284, -1, -1, -1, -1, -1, -1, 291, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 301, 302, - 303, 304, 305, 306, 307, 308, 309, -1, 257, 258, + -1, 284, -1, -1, -1, 37, -1, -1, -1, 41, + 42, 43, 44, 45, 46, 47, 94, -1, 301, 302, + 303, 304, 305, 306, 307, 308, 309, 59, 60, -1, + 62, 37, 38, -1, -1, 41, 42, 43, 44, 45, + 46, 47, -1, -1, -1, -1, 124, -1, -1, -1, + -1, -1, -1, 59, 60, -1, 62, -1, -1, 37, + 38, -1, 94, 41, 42, 43, 44, 45, 46, 47, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 59, 60, -1, 62, -1, -1, -1, -1, -1, + -1, -1, 124, -1, -1, -1, -1, 37, 38, -1, + -1, 41, 42, 43, 44, 45, 46, 47, -1, -1, + -1, -1, -1, -1, -1, -1, 94, -1, 124, 59, + 60, -1, 62, 37, 38, -1, -1, 41, 42, 43, + 44, 45, 46, 47, 37, 38, -1, -1, 41, 42, + 43, 44, 45, -1, 47, 59, 60, -1, 62, -1, + -1, -1, -1, -1, 94, -1, 59, 60, -1, 62, + 37, -1, -1, -1, 41, 42, 43, 44, 45, 46, + 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 94, -1, 59, 60, 124, 62, -1, -1, -1, -1, + -1, 94, -1, -1, -1, 273, -1, 37, 38, -1, + -1, 41, 42, 43, 44, 45, 46, 47, -1, -1, + 124, -1, -1, -1, -1, -1, -1, 94, -1, 59, + 60, 124, 62, -1, 302, 303, 304, 305, 306, 307, + 308, 309, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 273, -1, -1, -1, -1, -1, 124, -1, -1, + -1, -1, -1, -1, -1, -1, 37, 38, -1, -1, + 41, 42, 43, 44, 45, 46, 47, 273, -1, -1, + 302, 303, 304, 305, 306, 307, 308, 309, 59, 60, + -1, 62, -1, -1, 124, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 273, 302, 303, 304, 305, + 306, 307, 308, 309, -1, -1, -1, -1, -1, -1, + 37, 38, -1, 94, 41, 42, 43, 44, 45, 46, + 47, -1, -1, -1, 302, 303, 304, 305, 306, 307, + 308, 309, 59, 273, -1, 37, 38, -1, -1, 41, + 42, 43, 44, 45, 46, 47, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 59, 60, 273, + 62, -1, 302, 303, 304, 305, 306, 94, 308, 309, + 273, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 302, 303, + 304, 305, 94, 307, 308, 309, 273, 124, -1, 302, + 303, 304, 305, 306, 307, 308, 309, -1, -1, -1, + -1, -1, -1, -1, 37, 38, -1, -1, 41, 42, + -1, 44, 124, 46, 47, 302, 303, 304, 305, 306, + 307, 308, 309, 273, -1, -1, 59, 60, -1, 62, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 37, 38, -1, -1, 41, 42, 43, 44, 45, + 46, 47, 302, 303, 304, 305, 306, 307, 308, 309, + -1, 94, -1, 59, 60, -1, 62, 37, 38, -1, + -1, 41, 42, 43, 44, 45, 46, 47, -1, -1, + -1, -1, 273, -1, -1, -1, -1, -1, -1, 59, + 60, 124, 62, -1, -1, -1, -1, -1, 94, 37, + 38, -1, -1, 41, 42, 43, 44, 45, 46, 47, + -1, 302, 303, 304, 305, 306, 307, 308, 309, -1, + -1, 59, -1, -1, 94, 37, 38, -1, 124, 41, + 42, 43, 44, 45, 46, 47, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 59, -1, -1, + -1, -1, 38, -1, 124, 41, 94, 43, 44, 45, + 46, 273, -1, -1, -1, 302, -1, -1, 305, 306, + 307, 308, 309, 59, 60, -1, 62, -1, -1, -1, + -1, -1, 94, -1, -1, -1, 124, -1, -1, -1, + 302, 303, 304, 305, 306, 38, 308, 309, 41, -1, + 43, 44, 45, 46, -1, -1, -1, -1, 94, -1, + -1, -1, 124, -1, -1, -1, 59, 60, -1, 62, + -1, -1, -1, 38, -1, -1, 41, -1, 43, 44, + 45, 46, -1, -1, -1, -1, 257, 258, 124, -1, + 273, 262, 263, -1, 59, 60, -1, 62, 269, -1, + -1, 94, -1, 274, -1, 276, 277, 278, 279, 280, + 281, -1, -1, 284, -1, -1, -1, -1, -1, 302, + 303, 304, 305, 306, 307, 308, 309, 273, -1, 94, + 301, 124, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 37, 38, -1, -1, 41, 42, 43, 44, }; } class yyCheck2 { - protected static final short yyCheck2 [] = { 124, - 125, -1, 262, -1, -1, -1, -1, -1, -1, 269, - -1, -1, -1, 273, 274, -1, 276, 277, 278, -1, - -1, -1, -1, -1, 284, -1, -1, -1, -1, -1, - -1, 291, -1, -1, -1, 257, 258, -1, -1, 60, - 262, 301, 302, 303, 304, 305, 306, 269, 308, 309, - -1, 273, 274, -1, 276, 277, 278, -1, -1, -1, - -1, -1, 284, -1, -1, -1, -1, -1, -1, 291, - -1, -1, 257, 258, -1, -1, -1, 262, -1, 301, - 302, 303, 304, 305, 269, 307, 308, 309, 273, 274, - -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, - -1, -1, -1, 37, 38, -1, 291, 41, 42, 43, - 44, 45, 46, 47, -1, -1, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 59, 60, -1, 62, -1, - -1, -1, 257, 258, -1, -1, -1, 262, -1, -1, - -1, -1, -1, -1, 269, -1, -1, -1, 273, 274, - -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, - -1, -1, -1, 37, 38, -1, 291, 41, 42, 43, - 44, 45, 46, 47, -1, -1, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 59, 60, -1, 62, -1, - 124, 125, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 37, 38, -1, - 94, 41, 42, 43, 44, 45, 46, 47, -1, -1, - -1, -1, -1, -1, -1, -1, 257, 258, -1, 59, - 60, 262, 62, -1, -1, -1, -1, -1, 269, -1, - -1, 125, -1, 274, -1, 276, 277, 278, -1, -1, - -1, -1, -1, 284, -1, -1, -1, -1, -1, -1, - 291, -1, 37, 38, 94, -1, 41, 42, -1, 44, - 301, 46, 47, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 59, 60, -1, 62, -1, -1, - -1, -1, -1, -1, 124, 125, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 257, 258, -1, -1, -1, 262, 94, - -1, -1, -1, -1, -1, 269, -1, -1, -1, 273, - 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, - 284, -1, -1, -1, -1, -1, -1, 291, -1, 124, - 125, 40, -1, -1, -1, -1, -1, 301, 302, 303, + protected static final short yyCheck2 [] = { 45, + 46, 47, 273, -1, 60, -1, 303, 304, 124, 306, + 307, 308, 309, 59, 60, -1, 62, -1, -1, -1, + 40, -1, 257, -1, -1, -1, -1, -1, 263, -1, + -1, -1, 303, 304, 269, 306, 307, 308, 309, 59, + -1, 276, 277, 278, -1, -1, 281, -1, 94, 284, + -1, -1, -1, 257, -1, -1, -1, -1, -1, 263, + -1, -1, -1, 302, 40, 269, 305, 306, 307, 308, + 309, -1, 276, 277, 278, -1, -1, 281, 124, -1, + 284, -1, -1, 59, -1, -1, 273, -1, -1, 302, + -1, -1, 305, 306, 307, 308, 309, -1, -1, -1, + -1, -1, -1, 123, -1, 125, -1, -1, -1, -1, + -1, -1, 40, -1, -1, 302, 303, 304, 305, 306, + 307, 308, 309, -1, -1, -1, -1, -1, -1, 273, + -1, 59, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 123, -1, 125, + -1, -1, -1, -1, -1, -1, 40, 273, 302, 303, 304, 305, 306, 307, 308, 309, -1, -1, -1, -1, - 59, -1, -1, 257, 258, -1, -1, -1, 262, -1, - -1, -1, -1, -1, -1, 269, -1, -1, -1, 273, - 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, - 284, -1, -1, -1, -1, -1, -1, 291, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 301, 302, 303, - 304, 305, 306, 307, 308, 309, -1, 257, 258, -1, - -1, -1, 262, -1, 123, -1, -1, -1, -1, 269, - -1, -1, -1, 273, 274, -1, 276, 277, 278, -1, - 60, -1, -1, -1, 284, -1, -1, -1, 37, 38, - -1, 291, 41, 42, 43, 44, 45, 46, 47, -1, - -1, 301, 302, 303, 304, 305, 306, -1, 308, 309, - 59, -1, 257, 258, -1, -1, -1, 262, -1, -1, - -1, -1, -1, -1, 269, -1, -1, -1, 273, 274, - -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, - -1, -1, -1, 37, 38, 94, 291, 41, 42, 43, - 44, 45, 46, 47, -1, -1, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 59, 60, -1, 62, -1, - -1, -1, -1, -1, -1, 124, 125, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 37, 38, -1, - 94, 41, 42, 43, 44, 45, 46, 47, -1, -1, - -1, -1, 271, 272, -1, -1, -1, -1, -1, 59, - 60, -1, 62, -1, 283, -1, -1, -1, 287, -1, - 124, 125, -1, 292, 293, 294, 295, 296, 297, 298, - 299, 300, 301, -1, -1, -1, -1, -1, -1, 308, - 309, -1, -1, -1, 94, -1, -1, 37, 38, -1, - -1, 41, 42, 43, 44, 45, 46, 47, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 257, 258, 59, - -1, -1, 262, -1, 124, 125, -1, -1, -1, 269, - -1, -1, -1, -1, 274, -1, 276, 277, 278, -1, - -1, -1, -1, -1, 284, -1, -1, -1, 257, 258, - -1, 291, -1, 262, 94, -1, -1, -1, -1, -1, - 269, 301, -1, -1, -1, 274, -1, 276, 277, 278, - -1, -1, -1, -1, -1, 284, -1, -1, -1, -1, - -1, -1, 291, -1, 124, 125, -1, -1, -1, -1, - -1, -1, 301, 302, -1, -1, 305, 306, 307, 308, - 309, -1, -1, 257, 258, -1, -1, -1, 262, -1, - -1, -1, -1, -1, -1, 269, -1, -1, -1, 273, - 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, - 284, -1, -1, -1, -1, -1, -1, 291, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 301, -1, 303, - 304, -1, 306, 307, 308, 309, -1, 257, 258, -1, - -1, -1, 262, -1, -1, -1, -1, -1, -1, 269, - -1, -1, -1, 273, 274, -1, 276, 277, 278, -1, - -1, -1, -1, -1, 284, -1, -1, -1, 37, 38, - -1, 291, 41, 42, 43, 44, 45, 46, 47, -1, - -1, 301, -1, 303, 304, -1, 306, 307, 308, 309, - 59, -1, -1, -1, -1, -1, -1, 257, 258, -1, - -1, -1, 262, -1, -1, -1, -1, -1, -1, 269, - -1, -1, -1, -1, 274, -1, 276, 277, 278, -1, - -1, -1, -1, -1, 284, 94, -1, -1, -1, 38, - -1, 291, 41, -1, 43, 44, 45, 46, -1, -1, - -1, 301, 302, -1, -1, 305, 306, 307, 308, 309, - 59, 60, -1, 62, -1, 124, 125, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 38, -1, 94, 41, -1, 43, 44, - 45, 46, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 59, 60, -1, 62, -1, -1, - -1, -1, -1, -1, -1, 124, 125, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 38, 94, - }; -} -class yyCheck3 { - protected static final short yyCheck3 [] = { -1, - 41, -1, 43, 44, 45, 46, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 59, 60, - -1, 62, -1, -1, -1, -1, -1, -1, 124, 125, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 257, 258, -1, - -1, -1, 262, 94, -1, -1, -1, -1, -1, 269, - 40, -1, -1, -1, 274, -1, 276, 277, 278, -1, - -1, -1, -1, -1, 284, -1, -1, -1, -1, 59, - -1, 291, -1, 124, 125, -1, -1, -1, -1, -1, - -1, 301, 302, -1, -1, 305, 306, 307, 308, 309, - -1, -1, -1, -1, -1, -1, -1, 257, 258, -1, - -1, -1, 262, -1, 40, -1, -1, -1, -1, 269, - -1, -1, -1, 273, 274, -1, 276, 277, 278, -1, - -1, -1, -1, 59, 284, -1, -1, -1, -1, -1, - -1, 291, -1, 123, -1, 125, -1, -1, -1, -1, - -1, 301, 302, 303, 304, 305, 306, 307, 308, 309, - -1, 257, 258, -1, -1, -1, 262, -1, -1, -1, - -1, -1, -1, 269, -1, -1, -1, 273, 274, -1, - 276, 277, 278, -1, -1, -1, -1, -1, 284, -1, - -1, -1, -1, -1, -1, 291, 40, 123, -1, 125, - -1, -1, -1, -1, -1, 301, 302, 303, 304, 305, - 306, 307, 308, 309, -1, 59, 257, 258, -1, -1, - -1, 262, -1, -1, -1, -1, -1, -1, 269, -1, - -1, -1, 273, 274, -1, 276, 277, 278, -1, -1, - -1, -1, -1, 284, -1, -1, -1, 37, 38, -1, - 291, 41, 42, 43, 44, 45, 46, 47, -1, -1, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 59, - 60, -1, 62, -1, -1, -1, -1, -1, 258, 123, - -1, 125, 262, -1, -1, -1, -1, 267, -1, -1, - -1, 271, 272, -1, 274, -1, -1, -1, -1, -1, - -1, -1, -1, 283, 94, 40, -1, 287, -1, -1, + -1, -1, -1, -1, -1, 59, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 302, 303, 304, 305, + 306, 307, 308, 309, -1, 123, -1, 125, -1, -1, + 40, 257, 258, -1, -1, -1, 262, -1, -1, -1, + -1, -1, -1, 269, -1, -1, -1, -1, 274, 59, + 276, 277, 278, -1, -1, -1, -1, 273, 284, -1, + -1, -1, -1, -1, -1, 291, -1, -1, 258, 123, + -1, 125, 262, -1, -1, 301, -1, 267, -1, -1, + -1, 271, 272, -1, 274, -1, 302, 303, 304, 305, + 306, 307, -1, 283, -1, 40, -1, 287, -1, -1, -1, -1, 292, 293, 294, 295, 296, 297, 298, 299, - 300, 301, -1, -1, 59, -1, -1, -1, 308, 309, - -1, -1, 258, -1, 124, 125, 262, -1, -1, -1, + 300, 301, 258, 123, 59, 125, 262, -1, 308, 309, -1, -1, -1, -1, -1, 271, 272, -1, 274, -1, -1, -1, -1, -1, -1, -1, -1, 283, -1, 40, -1, 287, -1, -1, -1, -1, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, -1, 59, -1, - -1, -1, 308, 309, -1, -1, -1, -1, 123, -1, - 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, - -1, -1, -1, -1, 258, -1, -1, -1, 262, -1, - -1, -1, -1, -1, -1, -1, 59, 271, 272, -1, - 274, -1, -1, -1, -1, -1, -1, -1, -1, 283, - -1, -1, 123, 287, 125, -1, -1, -1, 292, 293, - 294, 295, 296, 297, 298, 299, 300, 301, -1, 40, - -1, -1, -1, -1, 308, 309, -1, 257, 258, -1, - -1, -1, 262, -1, -1, -1, -1, -1, 59, 269, - -1, -1, -1, 273, 274, -1, 276, 277, 278, -1, - 123, -1, 125, -1, 284, -1, -1, -1, -1, -1, - -1, 291, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 301, 302, 303, 304, 305, 306, 307, -1, -1, - -1, -1, -1, 258, -1, -1, -1, 262, -1, -1, - -1, 59, 60, -1, -1, -1, 271, 272, -1, 274, - -1, -1, 123, -1, 125, -1, -1, -1, 283, -1, + 258, -1, 308, 309, 262, -1, -1, -1, -1, -1, + -1, -1, -1, 271, 272, -1, 274, -1, 123, -1, + 125, -1, -1, -1, -1, 283, 40, -1, -1, 287, + -1, 44, -1, -1, 292, 293, 294, 295, 296, 297, + 298, 299, 300, 301, 258, 59, -1, -1, 262, 62, + 308, 309, -1, -1, -1, -1, -1, 271, 272, -1, + 274, -1, 123, -1, 125, -1, -1, -1, -1, 283, + -1, 40, -1, 287, -1, -1, -1, -1, 292, 293, + 294, 295, 296, 297, 298, 299, 300, 301, 258, -1, + 59, -1, 262, -1, 308, 309, -1, -1, -1, -1, + -1, 271, 272, -1, 274, -1, -1, -1, -1, 123, + -1, -1, -1, 283, -1, -1, -1, 287, -1, -1, + -1, -1, 292, 293, 294, 295, 296, 297, 298, 299, + 300, 301, 44, -1, -1, -1, -1, -1, 308, 309, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 62, -1, -1, 258, 123, -1, -1, 262, -1, -1, + -1, -1, -1, -1, -1, -1, 271, 272, -1, 274, + -1, -1, -1, -1, -1, -1, 60, -1, 283, -1, -1, -1, 287, -1, -1, -1, -1, 292, 293, 294, - 295, 296, 297, 298, 299, 300, 301, 60, -1, -1, - -1, -1, -1, 308, 309, -1, -1, 258, -1, -1, - -1, 262, -1, -1, -1, -1, -1, -1, -1, -1, - 271, 272, -1, 274, -1, -1, -1, 125, -1, -1, - -1, -1, 283, -1, 60, -1, 287, -1, -1, -1, - -1, 292, 293, 294, 295, 296, 297, 298, 299, 300, - 301, -1, -1, -1, -1, 258, -1, 308, 309, 262, - -1, -1, 125, -1, 60, -1, -1, -1, 271, 272, - -1, 274, -1, -1, -1, -1, -1, -1, -1, -1, - 283, -1, -1, -1, 287, -1, -1, -1, -1, 292, - 293, 294, 295, 296, 297, 298, 299, 300, 301, 125, - 60, -1, -1, -1, -1, 308, 309, 258, -1, -1, - -1, 262, -1, -1, -1, -1, -1, -1, -1, -1, - 271, 272, -1, 274, -1, -1, -1, -1, -1, 125, + 295, 296, 297, 298, 299, 300, 301, 258, -1, -1, + -1, 262, -1, 308, 309, -1, -1, 60, -1, -1, + 271, 272, -1, 274, -1, -1, -1, -1, -1, -1, -1, -1, 283, -1, -1, -1, 287, -1, -1, -1, -1, 292, 293, 294, 295, 296, 297, 298, 299, 300, - 301, -1, -1, -1, -1, -1, -1, 308, 309, 257, - 258, -1, -1, -1, 262, 125, -1, -1, -1, -1, - -1, 269, -1, -1, -1, -1, 274, -1, 276, 277, - 278, -1, -1, -1, -1, -1, 284, -1, -1, -1, - -1, -1, -1, 291, 257, 258, -1, -1, -1, 262, - -1, -1, -1, 301, -1, -1, 269, -1, -1, -1, + 301, 125, 60, -1, 257, 258, -1, 308, 309, 262, + 263, -1, -1, -1, -1, -1, 269, 271, 272, -1, + -1, 274, -1, 276, 277, 278, 279, 280, 281, 283, + 60, 284, 125, 287, -1, -1, -1, -1, 292, 293, + 294, 295, 296, 297, 298, 299, 300, 301, 301, -1, + -1, -1, -1, -1, 308, 309, -1, -1, 60, -1, + -1, -1, 271, 272, -1, -1, -1, 125, -1, -1, + -1, -1, -1, -1, 283, -1, -1, -1, 287, -1, + -1, -1, -1, 292, 293, 294, 295, 296, 297, 298, + 299, 300, 301, -1, -1, 125, -1, -1, -1, 308, + 309, -1, -1, -1, -1, 257, 258, -1, -1, -1, + 262, 263, -1, -1, -1, -1, -1, 269, -1, -1, + -1, -1, 274, -1, 276, 277, 278, 279, 280, 281, + -1, -1, 284, 257, 258, -1, -1, -1, 262, -1, + -1, -1, -1, -1, -1, 269, -1, -1, -1, 301, + 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, + 284, -1, -1, -1, 257, 258, -1, 291, -1, 262, + -1, -1, -1, -1, -1, -1, 269, 301, -1, -1, -1, 274, -1, 276, 277, 278, -1, -1, -1, -1, - -1, 284, -1, -1, -1, -1, -1, -1, 291, -1, - -1, 257, 258, -1, -1, -1, 262, -1, 301, -1, - -1, -1, -1, 269, -1, -1, -1, -1, 274, -1, - 276, 277, 278, -1, -1, -1, -1, -1, 284, -1, - -1, 257, 258, -1, -1, 291, 262, -1, -1, -1, - -1, -1, -1, 269, -1, 301, -1, -1, 274, -1, - 276, 277, 278, -1, -1, -1, -1, -1, 284, -1, - -1, -1, -1, -1, -1, 291, -1, 257, 258, -1, - -1, -1, 262, -1, -1, 301, -1, -1, -1, 269, - -1, -1, -1, -1, 274, -1, 276, 277, 278, -1, - -1, -1, -1, -1, 284, -1, -1, -1, -1, -1, - -1, 291, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 301, + -1, 284, -1, -1, -1, -1, -1, -1, 291, 257, + 258, -1, -1, -1, 262, -1, -1, -1, 301, -1, + -1, 269, -1, -1, -1, -1, 274, -1, 276, 277, + 278, -1, -1, -1, -1, -1, 284, 257, 258, -1, + -1, -1, 262, 291, -1, -1, -1, -1, -1, 269, + -1, 416, 417, 301, 274, -1, 276, 277, 278, -1, + -1, -1, -1, -1, 284, 257, 258, 432, -1, -1, + 262, 291, -1, -1, -1, -1, -1, 269, -1, -1, + -1, 301, 274, -1, 276, 277, 278, -1, 453, 454, + -1, 456, 284, -1, -1, -1, 461, -1, -1, 291, + 465, -1, 467, 468, -1, -1, -1, -1, -1, 301, + -1, 476, 477, 478, -1, -1, -1, 482, }; } class yyCheckInit { - static short[] yyCheck = new short[3916]; + static short[] yyCheck = new short[2881]; protected static void yyCheckInit () { int numyycheck; int yyCheckerun = 0; for (numyycheck = 0; numyycheck <= 1000; numyycheck++) { - if (yyCheckerun < 3916) { + if (yyCheckerun < 2881) { yyCheck[yyCheckerun] = yyCheck0.yyCheck0[numyycheck]; yyCheckerun++; } } for (numyycheck = 0; numyycheck <= 1000; numyycheck++) { - if (yyCheckerun < 3916) { + if (yyCheckerun < 2881) { yyCheck[yyCheckerun] = yyCheck1.yyCheck1[numyycheck]; yyCheckerun++; } } for (numyycheck = 0; numyycheck <= 1000; numyycheck++) { - if (yyCheckerun < 3916) { + if (yyCheckerun < 2881) { yyCheck[yyCheckerun] = yyCheck2.yyCheck2[numyycheck]; yyCheckerun++; } } - for (numyycheck = 0; numyycheck <= 1000; numyycheck++) { - if (yyCheckerun < 3916) { - yyCheck[yyCheckerun] = yyCheck3.yyCheck3[numyycheck]; - yyCheckerun++; - } - } } } diff --git a/src/mycompiler/myparser/JavaParser.jay b/src/mycompiler/myparser/JavaParser.jay index fb9c4897d..702414c31 100755 --- a/src/mycompiler/myparser/JavaParser.jay +++ b/src/mycompiler/myparser/JavaParser.jay @@ -881,7 +881,9 @@ Beispiel: var = 2; Bei einer lokalen Variable lässt sich hier nicht ermitteln ob die Variable deklariert werden soll oder bereits deklariert wurde und ihr nur ein Wert zugewiesen werden soll. Dieses Problem ist bei Feldern nicht der Fall. */ -fielddeclarator : type variabledeclarator '=' expression +fielddeclarator : + /* + type variabledeclarator '=' expression { FieldDeclaration ret = new FieldDeclaration($2.getOffset()); ret.setType($1); @@ -889,7 +891,9 @@ fielddeclarator : type variabledeclarator '=' expression ret.setWert($4); $$=ret; } - | variabledeclarator '=' expression + | + */ + variabledeclarator '=' expression { FieldDeclaration ret = new FieldDeclaration($1.getOffset()); ret.set_DeclId($1); @@ -901,15 +905,15 @@ fielddeclaration : fielddeclarator ';' { $$=$1; } - | type fielddeclarator + | type fielddeclarator ';' { $2.setType($1); $$=$2; } - | '<' boundedMethodParameters '>' type fielddeclarator + | '<' boundedMethodParameters '>' type fielddeclarator ';' {//angefügt von Andreas Stadelmeier - $5.setGenericParameter($2); $5.setType($4); + $5.setGenericParameter($2); $$=$5; } | diff --git a/src/mycompiler/mytype/RefType.java b/src/mycompiler/mytype/RefType.java index 1096dd282..c8ba376f9 100755 --- a/src/mycompiler/mytype/RefType.java +++ b/src/mycompiler/mytype/RefType.java @@ -750,6 +750,7 @@ public class RefType extends Type implements IMatchable @Override public Vector getUnresolvedTPH(ResultSet resultSet) { Vector ret = super.getUnresolvedTPH(resultSet); + /* if(this.parameter!=null)for(Type t : this.parameter){ if(t instanceof TypePlaceholder){ TypePlaceholder tph = (TypePlaceholder)t; @@ -757,6 +758,8 @@ public class RefType extends Type implements IMatchable if(eq instanceof TypePlaceholder)ret.add((TypePlaceholder)eq); } } + */ + ret.addAll(this.printJavaCode(resultSet).getUnresolvedTPH()); return ret; } diff --git a/src/mycompiler/mytype/Type.java b/src/mycompiler/mytype/Type.java index 261d5e799..f1765fb7d 100755 --- a/src/mycompiler/mytype/Type.java +++ b/src/mycompiler/mytype/Type.java @@ -268,6 +268,15 @@ public class Type implements IItemWithOffset public Vector getUnresolvedTPH(ResultSet resultSet) { return new Vector(); } + + /** + * Prüft ob der Typ von dem übergebenen TypPlaceholder abhängt. + * @param tph + * @return + */ + public boolean involves(TypePlaceholder tph) { + return false; + } } // ino.end diff --git a/src/mycompiler/mytype/TypePlaceholder.java b/src/mycompiler/mytype/TypePlaceholder.java index 142f1bd95..852758169 100755 --- a/src/mycompiler/mytype/TypePlaceholder.java +++ b/src/mycompiler/mytype/TypePlaceholder.java @@ -523,8 +523,8 @@ public class TypePlaceholder extends Type implements IReplaceTypeEventProvider * @return * @see TypeInsertPoint */ - public TypeInsertSet getTypeInsertPoints(ResultSet result) { - TypeInsertSet ret = new TypeInsertSet(); + public Vector getTypeInsertPoints(ResultSet result) { + Vector ret = new Vector(); for(ITypeReplacementListener ti : this.m_ReplacementListeners){ if(ti instanceof TypeInsertable){ TypeInsertPoint toAdd = ((TypeInsertable) ti).createTypeInsertPoint(this, result); diff --git a/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java b/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java index 14fe034f9..45d69e4c1 100755 --- a/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java +++ b/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java @@ -109,13 +109,39 @@ public class TypeinferenceResultSet /** * Berechnet alle möglichen Punkte zum Einsetzen eines Typs im Quelltext + * Dabei entstehen TypeInsertSets. Für jeden gesammelten TypeInsertPoint werden alle Abhängigkeiten berechnet. + * * @return */ public Vector getTypeInsertionPoints(){ Vector ret = new Vector(); for(Pair p : constraints){ for(TypePlaceholder tph : p.getTypePlaceholder()){ - TypeInsertSet toAdd = tph.getTypeInsertPoints(this.unifiedConstraints); + //Alle TypeInsertPoints dieses TPH ermitteln: + Vector tips = tph.getTypeInsertPoints(this.unifiedConstraints); + /* + //Anschließend alle TPHs ermitteln, welche mit den ermittelten TIPs in Verbindung stehen: + Vector tphs = new Vector(); + for(TypeInsertPoint tip : tips){ + tphs.addAll(tip.getUnresolvedTPH()); //Alle in Verbindung stehenden TPHs ermitteln... + //... welche anschließend als Generische Variablen im Quelltext eingesetzt werden würden. + for(Type type : this.unifiedConstraints.getTypesInvolving(tip.getUnresolvedTPH())){ + //Alle Typen, welche diesen tph enthalten auch mit diesem TypInsertSet einsetzen + //TODO: Typeplaceholder, welche diesen Typ einsetzen (im ResultSet-equal sind) zu tphs adden + + } + } + for(TypePlaceholder tphTemp : tphs){ + tips.addAll(tphTemp.getTypeInsertPoints(this.unifiedConstraints)); + } + */ + TypeInsertSet toAdd = new TypeInsertSet(); + for(int i = 0; i getUnresolvedTPH(){ return unresolvedTPHs; } diff --git a/src/typinferenz/ResultSet.java b/src/typinferenz/ResultSet.java index df133c87a..5470d8068 100755 --- a/src/typinferenz/ResultSet.java +++ b/src/typinferenz/ResultSet.java @@ -101,4 +101,20 @@ public class ResultSet implements Iterable { return ret; } + + /** + * Durchsucht das ResultSet nach Typen, die die übergebenen unresolvedTPHs als generische Variablen einbinden. + * @param unresolvedTPH + * @return + */ + public Vector getTypesInvolving(Vector unresolvedTPH) { + Vector ret = new Vector(); + for(Pair p : this.resultPairs){ + for(TypePlaceholder tph : unresolvedTPH){ + if(p.TA1.involves(tph))ret.add(p.TA1); + if(p.TA2.involves(tph))ret.add(p.TA2); + } + } + return ret; + } } diff --git a/src/typinferenz/TypeInsertPoint.java b/src/typinferenz/TypeInsertPoint.java index 376d59f45..3d17be9fe 100644 --- a/src/typinferenz/TypeInsertPoint.java +++ b/src/typinferenz/TypeInsertPoint.java @@ -18,14 +18,29 @@ import mycompiler.mytypereconstruction.replacementlistener.ITypeReplacementListe */ public class TypeInsertPoint implements Comparable{ - private IItemWithOffset point; - private Type type; - private ResultSet resultSet; + protected IItemWithOffset point; + protected Type type; + protected ResultSet resultSet; + protected Vector generics = null; public TypeInsertPoint(IItemWithOffset insertPoint, Type insertType, ResultSet resultSet){ + this(insertPoint, insertType, resultSet, null); + this.generics = this.getUnresolvedTPH();//Alle im insertType vorkommenden TPH müssen als Generics eingesetzt werden. + } + + /** + * Dieser Konstruktor erstellt einen TypInsertPoint, welcher nicht nur insertType einsetzt, + * sonder auch die übergebenen generischen Variablen einsetzt. + * @param insertPoint + * @param insertType + * @param resultSet + * @param generics - die generischen Parameter des einzusetzenden Typs + */ + public TypeInsertPoint(IItemWithOffset insertPoint, Type insertType, ResultSet resultSet, Vector generics){ this.point = insertPoint; this.type = insertType; this.resultSet = resultSet; + this.generics = generics; } /** @@ -35,9 +50,9 @@ public class TypeInsertPoint implements Comparable{ * @return */ public JavaCodeResult insertType(String fileContent, int additionalOffset) { - String anfang = fileContent.substring(0, point.getOffset()+additionalOffset); + String anfang = fileContent.substring(0, this.getInsertNode().getOffset()+additionalOffset); JavaCodeResult mitte = this.getTypeInsertString(); - String ende = fileContent.substring(point.getOffset()+additionalOffset); + String ende = fileContent.substring(this.getInsertNode().getOffset()+additionalOffset); return new JavaCodeResult(anfang).attach(mitte).attach(ende); } @@ -45,12 +60,18 @@ public class TypeInsertPoint implements Comparable{ return this.getTypeInsertString().toString().length(); } + public Vector getUnresolvedTPH(){ + Vector ret = new Vector(); + ret.addAll(this.type.getUnresolvedTPH(resultSet)); + return ret; + } + /** * * @return Der Offset des TypeInsertPoints in dem geparsten Source für dessen Klasse er erstellt wurde. */ public int getOffset(){ - return this.point.getOffset(); + return this.getInsertNode().getOffset(); } /** @@ -97,7 +118,7 @@ public class TypeInsertPoint implements Comparable{ while(!(ret instanceof Field || ret instanceof Class)){ ret = ret.getParent(); if(ret == null){ - throw new DebugException(this.point.toString()+" hat kein Feld oder Klasse als Elternelement"); + throw new DebugException(this.getInsertNode().toString()+" hat kein Feld oder Klasse als Elternelement"); } } return (IItemWithOffset)ret; diff --git a/src/typinferenz/TypeInsertSet.java b/src/typinferenz/TypeInsertSet.java index 38421a5c6..b50210c50 100644 --- a/src/typinferenz/TypeInsertSet.java +++ b/src/typinferenz/TypeInsertSet.java @@ -1,9 +1,11 @@ package typinferenz; import java.util.Collections; +import java.util.HashMap; import java.util.Iterator; import java.util.Vector; +import mycompiler.IItemWithOffset; import mycompiler.SyntaxTreeNode; import mycompiler.mytype.GenericTypeVar; import mycompiler.mytype.Pair; @@ -13,26 +15,36 @@ import mycompiler.mytype.TypePlaceholder; /** * Bündelt ein Set von TypeInsertPoints, die alle zu einem TypePlaceholder gehören. * Diese müssen gemeinsam eingesetzt werden. + * Das TypeInsertSet löst zudem Abhängigkeiten auf. Wird eine Generische Variable eingesetzt, + * müssen alle mit ihr in Verbindung stehenden Typen ebenfalls eingesetzt werden. * @author janulrich * */ public class TypeInsertSet { public Vector points = new Vector(); - - public TypeInsertSet(TypeInsertPoint p){ - points.add(p); - } public TypeInsertSet() { } - public void add(TypeInsertPoint typeInsertPoint) { - points.add(typeInsertPoint); + /** + * Fügt einen TypeInsertPoint dem TypeInsertSet hinzu. + * Dabei werden alle involvierten TPHs berechnet und zurückgeliefert. + * Die von diesen TPHs abhängigen Typen müssen anschließend ebenfalls dem TypeInsertSet angefügt werden. + * @param typeInsertPoint + * @return + */ + public Vector add(TypeInsertPoint typeInsertPoint) { + if( ! this.points.contains(typeInsertPoint)){ //Nur falls typeInsertPoint noch nicht im Set vorhanden ist: + points.add(typeInsertPoint); + return typeInsertPoint.getUnresolvedTPH(); + } + return new Vector(); } /** * Fügt alle Typen dieses TypeInsertSets in den übergebenen Quellcode ein + * TODO: Beim Einsetzen eines Typs alle Abhängigkeiten auflösen. Benutze Generische Variablen müssen an allen Punkte eingesetzt werden * @param fileContent * @return */ @@ -40,7 +52,25 @@ public class TypeInsertSet { int additionalOffset = 0; String ret = fileContent; + Vector genericTIPs = new Vector(); + for(TypeInsertPoint p : points){ + GenericTypeInsertPoint toAdd = new GenericTypeInsertPoint(p); + for(Pair genericPair : p.getResultSet().getConstraintsFor(p.getUnresolvedTPH())){ + toAdd.addGenericPair(genericPair); + } + genericTIPs.add(toAdd); + } + + for(GenericTypeInsertPoint p : genericTIPs){ + for(GenericTypeInsertPoint p2 : genericTIPs){ + //Doppelte Generische Variablen definitionen ausschließen: + for(TypeInsertPoint toAdd : p.merge(p2))this.add(toAdd); + } + //this.add(p); + } + Collections.sort(points); + for(TypeInsertPoint p : points){ /* //TODO: Verbessern. Momentan noch komischer Hack: @@ -61,6 +91,7 @@ public class TypeInsertSet { //Zuerst den Typ einsetzen JavaCodeResult insertCode = p.insertType(ret, additionalOffset); ret = insertCode.toString(); + /* //Das additional Offset noch nicht korrigieren, da die generischen Parameter noch vor den Typ müssen. //Jetzt sind die übriggebliebenen TPHs bekannt und die benötigten Generischen Variablen können berechnet werden. @@ -79,8 +110,8 @@ public class TypeInsertSet { //Jetzt das gesamte Offset korrigieren: additionalOffset += tip.getInsertLength(); } + */ additionalOffset += p.getInsertLength(); - } return ret; } diff --git a/src/typinferenz/exceptions/ParserError.java b/src/typinferenz/exceptions/ParserError.java index 0a35447ac..02105ba51 100644 --- a/src/typinferenz/exceptions/ParserError.java +++ b/src/typinferenz/exceptions/ParserError.java @@ -8,5 +8,4 @@ public class ParserError extends TypeinferenceException{ public ParserError(yyException exc){ super(exc.getMessage(), exc.token.getOffset()); } - } diff --git a/src/typinferenz/exceptions/TypeinferenceException.java b/src/typinferenz/exceptions/TypeinferenceException.java index 46e763ebe..ef5d6c6fa 100755 --- a/src/typinferenz/exceptions/TypeinferenceException.java +++ b/src/typinferenz/exceptions/TypeinferenceException.java @@ -26,6 +26,7 @@ public class TypeinferenceException extends RuntimeException { public TypeinferenceException(String message, int offset){ this.message=message; + this.offset = offset; } /** diff --git a/test/parser/BoundedParameter.jav b/test/parser/BoundedParameter.jav index f97bb6629..6d7518a9c 100644 --- a/test/parser/BoundedParameter.jav +++ b/test/parser/BoundedParameter.jav @@ -1,3 +1,3 @@ class Matrix{ - Fun1>, B> op = (m) -> ( f) -> f.apply(this, m); +
String op = "String"; } diff --git a/test/parser/GeneralParserTest.java b/test/parser/GeneralParserTest.java index 3b3b9de0d..596cbea73 100644 --- a/test/parser/GeneralParserTest.java +++ b/test/parser/GeneralParserTest.java @@ -28,8 +28,8 @@ public class GeneralParserTest{ @Test public void run(){ Vector filenames = new Vector(); - //filenames.add("FieldInitializationTest.jav"); - //filenames.add("ImportTest.jav"); + filenames.add("FieldInitializationTest.jav"); + filenames.add("ImportTest.jav"); filenames.add("BoundedParameter.jav"); MyCompilerAPI compiler = MyCompiler.getAPI(); try{ diff --git a/test/plugindevelopment/TRMEqualTest.java b/test/plugindevelopment/TRMEqualTest.java index 6077ca0c4..18585bc57 100644 --- a/test/plugindevelopment/TRMEqualTest.java +++ b/test/plugindevelopment/TRMEqualTest.java @@ -55,7 +55,8 @@ public class TRMEqualTest { pair.SetOperator(PairOperator.Equal); resultContent.add(pair); ResultSet resultSet = new ResultSet(resultContent); - TypeInsertSet toAdd = tph.getTypeInsertPoints(resultSet); + Vector tphs = tph.getTypeInsertPoints(resultSet); + TypeInsertSet toAdd = new TypeInsertSet(tphs); System.out.println("Füge hinzu: "+toAdd); if(!replaceSet.contains(toAdd))replaceSet.add(toAdd); } diff --git a/tools/y.output b/tools/y.output index 1a9018977..80f01111b 100644 --- a/tools/y.output +++ b/tools/y.output @@ -121,285 +121,284 @@ 84 abstractmethoddeclaration : methodheader ';' - 85 fielddeclarator : type variabledeclarator '=' expression - 86 | variabledeclarator '=' expression + 85 fielddeclarator : variabledeclarator '=' expression - 87 fielddeclaration : fielddeclarator ';' - 88 | type fielddeclarator - 89 | '<' boundedMethodParameters '>' type fielddeclarator - 90 | variabledeclarators ';' - 91 | type variabledeclarators ';' - 92 | modifiers type variabledeclarators ';' + 86 fielddeclaration : fielddeclarator ';' + 87 | type fielddeclarator ';' + 88 | '<' boundedMethodParameters '>' type fielddeclarator ';' + 89 | variabledeclarators ';' + 90 | type variabledeclarators ';' + 91 | modifiers type variabledeclarators ';' - 93 methoddeclaration : methodheader methodbody + 92 methoddeclaration : methodheader methodbody - 94 block : '{' '}' - 95 | '{' blockstatements '}' + 93 block : '{' '}' + 94 | '{' blockstatements '}' - 96 constructordeclarator : simplename '(' ')' - 97 | simplename '(' formalparameterlist ')' + 95 constructordeclarator : simplename '(' ')' + 96 | simplename '(' formalparameterlist ')' - 98 constructorbody : '{' '}' - 99 | '{' explicitconstructorinvocation '}' - 100 | '{' blockstatements '}' - 101 | '{' explicitconstructorinvocation blockstatements '}' + 97 constructorbody : '{' '}' + 98 | '{' explicitconstructorinvocation '}' + 99 | '{' blockstatements '}' + 100 | '{' explicitconstructorinvocation blockstatements '}' - 102 throws : THROWS classtypelist + 101 throws : THROWS classtypelist - 103 boundedClassParameter : boundedMethodParameter + 102 boundedClassParameter : boundedMethodParameter - 104 boundedClassParameters : boundedClassParameter - 105 | boundedClassParameters ',' boundedClassParameter + 103 boundedClassParameters : boundedClassParameter + 104 | boundedClassParameters ',' boundedClassParameter - 106 boundedMethodParameter : IDENTIFIER - 107 | IDENTIFIER EXTENDS boundedclassidentifierlist + 105 boundedMethodParameter : IDENTIFIER + 106 | IDENTIFIER EXTENDS boundedclassidentifierlist - 108 boundedclassidentifierlist : referencetype - 109 | boundedclassidentifierlist '&' referencetype + 107 boundedclassidentifierlist : referencetype + 108 | boundedclassidentifierlist '&' referencetype - 110 boundedMethodParameters : boundedMethodParameter - 111 | boundedMethodParameters ',' boundedMethodParameter + 109 boundedMethodParameters : boundedMethodParameter + 110 | boundedMethodParameters ',' boundedMethodParameter - 112 methodheader : '<' boundedMethodParameters '>' type methoddeclarator - 113 | type methoddeclarator - 114 | modifiers type methoddeclarator - 115 | modifiers '<' boundedMethodParameters '>' type methoddeclarator - 116 | type methoddeclarator throws - 117 | '<' boundedMethodParameters '>' type methoddeclarator throws - 118 | modifiers type methoddeclarator throws - 119 | modifiers '<' boundedMethodParameters '>' type methoddeclarator throws - 120 | VOID methoddeclarator - 121 | modifiers VOID methoddeclarator - 122 | VOID methoddeclarator throws - 123 | modifiers VOID methoddeclarator throws - 124 | '<' boundedMethodParameters '>' VOID methoddeclarator - 125 | modifiers '<' boundedMethodParameters '>' VOID methoddeclarator - 126 | '<' boundedMethodParameters '>' VOID methoddeclarator throws - 127 | modifiers '<' boundedMethodParameters '>' VOID methoddeclarator throws - 128 | methoddeclarator - 129 | '<' boundedMethodParameters '>' methoddeclarator - 130 | modifiers methoddeclarator - 131 | methoddeclarator throws - 132 | modifiers methoddeclarator throws + 111 methodheader : '<' boundedMethodParameters '>' type methoddeclarator + 112 | type methoddeclarator + 113 | modifiers type methoddeclarator + 114 | modifiers '<' boundedMethodParameters '>' type methoddeclarator + 115 | type methoddeclarator throws + 116 | '<' boundedMethodParameters '>' type methoddeclarator throws + 117 | modifiers type methoddeclarator throws + 118 | modifiers '<' boundedMethodParameters '>' type methoddeclarator throws + 119 | VOID methoddeclarator + 120 | modifiers VOID methoddeclarator + 121 | VOID methoddeclarator throws + 122 | modifiers VOID methoddeclarator throws + 123 | '<' boundedMethodParameters '>' VOID methoddeclarator + 124 | modifiers '<' boundedMethodParameters '>' VOID methoddeclarator + 125 | '<' boundedMethodParameters '>' VOID methoddeclarator throws + 126 | modifiers '<' boundedMethodParameters '>' VOID methoddeclarator throws + 127 | methoddeclarator + 128 | '<' boundedMethodParameters '>' methoddeclarator + 129 | modifiers methoddeclarator + 130 | methoddeclarator throws + 131 | modifiers methoddeclarator throws - 133 type : primitivetype - 134 | primitivetype '[' ']' - 135 | referencetype - 136 | referencetype '[' ']' + 132 type : primitivetype + 133 | primitivetype '[' ']' + 134 | referencetype + 135 | referencetype '[' ']' - 137 variabledeclarators : variabledeclarator - 138 | variabledeclarators ',' variabledeclarator + 136 variabledeclarators : variabledeclarator + 137 | variabledeclarators ',' variabledeclarator - 139 methodbody : block + 138 methodbody : block - 140 blockstatements : blockstatement - 141 | blockstatements blockstatement + 139 blockstatements : blockstatement + 140 | blockstatements blockstatement - 142 formalparameterlist : formalparameter - 143 | formalparameterlist ',' formalparameter + 141 formalparameterlist : formalparameter + 142 | formalparameterlist ',' formalparameter - 144 explicitconstructorinvocation : THIS '(' ')' ';' - 145 | THIS '(' argumentlist ')' ';' + 143 explicitconstructorinvocation : THIS '(' ')' ';' + 144 | THIS '(' argumentlist ')' ';' - 146 classtypelist : classtype - 147 | classtypelist ',' classtype + 145 classtypelist : classtype + 146 | classtypelist ',' classtype - 148 methoddeclarator : IDENTIFIER '(' ')' - 149 | IDENTIFIER '(' formalparameterlist ')' + 147 methoddeclarator : IDENTIFIER '(' ')' + 148 | IDENTIFIER '(' formalparameterlist ')' - 150 primitivetype : BOOLEAN - 151 | numerictype + 149 primitivetype : BOOLEAN + 150 | numerictype - 152 referencetype : classorinterfacetype + 151 referencetype : classorinterfacetype - 153 variabledeclarator : variabledeclaratorid + 152 variabledeclarator : variabledeclaratorid - 154 blockstatement : localvariabledeclarationstatement - 155 | statement + 153 blockstatement : localvariabledeclarationstatement + 154 | statement - 156 formalparameter : type variabledeclaratorid - 157 | variabledeclaratorid + 155 formalparameter : type variabledeclaratorid + 156 | variabledeclaratorid - 158 argumentlist : expression - 159 | argumentlist ',' expression + 157 argumentlist : expression + 158 | argumentlist ',' expression - 160 numerictype : integraltype + 159 numerictype : integraltype - 161 variabledeclaratorid : IDENTIFIER + 160 variabledeclaratorid : IDENTIFIER - 162 variableinitializer : expression + 161 variableinitializer : expression - 163 localvariabledeclarationstatement : localvariabledeclaration ';' + 162 localvariabledeclarationstatement : localvariabledeclaration ';' - 164 statement : statementwithouttrailingsubstatement - 165 | ifthenstatement - 166 | ifthenelsestatement - 167 | whilestatement - 168 | forstatement + 163 statement : statementwithouttrailingsubstatement + 164 | ifthenstatement + 165 | ifthenelsestatement + 166 | whilestatement + 167 | forstatement - 169 expression : assignmentexpression - 170 | classinstancecreationexpression + 168 expression : assignmentexpression + 169 | classinstancecreationexpression - 171 integraltype : INT - 172 | CHAR + 170 integraltype : INT + 171 | CHAR - 173 localvariabledeclaration : type variabledeclarators - 174 | variabledeclarators + 172 localvariabledeclaration : type variabledeclarators + 173 | variabledeclarators - 175 statementwithouttrailingsubstatement : block - 176 | emptystatement - 177 | expressionstatement - 178 | returnstatement + 174 statementwithouttrailingsubstatement : block + 175 | emptystatement + 176 | expressionstatement + 177 | returnstatement - 179 ifthenstatement : IF '(' expression ')' statement + 178 ifthenstatement : IF '(' expression ')' statement - 180 ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE statement + 179 ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE statement - 181 whilestatement : WHILE '(' expression ')' statement + 180 whilestatement : WHILE '(' expression ')' statement - 182 forstatement : FOR '(' expression ';' expression ';' expression ')' statement - 183 | FOR '(' expression ';' expression ';' ')' statement - 184 | FOR '(' expression ';' ';' expression ')' statement - 185 | FOR '(' ';' expression ';' expression ')' statement - 186 | FOR '(' expression ';' ';' ')' statement - 187 | FOR '(' ';' expression ';' ')' statement - 188 | FOR '(' ';' ';' expression ')' statement - 189 | FOR '(' ';' ';' ')' statement + 181 forstatement : FOR '(' expression ';' expression ';' expression ')' statement + 182 | FOR '(' expression ';' expression ';' ')' statement + 183 | FOR '(' expression ';' ';' expression ')' statement + 184 | FOR '(' ';' expression ';' expression ')' statement + 185 | FOR '(' expression ';' ';' ')' statement + 186 | FOR '(' ';' expression ';' ')' statement + 187 | FOR '(' ';' ';' expression ')' statement + 188 | FOR '(' ';' ';' ')' statement - 190 assignmentexpression : conditionalexpression - 191 | assignment + 189 assignmentexpression : conditionalexpression + 190 | assignment - 192 emptystatement : ';' + 191 emptystatement : ';' - 193 expressionstatement : statementexpression ';' + 192 expressionstatement : statementexpression ';' - 194 returnstatement : RETURN ';' - 195 | RETURN expression ';' + 193 returnstatement : RETURN ';' + 194 | RETURN expression ';' - 196 statementnoshortif : statementwithouttrailingsubstatement - 197 | ifthenelsestatementnoshortif - 198 | whilestatementnoshortif + 195 statementnoshortif : statementwithouttrailingsubstatement + 196 | ifthenelsestatementnoshortif + 197 | whilestatementnoshortif - 199 conditionalexpression : conditionalorexpression + 198 conditionalexpression : conditionalorexpression - 200 assignment : lefthandside assignmentoperator assignmentexpression - 201 | lefthandside assignmentoperator classinstancecreationexpression + 199 assignment : lefthandside assignmentoperator assignmentexpression + 200 | lefthandside assignmentoperator classinstancecreationexpression - 202 statementexpression : assignment - 203 | preincrementexpression - 204 | predecrementexpression - 205 | postincrementexpression - 206 | postdecrementexpression - 207 | methodinvocation + 201 statementexpression : assignment + 202 | preincrementexpression + 203 | predecrementexpression + 204 | postincrementexpression + 205 | postdecrementexpression + 206 | methodinvocation - 208 ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif ELSE statementnoshortif + 207 ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif ELSE statementnoshortif - 209 whilestatementnoshortif : WHILE '(' expression ')' statementnoshortif + 208 whilestatementnoshortif : WHILE '(' expression ')' statementnoshortif - 210 conditionalorexpression : conditionalandexpression - 211 | conditionalorexpression LOGICALOR conditionalandexpression + 209 conditionalorexpression : conditionalandexpression + 210 | conditionalorexpression LOGICALOR conditionalandexpression - 212 lambdaassignmentoperator : LAMBDAASSIGNMENT + 211 lambdaassignmentoperator : LAMBDAASSIGNMENT - 213 lambdabody : block - 214 | expression + 212 lambdabody : block + 213 | expression - 215 lambdaexpressionparameter : '(' ')' - 216 | '(' formalparameterlist ')' + 214 lambdaexpressionparameter : '(' ')' + 215 | '(' formalparameterlist ')' - 217 lambdaexpression : lambdaexpressionparameter lambdaassignmentoperator lambdabody + 216 lambdaexpression : lambdaexpressionparameter lambdaassignmentoperator lambdabody - 218 lefthandside : name + 217 lefthandside : name - 219 assignmentoperator : '=' - 220 | TIMESEQUAL - 221 | DIVIDEEQUAL - 222 | MODULOEQUAL - 223 | PLUSEQUAL - 224 | MINUSEQUAL + 218 assignmentoperator : '=' + 219 | TIMESEQUAL + 220 | DIVIDEEQUAL + 221 | MODULOEQUAL + 222 | PLUSEQUAL + 223 | MINUSEQUAL - 225 preincrementexpression : INCREMENT unaryexpression + 224 preincrementexpression : INCREMENT unaryexpression - 226 predecrementexpression : DECREMENT unaryexpression + 225 predecrementexpression : DECREMENT unaryexpression - 227 postincrementexpression : postfixexpression INCREMENT + 226 postincrementexpression : postfixexpression INCREMENT - 228 postdecrementexpression : postfixexpression DECREMENT + 227 postdecrementexpression : postfixexpression DECREMENT - 229 methodinvocation : name '(' ')' - 230 | name '(' argumentlist ')' - 231 | primary '.' IDENTIFIER '(' ')' - 232 | primary '.' IDENTIFIER '(' argumentlist ')' + 228 methodinvocation : name '(' ')' + 229 | name '(' argumentlist ')' + 230 | primary '.' IDENTIFIER '(' ')' + 231 | primary '.' IDENTIFIER '(' argumentlist ')' - 233 classinstancecreationexpression : NEW classtype '(' ')' - 234 | NEW classtype '(' argumentlist ')' + 232 classinstancecreationexpression : NEW classtype '(' ')' + 233 | NEW classtype '(' argumentlist ')' - 235 conditionalandexpression : inclusiveorexpression - 236 | conditionalandexpression LOGICALAND inclusiveorexpression + 234 conditionalandexpression : inclusiveorexpression + 235 | conditionalandexpression LOGICALAND inclusiveorexpression - 237 unaryexpression : preincrementexpression - 238 | predecrementexpression - 239 | '+' unaryexpression - 240 | '-' unaryexpression - 241 | unaryexpressionnotplusminus + 236 unaryexpression : preincrementexpression + 237 | predecrementexpression + 238 | '+' unaryexpression + 239 | '-' unaryexpression + 240 | unaryexpressionnotplusminus - 242 postfixexpression : primary - 243 | name - 244 | postincrementexpression - 245 | postdecrementexpression + 241 postfixexpression : primary + 242 | name + 243 | postincrementexpression + 244 | postdecrementexpression - 246 primary : primarynonewarray + 245 primary : primarynonewarray - 247 inclusiveorexpression : exclusiveorexpression - 248 | inclusiveorexpression '|' exclusiveorexpression + 246 inclusiveorexpression : exclusiveorexpression + 247 | inclusiveorexpression '|' exclusiveorexpression - 249 primarynonewarray : literal - 250 | THIS - 251 | methodinvocation - 252 | lambdaexpression + 248 primarynonewarray : literal + 249 | THIS + 250 | methodinvocation + 251 | lambdaexpression - 253 unaryexpressionnotplusminus : postfixexpression - 254 | '!' unaryexpression - 255 | castexpression + 252 unaryexpressionnotplusminus : postfixexpression + 253 | '!' unaryexpression + 254 | castexpression - 256 exclusiveorexpression : andexpression - 257 | exclusiveorexpression '^' andexpression + 255 exclusiveorexpression : andexpression + 256 | exclusiveorexpression '^' andexpression - 258 literal : INTLITERAL - 259 | BOOLLITERAL - 260 | CHARLITERAL - 261 | STRINGLITERAL - 262 | LONGLITERAL - 263 | FLOATLITERAL - 264 | DOUBLELITERAL - 265 | JNULL + 257 literal : INTLITERAL + 258 | BOOLLITERAL + 259 | CHARLITERAL + 260 | STRINGLITERAL + 261 | LONGLITERAL + 262 | FLOATLITERAL + 263 | DOUBLELITERAL + 264 | JNULL - 266 castexpression : '(' primitivetype ')' unaryexpression + 265 castexpression : '(' primitivetype ')' unaryexpression - 267 andexpression : equalityexpression - 268 | andexpression '&' equalityexpression + 266 andexpression : equalityexpression + 267 | andexpression '&' equalityexpression - 269 equalityexpression : relationalexpression - 270 | equalityexpression EQUAL relationalexpression - 271 | equalityexpression NOTEQUAL relationalexpression + 268 equalityexpression : relationalexpression + 269 | equalityexpression EQUAL relationalexpression + 270 | equalityexpression NOTEQUAL relationalexpression - 272 relationalexpression : shiftexpression - 273 | relationalexpression '<' shiftexpression - 274 | relationalexpression '>' shiftexpression - 275 | relationalexpression LESSEQUAL shiftexpression - 276 | relationalexpression GREATEREQUAL shiftexpression - 277 | relationalexpression INSTANCEOF referencetype + 271 relationalexpression : shiftexpression + 272 | relationalexpression '<' shiftexpression + 273 | relationalexpression '>' shiftexpression + 274 | relationalexpression LESSEQUAL shiftexpression + 275 | relationalexpression GREATEREQUAL shiftexpression + 276 | relationalexpression INSTANCEOF referencetype - 278 shiftexpression : additiveexpression + 277 shiftexpression : additiveexpression - 279 additiveexpression : multiplicativeexpression - 280 | additiveexpression '+' multiplicativeexpression - 281 | additiveexpression '-' multiplicativeexpression + 278 additiveexpression : multiplicativeexpression + 279 | additiveexpression '+' multiplicativeexpression + 280 | additiveexpression '-' multiplicativeexpression - 282 multiplicativeexpression : unaryexpression - 283 | multiplicativeexpression '*' unaryexpression - 284 | multiplicativeexpression '/' unaryexpression - 285 | multiplicativeexpression '%' unaryexpression + 281 multiplicativeexpression : unaryexpression + 282 | multiplicativeexpression '*' unaryexpression + 283 | multiplicativeexpression '/' unaryexpression + 284 | multiplicativeexpression '%' unaryexpression state 0 $accept : . compilationunit $end (0) @@ -446,15 +445,15 @@ state 1 state 2 - primitivetype : BOOLEAN . (150) + primitivetype : BOOLEAN . (149) - . reduce 150 + . reduce 149 state 3 - integraltype : CHAR . (172) + integraltype : CHAR . (171) - . reduce 172 + . reduce 171 state 4 @@ -476,9 +475,9 @@ state 5 state 6 - integraltype : INT . (171) + integraltype : INT . (170) - . reduce 171 + . reduce 170 state 7 @@ -583,7 +582,6 @@ state 18 INTERFACE reduce 74 IMPLEMENTS reduce 74 STATIC reduce 74 - VOID reduce 74 IDENTIFIER reduce 74 EQUAL reduce 74 LESSEQUAL reduce 74 @@ -599,7 +597,6 @@ state 18 '*' reduce 74 '>' reduce 74 '{' reduce 74 - '}' reduce 74 '(' reduce 74 ')' reduce 74 '&' reduce 74 @@ -645,67 +642,67 @@ state 20 state 21 - referencetype : classorinterfacetype . (152) - - . reduce 152 - - -state 22 - numerictype : integraltype . (160) - - . reduce 160 - - -state 23 - primitivetype : numerictype . (151) + referencetype : classorinterfacetype . (151) . reduce 151 +state 22 + numerictype : integraltype . (159) + + . reduce 159 + + +state 23 + primitivetype : numerictype . (150) + + . reduce 150 + + state 24 - type : primitivetype . (133) - type : primitivetype . '[' ']' (134) + type : primitivetype . (132) + type : primitivetype . '[' ']' (133) '[' shift 45 - ABSTRACT reduce 133 - BOOLEAN reduce 133 - CHAR reduce 133 - CLASS reduce 133 - FINAL reduce 133 - INT reduce 133 - PRIVATE reduce 133 - PROTECTED reduce 133 - PUBLIC reduce 133 - PACKAGE reduce 133 - IMPORT reduce 133 - INTERFACE reduce 133 - STATIC reduce 133 - IDENTIFIER reduce 133 - ',' reduce 133 - '>' reduce 133 + ABSTRACT reduce 132 + BOOLEAN reduce 132 + CHAR reduce 132 + CLASS reduce 132 + FINAL reduce 132 + INT reduce 132 + PRIVATE reduce 132 + PROTECTED reduce 132 + PUBLIC reduce 132 + PACKAGE reduce 132 + IMPORT reduce 132 + INTERFACE reduce 132 + STATIC reduce 132 + IDENTIFIER reduce 132 + ',' reduce 132 + '>' reduce 132 state 25 - type : referencetype . (135) - type : referencetype . '[' ']' (136) + type : referencetype . (134) + type : referencetype . '[' ']' (135) '[' shift 46 - ABSTRACT reduce 135 - BOOLEAN reduce 135 - CHAR reduce 135 - CLASS reduce 135 - FINAL reduce 135 - INT reduce 135 - PRIVATE reduce 135 - PROTECTED reduce 135 - PUBLIC reduce 135 - PACKAGE reduce 135 - IMPORT reduce 135 - INTERFACE reduce 135 - STATIC reduce 135 - IDENTIFIER reduce 135 - ',' reduce 135 - '>' reduce 135 + ABSTRACT reduce 134 + BOOLEAN reduce 134 + CHAR reduce 134 + CLASS reduce 134 + FINAL reduce 134 + INT reduce 134 + PRIVATE reduce 134 + PROTECTED reduce 134 + PUBLIC reduce 134 + PACKAGE reduce 134 + IMPORT reduce 134 + INTERFACE reduce 134 + STATIC reduce 134 + IDENTIFIER reduce 134 + ',' reduce 134 + '>' reduce 134 state 26 @@ -943,14 +940,14 @@ state 44 state 45 - type : primitivetype '[' . ']' (134) + type : primitivetype '[' . ']' (133) ']' shift 72 . error state 46 - type : referencetype '[' . ']' (136) + type : referencetype '[' . ']' (135) ']' shift 73 . error @@ -1299,15 +1296,15 @@ state 71 state 72 - type : primitivetype '[' ']' . (134) + type : primitivetype '[' ']' . (133) - . reduce 134 + . reduce 133 state 73 - type : referencetype '[' ']' . (136) + type : referencetype '[' ']' . (135) - . reduce 136 + . reduce 135 state 74 @@ -1366,29 +1363,29 @@ state 77 state 78 - boundedMethodParameter : IDENTIFIER . (106) - boundedMethodParameter : IDENTIFIER . EXTENDS boundedclassidentifierlist (107) + boundedMethodParameter : IDENTIFIER . (105) + boundedMethodParameter : IDENTIFIER . EXTENDS boundedclassidentifierlist (106) EXTENDS shift 136 - ',' reduce 106 - '>' reduce 106 + ',' reduce 105 + '>' reduce 105 state 79 - boundedClassParameter : boundedMethodParameter . (103) + boundedClassParameter : boundedMethodParameter . (102) + + . reduce 102 + + +state 80 + boundedClassParameters : boundedClassParameter . (103) . reduce 103 -state 80 - boundedClassParameters : boundedClassParameter . (104) - - . reduce 104 - - state 81 classidentifier : IDENTIFIER '<' boundedClassParameters . '>' (31) - boundedClassParameters : boundedClassParameters . ',' boundedClassParameter (105) + boundedClassParameters : boundedClassParameters . ',' boundedClassParameter (104) ',' shift 137 '>' shift 138 @@ -1441,8 +1438,8 @@ state 86 state 87 - methodheader : VOID . methoddeclarator (120) - methodheader : VOID . methoddeclarator throws (122) + methodheader : VOID . methoddeclarator (119) + methodheader : VOID . methoddeclarator throws (121) IDENTIFIER shift 141 . error @@ -1453,29 +1450,26 @@ state 87 88: shift/reduce conflict (shift 143, reduce 19) on '(' state 88 simplename : IDENTIFIER . (19) - methoddeclarator : IDENTIFIER . '(' ')' (148) - methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (149) - variabledeclaratorid : IDENTIFIER . (161) + methoddeclarator : IDENTIFIER . '(' ')' (147) + methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (148) + variabledeclaratorid : IDENTIFIER . (160) '(' shift 143 - BOOLEAN reduce 19 - CHAR reduce 19 - INT reduce 19 IDENTIFIER reduce 19 - ',' reduce 161 - ';' reduce 161 + ',' reduce 160 + ';' reduce 160 '<' reduce 19 - '=' reduce 161 + '=' reduce 160 '[' reduce 19 state 89 - fielddeclaration : '<' . boundedMethodParameters '>' type fielddeclarator (89) - methodheader : '<' . boundedMethodParameters '>' type methoddeclarator (112) - methodheader : '<' . boundedMethodParameters '>' type methoddeclarator throws (117) - methodheader : '<' . boundedMethodParameters '>' VOID methoddeclarator (124) - methodheader : '<' . boundedMethodParameters '>' VOID methoddeclarator throws (126) - methodheader : '<' . boundedMethodParameters '>' methoddeclarator (129) + fielddeclaration : '<' . boundedMethodParameters '>' type fielddeclarator ';' (88) + methodheader : '<' . boundedMethodParameters '>' type methoddeclarator (111) + methodheader : '<' . boundedMethodParameters '>' type methoddeclarator throws (116) + methodheader : '<' . boundedMethodParameters '>' VOID methoddeclarator (123) + methodheader : '<' . boundedMethodParameters '>' VOID methoddeclarator throws (125) + methodheader : '<' . boundedMethodParameters '>' methoddeclarator (128) IDENTIFIER shift 78 . error @@ -1497,7 +1491,7 @@ state 91 state 92 - methoddeclaration : methodheader . methodbody (93) + methoddeclaration : methodheader . methodbody (92) '{' shift 139 . error @@ -1513,12 +1507,12 @@ state 93 state 94 - methodheader : methoddeclarator . (128) - methodheader : methoddeclarator . throws (131) + methodheader : methoddeclarator . (127) + methodheader : methoddeclarator . throws (130) THROWS shift 148 - ';' reduce 128 - '{' reduce 128 + ';' reduce 127 + '{' reduce 127 throws goto 149 @@ -1579,8 +1573,8 @@ state 97 state 98 - fielddeclaration : variabledeclarators . ';' (90) - variabledeclarators : variabledeclarators . ',' variabledeclarator (138) + fielddeclaration : variabledeclarators . ';' (89) + variabledeclarators : variabledeclarators . ',' variabledeclarator (137) ',' shift 152 ';' shift 153 @@ -1588,38 +1582,35 @@ state 98 state 99 - fielddeclaration : fielddeclarator . ';' (87) + fielddeclaration : fielddeclarator . ';' (86) ';' shift 154 . error state 100 - fielddeclarator : variabledeclarator . '=' expression (86) - variabledeclarators : variabledeclarator . (137) + fielddeclarator : variabledeclarator . '=' expression (85) + variabledeclarators : variabledeclarator . (136) '=' shift 155 - ',' reduce 137 - ';' reduce 137 + ',' reduce 136 + ';' reduce 136 state 101 - variabledeclarator : variabledeclaratorid . (153) + variabledeclarator : variabledeclaratorid . (152) - . reduce 153 + . reduce 152 state 102 classorinterfacetype : simplename . parameter (71) - constructordeclarator : simplename . '(' ')' (96) - constructordeclarator : simplename . '(' formalparameterlist ')' (97) + constructordeclarator : simplename . '(' ')' (95) + constructordeclarator : simplename . '(' formalparameterlist ')' (96) parameter : . (74) '<' shift 41 '(' shift 156 - BOOLEAN reduce 74 - CHAR reduce 74 - INT reduce 74 IDENTIFIER reduce 74 '[' reduce 74 @@ -1627,46 +1618,35 @@ state 102 state 103 - fielddeclarator : type . variabledeclarator '=' expression (85) - fielddeclaration : type . fielddeclarator (88) - fielddeclaration : type . variabledeclarators ';' (91) - methodheader : type . methoddeclarator (113) - methodheader : type . methoddeclarator throws (116) + fielddeclaration : type . fielddeclarator ';' (87) + fielddeclaration : type . variabledeclarators ';' (90) + methodheader : type . methoddeclarator (112) + methodheader : type . methoddeclarator throws (115) - BOOLEAN shift 2 - CHAR shift 3 - INT shift 6 - IDENTIFIER shift 88 + IDENTIFIER shift 157 . error - methoddeclarator goto 157 - variabledeclarators goto 158 - fielddeclarator goto 159 - variabledeclarator goto 160 + methoddeclarator goto 158 + variabledeclarators goto 159 + fielddeclarator goto 160 + variabledeclarator goto 100 variabledeclaratorid goto 101 - simplename goto 18 - classorinterfacetype goto 21 - integraltype goto 22 - numerictype goto 23 - primitivetype goto 24 - referencetype goto 25 - type goto 161 state 104 modifiers : modifiers . modifier (48) constructordeclaration : modifiers . constructordeclarator constructorbody (82) - fielddeclaration : modifiers . type variabledeclarators ';' (92) - methodheader : modifiers . type methoddeclarator (114) - methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator (115) - methodheader : modifiers . type methoddeclarator throws (118) - methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator throws (119) - methodheader : modifiers . VOID methoddeclarator (121) - methodheader : modifiers . VOID methoddeclarator throws (123) - methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator (125) - methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator throws (127) - methodheader : modifiers . methoddeclarator (130) - methodheader : modifiers . methoddeclarator throws (132) + fielddeclaration : modifiers . type variabledeclarators ';' (91) + methodheader : modifiers . type methoddeclarator (113) + methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator (114) + methodheader : modifiers . type methoddeclarator throws (117) + methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator throws (118) + methodheader : modifiers . VOID methoddeclarator (120) + methodheader : modifiers . VOID methoddeclarator throws (122) + methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator (124) + methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator throws (126) + methodheader : modifiers . methoddeclarator (129) + methodheader : modifiers . methoddeclarator throws (131) ABSTRACT shift 1 BOOLEAN shift 2 @@ -1677,21 +1657,21 @@ state 104 PROTECTED shift 8 PUBLIC shift 9 STATIC shift 13 - VOID shift 162 + VOID shift 161 IDENTIFIER shift 117 - '<' shift 163 + '<' shift 162 . error - methoddeclarator goto 164 + methoddeclarator goto 163 simplename goto 102 classorinterfacetype goto 21 integraltype goto 22 numerictype goto 23 primitivetype goto 24 referencetype goto 25 - type goto 165 + type goto 164 modifier goto 50 - constructordeclarator goto 166 + constructordeclarator goto 165 state 105 @@ -1703,10 +1683,10 @@ state 105 state 106 constructordeclaration : constructordeclarator . constructorbody (81) - '{' shift 167 + '{' shift 166 . error - constructorbody goto 168 + constructorbody goto 167 state 107 @@ -1729,7 +1709,7 @@ state 109 '{' shift 57 . error - classbody goto 169 + classbody goto 168 state 110 @@ -1740,7 +1720,7 @@ state 110 simplename goto 18 classorinterfacetype goto 84 - interfacetype goto 170 + interfacetype goto 169 state 111 @@ -1771,10 +1751,10 @@ state 114 state 115 interfaceidentifier : IDENTIFIER '<' boundedClassParameters . '>' (29) - boundedClassParameters : boundedClassParameters . ',' boundedClassParameter (105) + boundedClassParameters : boundedClassParameters . ',' boundedClassParameter (104) ',' shift 137 - '>' shift 171 + '>' shift 170 . error @@ -1787,30 +1767,27 @@ state 116 117: shift/reduce conflict (shift 143, reduce 19) on '(' state 117 simplename : IDENTIFIER . (19) - methoddeclarator : IDENTIFIER . '(' ')' (148) - methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (149) + methoddeclarator : IDENTIFIER . '(' ')' (147) + methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (148) '(' shift 143 - BOOLEAN reduce 19 - CHAR reduce 19 - INT reduce 19 IDENTIFIER reduce 19 '<' reduce 19 '[' reduce 19 state 118 - methodheader : '<' . boundedMethodParameters '>' type methoddeclarator (112) - methodheader : '<' . boundedMethodParameters '>' type methoddeclarator throws (117) - methodheader : '<' . boundedMethodParameters '>' VOID methoddeclarator (124) - methodheader : '<' . boundedMethodParameters '>' VOID methoddeclarator throws (126) - methodheader : '<' . boundedMethodParameters '>' methoddeclarator (129) + methodheader : '<' . boundedMethodParameters '>' type methoddeclarator (111) + methodheader : '<' . boundedMethodParameters '>' type methoddeclarator throws (116) + methodheader : '<' . boundedMethodParameters '>' VOID methoddeclarator (123) + methodheader : '<' . boundedMethodParameters '>' VOID methoddeclarator throws (125) + methodheader : '<' . boundedMethodParameters '>' methoddeclarator (128) IDENTIFIER shift 78 . error boundedMethodParameter goto 144 - boundedMethodParameters goto 172 + boundedMethodParameters goto 171 state 119 @@ -1835,10 +1812,10 @@ state 120 VOID shift 87 IDENTIFIER shift 117 '<' shift 118 - '}' shift 173 + '}' shift 172 . error - interfacememberdeclaration goto 174 + interfacememberdeclaration goto 173 abstractmethoddeclaration goto 122 constantdeclaration goto 123 methodheader goto 124 @@ -1875,33 +1852,33 @@ state 123 state 124 abstractmethoddeclaration : methodheader . ';' (84) - ';' shift 175 + ';' shift 174 . error state 125 - methodheader : type . methoddeclarator (113) - methodheader : type . methoddeclarator throws (116) + methodheader : type . methoddeclarator (112) + methodheader : type . methoddeclarator throws (115) IDENTIFIER shift 141 . error - methoddeclarator goto 157 + methoddeclarator goto 158 state 126 modifiers : modifiers . modifier (48) constantdeclaration : modifiers . type IDENTIFIER '=' expression ';' (83) - methodheader : modifiers . type methoddeclarator (114) - methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator (115) - methodheader : modifiers . type methoddeclarator throws (118) - methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator throws (119) - methodheader : modifiers . VOID methoddeclarator (121) - methodheader : modifiers . VOID methoddeclarator throws (123) - methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator (125) - methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator throws (127) - methodheader : modifiers . methoddeclarator (130) - methodheader : modifiers . methoddeclarator throws (132) + methodheader : modifiers . type methoddeclarator (113) + methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator (114) + methodheader : modifiers . type methoddeclarator throws (117) + methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator throws (118) + methodheader : modifiers . VOID methoddeclarator (120) + methodheader : modifiers . VOID methoddeclarator throws (122) + methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator (124) + methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator throws (126) + methodheader : modifiers . methoddeclarator (129) + methodheader : modifiers . methoddeclarator throws (131) ABSTRACT shift 1 BOOLEAN shift 2 @@ -1912,19 +1889,19 @@ state 126 PROTECTED shift 8 PUBLIC shift 9 STATIC shift 13 - VOID shift 162 + VOID shift 161 IDENTIFIER shift 117 - '<' shift 163 + '<' shift 162 . error - methoddeclarator goto 164 + methoddeclarator goto 163 simplename goto 18 classorinterfacetype goto 21 integraltype goto 22 numerictype goto 23 primitivetype goto 24 referencetype goto 25 - type goto 176 + type goto 175 modifier goto 50 @@ -1936,7 +1913,7 @@ state 127 simplename goto 18 classorinterfacetype goto 84 - interfacetype goto 177 + interfacetype goto 176 state 128 @@ -1960,7 +1937,7 @@ state 129 numerictype goto 23 primitivetype goto 24 referencetype goto 25 - type goto 178 + type goto 177 state 130 @@ -1983,8 +1960,8 @@ state 132 '{' shift 57 . error - classbody goto 179 - interfaces goto 180 + classbody goto 178 + interfaces goto 179 state 133 @@ -1995,7 +1972,7 @@ state 133 '{' shift 57 . error - classbody goto 181 + classbody goto 180 state 134 @@ -2012,29 +1989,29 @@ state 135 '{' shift 67 . error - interfacebody goto 182 + interfacebody goto 181 state 136 - boundedMethodParameter : IDENTIFIER EXTENDS . boundedclassidentifierlist (107) + boundedMethodParameter : IDENTIFIER EXTENDS . boundedclassidentifierlist (106) IDENTIFIER shift 14 . error simplename goto 18 classorinterfacetype goto 21 - referencetype goto 183 - boundedclassidentifierlist goto 184 + referencetype goto 182 + boundedclassidentifierlist goto 183 state 137 - boundedClassParameters : boundedClassParameters ',' . boundedClassParameter (105) + boundedClassParameters : boundedClassParameters ',' . boundedClassParameter (104) IDENTIFIER shift 78 . error boundedMethodParameter goto 79 - boundedClassParameter goto 185 + boundedClassParameter goto 184 state 138 @@ -2044,74 +2021,74 @@ state 138 state 139 - block : '{' . '}' (94) - block : '{' . blockstatements '}' (95) + block : '{' . '}' (93) + block : '{' . blockstatements '}' (94) BOOLEAN shift 2 CHAR shift 3 - FOR shift 186 - IF shift 187 + FOR shift 185 + IF shift 186 INT shift 6 - RETURN shift 188 - THIS shift 189 - WHILE shift 190 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 - IDENTIFIER shift 199 - INCREMENT shift 200 - DECREMENT shift 201 - ';' shift 202 + RETURN shift 187 + THIS shift 188 + WHILE shift 189 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 + IDENTIFIER shift 198 + INCREMENT shift 199 + DECREMENT shift 200 + ';' shift 201 '{' shift 139 - '}' shift 203 - '(' shift 204 + '}' shift 202 + '(' shift 203 . error - variabledeclarators goto 205 - variabledeclarator goto 206 + variabledeclarators goto 204 + variabledeclarator goto 205 variabledeclaratorid goto 101 - simplename goto 207 + simplename goto 206 qualifiedname goto 35 - name goto 208 + name goto 207 classorinterfacetype goto 21 integraltype goto 22 numerictype goto 23 primitivetype goto 24 referencetype goto 25 - type goto 209 - block goto 210 - blockstatements goto 211 - localvariabledeclarationstatement goto 212 - localvariabledeclaration goto 213 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 218 - lambdaexpression goto 219 - statementexpression goto 220 - preincrementexpression goto 221 - predecrementexpression goto 222 - postincrementexpression goto 223 - postdecrementexpression goto 224 - expressionstatement goto 225 - statementwithouttrailingsubstatement goto 226 - blockstatement goto 227 - statement goto 228 - whilestatement goto 229 - forstatement goto 230 - ifthenstatement goto 231 - ifthenelsestatement goto 232 - emptystatement goto 233 - returnstatement goto 234 - assignment goto 235 - lefthandside goto 236 - methodinvocation goto 237 + type goto 208 + block goto 209 + blockstatements goto 210 + localvariabledeclarationstatement goto 211 + localvariabledeclaration goto 212 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 217 + lambdaexpression goto 218 + statementexpression goto 219 + preincrementexpression goto 220 + predecrementexpression goto 221 + postincrementexpression goto 222 + postdecrementexpression goto 223 + expressionstatement goto 224 + statementwithouttrailingsubstatement goto 225 + blockstatement goto 226 + statement goto 227 + whilestatement goto 228 + forstatement goto 229 + ifthenstatement goto 230 + ifthenelsestatement goto 231 + emptystatement goto 232 + returnstatement goto 233 + assignment goto 234 + lefthandside goto 235 + methodinvocation goto 236 state 140 @@ -2121,95 +2098,95 @@ state 140 state 141 - methoddeclarator : IDENTIFIER . '(' ')' (148) - methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (149) + methoddeclarator : IDENTIFIER . '(' ')' (147) + methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (148) '(' shift 143 . error state 142 - methodheader : VOID methoddeclarator . (120) - methodheader : VOID methoddeclarator . throws (122) + methodheader : VOID methoddeclarator . (119) + methodheader : VOID methoddeclarator . throws (121) THROWS shift 148 - ';' reduce 120 - '{' reduce 120 + ';' reduce 119 + '{' reduce 119 - throws goto 238 + throws goto 237 state 143 - methoddeclarator : IDENTIFIER '(' . ')' (148) - methoddeclarator : IDENTIFIER '(' . formalparameterlist ')' (149) + methoddeclarator : IDENTIFIER '(' . ')' (147) + methoddeclarator : IDENTIFIER '(' . formalparameterlist ')' (148) BOOLEAN shift 2 CHAR shift 3 INT shift 6 - IDENTIFIER shift 199 - ')' shift 239 + IDENTIFIER shift 198 + ')' shift 238 . error - variabledeclaratorid goto 240 + variabledeclaratorid goto 239 simplename goto 18 classorinterfacetype goto 21 integraltype goto 22 numerictype goto 23 primitivetype goto 24 referencetype goto 25 - type goto 241 - formalparameter goto 242 - formalparameterlist goto 243 + type goto 240 + formalparameter goto 241 + formalparameterlist goto 242 state 144 - boundedMethodParameters : boundedMethodParameter . (110) + boundedMethodParameters : boundedMethodParameter . (109) - . reduce 110 + . reduce 109 state 145 - fielddeclaration : '<' boundedMethodParameters . '>' type fielddeclarator (89) - boundedMethodParameters : boundedMethodParameters . ',' boundedMethodParameter (111) - methodheader : '<' boundedMethodParameters . '>' type methoddeclarator (112) - methodheader : '<' boundedMethodParameters . '>' type methoddeclarator throws (117) - methodheader : '<' boundedMethodParameters . '>' VOID methoddeclarator (124) - methodheader : '<' boundedMethodParameters . '>' VOID methoddeclarator throws (126) - methodheader : '<' boundedMethodParameters . '>' methoddeclarator (129) + fielddeclaration : '<' boundedMethodParameters . '>' type fielddeclarator ';' (88) + boundedMethodParameters : boundedMethodParameters . ',' boundedMethodParameter (110) + methodheader : '<' boundedMethodParameters . '>' type methoddeclarator (111) + methodheader : '<' boundedMethodParameters . '>' type methoddeclarator throws (116) + methodheader : '<' boundedMethodParameters . '>' VOID methoddeclarator (123) + methodheader : '<' boundedMethodParameters . '>' VOID methoddeclarator throws (125) + methodheader : '<' boundedMethodParameters . '>' methoddeclarator (128) - ',' shift 244 - '>' shift 245 + ',' shift 243 + '>' shift 244 . error state 146 - methodbody : block . (139) + methodbody : block . (138) - . reduce 139 + . reduce 138 state 147 - methoddeclaration : methodheader methodbody . (93) + methoddeclaration : methodheader methodbody . (92) - . reduce 93 + . reduce 92 state 148 - throws : THROWS . classtypelist (102) + throws : THROWS . classtypelist (101) IDENTIFIER shift 14 . error simplename goto 18 - classtype goto 246 + classtype goto 245 classorinterfacetype goto 83 - classtypelist goto 247 + classtypelist goto 246 state 149 - methodheader : methoddeclarator throws . (131) + methodheader : methoddeclarator throws . (130) - . reduce 131 + . reduce 130 state 150 @@ -2225,369 +2202,361 @@ state 151 state 152 - variabledeclarators : variabledeclarators ',' . variabledeclarator (138) + variabledeclarators : variabledeclarators ',' . variabledeclarator (137) - IDENTIFIER shift 248 + IDENTIFIER shift 247 . error - variabledeclarator goto 249 + variabledeclarator goto 248 variabledeclaratorid goto 101 state 153 - fielddeclaration : variabledeclarators ';' . (90) + fielddeclaration : variabledeclarators ';' . (89) - . reduce 90 + . reduce 89 state 154 - fielddeclaration : fielddeclarator ';' . (87) + fielddeclaration : fielddeclarator ';' . (86) - . reduce 87 + . reduce 86 state 155 - fielddeclarator : variabledeclarator '=' . expression (86) + fielddeclarator : variabledeclarator '=' . expression (85) - NEW shift 250 - THIS shift 189 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 + NEW shift 249 + THIS shift 188 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 IDENTIFIER shift 14 - INCREMENT shift 200 - DECREMENT shift 201 - '(' shift 251 - '+' shift 252 - '-' shift 253 - '!' shift 254 + INCREMENT shift 199 + DECREMENT shift 200 + '(' shift 250 + '+' shift 251 + '-' shift 252 + '!' shift 253 . error simplename goto 34 qualifiedname goto 35 - name goto 208 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 255 - unaryexpressionnotplusminus goto 256 - unaryexpression goto 257 - multiplicativeexpression goto 258 - additiveexpression goto 259 - shiftexpression goto 260 - relationalexpression goto 261 - equalityexpression goto 262 - andexpression goto 263 - exclusiveorexpression goto 264 - inclusiveorexpression goto 265 - conditionalandexpression goto 266 - conditionalorexpression goto 267 - conditionalexpression goto 268 - assignmentexpression goto 269 - lambdaexpression goto 219 - expression goto 270 - preincrementexpression goto 271 - predecrementexpression goto 272 - postincrementexpression goto 273 - postdecrementexpression goto 274 - classinstancecreationexpression goto 275 - assignment goto 276 - lefthandside goto 236 - methodinvocation goto 277 - castexpression goto 278 + name goto 207 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 254 + unaryexpressionnotplusminus goto 255 + unaryexpression goto 256 + multiplicativeexpression goto 257 + additiveexpression goto 258 + shiftexpression goto 259 + relationalexpression goto 260 + equalityexpression goto 261 + andexpression goto 262 + exclusiveorexpression goto 263 + inclusiveorexpression goto 264 + conditionalandexpression goto 265 + conditionalorexpression goto 266 + conditionalexpression goto 267 + assignmentexpression goto 268 + lambdaexpression goto 218 + expression goto 269 + preincrementexpression goto 270 + predecrementexpression goto 271 + postincrementexpression goto 272 + postdecrementexpression goto 273 + classinstancecreationexpression goto 274 + assignment goto 275 + lefthandside goto 235 + methodinvocation goto 276 + castexpression goto 277 state 156 - constructordeclarator : simplename '(' . ')' (96) - constructordeclarator : simplename '(' . formalparameterlist ')' (97) + constructordeclarator : simplename '(' . ')' (95) + constructordeclarator : simplename '(' . formalparameterlist ')' (96) BOOLEAN shift 2 CHAR shift 3 INT shift 6 - IDENTIFIER shift 199 - ')' shift 279 + IDENTIFIER shift 198 + ')' shift 278 . error - variabledeclaratorid goto 240 + variabledeclaratorid goto 239 simplename goto 18 classorinterfacetype goto 21 integraltype goto 22 numerictype goto 23 primitivetype goto 24 referencetype goto 25 - type goto 241 - formalparameter goto 242 - formalparameterlist goto 280 + type goto 240 + formalparameter goto 241 + formalparameterlist goto 279 state 157 - methodheader : type methoddeclarator . (113) - methodheader : type methoddeclarator . throws (116) + methoddeclarator : IDENTIFIER . '(' ')' (147) + methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (148) + variabledeclaratorid : IDENTIFIER . (160) - THROWS shift 148 - ';' reduce 113 - '{' reduce 113 - - throws goto 281 + '(' shift 143 + ',' reduce 160 + ';' reduce 160 + '=' reduce 160 state 158 - fielddeclaration : type variabledeclarators . ';' (91) - variabledeclarators : variabledeclarators . ',' variabledeclarator (138) + methodheader : type methoddeclarator . (112) + methodheader : type methoddeclarator . throws (115) + + THROWS shift 148 + ';' reduce 112 + '{' reduce 112 + + throws goto 280 + + +state 159 + fielddeclaration : type variabledeclarators . ';' (90) + variabledeclarators : variabledeclarators . ',' variabledeclarator (137) ',' shift 152 + ';' shift 281 + . error + + +state 160 + fielddeclaration : type fielddeclarator . ';' (87) + ';' shift 282 . error -state 159 - fielddeclaration : type fielddeclarator . (88) - - . reduce 88 - - -state 160 - fielddeclarator : type variabledeclarator . '=' expression (85) - fielddeclarator : variabledeclarator . '=' expression (86) - variabledeclarators : variabledeclarator . (137) - - '=' shift 283 - ',' reduce 137 - ';' reduce 137 - - state 161 - fielddeclarator : type . variabledeclarator '=' expression (85) - - IDENTIFIER shift 248 - . error - - variabledeclarator goto 284 - variabledeclaratorid goto 101 - - -state 162 - methodheader : modifiers VOID . methoddeclarator (121) - methodheader : modifiers VOID . methoddeclarator throws (123) + methodheader : modifiers VOID . methoddeclarator (120) + methodheader : modifiers VOID . methoddeclarator throws (122) IDENTIFIER shift 141 . error - methoddeclarator goto 285 + methoddeclarator goto 283 -state 163 - methodheader : modifiers '<' . boundedMethodParameters '>' type methoddeclarator (115) - methodheader : modifiers '<' . boundedMethodParameters '>' type methoddeclarator throws (119) - methodheader : modifiers '<' . boundedMethodParameters '>' VOID methoddeclarator (125) - methodheader : modifiers '<' . boundedMethodParameters '>' VOID methoddeclarator throws (127) +state 162 + methodheader : modifiers '<' . boundedMethodParameters '>' type methoddeclarator (114) + methodheader : modifiers '<' . boundedMethodParameters '>' type methoddeclarator throws (118) + methodheader : modifiers '<' . boundedMethodParameters '>' VOID methoddeclarator (124) + methodheader : modifiers '<' . boundedMethodParameters '>' VOID methoddeclarator throws (126) IDENTIFIER shift 78 . error boundedMethodParameter goto 144 - boundedMethodParameters goto 286 + boundedMethodParameters goto 284 + + +state 163 + methodheader : modifiers methoddeclarator . (129) + methodheader : modifiers methoddeclarator . throws (131) + + THROWS shift 148 + ';' reduce 129 + '{' reduce 129 + + throws goto 285 state 164 - methodheader : modifiers methoddeclarator . (130) - methodheader : modifiers methoddeclarator . throws (132) + fielddeclaration : modifiers type . variabledeclarators ';' (91) + methodheader : modifiers type . methoddeclarator (113) + methodheader : modifiers type . methoddeclarator throws (117) - THROWS shift 148 - ';' reduce 130 - '{' reduce 130 + IDENTIFIER shift 157 + . error - throws goto 287 + methoddeclarator goto 286 + variabledeclarators goto 287 + variabledeclarator goto 205 + variabledeclaratorid goto 101 state 165 - fielddeclaration : modifiers type . variabledeclarators ';' (92) - methodheader : modifiers type . methoddeclarator (114) - methodheader : modifiers type . methoddeclarator throws (118) + constructordeclaration : modifiers constructordeclarator . constructorbody (82) - IDENTIFIER shift 288 + '{' shift 166 . error - methoddeclarator goto 289 - variabledeclarators goto 290 - variabledeclarator goto 206 - variabledeclaratorid goto 101 + constructorbody goto 288 state 166 - constructordeclaration : modifiers constructordeclarator . constructorbody (82) - - '{' shift 167 - . error - - constructorbody goto 291 - - -state 167 - constructorbody : '{' . '}' (98) - constructorbody : '{' . explicitconstructorinvocation '}' (99) - constructorbody : '{' . blockstatements '}' (100) - constructorbody : '{' . explicitconstructorinvocation blockstatements '}' (101) + constructorbody : '{' . '}' (97) + constructorbody : '{' . explicitconstructorinvocation '}' (98) + constructorbody : '{' . blockstatements '}' (99) + constructorbody : '{' . explicitconstructorinvocation blockstatements '}' (100) BOOLEAN shift 2 CHAR shift 3 - FOR shift 186 - IF shift 187 + FOR shift 185 + IF shift 186 INT shift 6 - RETURN shift 188 - THIS shift 292 - WHILE shift 190 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 - IDENTIFIER shift 199 - INCREMENT shift 200 - DECREMENT shift 201 - ';' shift 202 + RETURN shift 187 + THIS shift 289 + WHILE shift 189 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 + IDENTIFIER shift 198 + INCREMENT shift 199 + DECREMENT shift 200 + ';' shift 201 '{' shift 139 - '}' shift 293 - '(' shift 204 + '}' shift 290 + '(' shift 203 . error - variabledeclarators goto 205 - variabledeclarator goto 206 + variabledeclarators goto 204 + variabledeclarator goto 205 variabledeclaratorid goto 101 - simplename goto 207 + simplename goto 206 qualifiedname goto 35 - name goto 208 + name goto 207 classorinterfacetype goto 21 integraltype goto 22 numerictype goto 23 primitivetype goto 24 referencetype goto 25 - type goto 209 - block goto 210 - blockstatements goto 294 - localvariabledeclarationstatement goto 212 - localvariabledeclaration goto 213 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 218 - lambdaexpression goto 219 - statementexpression goto 220 - preincrementexpression goto 221 - predecrementexpression goto 222 - postincrementexpression goto 223 - postdecrementexpression goto 224 - expressionstatement goto 225 - statementwithouttrailingsubstatement goto 226 - blockstatement goto 227 - statement goto 228 - whilestatement goto 229 - forstatement goto 230 - ifthenstatement goto 231 - ifthenelsestatement goto 232 - emptystatement goto 233 - returnstatement goto 234 - assignment goto 235 - lefthandside goto 236 - methodinvocation goto 237 - explicitconstructorinvocation goto 295 + type goto 208 + block goto 209 + blockstatements goto 291 + localvariabledeclarationstatement goto 211 + localvariabledeclaration goto 212 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 217 + lambdaexpression goto 218 + statementexpression goto 219 + preincrementexpression goto 220 + predecrementexpression goto 221 + postincrementexpression goto 222 + postdecrementexpression goto 223 + expressionstatement goto 224 + statementwithouttrailingsubstatement goto 225 + blockstatement goto 226 + statement goto 227 + whilestatement goto 228 + forstatement goto 229 + ifthenstatement goto 230 + ifthenelsestatement goto 231 + emptystatement goto 232 + returnstatement goto 233 + assignment goto 234 + lefthandside goto 235 + methodinvocation goto 236 + explicitconstructorinvocation goto 292 -state 168 +state 167 constructordeclaration : constructordeclarator constructorbody . (81) . reduce 81 -state 169 +state 168 classdeclaration : CLASS classidentifier super interfaces classbody . (26) . reduce 26 -state 170 +state 169 interfaces : interfaces ',' interfacetype . (51) . reduce 51 -state 171 +state 170 interfaceidentifier : IDENTIFIER '<' boundedClassParameters '>' . (29) . reduce 29 -state 172 - boundedMethodParameters : boundedMethodParameters . ',' boundedMethodParameter (111) - methodheader : '<' boundedMethodParameters . '>' type methoddeclarator (112) - methodheader : '<' boundedMethodParameters . '>' type methoddeclarator throws (117) - methodheader : '<' boundedMethodParameters . '>' VOID methoddeclarator (124) - methodheader : '<' boundedMethodParameters . '>' VOID methoddeclarator throws (126) - methodheader : '<' boundedMethodParameters . '>' methoddeclarator (129) +state 171 + boundedMethodParameters : boundedMethodParameters . ',' boundedMethodParameter (110) + methodheader : '<' boundedMethodParameters . '>' type methoddeclarator (111) + methodheader : '<' boundedMethodParameters . '>' type methoddeclarator throws (116) + methodheader : '<' boundedMethodParameters . '>' VOID methoddeclarator (123) + methodheader : '<' boundedMethodParameters . '>' VOID methoddeclarator throws (125) + methodheader : '<' boundedMethodParameters . '>' methoddeclarator (128) - ',' shift 244 - '>' shift 296 + ',' shift 243 + '>' shift 293 . error -state 173 +state 172 interfacebody : '{' interfacememberdeclarations '}' . (53) . reduce 53 -state 174 +state 173 interfacememberdeclarations : interfacememberdeclarations interfacememberdeclaration . (66) . reduce 66 -state 175 +state 174 abstractmethoddeclaration : methodheader ';' . (84) . reduce 84 -state 176 +state 175 constantdeclaration : modifiers type . IDENTIFIER '=' expression ';' (83) - methodheader : modifiers type . methoddeclarator (114) - methodheader : modifiers type . methoddeclarator throws (118) + methodheader : modifiers type . methoddeclarator (113) + methodheader : modifiers type . methoddeclarator throws (117) - IDENTIFIER shift 297 + IDENTIFIER shift 294 . error - methoddeclarator goto 289 + methoddeclarator goto 286 -state 177 +state 176 extendsinterfaces : extendsinterfaces ',' interfacetype . (55) . reduce 55 -state 178 +state 177 typelist : typelist ',' type . (73) . reduce 73 -state 179 +state 178 classdeclaration : modifiers CLASS classidentifier super classbody . (23) . reduce 23 -state 180 +state 179 classdeclaration : modifiers CLASS classidentifier super interfaces . classbody (27) interfaces : interfaces . ',' interfacetype (51) @@ -2595,187 +2564,187 @@ state 180 '{' shift 57 . error - classbody goto 298 + classbody goto 295 -state 181 +state 180 classdeclaration : modifiers CLASS classidentifier interfaces classbody . (25) . reduce 25 -state 182 +state 181 interfacedeclaration : modifiers INTERFACE interfaceidentifier extendsinterfaces interfacebody . (35) . reduce 35 -state 183 - boundedclassidentifierlist : referencetype . (108) +state 182 + boundedclassidentifierlist : referencetype . (107) - . reduce 108 + . reduce 107 + + +state 183 + boundedMethodParameter : IDENTIFIER EXTENDS boundedclassidentifierlist . (106) + boundedclassidentifierlist : boundedclassidentifierlist . '&' referencetype (108) + + '&' shift 296 + ',' reduce 106 + '>' reduce 106 state 184 - boundedMethodParameter : IDENTIFIER EXTENDS boundedclassidentifierlist . (107) - boundedclassidentifierlist : boundedclassidentifierlist . '&' referencetype (109) + boundedClassParameters : boundedClassParameters ',' boundedClassParameter . (104) - '&' shift 299 - ',' reduce 107 - '>' reduce 107 + . reduce 104 state 185 - boundedClassParameters : boundedClassParameters ',' boundedClassParameter . (105) + forstatement : FOR . '(' expression ';' expression ';' expression ')' statement (181) + forstatement : FOR . '(' expression ';' expression ';' ')' statement (182) + forstatement : FOR . '(' expression ';' ';' expression ')' statement (183) + forstatement : FOR . '(' ';' expression ';' expression ')' statement (184) + forstatement : FOR . '(' expression ';' ';' ')' statement (185) + forstatement : FOR . '(' ';' expression ';' ')' statement (186) + forstatement : FOR . '(' ';' ';' expression ')' statement (187) + forstatement : FOR . '(' ';' ';' ')' statement (188) - . reduce 105 + '(' shift 297 + . error state 186 - forstatement : FOR . '(' expression ';' expression ';' expression ')' statement (182) - forstatement : FOR . '(' expression ';' expression ';' ')' statement (183) - forstatement : FOR . '(' expression ';' ';' expression ')' statement (184) - forstatement : FOR . '(' ';' expression ';' expression ')' statement (185) - forstatement : FOR . '(' expression ';' ';' ')' statement (186) - forstatement : FOR . '(' ';' expression ';' ')' statement (187) - forstatement : FOR . '(' ';' ';' expression ')' statement (188) - forstatement : FOR . '(' ';' ';' ')' statement (189) + ifthenstatement : IF . '(' expression ')' statement (178) + ifthenelsestatement : IF . '(' expression ')' statementnoshortif ELSE statement (179) - '(' shift 300 + '(' shift 298 . error state 187 - ifthenstatement : IF . '(' expression ')' statement (179) - ifthenelsestatement : IF . '(' expression ')' statementnoshortif ELSE statement (180) + returnstatement : RETURN . ';' (193) + returnstatement : RETURN . expression ';' (194) + + NEW shift 249 + THIS shift 188 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 + IDENTIFIER shift 14 + INCREMENT shift 199 + DECREMENT shift 200 + ';' shift 299 + '(' shift 250 + '+' shift 251 + '-' shift 252 + '!' shift 253 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 207 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 254 + unaryexpressionnotplusminus goto 255 + unaryexpression goto 256 + multiplicativeexpression goto 257 + additiveexpression goto 258 + shiftexpression goto 259 + relationalexpression goto 260 + equalityexpression goto 261 + andexpression goto 262 + exclusiveorexpression goto 263 + inclusiveorexpression goto 264 + conditionalandexpression goto 265 + conditionalorexpression goto 266 + conditionalexpression goto 267 + assignmentexpression goto 268 + lambdaexpression goto 218 + expression goto 300 + preincrementexpression goto 270 + predecrementexpression goto 271 + postincrementexpression goto 272 + postdecrementexpression goto 273 + classinstancecreationexpression goto 274 + assignment goto 275 + lefthandside goto 235 + methodinvocation goto 276 + castexpression goto 277 + + +state 188 + primarynonewarray : THIS . (249) + + . reduce 249 + + +state 189 + whilestatement : WHILE . '(' expression ')' statement (180) '(' shift 301 . error -state 188 - returnstatement : RETURN . ';' (194) - returnstatement : RETURN . expression ';' (195) - - NEW shift 250 - THIS shift 189 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 - IDENTIFIER shift 14 - INCREMENT shift 200 - DECREMENT shift 201 - ';' shift 302 - '(' shift 251 - '+' shift 252 - '-' shift 253 - '!' shift 254 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 208 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 255 - unaryexpressionnotplusminus goto 256 - unaryexpression goto 257 - multiplicativeexpression goto 258 - additiveexpression goto 259 - shiftexpression goto 260 - relationalexpression goto 261 - equalityexpression goto 262 - andexpression goto 263 - exclusiveorexpression goto 264 - inclusiveorexpression goto 265 - conditionalandexpression goto 266 - conditionalorexpression goto 267 - conditionalexpression goto 268 - assignmentexpression goto 269 - lambdaexpression goto 219 - expression goto 303 - preincrementexpression goto 271 - predecrementexpression goto 272 - postincrementexpression goto 273 - postdecrementexpression goto 274 - classinstancecreationexpression goto 275 - assignment goto 276 - lefthandside goto 236 - methodinvocation goto 277 - castexpression goto 278 - - -state 189 - primarynonewarray : THIS . (250) - - . reduce 250 - - state 190 - whilestatement : WHILE . '(' expression ')' statement (181) + literal : INTLITERAL . (257) - '(' shift 304 - . error + . reduce 257 state 191 - literal : INTLITERAL . (258) + literal : LONGLITERAL . (261) - . reduce 258 + . reduce 261 state 192 - literal : LONGLITERAL . (262) - - . reduce 262 - - -state 193 - literal : DOUBLELITERAL . (264) - - . reduce 264 - - -state 194 - literal : FLOATLITERAL . (263) + literal : DOUBLELITERAL . (263) . reduce 263 +state 193 + literal : FLOATLITERAL . (262) + + . reduce 262 + + +state 194 + literal : BOOLLITERAL . (258) + + . reduce 258 + + state 195 - literal : BOOLLITERAL . (259) + literal : JNULL . (264) + + . reduce 264 + + +state 196 + literal : CHARLITERAL . (259) . reduce 259 -state 196 - literal : JNULL . (265) - - . reduce 265 - - state 197 - literal : CHARLITERAL . (260) + literal : STRINGLITERAL . (260) . reduce 260 state 198 - literal : STRINGLITERAL . (261) - - . reduce 261 - - -state 199 simplename : IDENTIFIER . (19) - variabledeclaratorid : IDENTIFIER . (161) + variabledeclaratorid : IDENTIFIER . (160) IDENTIFIER reduce 19 INCREMENT reduce 19 @@ -2785,146 +2754,146 @@ state 199 TIMESEQUAL reduce 19 DIVIDEEQUAL reduce 19 MODULOEQUAL reduce 19 - ',' reduce 161 - ';' reduce 161 + ',' reduce 160 + ';' reduce 160 '.' reduce 19 '<' reduce 19 '=' reduce 19 '(' reduce 19 - ')' reduce 161 + ')' reduce 160 '[' reduce 19 -state 200 - preincrementexpression : INCREMENT . unaryexpression (225) +state 199 + preincrementexpression : INCREMENT . unaryexpression (224) - THIS shift 189 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 + THIS shift 188 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 IDENTIFIER shift 14 - INCREMENT shift 200 - DECREMENT shift 201 - '(' shift 251 - '+' shift 252 - '-' shift 253 - '!' shift 254 + INCREMENT shift 199 + DECREMENT shift 200 + '(' shift 250 + '+' shift 251 + '-' shift 252 + '!' shift 253 . error simplename goto 34 qualifiedname goto 35 - name goto 305 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 255 - unaryexpressionnotplusminus goto 256 - unaryexpression goto 306 - lambdaexpression goto 219 - preincrementexpression goto 271 - predecrementexpression goto 272 - postincrementexpression goto 273 - postdecrementexpression goto 274 - methodinvocation goto 277 - castexpression goto 278 + name goto 302 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 254 + unaryexpressionnotplusminus goto 255 + unaryexpression goto 303 + lambdaexpression goto 218 + preincrementexpression goto 270 + predecrementexpression goto 271 + postincrementexpression goto 272 + postdecrementexpression goto 273 + methodinvocation goto 276 + castexpression goto 277 + + +state 200 + predecrementexpression : DECREMENT . unaryexpression (225) + + THIS shift 188 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 + IDENTIFIER shift 14 + INCREMENT shift 199 + DECREMENT shift 200 + '(' shift 250 + '+' shift 251 + '-' shift 252 + '!' shift 253 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 302 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 254 + unaryexpressionnotplusminus goto 255 + unaryexpression goto 304 + lambdaexpression goto 218 + preincrementexpression goto 270 + predecrementexpression goto 271 + postincrementexpression goto 272 + postdecrementexpression goto 273 + methodinvocation goto 276 + castexpression goto 277 state 201 - predecrementexpression : DECREMENT . unaryexpression (226) + emptystatement : ';' . (191) - THIS shift 189 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 - IDENTIFIER shift 14 - INCREMENT shift 200 - DECREMENT shift 201 - '(' shift 251 - '+' shift 252 - '-' shift 253 - '!' shift 254 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 305 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 255 - unaryexpressionnotplusminus goto 256 - unaryexpression goto 307 - lambdaexpression goto 219 - preincrementexpression goto 271 - predecrementexpression goto 272 - postincrementexpression goto 273 - postdecrementexpression goto 274 - methodinvocation goto 277 - castexpression goto 278 + . reduce 191 state 202 - emptystatement : ';' . (192) + block : '{' '}' . (93) - . reduce 192 + . reduce 93 state 203 - block : '{' '}' . (94) - - . reduce 94 - - -state 204 - lambdaexpressionparameter : '(' . ')' (215) - lambdaexpressionparameter : '(' . formalparameterlist ')' (216) + lambdaexpressionparameter : '(' . ')' (214) + lambdaexpressionparameter : '(' . formalparameterlist ')' (215) BOOLEAN shift 2 CHAR shift 3 INT shift 6 - IDENTIFIER shift 199 - ')' shift 308 + IDENTIFIER shift 198 + ')' shift 305 . error - variabledeclaratorid goto 240 + variabledeclaratorid goto 239 simplename goto 18 classorinterfacetype goto 21 integraltype goto 22 numerictype goto 23 primitivetype goto 24 referencetype goto 25 - type goto 241 - formalparameter goto 242 - formalparameterlist goto 309 + type goto 240 + formalparameter goto 241 + formalparameterlist goto 306 + + +state 204 + variabledeclarators : variabledeclarators . ',' variabledeclarator (137) + localvariabledeclaration : variabledeclarators . (173) + + ',' shift 152 + ';' reduce 173 state 205 - variabledeclarators : variabledeclarators . ',' variabledeclarator (138) - localvariabledeclaration : variabledeclarators . (174) + variabledeclarators : variabledeclarator . (136) - ',' shift 152 - ';' reduce 174 + . reduce 136 state 206 - variabledeclarators : variabledeclarator . (137) - - . reduce 137 - - -state 207 name : simplename . (13) classorinterfacetype : simplename . parameter (71) parameter : . (74) @@ -2946,198 +2915,1502 @@ state 207 parameter goto 42 -208: shift/reduce conflict (shift 62, reduce 243) on '.' -state 208 +207: shift/reduce conflict (shift 62, reduce 242) on '.' +state 207 qualifiedname : name . '.' IDENTIFIER (16) - lefthandside : name . (218) - methodinvocation : name . '(' ')' (229) - methodinvocation : name . '(' argumentlist ')' (230) - postfixexpression : name . (243) + lefthandside : name . (217) + methodinvocation : name . '(' ')' (228) + methodinvocation : name . '(' argumentlist ')' (229) + postfixexpression : name . (242) '.' shift 62 - '(' shift 310 - ABSTRACT reduce 243 - BOOLEAN reduce 243 - CHAR reduce 243 - FINAL reduce 243 - INSTANCEOF reduce 243 - INT reduce 243 - PRIVATE reduce 243 - PROTECTED reduce 243 - PUBLIC reduce 243 - STATIC reduce 243 - VOID reduce 243 - IDENTIFIER reduce 243 - EQUAL reduce 243 - LESSEQUAL reduce 243 - GREATEREQUAL reduce 243 - NOTEQUAL reduce 243 - LOGICALOR reduce 243 - LOGICALAND reduce 243 - INCREMENT reduce 243 - DECREMENT reduce 243 - PLUSEQUAL reduce 218 - MINUSEQUAL reduce 218 - TIMESEQUAL reduce 218 - DIVIDEEQUAL reduce 218 - MODULOEQUAL reduce 218 - ',' reduce 243 - ';' reduce 243 - '*' reduce 243 - '<' reduce 243 - '>' reduce 243 - '}' reduce 243 - '=' reduce 218 - ')' reduce 243 - '&' reduce 243 - '+' reduce 243 - '-' reduce 243 - '|' reduce 243 - '^' reduce 243 - '/' reduce 243 - '%' reduce 243 + '(' shift 307 + INSTANCEOF reduce 242 + EQUAL reduce 242 + LESSEQUAL reduce 242 + GREATEREQUAL reduce 242 + NOTEQUAL reduce 242 + LOGICALOR reduce 242 + LOGICALAND reduce 242 + INCREMENT reduce 242 + DECREMENT reduce 242 + PLUSEQUAL reduce 217 + MINUSEQUAL reduce 217 + TIMESEQUAL reduce 217 + DIVIDEEQUAL reduce 217 + MODULOEQUAL reduce 217 + ',' reduce 242 + ';' reduce 242 + '*' reduce 242 + '<' reduce 242 + '>' reduce 242 + '=' reduce 217 + ')' reduce 242 + '&' reduce 242 + '+' reduce 242 + '-' reduce 242 + '|' reduce 242 + '^' reduce 242 + '/' reduce 242 + '%' reduce 242 + + +state 208 + localvariabledeclaration : type . variabledeclarators (172) + + IDENTIFIER shift 247 + . error + + variabledeclarators goto 308 + variabledeclarator goto 205 + variabledeclaratorid goto 101 state 209 - localvariabledeclaration : type . variabledeclarators (173) + statementwithouttrailingsubstatement : block . (174) - IDENTIFIER shift 248 - . error - - variabledeclarators goto 311 - variabledeclarator goto 206 - variabledeclaratorid goto 101 + . reduce 174 state 210 - statementwithouttrailingsubstatement : block . (175) - - . reduce 175 - - -state 211 - block : '{' blockstatements . '}' (95) - blockstatements : blockstatements . blockstatement (141) + block : '{' blockstatements . '}' (94) + blockstatements : blockstatements . blockstatement (140) BOOLEAN shift 2 CHAR shift 3 - FOR shift 186 - IF shift 187 + FOR shift 185 + IF shift 186 INT shift 6 - RETURN shift 188 - THIS shift 189 - WHILE shift 190 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 - IDENTIFIER shift 199 - INCREMENT shift 200 - DECREMENT shift 201 - ';' shift 202 + RETURN shift 187 + THIS shift 188 + WHILE shift 189 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 + IDENTIFIER shift 198 + INCREMENT shift 199 + DECREMENT shift 200 + ';' shift 201 '{' shift 139 - '}' shift 312 - '(' shift 204 + '}' shift 309 + '(' shift 203 . error - variabledeclarators goto 205 - variabledeclarator goto 206 + variabledeclarators goto 204 + variabledeclarator goto 205 variabledeclaratorid goto 101 - simplename goto 207 + simplename goto 206 qualifiedname goto 35 - name goto 208 + name goto 207 classorinterfacetype goto 21 integraltype goto 22 numerictype goto 23 primitivetype goto 24 referencetype goto 25 - type goto 209 - block goto 210 - localvariabledeclarationstatement goto 212 - localvariabledeclaration goto 213 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 218 - lambdaexpression goto 219 - statementexpression goto 220 - preincrementexpression goto 221 - predecrementexpression goto 222 - postincrementexpression goto 223 - postdecrementexpression goto 224 - expressionstatement goto 225 - statementwithouttrailingsubstatement goto 226 - blockstatement goto 313 - statement goto 228 - whilestatement goto 229 - forstatement goto 230 - ifthenstatement goto 231 - ifthenelsestatement goto 232 - emptystatement goto 233 - returnstatement goto 234 - assignment goto 235 - lefthandside goto 236 - methodinvocation goto 237 + type goto 208 + block goto 209 + localvariabledeclarationstatement goto 211 + localvariabledeclaration goto 212 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 217 + lambdaexpression goto 218 + statementexpression goto 219 + preincrementexpression goto 220 + predecrementexpression goto 221 + postincrementexpression goto 222 + postdecrementexpression goto 223 + expressionstatement goto 224 + statementwithouttrailingsubstatement goto 225 + blockstatement goto 310 + statement goto 227 + whilestatement goto 228 + forstatement goto 229 + ifthenstatement goto 230 + ifthenelsestatement goto 231 + emptystatement goto 232 + returnstatement goto 233 + assignment goto 234 + lefthandside goto 235 + methodinvocation goto 236 + + +state 211 + blockstatement : localvariabledeclarationstatement . (153) + + . reduce 153 state 212 - blockstatement : localvariabledeclarationstatement . (154) + localvariabledeclarationstatement : localvariabledeclaration . ';' (162) + + ';' shift 311 + . error + + +state 213 + lambdaexpression : lambdaexpressionparameter . lambdaassignmentoperator lambdabody (216) + + LAMBDAASSIGNMENT shift 312 + . error + + lambdaassignmentoperator goto 313 + + +state 214 + primarynonewarray : literal . (248) + + . reduce 248 + + +state 215 + primary : primarynonewarray . (245) + + . reduce 245 + + +216: shift/reduce conflict (shift 314, reduce 241) on '.' +state 216 + methodinvocation : primary . '.' IDENTIFIER '(' ')' (230) + methodinvocation : primary . '.' IDENTIFIER '(' argumentlist ')' (231) + postfixexpression : primary . (241) + + '.' shift 314 + INSTANCEOF reduce 241 + EQUAL reduce 241 + LESSEQUAL reduce 241 + GREATEREQUAL reduce 241 + NOTEQUAL reduce 241 + LOGICALOR reduce 241 + LOGICALAND reduce 241 + INCREMENT reduce 241 + DECREMENT reduce 241 + ',' reduce 241 + ';' reduce 241 + '*' reduce 241 + '<' reduce 241 + '>' reduce 241 + ')' reduce 241 + '&' reduce 241 + '+' reduce 241 + '-' reduce 241 + '|' reduce 241 + '^' reduce 241 + '/' reduce 241 + '%' reduce 241 + + +state 217 + postincrementexpression : postfixexpression . INCREMENT (226) + postdecrementexpression : postfixexpression . DECREMENT (227) + + INCREMENT shift 315 + DECREMENT shift 316 + . error + + +state 218 + primarynonewarray : lambdaexpression . (251) + + . reduce 251 + + +state 219 + expressionstatement : statementexpression . ';' (192) + + ';' shift 317 + . error + + +state 220 + statementexpression : preincrementexpression . (202) + + . reduce 202 + + +state 221 + statementexpression : predecrementexpression . (203) + + . reduce 203 + + +state 222 + statementexpression : postincrementexpression . (204) + postfixexpression : postincrementexpression . (243) + + INCREMENT reduce 243 + DECREMENT reduce 243 + ';' reduce 204 + + +state 223 + statementexpression : postdecrementexpression . (205) + postfixexpression : postdecrementexpression . (244) + + INCREMENT reduce 244 + DECREMENT reduce 244 + ';' reduce 205 + + +state 224 + statementwithouttrailingsubstatement : expressionstatement . (176) + + . reduce 176 + + +state 225 + statement : statementwithouttrailingsubstatement . (163) + + . reduce 163 + + +state 226 + blockstatements : blockstatement . (139) + + . reduce 139 + + +state 227 + blockstatement : statement . (154) . reduce 154 -state 213 - localvariabledeclarationstatement : localvariabledeclaration . ';' (163) +state 228 + statement : whilestatement . (166) - ';' shift 314 + . reduce 166 + + +state 229 + statement : forstatement . (167) + + . reduce 167 + + +state 230 + statement : ifthenstatement . (164) + + . reduce 164 + + +state 231 + statement : ifthenelsestatement . (165) + + . reduce 165 + + +state 232 + statementwithouttrailingsubstatement : emptystatement . (175) + + . reduce 175 + + +state 233 + statementwithouttrailingsubstatement : returnstatement . (177) + + . reduce 177 + + +state 234 + statementexpression : assignment . (201) + + . reduce 201 + + +state 235 + assignment : lefthandside . assignmentoperator assignmentexpression (199) + assignment : lefthandside . assignmentoperator classinstancecreationexpression (200) + + PLUSEQUAL shift 318 + MINUSEQUAL shift 319 + TIMESEQUAL shift 320 + DIVIDEEQUAL shift 321 + MODULOEQUAL shift 322 + '=' shift 323 + . error + + assignmentoperator goto 324 + + +state 236 + statementexpression : methodinvocation . (206) + primarynonewarray : methodinvocation . (250) + + INCREMENT reduce 250 + DECREMENT reduce 250 + ';' reduce 206 + '.' reduce 250 + + +state 237 + methodheader : VOID methoddeclarator throws . (121) + + . reduce 121 + + +state 238 + methoddeclarator : IDENTIFIER '(' ')' . (147) + + . reduce 147 + + +state 239 + formalparameter : variabledeclaratorid . (156) + + . reduce 156 + + +state 240 + formalparameter : type . variabledeclaratorid (155) + + IDENTIFIER shift 247 + . error + + variabledeclaratorid goto 325 + + +state 241 + formalparameterlist : formalparameter . (141) + + . reduce 141 + + +state 242 + formalparameterlist : formalparameterlist . ',' formalparameter (142) + methoddeclarator : IDENTIFIER '(' formalparameterlist . ')' (148) + + ',' shift 326 + ')' shift 327 . error -state 214 - lambdaexpression : lambdaexpressionparameter . lambdaassignmentoperator lambdabody (217) +state 243 + boundedMethodParameters : boundedMethodParameters ',' . boundedMethodParameter (110) - LAMBDAASSIGNMENT shift 315 + IDENTIFIER shift 78 . error - lambdaassignmentoperator goto 316 + boundedMethodParameter goto 328 -state 215 - primarynonewarray : literal . (249) +state 244 + fielddeclaration : '<' boundedMethodParameters '>' . type fielddeclarator ';' (88) + methodheader : '<' boundedMethodParameters '>' . type methoddeclarator (111) + methodheader : '<' boundedMethodParameters '>' . type methoddeclarator throws (116) + methodheader : '<' boundedMethodParameters '>' . VOID methoddeclarator (123) + methodheader : '<' boundedMethodParameters '>' . VOID methoddeclarator throws (125) + methodheader : '<' boundedMethodParameters '>' . methoddeclarator (128) - . reduce 249 + BOOLEAN shift 2 + CHAR shift 3 + INT shift 6 + VOID shift 329 + IDENTIFIER shift 117 + . error + + methoddeclarator goto 330 + simplename goto 18 + classorinterfacetype goto 21 + integraltype goto 22 + numerictype goto 23 + primitivetype goto 24 + referencetype goto 25 + type goto 331 -state 216 - primary : primarynonewarray . (246) +state 245 + classtypelist : classtype . (145) - . reduce 246 + . reduce 145 -217: shift/reduce conflict (shift 317, reduce 242) on '.' -state 217 - methodinvocation : primary . '.' IDENTIFIER '(' ')' (231) - methodinvocation : primary . '.' IDENTIFIER '(' argumentlist ')' (232) - postfixexpression : primary . (242) +state 246 + throws : THROWS classtypelist . (101) + classtypelist : classtypelist . ',' classtype (146) - '.' shift 317 - ABSTRACT reduce 242 - BOOLEAN reduce 242 - CHAR reduce 242 - FINAL reduce 242 + ',' shift 332 + ';' reduce 101 + '{' reduce 101 + + +state 247 + variabledeclaratorid : IDENTIFIER . (160) + + . reduce 160 + + +state 248 + variabledeclarators : variabledeclarators ',' variabledeclarator . (137) + + . reduce 137 + + +state 249 + classinstancecreationexpression : NEW . classtype '(' ')' (232) + classinstancecreationexpression : NEW . classtype '(' argumentlist ')' (233) + + IDENTIFIER shift 14 + . error + + simplename goto 18 + classtype goto 333 + classorinterfacetype goto 83 + + +state 250 + lambdaexpressionparameter : '(' . ')' (214) + lambdaexpressionparameter : '(' . formalparameterlist ')' (215) + castexpression : '(' . primitivetype ')' unaryexpression (265) + + BOOLEAN shift 2 + CHAR shift 3 + INT shift 6 + IDENTIFIER shift 198 + ')' shift 305 + . error + + variabledeclaratorid goto 239 + simplename goto 18 + classorinterfacetype goto 21 + integraltype goto 22 + numerictype goto 23 + primitivetype goto 334 + referencetype goto 25 + type goto 240 + formalparameter goto 241 + formalparameterlist goto 306 + + +state 251 + unaryexpression : '+' . unaryexpression (238) + + THIS shift 188 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 + IDENTIFIER shift 14 + INCREMENT shift 199 + DECREMENT shift 200 + '(' shift 250 + '+' shift 251 + '-' shift 252 + '!' shift 253 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 302 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 254 + unaryexpressionnotplusminus goto 255 + unaryexpression goto 335 + lambdaexpression goto 218 + preincrementexpression goto 270 + predecrementexpression goto 271 + postincrementexpression goto 272 + postdecrementexpression goto 273 + methodinvocation goto 276 + castexpression goto 277 + + +state 252 + unaryexpression : '-' . unaryexpression (239) + + THIS shift 188 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 + IDENTIFIER shift 14 + INCREMENT shift 199 + DECREMENT shift 200 + '(' shift 250 + '+' shift 251 + '-' shift 252 + '!' shift 253 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 302 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 254 + unaryexpressionnotplusminus goto 255 + unaryexpression goto 336 + lambdaexpression goto 218 + preincrementexpression goto 270 + predecrementexpression goto 271 + postincrementexpression goto 272 + postdecrementexpression goto 273 + methodinvocation goto 276 + castexpression goto 277 + + +state 253 + unaryexpressionnotplusminus : '!' . unaryexpression (253) + + THIS shift 188 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 + IDENTIFIER shift 14 + INCREMENT shift 199 + DECREMENT shift 200 + '(' shift 250 + '+' shift 251 + '-' shift 252 + '!' shift 253 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 302 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 254 + unaryexpressionnotplusminus goto 255 + unaryexpression goto 337 + lambdaexpression goto 218 + preincrementexpression goto 270 + predecrementexpression goto 271 + postincrementexpression goto 272 + postdecrementexpression goto 273 + methodinvocation goto 276 + castexpression goto 277 + + +254: shift/reduce conflict (shift 315, reduce 252) on INCREMENT +254: shift/reduce conflict (shift 316, reduce 252) on DECREMENT +state 254 + postincrementexpression : postfixexpression . INCREMENT (226) + postdecrementexpression : postfixexpression . DECREMENT (227) + unaryexpressionnotplusminus : postfixexpression . (252) + + INCREMENT shift 315 + DECREMENT shift 316 + INSTANCEOF reduce 252 + EQUAL reduce 252 + LESSEQUAL reduce 252 + GREATEREQUAL reduce 252 + NOTEQUAL reduce 252 + LOGICALOR reduce 252 + LOGICALAND reduce 252 + ',' reduce 252 + ';' reduce 252 + '.' reduce 252 + '*' reduce 252 + '<' reduce 252 + '>' reduce 252 + ')' reduce 252 + '&' reduce 252 + '+' reduce 252 + '-' reduce 252 + '|' reduce 252 + '^' reduce 252 + '/' reduce 252 + '%' reduce 252 + + +state 255 + unaryexpression : unaryexpressionnotplusminus . (240) + + . reduce 240 + + +state 256 + multiplicativeexpression : unaryexpression . (281) + + . reduce 281 + + +257: shift/reduce conflict (shift 338, reduce 278) on '*' +257: shift/reduce conflict (shift 339, reduce 278) on '/' +257: shift/reduce conflict (shift 340, reduce 278) on '%' +state 257 + additiveexpression : multiplicativeexpression . (278) + multiplicativeexpression : multiplicativeexpression . '*' unaryexpression (282) + multiplicativeexpression : multiplicativeexpression . '/' unaryexpression (283) + multiplicativeexpression : multiplicativeexpression . '%' unaryexpression (284) + + '*' shift 338 + '/' shift 339 + '%' shift 340 + INSTANCEOF reduce 278 + EQUAL reduce 278 + LESSEQUAL reduce 278 + GREATEREQUAL reduce 278 + NOTEQUAL reduce 278 + LOGICALOR reduce 278 + LOGICALAND reduce 278 + INCREMENT reduce 278 + DECREMENT reduce 278 + ',' reduce 278 + ';' reduce 278 + '.' reduce 278 + '<' reduce 278 + '>' reduce 278 + ')' reduce 278 + '&' reduce 278 + '+' reduce 278 + '-' reduce 278 + '|' reduce 278 + '^' reduce 278 + + +258: shift/reduce conflict (shift 341, reduce 277) on '+' +258: shift/reduce conflict (shift 342, reduce 277) on '-' +state 258 + shiftexpression : additiveexpression . (277) + additiveexpression : additiveexpression . '+' multiplicativeexpression (279) + additiveexpression : additiveexpression . '-' multiplicativeexpression (280) + + '+' shift 341 + '-' shift 342 + INSTANCEOF reduce 277 + EQUAL reduce 277 + LESSEQUAL reduce 277 + GREATEREQUAL reduce 277 + NOTEQUAL reduce 277 + LOGICALOR reduce 277 + LOGICALAND reduce 277 + INCREMENT reduce 277 + DECREMENT reduce 277 + ',' reduce 277 + ';' reduce 277 + '.' reduce 277 + '*' reduce 277 + '<' reduce 277 + '>' reduce 277 + ')' reduce 277 + '&' reduce 277 + '|' reduce 277 + '^' reduce 277 + '/' reduce 277 + '%' reduce 277 + + +state 259 + relationalexpression : shiftexpression . (271) + + . reduce 271 + + +260: shift/reduce conflict (shift 343, reduce 268) on INSTANCEOF +260: shift/reduce conflict (shift 344, reduce 268) on LESSEQUAL +260: shift/reduce conflict (shift 345, reduce 268) on GREATEREQUAL +260: shift/reduce conflict (shift 346, reduce 268) on '<' +260: shift/reduce conflict (shift 347, reduce 268) on '>' +state 260 + equalityexpression : relationalexpression . (268) + relationalexpression : relationalexpression . '<' shiftexpression (272) + relationalexpression : relationalexpression . '>' shiftexpression (273) + relationalexpression : relationalexpression . LESSEQUAL shiftexpression (274) + relationalexpression : relationalexpression . GREATEREQUAL shiftexpression (275) + relationalexpression : relationalexpression . INSTANCEOF referencetype (276) + + INSTANCEOF shift 343 + LESSEQUAL shift 344 + GREATEREQUAL shift 345 + '<' shift 346 + '>' shift 347 + EQUAL reduce 268 + NOTEQUAL reduce 268 + LOGICALOR reduce 268 + LOGICALAND reduce 268 + INCREMENT reduce 268 + DECREMENT reduce 268 + ',' reduce 268 + ';' reduce 268 + '.' reduce 268 + '*' reduce 268 + ')' reduce 268 + '&' reduce 268 + '+' reduce 268 + '-' reduce 268 + '|' reduce 268 + '^' reduce 268 + '/' reduce 268 + '%' reduce 268 + + +261: shift/reduce conflict (shift 348, reduce 266) on EQUAL +261: shift/reduce conflict (shift 349, reduce 266) on NOTEQUAL +state 261 + andexpression : equalityexpression . (266) + equalityexpression : equalityexpression . EQUAL relationalexpression (269) + equalityexpression : equalityexpression . NOTEQUAL relationalexpression (270) + + EQUAL shift 348 + NOTEQUAL shift 349 + INSTANCEOF reduce 266 + LESSEQUAL reduce 266 + GREATEREQUAL reduce 266 + LOGICALOR reduce 266 + LOGICALAND reduce 266 + INCREMENT reduce 266 + DECREMENT reduce 266 + ',' reduce 266 + ';' reduce 266 + '.' reduce 266 + '*' reduce 266 + '<' reduce 266 + '>' reduce 266 + ')' reduce 266 + '&' reduce 266 + '+' reduce 266 + '-' reduce 266 + '|' reduce 266 + '^' reduce 266 + '/' reduce 266 + '%' reduce 266 + + +262: shift/reduce conflict (shift 350, reduce 255) on '&' +state 262 + exclusiveorexpression : andexpression . (255) + andexpression : andexpression . '&' equalityexpression (267) + + '&' shift 350 + INSTANCEOF reduce 255 + EQUAL reduce 255 + LESSEQUAL reduce 255 + GREATEREQUAL reduce 255 + NOTEQUAL reduce 255 + LOGICALOR reduce 255 + LOGICALAND reduce 255 + INCREMENT reduce 255 + DECREMENT reduce 255 + ',' reduce 255 + ';' reduce 255 + '.' reduce 255 + '*' reduce 255 + '<' reduce 255 + '>' reduce 255 + ')' reduce 255 + '+' reduce 255 + '-' reduce 255 + '|' reduce 255 + '^' reduce 255 + '/' reduce 255 + '%' reduce 255 + + +263: shift/reduce conflict (shift 351, reduce 246) on '^' +state 263 + inclusiveorexpression : exclusiveorexpression . (246) + exclusiveorexpression : exclusiveorexpression . '^' andexpression (256) + + '^' shift 351 + INSTANCEOF reduce 246 + EQUAL reduce 246 + LESSEQUAL reduce 246 + GREATEREQUAL reduce 246 + NOTEQUAL reduce 246 + LOGICALOR reduce 246 + LOGICALAND reduce 246 + INCREMENT reduce 246 + DECREMENT reduce 246 + ',' reduce 246 + ';' reduce 246 + '.' reduce 246 + '*' reduce 246 + '<' reduce 246 + '>' reduce 246 + ')' reduce 246 + '&' reduce 246 + '+' reduce 246 + '-' reduce 246 + '|' reduce 246 + '/' reduce 246 + '%' reduce 246 + + +264: shift/reduce conflict (shift 352, reduce 234) on '|' +state 264 + conditionalandexpression : inclusiveorexpression . (234) + inclusiveorexpression : inclusiveorexpression . '|' exclusiveorexpression (247) + + '|' shift 352 + INSTANCEOF reduce 234 + EQUAL reduce 234 + LESSEQUAL reduce 234 + GREATEREQUAL reduce 234 + NOTEQUAL reduce 234 + LOGICALOR reduce 234 + LOGICALAND reduce 234 + INCREMENT reduce 234 + DECREMENT reduce 234 + ',' reduce 234 + ';' reduce 234 + '.' reduce 234 + '*' reduce 234 + '<' reduce 234 + '>' reduce 234 + ')' reduce 234 + '&' reduce 234 + '+' reduce 234 + '-' reduce 234 + '^' reduce 234 + '/' reduce 234 + '%' reduce 234 + + +265: shift/reduce conflict (shift 353, reduce 209) on LOGICALAND +state 265 + conditionalorexpression : conditionalandexpression . (209) + conditionalandexpression : conditionalandexpression . LOGICALAND inclusiveorexpression (235) + + LOGICALAND shift 353 + INSTANCEOF reduce 209 + EQUAL reduce 209 + LESSEQUAL reduce 209 + GREATEREQUAL reduce 209 + NOTEQUAL reduce 209 + LOGICALOR reduce 209 + INCREMENT reduce 209 + DECREMENT reduce 209 + ',' reduce 209 + ';' reduce 209 + '.' reduce 209 + '*' reduce 209 + '<' reduce 209 + '>' reduce 209 + ')' reduce 209 + '&' reduce 209 + '+' reduce 209 + '-' reduce 209 + '|' reduce 209 + '^' reduce 209 + '/' reduce 209 + '%' reduce 209 + + +266: shift/reduce conflict (shift 354, reduce 198) on LOGICALOR +state 266 + conditionalexpression : conditionalorexpression . (198) + conditionalorexpression : conditionalorexpression . LOGICALOR conditionalandexpression (210) + + LOGICALOR shift 354 + INSTANCEOF reduce 198 + EQUAL reduce 198 + LESSEQUAL reduce 198 + GREATEREQUAL reduce 198 + NOTEQUAL reduce 198 + LOGICALAND reduce 198 + INCREMENT reduce 198 + DECREMENT reduce 198 + ',' reduce 198 + ';' reduce 198 + '.' reduce 198 + '*' reduce 198 + '<' reduce 198 + '>' reduce 198 + ')' reduce 198 + '&' reduce 198 + '+' reduce 198 + '-' reduce 198 + '|' reduce 198 + '^' reduce 198 + '/' reduce 198 + '%' reduce 198 + + +state 267 + assignmentexpression : conditionalexpression . (189) + + . reduce 189 + + +state 268 + expression : assignmentexpression . (168) + + . reduce 168 + + +state 269 + fielddeclarator : variabledeclarator '=' expression . (85) + + . reduce 85 + + +state 270 + unaryexpression : preincrementexpression . (236) + + . reduce 236 + + +state 271 + unaryexpression : predecrementexpression . (237) + + . reduce 237 + + +state 272 + postfixexpression : postincrementexpression . (243) + + . reduce 243 + + +state 273 + postfixexpression : postdecrementexpression . (244) + + . reduce 244 + + +state 274 + expression : classinstancecreationexpression . (169) + + . reduce 169 + + +state 275 + assignmentexpression : assignment . (190) + + . reduce 190 + + +state 276 + primarynonewarray : methodinvocation . (250) + + . reduce 250 + + +state 277 + unaryexpressionnotplusminus : castexpression . (254) + + . reduce 254 + + +state 278 + constructordeclarator : simplename '(' ')' . (95) + + . reduce 95 + + +state 279 + constructordeclarator : simplename '(' formalparameterlist . ')' (96) + formalparameterlist : formalparameterlist . ',' formalparameter (142) + + ',' shift 326 + ')' shift 355 + . error + + +state 280 + methodheader : type methoddeclarator throws . (115) + + . reduce 115 + + +state 281 + fielddeclaration : type variabledeclarators ';' . (90) + + . reduce 90 + + +state 282 + fielddeclaration : type fielddeclarator ';' . (87) + + . reduce 87 + + +state 283 + methodheader : modifiers VOID methoddeclarator . (120) + methodheader : modifiers VOID methoddeclarator . throws (122) + + THROWS shift 148 + ';' reduce 120 + '{' reduce 120 + + throws goto 356 + + +state 284 + boundedMethodParameters : boundedMethodParameters . ',' boundedMethodParameter (110) + methodheader : modifiers '<' boundedMethodParameters . '>' type methoddeclarator (114) + methodheader : modifiers '<' boundedMethodParameters . '>' type methoddeclarator throws (118) + methodheader : modifiers '<' boundedMethodParameters . '>' VOID methoddeclarator (124) + methodheader : modifiers '<' boundedMethodParameters . '>' VOID methoddeclarator throws (126) + + ',' shift 243 + '>' shift 357 + . error + + +state 285 + methodheader : modifiers methoddeclarator throws . (131) + + . reduce 131 + + +state 286 + methodheader : modifiers type methoddeclarator . (113) + methodheader : modifiers type methoddeclarator . throws (117) + + THROWS shift 148 + ';' reduce 113 + '{' reduce 113 + + throws goto 358 + + +state 287 + fielddeclaration : modifiers type variabledeclarators . ';' (91) + variabledeclarators : variabledeclarators . ',' variabledeclarator (137) + + ',' shift 152 + ';' shift 359 + . error + + +state 288 + constructordeclaration : modifiers constructordeclarator constructorbody . (82) + + . reduce 82 + + +state 289 + explicitconstructorinvocation : THIS . '(' ')' ';' (143) + explicitconstructorinvocation : THIS . '(' argumentlist ')' ';' (144) + primarynonewarray : THIS . (249) + + '(' shift 360 + INCREMENT reduce 249 + DECREMENT reduce 249 + '.' reduce 249 + + +state 290 + constructorbody : '{' '}' . (97) + + . reduce 97 + + +state 291 + constructorbody : '{' blockstatements . '}' (99) + blockstatements : blockstatements . blockstatement (140) + + BOOLEAN shift 2 + CHAR shift 3 + FOR shift 185 + IF shift 186 + INT shift 6 + RETURN shift 187 + THIS shift 188 + WHILE shift 189 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 + IDENTIFIER shift 198 + INCREMENT shift 199 + DECREMENT shift 200 + ';' shift 201 + '{' shift 139 + '}' shift 361 + '(' shift 203 + . error + + variabledeclarators goto 204 + variabledeclarator goto 205 + variabledeclaratorid goto 101 + simplename goto 206 + qualifiedname goto 35 + name goto 207 + classorinterfacetype goto 21 + integraltype goto 22 + numerictype goto 23 + primitivetype goto 24 + referencetype goto 25 + type goto 208 + block goto 209 + localvariabledeclarationstatement goto 211 + localvariabledeclaration goto 212 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 217 + lambdaexpression goto 218 + statementexpression goto 219 + preincrementexpression goto 220 + predecrementexpression goto 221 + postincrementexpression goto 222 + postdecrementexpression goto 223 + expressionstatement goto 224 + statementwithouttrailingsubstatement goto 225 + blockstatement goto 310 + statement goto 227 + whilestatement goto 228 + forstatement goto 229 + ifthenstatement goto 230 + ifthenelsestatement goto 231 + emptystatement goto 232 + returnstatement goto 233 + assignment goto 234 + lefthandside goto 235 + methodinvocation goto 236 + + +state 292 + constructorbody : '{' explicitconstructorinvocation . '}' (98) + constructorbody : '{' explicitconstructorinvocation . blockstatements '}' (100) + + BOOLEAN shift 2 + CHAR shift 3 + FOR shift 185 + IF shift 186 + INT shift 6 + RETURN shift 187 + THIS shift 188 + WHILE shift 189 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 + IDENTIFIER shift 198 + INCREMENT shift 199 + DECREMENT shift 200 + ';' shift 201 + '{' shift 139 + '}' shift 362 + '(' shift 203 + . error + + variabledeclarators goto 204 + variabledeclarator goto 205 + variabledeclaratorid goto 101 + simplename goto 206 + qualifiedname goto 35 + name goto 207 + classorinterfacetype goto 21 + integraltype goto 22 + numerictype goto 23 + primitivetype goto 24 + referencetype goto 25 + type goto 208 + block goto 209 + blockstatements goto 363 + localvariabledeclarationstatement goto 211 + localvariabledeclaration goto 212 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 217 + lambdaexpression goto 218 + statementexpression goto 219 + preincrementexpression goto 220 + predecrementexpression goto 221 + postincrementexpression goto 222 + postdecrementexpression goto 223 + expressionstatement goto 224 + statementwithouttrailingsubstatement goto 225 + blockstatement goto 226 + statement goto 227 + whilestatement goto 228 + forstatement goto 229 + ifthenstatement goto 230 + ifthenelsestatement goto 231 + emptystatement goto 232 + returnstatement goto 233 + assignment goto 234 + lefthandside goto 235 + methodinvocation goto 236 + + +state 293 + methodheader : '<' boundedMethodParameters '>' . type methoddeclarator (111) + methodheader : '<' boundedMethodParameters '>' . type methoddeclarator throws (116) + methodheader : '<' boundedMethodParameters '>' . VOID methoddeclarator (123) + methodheader : '<' boundedMethodParameters '>' . VOID methoddeclarator throws (125) + methodheader : '<' boundedMethodParameters '>' . methoddeclarator (128) + + BOOLEAN shift 2 + CHAR shift 3 + INT shift 6 + VOID shift 329 + IDENTIFIER shift 117 + . error + + methoddeclarator goto 330 + simplename goto 18 + classorinterfacetype goto 21 + integraltype goto 22 + numerictype goto 23 + primitivetype goto 24 + referencetype goto 25 + type goto 364 + + +state 294 + constantdeclaration : modifiers type IDENTIFIER . '=' expression ';' (83) + methoddeclarator : IDENTIFIER . '(' ')' (147) + methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (148) + + '=' shift 365 + '(' shift 143 + . error + + +state 295 + classdeclaration : modifiers CLASS classidentifier super interfaces classbody . (27) + + . reduce 27 + + +state 296 + boundedclassidentifierlist : boundedclassidentifierlist '&' . referencetype (108) + + IDENTIFIER shift 14 + . error + + simplename goto 18 + classorinterfacetype goto 21 + referencetype goto 366 + + +state 297 + forstatement : FOR '(' . expression ';' expression ';' expression ')' statement (181) + forstatement : FOR '(' . expression ';' expression ';' ')' statement (182) + forstatement : FOR '(' . expression ';' ';' expression ')' statement (183) + forstatement : FOR '(' . ';' expression ';' expression ')' statement (184) + forstatement : FOR '(' . expression ';' ';' ')' statement (185) + forstatement : FOR '(' . ';' expression ';' ')' statement (186) + forstatement : FOR '(' . ';' ';' expression ')' statement (187) + forstatement : FOR '(' . ';' ';' ')' statement (188) + + NEW shift 249 + THIS shift 188 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 + IDENTIFIER shift 14 + INCREMENT shift 199 + DECREMENT shift 200 + ';' shift 367 + '(' shift 250 + '+' shift 251 + '-' shift 252 + '!' shift 253 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 207 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 254 + unaryexpressionnotplusminus goto 255 + unaryexpression goto 256 + multiplicativeexpression goto 257 + additiveexpression goto 258 + shiftexpression goto 259 + relationalexpression goto 260 + equalityexpression goto 261 + andexpression goto 262 + exclusiveorexpression goto 263 + inclusiveorexpression goto 264 + conditionalandexpression goto 265 + conditionalorexpression goto 266 + conditionalexpression goto 267 + assignmentexpression goto 268 + lambdaexpression goto 218 + expression goto 368 + preincrementexpression goto 270 + predecrementexpression goto 271 + postincrementexpression goto 272 + postdecrementexpression goto 273 + classinstancecreationexpression goto 274 + assignment goto 275 + lefthandside goto 235 + methodinvocation goto 276 + castexpression goto 277 + + +state 298 + ifthenstatement : IF '(' . expression ')' statement (178) + ifthenelsestatement : IF '(' . expression ')' statementnoshortif ELSE statement (179) + + NEW shift 249 + THIS shift 188 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 + IDENTIFIER shift 14 + INCREMENT shift 199 + DECREMENT shift 200 + '(' shift 250 + '+' shift 251 + '-' shift 252 + '!' shift 253 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 207 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 254 + unaryexpressionnotplusminus goto 255 + unaryexpression goto 256 + multiplicativeexpression goto 257 + additiveexpression goto 258 + shiftexpression goto 259 + relationalexpression goto 260 + equalityexpression goto 261 + andexpression goto 262 + exclusiveorexpression goto 263 + inclusiveorexpression goto 264 + conditionalandexpression goto 265 + conditionalorexpression goto 266 + conditionalexpression goto 267 + assignmentexpression goto 268 + lambdaexpression goto 218 + expression goto 369 + preincrementexpression goto 270 + predecrementexpression goto 271 + postincrementexpression goto 272 + postdecrementexpression goto 273 + classinstancecreationexpression goto 274 + assignment goto 275 + lefthandside goto 235 + methodinvocation goto 276 + castexpression goto 277 + + +state 299 + returnstatement : RETURN ';' . (193) + + . reduce 193 + + +state 300 + returnstatement : RETURN expression . ';' (194) + + ';' shift 370 + . error + + +state 301 + whilestatement : WHILE '(' . expression ')' statement (180) + + NEW shift 249 + THIS shift 188 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 + IDENTIFIER shift 14 + INCREMENT shift 199 + DECREMENT shift 200 + '(' shift 250 + '+' shift 251 + '-' shift 252 + '!' shift 253 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 207 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 254 + unaryexpressionnotplusminus goto 255 + unaryexpression goto 256 + multiplicativeexpression goto 257 + additiveexpression goto 258 + shiftexpression goto 259 + relationalexpression goto 260 + equalityexpression goto 261 + andexpression goto 262 + exclusiveorexpression goto 263 + inclusiveorexpression goto 264 + conditionalandexpression goto 265 + conditionalorexpression goto 266 + conditionalexpression goto 267 + assignmentexpression goto 268 + lambdaexpression goto 218 + expression goto 371 + preincrementexpression goto 270 + predecrementexpression goto 271 + postincrementexpression goto 272 + postdecrementexpression goto 273 + classinstancecreationexpression goto 274 + assignment goto 275 + lefthandside goto 235 + methodinvocation goto 276 + castexpression goto 277 + + +302: shift/reduce conflict (shift 62, reduce 242) on '.' +state 302 + qualifiedname : name . '.' IDENTIFIER (16) + methodinvocation : name . '(' ')' (228) + methodinvocation : name . '(' argumentlist ')' (229) + postfixexpression : name . (242) + + '.' shift 62 + '(' shift 307 INSTANCEOF reduce 242 - INT reduce 242 - PRIVATE reduce 242 - PROTECTED reduce 242 - PUBLIC reduce 242 - STATIC reduce 242 - VOID reduce 242 - IDENTIFIER reduce 242 EQUAL reduce 242 LESSEQUAL reduce 242 GREATEREQUAL reduce 242 @@ -3151,7 +4424,6 @@ state 217 '*' reduce 242 '<' reduce 242 '>' reduce 242 - '}' reduce 242 ')' reduce 242 '&' reduce 242 '+' reduce 242 @@ -3162,488 +4434,1724 @@ state 217 '%' reduce 242 -state 218 - postincrementexpression : postfixexpression . INCREMENT (227) - postdecrementexpression : postfixexpression . DECREMENT (228) +state 303 + preincrementexpression : INCREMENT unaryexpression . (224) - INCREMENT shift 318 - DECREMENT shift 319 + . reduce 224 + + +state 304 + predecrementexpression : DECREMENT unaryexpression . (225) + + . reduce 225 + + +state 305 + lambdaexpressionparameter : '(' ')' . (214) + + . reduce 214 + + +state 306 + formalparameterlist : formalparameterlist . ',' formalparameter (142) + lambdaexpressionparameter : '(' formalparameterlist . ')' (215) + + ',' shift 326 + ')' shift 372 . error -state 219 - primarynonewarray : lambdaexpression . (252) +state 307 + methodinvocation : name '(' . ')' (228) + methodinvocation : name '(' . argumentlist ')' (229) - . reduce 252 - - -state 220 - expressionstatement : statementexpression . ';' (193) - - ';' shift 320 + NEW shift 249 + THIS shift 188 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 + IDENTIFIER shift 14 + INCREMENT shift 199 + DECREMENT shift 200 + '(' shift 250 + ')' shift 373 + '+' shift 251 + '-' shift 252 + '!' shift 253 . error - -state 221 - statementexpression : preincrementexpression . (203) - - . reduce 203 + simplename goto 34 + qualifiedname goto 35 + name goto 207 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 254 + unaryexpressionnotplusminus goto 255 + unaryexpression goto 256 + multiplicativeexpression goto 257 + additiveexpression goto 258 + shiftexpression goto 259 + relationalexpression goto 260 + equalityexpression goto 261 + andexpression goto 262 + exclusiveorexpression goto 263 + inclusiveorexpression goto 264 + conditionalandexpression goto 265 + conditionalorexpression goto 266 + conditionalexpression goto 267 + assignmentexpression goto 268 + lambdaexpression goto 218 + expression goto 374 + preincrementexpression goto 270 + predecrementexpression goto 271 + postincrementexpression goto 272 + postdecrementexpression goto 273 + classinstancecreationexpression goto 274 + assignment goto 275 + lefthandside goto 235 + argumentlist goto 375 + methodinvocation goto 276 + castexpression goto 277 -state 222 - statementexpression : predecrementexpression . (204) +state 308 + variabledeclarators : variabledeclarators . ',' variabledeclarator (137) + localvariabledeclaration : type variabledeclarators . (172) - . reduce 204 + ',' shift 152 + ';' reduce 172 -state 223 - statementexpression : postincrementexpression . (205) - postfixexpression : postincrementexpression . (244) +state 309 + block : '{' blockstatements '}' . (94) - INCREMENT reduce 244 - DECREMENT reduce 244 - ';' reduce 205 + . reduce 94 -state 224 - statementexpression : postdecrementexpression . (206) - postfixexpression : postdecrementexpression . (245) - - INCREMENT reduce 245 - DECREMENT reduce 245 - ';' reduce 206 - - -state 225 - statementwithouttrailingsubstatement : expressionstatement . (177) - - . reduce 177 - - -state 226 - statement : statementwithouttrailingsubstatement . (164) - - . reduce 164 - - -state 227 - blockstatements : blockstatement . (140) +state 310 + blockstatements : blockstatements blockstatement . (140) . reduce 140 -state 228 - blockstatement : statement . (155) +state 311 + localvariabledeclarationstatement : localvariabledeclaration ';' . (162) + + . reduce 162 + + +state 312 + lambdaassignmentoperator : LAMBDAASSIGNMENT . (211) + + . reduce 211 + + +state 313 + lambdaexpression : lambdaexpressionparameter lambdaassignmentoperator . lambdabody (216) + + NEW shift 249 + THIS shift 188 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 + IDENTIFIER shift 14 + INCREMENT shift 199 + DECREMENT shift 200 + '{' shift 139 + '(' shift 250 + '+' shift 251 + '-' shift 252 + '!' shift 253 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 207 + block goto 376 + lambdabody goto 377 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 254 + unaryexpressionnotplusminus goto 255 + unaryexpression goto 256 + multiplicativeexpression goto 257 + additiveexpression goto 258 + shiftexpression goto 259 + relationalexpression goto 260 + equalityexpression goto 261 + andexpression goto 262 + exclusiveorexpression goto 263 + inclusiveorexpression goto 264 + conditionalandexpression goto 265 + conditionalorexpression goto 266 + conditionalexpression goto 267 + assignmentexpression goto 268 + lambdaexpression goto 218 + expression goto 378 + preincrementexpression goto 270 + predecrementexpression goto 271 + postincrementexpression goto 272 + postdecrementexpression goto 273 + classinstancecreationexpression goto 274 + assignment goto 275 + lefthandside goto 235 + methodinvocation goto 276 + castexpression goto 277 + + +state 314 + methodinvocation : primary '.' . IDENTIFIER '(' ')' (230) + methodinvocation : primary '.' . IDENTIFIER '(' argumentlist ')' (231) + + IDENTIFIER shift 379 + . error + + +state 315 + postincrementexpression : postfixexpression INCREMENT . (226) + + . reduce 226 + + +state 316 + postdecrementexpression : postfixexpression DECREMENT . (227) + + . reduce 227 + + +state 317 + expressionstatement : statementexpression ';' . (192) + + . reduce 192 + + +state 318 + assignmentoperator : PLUSEQUAL . (222) + + . reduce 222 + + +state 319 + assignmentoperator : MINUSEQUAL . (223) + + . reduce 223 + + +state 320 + assignmentoperator : TIMESEQUAL . (219) + + . reduce 219 + + +state 321 + assignmentoperator : DIVIDEEQUAL . (220) + + . reduce 220 + + +state 322 + assignmentoperator : MODULOEQUAL . (221) + + . reduce 221 + + +state 323 + assignmentoperator : '=' . (218) + + . reduce 218 + + +state 324 + assignment : lefthandside assignmentoperator . assignmentexpression (199) + assignment : lefthandside assignmentoperator . classinstancecreationexpression (200) + + NEW shift 249 + THIS shift 188 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 + IDENTIFIER shift 14 + INCREMENT shift 199 + DECREMENT shift 200 + '(' shift 250 + '+' shift 251 + '-' shift 252 + '!' shift 253 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 207 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 254 + unaryexpressionnotplusminus goto 255 + unaryexpression goto 256 + multiplicativeexpression goto 257 + additiveexpression goto 258 + shiftexpression goto 259 + relationalexpression goto 260 + equalityexpression goto 261 + andexpression goto 262 + exclusiveorexpression goto 263 + inclusiveorexpression goto 264 + conditionalandexpression goto 265 + conditionalorexpression goto 266 + conditionalexpression goto 267 + assignmentexpression goto 380 + lambdaexpression goto 218 + preincrementexpression goto 270 + predecrementexpression goto 271 + postincrementexpression goto 272 + postdecrementexpression goto 273 + classinstancecreationexpression goto 381 + assignment goto 275 + lefthandside goto 235 + methodinvocation goto 276 + castexpression goto 277 + + +state 325 + formalparameter : type variabledeclaratorid . (155) . reduce 155 -state 229 - statement : whilestatement . (167) - - . reduce 167 - - -state 230 - statement : forstatement . (168) - - . reduce 168 - - -state 231 - statement : ifthenstatement . (165) - - . reduce 165 - - -state 232 - statement : ifthenelsestatement . (166) - - . reduce 166 - - -state 233 - statementwithouttrailingsubstatement : emptystatement . (176) - - . reduce 176 - - -state 234 - statementwithouttrailingsubstatement : returnstatement . (178) - - . reduce 178 - - -state 235 - statementexpression : assignment . (202) - - . reduce 202 - - -state 236 - assignment : lefthandside . assignmentoperator assignmentexpression (200) - assignment : lefthandside . assignmentoperator classinstancecreationexpression (201) - - PLUSEQUAL shift 321 - MINUSEQUAL shift 322 - TIMESEQUAL shift 323 - DIVIDEEQUAL shift 324 - MODULOEQUAL shift 325 - '=' shift 326 - . error - - assignmentoperator goto 327 - - -state 237 - statementexpression : methodinvocation . (207) - primarynonewarray : methodinvocation . (251) - - INCREMENT reduce 251 - DECREMENT reduce 251 - ';' reduce 207 - '.' reduce 251 - - -state 238 - methodheader : VOID methoddeclarator throws . (122) - - . reduce 122 - - -state 239 - methoddeclarator : IDENTIFIER '(' ')' . (148) - - . reduce 148 - - -state 240 - formalparameter : variabledeclaratorid . (157) - - . reduce 157 - - -state 241 - formalparameter : type . variabledeclaratorid (156) - - IDENTIFIER shift 248 - . error - - variabledeclaratorid goto 328 - - -state 242 - formalparameterlist : formalparameter . (142) - - . reduce 142 - - -state 243 - formalparameterlist : formalparameterlist . ',' formalparameter (143) - methoddeclarator : IDENTIFIER '(' formalparameterlist . ')' (149) - - ',' shift 329 - ')' shift 330 - . error - - -state 244 - boundedMethodParameters : boundedMethodParameters ',' . boundedMethodParameter (111) - - IDENTIFIER shift 78 - . error - - boundedMethodParameter goto 331 - - -state 245 - fielddeclaration : '<' boundedMethodParameters '>' . type fielddeclarator (89) - methodheader : '<' boundedMethodParameters '>' . type methoddeclarator (112) - methodheader : '<' boundedMethodParameters '>' . type methoddeclarator throws (117) - methodheader : '<' boundedMethodParameters '>' . VOID methoddeclarator (124) - methodheader : '<' boundedMethodParameters '>' . VOID methoddeclarator throws (126) - methodheader : '<' boundedMethodParameters '>' . methoddeclarator (129) +state 326 + formalparameterlist : formalparameterlist ',' . formalparameter (142) BOOLEAN shift 2 CHAR shift 3 INT shift 6 - VOID shift 332 - IDENTIFIER shift 117 + IDENTIFIER shift 198 . error - methoddeclarator goto 333 + variabledeclaratorid goto 239 simplename goto 18 classorinterfacetype goto 21 integraltype goto 22 numerictype goto 23 primitivetype goto 24 referencetype goto 25 - type goto 334 + type goto 240 + formalparameter goto 382 -state 246 - classtypelist : classtype . (146) +state 327 + methoddeclarator : IDENTIFIER '(' formalparameterlist ')' . (148) - . reduce 146 + . reduce 148 -state 247 - throws : THROWS classtypelist . (102) - classtypelist : classtypelist . ',' classtype (147) +state 328 + boundedMethodParameters : boundedMethodParameters ',' boundedMethodParameter . (110) - ',' shift 335 - ';' reduce 102 - '{' reduce 102 + . reduce 110 -state 248 - variabledeclaratorid : IDENTIFIER . (161) +state 329 + methodheader : '<' boundedMethodParameters '>' VOID . methoddeclarator (123) + methodheader : '<' boundedMethodParameters '>' VOID . methoddeclarator throws (125) - . reduce 161 + IDENTIFIER shift 141 + . error + + methoddeclarator goto 383 -state 249 - variabledeclarators : variabledeclarators ',' variabledeclarator . (138) +state 330 + methodheader : '<' boundedMethodParameters '>' methoddeclarator . (128) - . reduce 138 + . reduce 128 -state 250 - classinstancecreationexpression : NEW . classtype '(' ')' (233) - classinstancecreationexpression : NEW . classtype '(' argumentlist ')' (234) +state 331 + fielddeclaration : '<' boundedMethodParameters '>' type . fielddeclarator ';' (88) + methodheader : '<' boundedMethodParameters '>' type . methoddeclarator (111) + methodheader : '<' boundedMethodParameters '>' type . methoddeclarator throws (116) + + IDENTIFIER shift 157 + . error + + methoddeclarator goto 384 + fielddeclarator goto 385 + variabledeclarator goto 386 + variabledeclaratorid goto 101 + + +state 332 + classtypelist : classtypelist ',' . classtype (146) IDENTIFIER shift 14 . error simplename goto 18 - classtype goto 336 + classtype goto 387 classorinterfacetype goto 83 -state 251 - lambdaexpressionparameter : '(' . ')' (215) - lambdaexpressionparameter : '(' . formalparameterlist ')' (216) - castexpression : '(' . primitivetype ')' unaryexpression (266) +state 333 + classinstancecreationexpression : NEW classtype . '(' ')' (232) + classinstancecreationexpression : NEW classtype . '(' argumentlist ')' (233) + + '(' shift 388 + . error + + +state 334 + type : primitivetype . (132) + type : primitivetype . '[' ']' (133) + castexpression : '(' primitivetype . ')' unaryexpression (265) + + ')' shift 389 + '[' shift 45 + IDENTIFIER reduce 132 + + +state 335 + unaryexpression : '+' unaryexpression . (238) + + . reduce 238 + + +state 336 + unaryexpression : '-' unaryexpression . (239) + + . reduce 239 + + +state 337 + unaryexpressionnotplusminus : '!' unaryexpression . (253) + + . reduce 253 + + +state 338 + multiplicativeexpression : multiplicativeexpression '*' . unaryexpression (282) + + THIS shift 188 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 + IDENTIFIER shift 14 + INCREMENT shift 199 + DECREMENT shift 200 + '(' shift 250 + '+' shift 251 + '-' shift 252 + '!' shift 253 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 302 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 254 + unaryexpressionnotplusminus goto 255 + unaryexpression goto 390 + lambdaexpression goto 218 + preincrementexpression goto 270 + predecrementexpression goto 271 + postincrementexpression goto 272 + postdecrementexpression goto 273 + methodinvocation goto 276 + castexpression goto 277 + + +state 339 + multiplicativeexpression : multiplicativeexpression '/' . unaryexpression (283) + + THIS shift 188 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 + IDENTIFIER shift 14 + INCREMENT shift 199 + DECREMENT shift 200 + '(' shift 250 + '+' shift 251 + '-' shift 252 + '!' shift 253 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 302 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 254 + unaryexpressionnotplusminus goto 255 + unaryexpression goto 391 + lambdaexpression goto 218 + preincrementexpression goto 270 + predecrementexpression goto 271 + postincrementexpression goto 272 + postdecrementexpression goto 273 + methodinvocation goto 276 + castexpression goto 277 + + +state 340 + multiplicativeexpression : multiplicativeexpression '%' . unaryexpression (284) + + THIS shift 188 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 + IDENTIFIER shift 14 + INCREMENT shift 199 + DECREMENT shift 200 + '(' shift 250 + '+' shift 251 + '-' shift 252 + '!' shift 253 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 302 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 254 + unaryexpressionnotplusminus goto 255 + unaryexpression goto 392 + lambdaexpression goto 218 + preincrementexpression goto 270 + predecrementexpression goto 271 + postincrementexpression goto 272 + postdecrementexpression goto 273 + methodinvocation goto 276 + castexpression goto 277 + + +state 341 + additiveexpression : additiveexpression '+' . multiplicativeexpression (279) + + THIS shift 188 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 + IDENTIFIER shift 14 + INCREMENT shift 199 + DECREMENT shift 200 + '(' shift 250 + '+' shift 251 + '-' shift 252 + '!' shift 253 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 302 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 254 + unaryexpressionnotplusminus goto 255 + unaryexpression goto 256 + multiplicativeexpression goto 393 + lambdaexpression goto 218 + preincrementexpression goto 270 + predecrementexpression goto 271 + postincrementexpression goto 272 + postdecrementexpression goto 273 + methodinvocation goto 276 + castexpression goto 277 + + +state 342 + additiveexpression : additiveexpression '-' . multiplicativeexpression (280) + + THIS shift 188 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 + IDENTIFIER shift 14 + INCREMENT shift 199 + DECREMENT shift 200 + '(' shift 250 + '+' shift 251 + '-' shift 252 + '!' shift 253 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 302 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 254 + unaryexpressionnotplusminus goto 255 + unaryexpression goto 256 + multiplicativeexpression goto 394 + lambdaexpression goto 218 + preincrementexpression goto 270 + predecrementexpression goto 271 + postincrementexpression goto 272 + postdecrementexpression goto 273 + methodinvocation goto 276 + castexpression goto 277 + + +state 343 + relationalexpression : relationalexpression INSTANCEOF . referencetype (276) + + IDENTIFIER shift 14 + . error + + simplename goto 18 + classorinterfacetype goto 21 + referencetype goto 395 + + +state 344 + relationalexpression : relationalexpression LESSEQUAL . shiftexpression (274) + + THIS shift 188 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 + IDENTIFIER shift 14 + INCREMENT shift 199 + DECREMENT shift 200 + '(' shift 250 + '+' shift 251 + '-' shift 252 + '!' shift 253 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 302 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 254 + unaryexpressionnotplusminus goto 255 + unaryexpression goto 256 + multiplicativeexpression goto 257 + additiveexpression goto 258 + shiftexpression goto 396 + lambdaexpression goto 218 + preincrementexpression goto 270 + predecrementexpression goto 271 + postincrementexpression goto 272 + postdecrementexpression goto 273 + methodinvocation goto 276 + castexpression goto 277 + + +state 345 + relationalexpression : relationalexpression GREATEREQUAL . shiftexpression (275) + + THIS shift 188 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 + IDENTIFIER shift 14 + INCREMENT shift 199 + DECREMENT shift 200 + '(' shift 250 + '+' shift 251 + '-' shift 252 + '!' shift 253 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 302 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 254 + unaryexpressionnotplusminus goto 255 + unaryexpression goto 256 + multiplicativeexpression goto 257 + additiveexpression goto 258 + shiftexpression goto 397 + lambdaexpression goto 218 + preincrementexpression goto 270 + predecrementexpression goto 271 + postincrementexpression goto 272 + postdecrementexpression goto 273 + methodinvocation goto 276 + castexpression goto 277 + + +state 346 + relationalexpression : relationalexpression '<' . shiftexpression (272) + + THIS shift 188 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 + IDENTIFIER shift 14 + INCREMENT shift 199 + DECREMENT shift 200 + '(' shift 250 + '+' shift 251 + '-' shift 252 + '!' shift 253 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 302 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 254 + unaryexpressionnotplusminus goto 255 + unaryexpression goto 256 + multiplicativeexpression goto 257 + additiveexpression goto 258 + shiftexpression goto 398 + lambdaexpression goto 218 + preincrementexpression goto 270 + predecrementexpression goto 271 + postincrementexpression goto 272 + postdecrementexpression goto 273 + methodinvocation goto 276 + castexpression goto 277 + + +state 347 + relationalexpression : relationalexpression '>' . shiftexpression (273) + + THIS shift 188 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 + IDENTIFIER shift 14 + INCREMENT shift 199 + DECREMENT shift 200 + '(' shift 250 + '+' shift 251 + '-' shift 252 + '!' shift 253 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 302 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 254 + unaryexpressionnotplusminus goto 255 + unaryexpression goto 256 + multiplicativeexpression goto 257 + additiveexpression goto 258 + shiftexpression goto 399 + lambdaexpression goto 218 + preincrementexpression goto 270 + predecrementexpression goto 271 + postincrementexpression goto 272 + postdecrementexpression goto 273 + methodinvocation goto 276 + castexpression goto 277 + + +state 348 + equalityexpression : equalityexpression EQUAL . relationalexpression (269) + + THIS shift 188 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 + IDENTIFIER shift 14 + INCREMENT shift 199 + DECREMENT shift 200 + '(' shift 250 + '+' shift 251 + '-' shift 252 + '!' shift 253 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 302 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 254 + unaryexpressionnotplusminus goto 255 + unaryexpression goto 256 + multiplicativeexpression goto 257 + additiveexpression goto 258 + shiftexpression goto 259 + relationalexpression goto 400 + lambdaexpression goto 218 + preincrementexpression goto 270 + predecrementexpression goto 271 + postincrementexpression goto 272 + postdecrementexpression goto 273 + methodinvocation goto 276 + castexpression goto 277 + + +state 349 + equalityexpression : equalityexpression NOTEQUAL . relationalexpression (270) + + THIS shift 188 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 + IDENTIFIER shift 14 + INCREMENT shift 199 + DECREMENT shift 200 + '(' shift 250 + '+' shift 251 + '-' shift 252 + '!' shift 253 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 302 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 254 + unaryexpressionnotplusminus goto 255 + unaryexpression goto 256 + multiplicativeexpression goto 257 + additiveexpression goto 258 + shiftexpression goto 259 + relationalexpression goto 401 + lambdaexpression goto 218 + preincrementexpression goto 270 + predecrementexpression goto 271 + postincrementexpression goto 272 + postdecrementexpression goto 273 + methodinvocation goto 276 + castexpression goto 277 + + +state 350 + andexpression : andexpression '&' . equalityexpression (267) + + THIS shift 188 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 + IDENTIFIER shift 14 + INCREMENT shift 199 + DECREMENT shift 200 + '(' shift 250 + '+' shift 251 + '-' shift 252 + '!' shift 253 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 302 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 254 + unaryexpressionnotplusminus goto 255 + unaryexpression goto 256 + multiplicativeexpression goto 257 + additiveexpression goto 258 + shiftexpression goto 259 + relationalexpression goto 260 + equalityexpression goto 402 + lambdaexpression goto 218 + preincrementexpression goto 270 + predecrementexpression goto 271 + postincrementexpression goto 272 + postdecrementexpression goto 273 + methodinvocation goto 276 + castexpression goto 277 + + +state 351 + exclusiveorexpression : exclusiveorexpression '^' . andexpression (256) + + THIS shift 188 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 + IDENTIFIER shift 14 + INCREMENT shift 199 + DECREMENT shift 200 + '(' shift 250 + '+' shift 251 + '-' shift 252 + '!' shift 253 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 302 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 254 + unaryexpressionnotplusminus goto 255 + unaryexpression goto 256 + multiplicativeexpression goto 257 + additiveexpression goto 258 + shiftexpression goto 259 + relationalexpression goto 260 + equalityexpression goto 261 + andexpression goto 403 + lambdaexpression goto 218 + preincrementexpression goto 270 + predecrementexpression goto 271 + postincrementexpression goto 272 + postdecrementexpression goto 273 + methodinvocation goto 276 + castexpression goto 277 + + +state 352 + inclusiveorexpression : inclusiveorexpression '|' . exclusiveorexpression (247) + + THIS shift 188 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 + IDENTIFIER shift 14 + INCREMENT shift 199 + DECREMENT shift 200 + '(' shift 250 + '+' shift 251 + '-' shift 252 + '!' shift 253 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 302 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 254 + unaryexpressionnotplusminus goto 255 + unaryexpression goto 256 + multiplicativeexpression goto 257 + additiveexpression goto 258 + shiftexpression goto 259 + relationalexpression goto 260 + equalityexpression goto 261 + andexpression goto 262 + exclusiveorexpression goto 404 + lambdaexpression goto 218 + preincrementexpression goto 270 + predecrementexpression goto 271 + postincrementexpression goto 272 + postdecrementexpression goto 273 + methodinvocation goto 276 + castexpression goto 277 + + +state 353 + conditionalandexpression : conditionalandexpression LOGICALAND . inclusiveorexpression (235) + + THIS shift 188 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 + IDENTIFIER shift 14 + INCREMENT shift 199 + DECREMENT shift 200 + '(' shift 250 + '+' shift 251 + '-' shift 252 + '!' shift 253 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 302 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 254 + unaryexpressionnotplusminus goto 255 + unaryexpression goto 256 + multiplicativeexpression goto 257 + additiveexpression goto 258 + shiftexpression goto 259 + relationalexpression goto 260 + equalityexpression goto 261 + andexpression goto 262 + exclusiveorexpression goto 263 + inclusiveorexpression goto 405 + lambdaexpression goto 218 + preincrementexpression goto 270 + predecrementexpression goto 271 + postincrementexpression goto 272 + postdecrementexpression goto 273 + methodinvocation goto 276 + castexpression goto 277 + + +state 354 + conditionalorexpression : conditionalorexpression LOGICALOR . conditionalandexpression (210) + + THIS shift 188 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 + IDENTIFIER shift 14 + INCREMENT shift 199 + DECREMENT shift 200 + '(' shift 250 + '+' shift 251 + '-' shift 252 + '!' shift 253 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 302 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 254 + unaryexpressionnotplusminus goto 255 + unaryexpression goto 256 + multiplicativeexpression goto 257 + additiveexpression goto 258 + shiftexpression goto 259 + relationalexpression goto 260 + equalityexpression goto 261 + andexpression goto 262 + exclusiveorexpression goto 263 + inclusiveorexpression goto 264 + conditionalandexpression goto 406 + lambdaexpression goto 218 + preincrementexpression goto 270 + predecrementexpression goto 271 + postincrementexpression goto 272 + postdecrementexpression goto 273 + methodinvocation goto 276 + castexpression goto 277 + + +state 355 + constructordeclarator : simplename '(' formalparameterlist ')' . (96) + + . reduce 96 + + +state 356 + methodheader : modifiers VOID methoddeclarator throws . (122) + + . reduce 122 + + +state 357 + methodheader : modifiers '<' boundedMethodParameters '>' . type methoddeclarator (114) + methodheader : modifiers '<' boundedMethodParameters '>' . type methoddeclarator throws (118) + methodheader : modifiers '<' boundedMethodParameters '>' . VOID methoddeclarator (124) + methodheader : modifiers '<' boundedMethodParameters '>' . VOID methoddeclarator throws (126) BOOLEAN shift 2 CHAR shift 3 INT shift 6 - IDENTIFIER shift 199 - ')' shift 308 + VOID shift 407 + IDENTIFIER shift 14 . error - variabledeclaratorid goto 240 simplename goto 18 classorinterfacetype goto 21 integraltype goto 22 numerictype goto 23 - primitivetype goto 337 + primitivetype goto 24 referencetype goto 25 - type goto 241 - formalparameter goto 242 - formalparameterlist goto 309 + type goto 408 -state 252 - unaryexpression : '+' . unaryexpression (239) +state 358 + methodheader : modifiers type methoddeclarator throws . (117) - THIS shift 189 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 + . reduce 117 + + +state 359 + fielddeclaration : modifiers type variabledeclarators ';' . (91) + + . reduce 91 + + +state 360 + explicitconstructorinvocation : THIS '(' . ')' ';' (143) + explicitconstructorinvocation : THIS '(' . argumentlist ')' ';' (144) + + NEW shift 249 + THIS shift 188 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 IDENTIFIER shift 14 - INCREMENT shift 200 - DECREMENT shift 201 - '(' shift 251 - '+' shift 252 - '-' shift 253 - '!' shift 254 + INCREMENT shift 199 + DECREMENT shift 200 + '(' shift 250 + ')' shift 409 + '+' shift 251 + '-' shift 252 + '!' shift 253 . error simplename goto 34 qualifiedname goto 35 - name goto 305 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 255 - unaryexpressionnotplusminus goto 256 - unaryexpression goto 338 - lambdaexpression goto 219 - preincrementexpression goto 271 - predecrementexpression goto 272 - postincrementexpression goto 273 - postdecrementexpression goto 274 - methodinvocation goto 277 - castexpression goto 278 + name goto 207 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 254 + unaryexpressionnotplusminus goto 255 + unaryexpression goto 256 + multiplicativeexpression goto 257 + additiveexpression goto 258 + shiftexpression goto 259 + relationalexpression goto 260 + equalityexpression goto 261 + andexpression goto 262 + exclusiveorexpression goto 263 + inclusiveorexpression goto 264 + conditionalandexpression goto 265 + conditionalorexpression goto 266 + conditionalexpression goto 267 + assignmentexpression goto 268 + lambdaexpression goto 218 + expression goto 374 + preincrementexpression goto 270 + predecrementexpression goto 271 + postincrementexpression goto 272 + postdecrementexpression goto 273 + classinstancecreationexpression goto 274 + assignment goto 275 + lefthandside goto 235 + argumentlist goto 410 + methodinvocation goto 276 + castexpression goto 277 -state 253 - unaryexpression : '-' . unaryexpression (240) +state 361 + constructorbody : '{' blockstatements '}' . (99) - THIS shift 189 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 + . reduce 99 + + +state 362 + constructorbody : '{' explicitconstructorinvocation '}' . (98) + + . reduce 98 + + +state 363 + constructorbody : '{' explicitconstructorinvocation blockstatements . '}' (100) + blockstatements : blockstatements . blockstatement (140) + + BOOLEAN shift 2 + CHAR shift 3 + FOR shift 185 + IF shift 186 + INT shift 6 + RETURN shift 187 + THIS shift 188 + WHILE shift 189 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 + IDENTIFIER shift 198 + INCREMENT shift 199 + DECREMENT shift 200 + ';' shift 201 + '{' shift 139 + '}' shift 411 + '(' shift 203 + . error + + variabledeclarators goto 204 + variabledeclarator goto 205 + variabledeclaratorid goto 101 + simplename goto 206 + qualifiedname goto 35 + name goto 207 + classorinterfacetype goto 21 + integraltype goto 22 + numerictype goto 23 + primitivetype goto 24 + referencetype goto 25 + type goto 208 + block goto 209 + localvariabledeclarationstatement goto 211 + localvariabledeclaration goto 212 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 217 + lambdaexpression goto 218 + statementexpression goto 219 + preincrementexpression goto 220 + predecrementexpression goto 221 + postincrementexpression goto 222 + postdecrementexpression goto 223 + expressionstatement goto 224 + statementwithouttrailingsubstatement goto 225 + blockstatement goto 310 + statement goto 227 + whilestatement goto 228 + forstatement goto 229 + ifthenstatement goto 230 + ifthenelsestatement goto 231 + emptystatement goto 232 + returnstatement goto 233 + assignment goto 234 + lefthandside goto 235 + methodinvocation goto 236 + + +state 364 + methodheader : '<' boundedMethodParameters '>' type . methoddeclarator (111) + methodheader : '<' boundedMethodParameters '>' type . methoddeclarator throws (116) + + IDENTIFIER shift 141 + . error + + methoddeclarator goto 384 + + +state 365 + constantdeclaration : modifiers type IDENTIFIER '=' . expression ';' (83) + + NEW shift 249 + THIS shift 188 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 IDENTIFIER shift 14 - INCREMENT shift 200 - DECREMENT shift 201 - '(' shift 251 - '+' shift 252 - '-' shift 253 - '!' shift 254 + INCREMENT shift 199 + DECREMENT shift 200 + '(' shift 250 + '+' shift 251 + '-' shift 252 + '!' shift 253 . error simplename goto 34 qualifiedname goto 35 - name goto 305 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 255 - unaryexpressionnotplusminus goto 256 - unaryexpression goto 339 - lambdaexpression goto 219 - preincrementexpression goto 271 - predecrementexpression goto 272 - postincrementexpression goto 273 - postdecrementexpression goto 274 - methodinvocation goto 277 - castexpression goto 278 + name goto 207 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 254 + unaryexpressionnotplusminus goto 255 + unaryexpression goto 256 + multiplicativeexpression goto 257 + additiveexpression goto 258 + shiftexpression goto 259 + relationalexpression goto 260 + equalityexpression goto 261 + andexpression goto 262 + exclusiveorexpression goto 263 + inclusiveorexpression goto 264 + conditionalandexpression goto 265 + conditionalorexpression goto 266 + conditionalexpression goto 267 + assignmentexpression goto 268 + lambdaexpression goto 218 + expression goto 412 + preincrementexpression goto 270 + predecrementexpression goto 271 + postincrementexpression goto 272 + postdecrementexpression goto 273 + classinstancecreationexpression goto 274 + assignment goto 275 + lefthandside goto 235 + methodinvocation goto 276 + castexpression goto 277 -state 254 - unaryexpressionnotplusminus : '!' . unaryexpression (254) +state 366 + boundedclassidentifierlist : boundedclassidentifierlist '&' referencetype . (108) - THIS shift 189 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 + . reduce 108 + + +state 367 + forstatement : FOR '(' ';' . expression ';' expression ')' statement (184) + forstatement : FOR '(' ';' . expression ';' ')' statement (186) + forstatement : FOR '(' ';' . ';' expression ')' statement (187) + forstatement : FOR '(' ';' . ';' ')' statement (188) + + NEW shift 249 + THIS shift 188 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 IDENTIFIER shift 14 - INCREMENT shift 200 - DECREMENT shift 201 - '(' shift 251 - '+' shift 252 - '-' shift 253 - '!' shift 254 + INCREMENT shift 199 + DECREMENT shift 200 + ';' shift 413 + '(' shift 250 + '+' shift 251 + '-' shift 252 + '!' shift 253 . error simplename goto 34 qualifiedname goto 35 - name goto 305 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 255 - unaryexpressionnotplusminus goto 256 - unaryexpression goto 340 - lambdaexpression goto 219 - preincrementexpression goto 271 - predecrementexpression goto 272 - postincrementexpression goto 273 - postdecrementexpression goto 274 - methodinvocation goto 277 - castexpression goto 278 + name goto 207 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 254 + unaryexpressionnotplusminus goto 255 + unaryexpression goto 256 + multiplicativeexpression goto 257 + additiveexpression goto 258 + shiftexpression goto 259 + relationalexpression goto 260 + equalityexpression goto 261 + andexpression goto 262 + exclusiveorexpression goto 263 + inclusiveorexpression goto 264 + conditionalandexpression goto 265 + conditionalorexpression goto 266 + conditionalexpression goto 267 + assignmentexpression goto 268 + lambdaexpression goto 218 + expression goto 414 + preincrementexpression goto 270 + predecrementexpression goto 271 + postincrementexpression goto 272 + postdecrementexpression goto 273 + classinstancecreationexpression goto 274 + assignment goto 275 + lefthandside goto 235 + methodinvocation goto 276 + castexpression goto 277 -255: shift/reduce conflict (shift 318, reduce 253) on INCREMENT -255: shift/reduce conflict (shift 319, reduce 253) on DECREMENT -state 255 - postincrementexpression : postfixexpression . INCREMENT (227) - postdecrementexpression : postfixexpression . DECREMENT (228) - unaryexpressionnotplusminus : postfixexpression . (253) +state 368 + forstatement : FOR '(' expression . ';' expression ';' expression ')' statement (181) + forstatement : FOR '(' expression . ';' expression ';' ')' statement (182) + forstatement : FOR '(' expression . ';' ';' expression ')' statement (183) + forstatement : FOR '(' expression . ';' ';' ')' statement (185) - INCREMENT shift 318 - DECREMENT shift 319 - ABSTRACT reduce 253 - BOOLEAN reduce 253 - CHAR reduce 253 - FINAL reduce 253 - INSTANCEOF reduce 253 - INT reduce 253 - PRIVATE reduce 253 - PROTECTED reduce 253 - PUBLIC reduce 253 - STATIC reduce 253 - VOID reduce 253 - IDENTIFIER reduce 253 - EQUAL reduce 253 - LESSEQUAL reduce 253 - GREATEREQUAL reduce 253 - NOTEQUAL reduce 253 - LOGICALOR reduce 253 - LOGICALAND reduce 253 - ',' reduce 253 - ';' reduce 253 - '.' reduce 253 - '*' reduce 253 - '<' reduce 253 - '>' reduce 253 - '}' reduce 253 - ')' reduce 253 - '&' reduce 253 - '+' reduce 253 - '-' reduce 253 - '|' reduce 253 - '^' reduce 253 - '/' reduce 253 - '%' reduce 253 + ';' shift 415 + . error -state 256 - unaryexpression : unaryexpressionnotplusminus . (241) +state 369 + ifthenstatement : IF '(' expression . ')' statement (178) + ifthenelsestatement : IF '(' expression . ')' statementnoshortif ELSE statement (179) - . reduce 241 + ')' shift 416 + . error -state 257 - multiplicativeexpression : unaryexpression . (282) +state 370 + returnstatement : RETURN expression ';' . (194) + + . reduce 194 + + +state 371 + whilestatement : WHILE '(' expression . ')' statement (180) + + ')' shift 417 + . error + + +state 372 + lambdaexpressionparameter : '(' formalparameterlist ')' . (215) + + . reduce 215 + + +state 373 + methodinvocation : name '(' ')' . (228) + + . reduce 228 + + +state 374 + argumentlist : expression . (157) + + . reduce 157 + + +state 375 + argumentlist : argumentlist . ',' expression (158) + methodinvocation : name '(' argumentlist . ')' (229) + + ',' shift 418 + ')' shift 419 + . error + + +state 376 + lambdabody : block . (212) + + . reduce 212 + + +state 377 + lambdaexpression : lambdaexpressionparameter lambdaassignmentoperator lambdabody . (216) + + . reduce 216 + + +state 378 + lambdabody : expression . (213) + + . reduce 213 + + +state 379 + methodinvocation : primary '.' IDENTIFIER . '(' ')' (230) + methodinvocation : primary '.' IDENTIFIER . '(' argumentlist ')' (231) + + '(' shift 420 + . error + + +state 380 + assignment : lefthandside assignmentoperator assignmentexpression . (199) + + . reduce 199 + + +state 381 + assignment : lefthandside assignmentoperator classinstancecreationexpression . (200) + + . reduce 200 + + +state 382 + formalparameterlist : formalparameterlist ',' formalparameter . (142) + + . reduce 142 + + +state 383 + methodheader : '<' boundedMethodParameters '>' VOID methoddeclarator . (123) + methodheader : '<' boundedMethodParameters '>' VOID methoddeclarator . throws (125) + + THROWS shift 148 + ';' reduce 123 + '{' reduce 123 + + throws goto 421 + + +state 384 + methodheader : '<' boundedMethodParameters '>' type methoddeclarator . (111) + methodheader : '<' boundedMethodParameters '>' type methoddeclarator . throws (116) + + THROWS shift 148 + ';' reduce 111 + '{' reduce 111 + + throws goto 422 + + +state 385 + fielddeclaration : '<' boundedMethodParameters '>' type fielddeclarator . ';' (88) + + ';' shift 423 + . error + + +state 386 + fielddeclarator : variabledeclarator . '=' expression (85) + + '=' shift 155 + . error + + +state 387 + classtypelist : classtypelist ',' classtype . (146) + + . reduce 146 + + +state 388 + classinstancecreationexpression : NEW classtype '(' . ')' (232) + classinstancecreationexpression : NEW classtype '(' . argumentlist ')' (233) + + NEW shift 249 + THIS shift 188 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 + IDENTIFIER shift 14 + INCREMENT shift 199 + DECREMENT shift 200 + '(' shift 250 + ')' shift 424 + '+' shift 251 + '-' shift 252 + '!' shift 253 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 207 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 254 + unaryexpressionnotplusminus goto 255 + unaryexpression goto 256 + multiplicativeexpression goto 257 + additiveexpression goto 258 + shiftexpression goto 259 + relationalexpression goto 260 + equalityexpression goto 261 + andexpression goto 262 + exclusiveorexpression goto 263 + inclusiveorexpression goto 264 + conditionalandexpression goto 265 + conditionalorexpression goto 266 + conditionalexpression goto 267 + assignmentexpression goto 268 + lambdaexpression goto 218 + expression goto 374 + preincrementexpression goto 270 + predecrementexpression goto 271 + postincrementexpression goto 272 + postdecrementexpression goto 273 + classinstancecreationexpression goto 274 + assignment goto 275 + lefthandside goto 235 + argumentlist goto 425 + methodinvocation goto 276 + castexpression goto 277 + + +state 389 + castexpression : '(' primitivetype ')' . unaryexpression (265) + + THIS shift 188 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 + IDENTIFIER shift 14 + INCREMENT shift 199 + DECREMENT shift 200 + '(' shift 250 + '+' shift 251 + '-' shift 252 + '!' shift 253 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 302 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 254 + unaryexpressionnotplusminus goto 255 + unaryexpression goto 426 + lambdaexpression goto 218 + preincrementexpression goto 270 + predecrementexpression goto 271 + postincrementexpression goto 272 + postdecrementexpression goto 273 + methodinvocation goto 276 + castexpression goto 277 + + +state 390 + multiplicativeexpression : multiplicativeexpression '*' unaryexpression . (282) . reduce 282 -258: shift/reduce conflict (shift 341, reduce 279) on '*' -258: shift/reduce conflict (shift 342, reduce 279) on '/' -258: shift/reduce conflict (shift 343, reduce 279) on '%' -state 258 - additiveexpression : multiplicativeexpression . (279) - multiplicativeexpression : multiplicativeexpression . '*' unaryexpression (283) - multiplicativeexpression : multiplicativeexpression . '/' unaryexpression (284) - multiplicativeexpression : multiplicativeexpression . '%' unaryexpression (285) +state 391 + multiplicativeexpression : multiplicativeexpression '/' unaryexpression . (283) - '*' shift 341 - '/' shift 342 - '%' shift 343 - ABSTRACT reduce 279 - BOOLEAN reduce 279 - CHAR reduce 279 - FINAL reduce 279 + . reduce 283 + + +state 392 + multiplicativeexpression : multiplicativeexpression '%' unaryexpression . (284) + + . reduce 284 + + +393: shift/reduce conflict (shift 338, reduce 279) on '*' +393: shift/reduce conflict (shift 339, reduce 279) on '/' +393: shift/reduce conflict (shift 340, reduce 279) on '%' +state 393 + additiveexpression : additiveexpression '+' multiplicativeexpression . (279) + multiplicativeexpression : multiplicativeexpression . '*' unaryexpression (282) + multiplicativeexpression : multiplicativeexpression . '/' unaryexpression (283) + multiplicativeexpression : multiplicativeexpression . '%' unaryexpression (284) + + '*' shift 338 + '/' shift 339 + '%' shift 340 INSTANCEOF reduce 279 - INT reduce 279 - PRIVATE reduce 279 - PROTECTED reduce 279 - PUBLIC reduce 279 - STATIC reduce 279 - VOID reduce 279 - IDENTIFIER reduce 279 EQUAL reduce 279 LESSEQUAL reduce 279 GREATEREQUAL reduce 279 @@ -3657,7 +6165,6 @@ state 258 '.' reduce 279 '<' reduce 279 '>' reduce 279 - '}' reduce 279 ')' reduce 279 '&' reduce 279 '+' reduce 279 @@ -3666,85 +6173,88 @@ state 258 '^' reduce 279 -259: shift/reduce conflict (shift 344, reduce 278) on '+' -259: shift/reduce conflict (shift 345, reduce 278) on '-' -state 259 - shiftexpression : additiveexpression . (278) - additiveexpression : additiveexpression . '+' multiplicativeexpression (280) - additiveexpression : additiveexpression . '-' multiplicativeexpression (281) +394: shift/reduce conflict (shift 338, reduce 280) on '*' +394: shift/reduce conflict (shift 339, reduce 280) on '/' +394: shift/reduce conflict (shift 340, reduce 280) on '%' +state 394 + additiveexpression : additiveexpression '-' multiplicativeexpression . (280) + multiplicativeexpression : multiplicativeexpression . '*' unaryexpression (282) + multiplicativeexpression : multiplicativeexpression . '/' unaryexpression (283) + multiplicativeexpression : multiplicativeexpression . '%' unaryexpression (284) - '+' shift 344 - '-' shift 345 - ABSTRACT reduce 278 - BOOLEAN reduce 278 - CHAR reduce 278 - FINAL reduce 278 - INSTANCEOF reduce 278 - INT reduce 278 - PRIVATE reduce 278 - PROTECTED reduce 278 - PUBLIC reduce 278 - STATIC reduce 278 - VOID reduce 278 - IDENTIFIER reduce 278 - EQUAL reduce 278 - LESSEQUAL reduce 278 - GREATEREQUAL reduce 278 - NOTEQUAL reduce 278 - LOGICALOR reduce 278 - LOGICALAND reduce 278 - INCREMENT reduce 278 - DECREMENT reduce 278 - ',' reduce 278 - ';' reduce 278 - '.' reduce 278 - '*' reduce 278 - '<' reduce 278 - '>' reduce 278 - '}' reduce 278 - ')' reduce 278 - '&' reduce 278 - '|' reduce 278 - '^' reduce 278 - '/' reduce 278 - '%' reduce 278 + '*' shift 338 + '/' shift 339 + '%' shift 340 + INSTANCEOF reduce 280 + EQUAL reduce 280 + LESSEQUAL reduce 280 + GREATEREQUAL reduce 280 + NOTEQUAL reduce 280 + LOGICALOR reduce 280 + LOGICALAND reduce 280 + INCREMENT reduce 280 + DECREMENT reduce 280 + ',' reduce 280 + ';' reduce 280 + '.' reduce 280 + '<' reduce 280 + '>' reduce 280 + ')' reduce 280 + '&' reduce 280 + '+' reduce 280 + '-' reduce 280 + '|' reduce 280 + '^' reduce 280 -state 260 - relationalexpression : shiftexpression . (272) +state 395 + relationalexpression : relationalexpression INSTANCEOF referencetype . (276) + + . reduce 276 + + +state 396 + relationalexpression : relationalexpression LESSEQUAL shiftexpression . (274) + + . reduce 274 + + +state 397 + relationalexpression : relationalexpression GREATEREQUAL shiftexpression . (275) + + . reduce 275 + + +state 398 + relationalexpression : relationalexpression '<' shiftexpression . (272) . reduce 272 -261: shift/reduce conflict (shift 346, reduce 269) on INSTANCEOF -261: shift/reduce conflict (shift 347, reduce 269) on LESSEQUAL -261: shift/reduce conflict (shift 348, reduce 269) on GREATEREQUAL -261: shift/reduce conflict (shift 349, reduce 269) on '<' -261: shift/reduce conflict (shift 350, reduce 269) on '>' -state 261 - equalityexpression : relationalexpression . (269) - relationalexpression : relationalexpression . '<' shiftexpression (273) - relationalexpression : relationalexpression . '>' shiftexpression (274) - relationalexpression : relationalexpression . LESSEQUAL shiftexpression (275) - relationalexpression : relationalexpression . GREATEREQUAL shiftexpression (276) - relationalexpression : relationalexpression . INSTANCEOF referencetype (277) +state 399 + relationalexpression : relationalexpression '>' shiftexpression . (273) - INSTANCEOF shift 346 - LESSEQUAL shift 347 - GREATEREQUAL shift 348 - '<' shift 349 - '>' shift 350 - ABSTRACT reduce 269 - BOOLEAN reduce 269 - CHAR reduce 269 - FINAL reduce 269 - INT reduce 269 - PRIVATE reduce 269 - PROTECTED reduce 269 - PUBLIC reduce 269 - STATIC reduce 269 - VOID reduce 269 - IDENTIFIER reduce 269 + . reduce 273 + + +400: shift/reduce conflict (shift 343, reduce 269) on INSTANCEOF +400: shift/reduce conflict (shift 344, reduce 269) on LESSEQUAL +400: shift/reduce conflict (shift 345, reduce 269) on GREATEREQUAL +400: shift/reduce conflict (shift 346, reduce 269) on '<' +400: shift/reduce conflict (shift 347, reduce 269) on '>' +state 400 + equalityexpression : equalityexpression EQUAL relationalexpression . (269) + relationalexpression : relationalexpression . '<' shiftexpression (272) + relationalexpression : relationalexpression . '>' shiftexpression (273) + relationalexpression : relationalexpression . LESSEQUAL shiftexpression (274) + relationalexpression : relationalexpression . GREATEREQUAL shiftexpression (275) + relationalexpression : relationalexpression . INSTANCEOF referencetype (276) + + INSTANCEOF shift 343 + LESSEQUAL shift 344 + GREATEREQUAL shift 345 + '<' shift 346 + '>' shift 347 EQUAL reduce 269 NOTEQUAL reduce 269 LOGICALOR reduce 269 @@ -3755,7 +6265,6 @@ state 261 ';' reduce 269 '.' reduce 269 '*' reduce 269 - '}' reduce 269 ')' reduce 269 '&' reduce 269 '+' reduce 269 @@ -3766,27 +6275,54 @@ state 261 '%' reduce 269 -262: shift/reduce conflict (shift 351, reduce 267) on EQUAL -262: shift/reduce conflict (shift 352, reduce 267) on NOTEQUAL -state 262 - andexpression : equalityexpression . (267) - equalityexpression : equalityexpression . EQUAL relationalexpression (270) - equalityexpression : equalityexpression . NOTEQUAL relationalexpression (271) +401: shift/reduce conflict (shift 343, reduce 270) on INSTANCEOF +401: shift/reduce conflict (shift 344, reduce 270) on LESSEQUAL +401: shift/reduce conflict (shift 345, reduce 270) on GREATEREQUAL +401: shift/reduce conflict (shift 346, reduce 270) on '<' +401: shift/reduce conflict (shift 347, reduce 270) on '>' +state 401 + equalityexpression : equalityexpression NOTEQUAL relationalexpression . (270) + relationalexpression : relationalexpression . '<' shiftexpression (272) + relationalexpression : relationalexpression . '>' shiftexpression (273) + relationalexpression : relationalexpression . LESSEQUAL shiftexpression (274) + relationalexpression : relationalexpression . GREATEREQUAL shiftexpression (275) + relationalexpression : relationalexpression . INSTANCEOF referencetype (276) - EQUAL shift 351 - NOTEQUAL shift 352 - ABSTRACT reduce 267 - BOOLEAN reduce 267 - CHAR reduce 267 - FINAL reduce 267 + INSTANCEOF shift 343 + LESSEQUAL shift 344 + GREATEREQUAL shift 345 + '<' shift 346 + '>' shift 347 + EQUAL reduce 270 + NOTEQUAL reduce 270 + LOGICALOR reduce 270 + LOGICALAND reduce 270 + INCREMENT reduce 270 + DECREMENT reduce 270 + ',' reduce 270 + ';' reduce 270 + '.' reduce 270 + '*' reduce 270 + ')' reduce 270 + '&' reduce 270 + '+' reduce 270 + '-' reduce 270 + '|' reduce 270 + '^' reduce 270 + '/' reduce 270 + '%' reduce 270 + + +402: shift/reduce conflict (shift 348, reduce 267) on EQUAL +402: shift/reduce conflict (shift 349, reduce 267) on NOTEQUAL +state 402 + andexpression : andexpression '&' equalityexpression . (267) + equalityexpression : equalityexpression . EQUAL relationalexpression (269) + equalityexpression : equalityexpression . NOTEQUAL relationalexpression (270) + + EQUAL shift 348 + NOTEQUAL shift 349 INSTANCEOF reduce 267 - INT reduce 267 - PRIVATE reduce 267 - PROTECTED reduce 267 - PUBLIC reduce 267 - STATIC reduce 267 - VOID reduce 267 - IDENTIFIER reduce 267 LESSEQUAL reduce 267 GREATEREQUAL reduce 267 LOGICALOR reduce 267 @@ -3799,7 +6335,6 @@ state 262 '*' reduce 267 '<' reduce 267 '>' reduce 267 - '}' reduce 267 ')' reduce 267 '&' reduce 267 '+' reduce 267 @@ -3810,24 +6345,13 @@ state 262 '%' reduce 267 -263: shift/reduce conflict (shift 353, reduce 256) on '&' -state 263 - exclusiveorexpression : andexpression . (256) - andexpression : andexpression . '&' equalityexpression (268) +403: shift/reduce conflict (shift 350, reduce 256) on '&' +state 403 + exclusiveorexpression : exclusiveorexpression '^' andexpression . (256) + andexpression : andexpression . '&' equalityexpression (267) - '&' shift 353 - ABSTRACT reduce 256 - BOOLEAN reduce 256 - CHAR reduce 256 - FINAL reduce 256 + '&' shift 350 INSTANCEOF reduce 256 - INT reduce 256 - PRIVATE reduce 256 - PROTECTED reduce 256 - PUBLIC reduce 256 - STATIC reduce 256 - VOID reduce 256 - IDENTIFIER reduce 256 EQUAL reduce 256 LESSEQUAL reduce 256 GREATEREQUAL reduce 256 @@ -3842,7 +6366,6 @@ state 263 '*' reduce 256 '<' reduce 256 '>' reduce 256 - '}' reduce 256 ')' reduce 256 '+' reduce 256 '-' reduce 256 @@ -3852,24 +6375,13 @@ state 263 '%' reduce 256 -264: shift/reduce conflict (shift 354, reduce 247) on '^' -state 264 - inclusiveorexpression : exclusiveorexpression . (247) - exclusiveorexpression : exclusiveorexpression . '^' andexpression (257) +404: shift/reduce conflict (shift 351, reduce 247) on '^' +state 404 + inclusiveorexpression : inclusiveorexpression '|' exclusiveorexpression . (247) + exclusiveorexpression : exclusiveorexpression . '^' andexpression (256) - '^' shift 354 - ABSTRACT reduce 247 - BOOLEAN reduce 247 - CHAR reduce 247 - FINAL reduce 247 + '^' shift 351 INSTANCEOF reduce 247 - INT reduce 247 - PRIVATE reduce 247 - PROTECTED reduce 247 - PUBLIC reduce 247 - STATIC reduce 247 - VOID reduce 247 - IDENTIFIER reduce 247 EQUAL reduce 247 LESSEQUAL reduce 247 GREATEREQUAL reduce 247 @@ -3884,7 +6396,6 @@ state 264 '*' reduce 247 '<' reduce 247 '>' reduce 247 - '}' reduce 247 ')' reduce 247 '&' reduce 247 '+' reduce 247 @@ -3894,24 +6405,13 @@ state 264 '%' reduce 247 -265: shift/reduce conflict (shift 355, reduce 235) on '|' -state 265 - conditionalandexpression : inclusiveorexpression . (235) - inclusiveorexpression : inclusiveorexpression . '|' exclusiveorexpression (248) +405: shift/reduce conflict (shift 352, reduce 235) on '|' +state 405 + conditionalandexpression : conditionalandexpression LOGICALAND inclusiveorexpression . (235) + inclusiveorexpression : inclusiveorexpression . '|' exclusiveorexpression (247) - '|' shift 355 - ABSTRACT reduce 235 - BOOLEAN reduce 235 - CHAR reduce 235 - FINAL reduce 235 + '|' shift 352 INSTANCEOF reduce 235 - INT reduce 235 - PRIVATE reduce 235 - PROTECTED reduce 235 - PUBLIC reduce 235 - STATIC reduce 235 - VOID reduce 235 - IDENTIFIER reduce 235 EQUAL reduce 235 LESSEQUAL reduce 235 GREATEREQUAL reduce 235 @@ -3926,7 +6426,6 @@ state 265 '*' reduce 235 '<' reduce 235 '>' reduce 235 - '}' reduce 235 ')' reduce 235 '&' reduce 235 '+' reduce 235 @@ -3936,24 +6435,13 @@ state 265 '%' reduce 235 -266: shift/reduce conflict (shift 356, reduce 210) on LOGICALAND -state 266 - conditionalorexpression : conditionalandexpression . (210) - conditionalandexpression : conditionalandexpression . LOGICALAND inclusiveorexpression (236) +406: shift/reduce conflict (shift 353, reduce 210) on LOGICALAND +state 406 + conditionalorexpression : conditionalorexpression LOGICALOR conditionalandexpression . (210) + conditionalandexpression : conditionalandexpression . LOGICALAND inclusiveorexpression (235) - LOGICALAND shift 356 - ABSTRACT reduce 210 - BOOLEAN reduce 210 - CHAR reduce 210 - FINAL reduce 210 + LOGICALAND shift 353 INSTANCEOF reduce 210 - INT reduce 210 - PRIVATE reduce 210 - PROTECTED reduce 210 - PUBLIC reduce 210 - STATIC reduce 210 - VOID reduce 210 - IDENTIFIER reduce 210 EQUAL reduce 210 LESSEQUAL reduce 210 GREATEREQUAL reduce 210 @@ -3967,7 +6455,6 @@ state 266 '*' reduce 210 '<' reduce 210 '>' reduce 210 - '}' reduce 210 ')' reduce 210 '&' reduce 210 '+' reduce 210 @@ -3978,4632 +6465,1695 @@ state 266 '%' reduce 210 -267: shift/reduce conflict (shift 357, reduce 199) on LOGICALOR -state 267 - conditionalexpression : conditionalorexpression . (199) - conditionalorexpression : conditionalorexpression . LOGICALOR conditionalandexpression (211) - - LOGICALOR shift 357 - ABSTRACT reduce 199 - BOOLEAN reduce 199 - CHAR reduce 199 - FINAL reduce 199 - INSTANCEOF reduce 199 - INT reduce 199 - PRIVATE reduce 199 - PROTECTED reduce 199 - PUBLIC reduce 199 - STATIC reduce 199 - VOID reduce 199 - IDENTIFIER reduce 199 - EQUAL reduce 199 - LESSEQUAL reduce 199 - GREATEREQUAL reduce 199 - NOTEQUAL reduce 199 - LOGICALAND reduce 199 - INCREMENT reduce 199 - DECREMENT reduce 199 - ',' reduce 199 - ';' reduce 199 - '.' reduce 199 - '*' reduce 199 - '<' reduce 199 - '>' reduce 199 - '}' reduce 199 - ')' reduce 199 - '&' reduce 199 - '+' reduce 199 - '-' reduce 199 - '|' reduce 199 - '^' reduce 199 - '/' reduce 199 - '%' reduce 199 - - -state 268 - assignmentexpression : conditionalexpression . (190) - - . reduce 190 - - -state 269 - expression : assignmentexpression . (169) - - . reduce 169 - - -state 270 - fielddeclarator : variabledeclarator '=' expression . (86) - - . reduce 86 - - -state 271 - unaryexpression : preincrementexpression . (237) - - . reduce 237 - - -state 272 - unaryexpression : predecrementexpression . (238) - - . reduce 238 - - -state 273 - postfixexpression : postincrementexpression . (244) - - . reduce 244 - - -state 274 - postfixexpression : postdecrementexpression . (245) - - . reduce 245 - - -state 275 - expression : classinstancecreationexpression . (170) - - . reduce 170 - - -state 276 - assignmentexpression : assignment . (191) - - . reduce 191 - - -state 277 - primarynonewarray : methodinvocation . (251) - - . reduce 251 - - -state 278 - unaryexpressionnotplusminus : castexpression . (255) - - . reduce 255 - - -state 279 - constructordeclarator : simplename '(' ')' . (96) - - . reduce 96 - - -state 280 - constructordeclarator : simplename '(' formalparameterlist . ')' (97) - formalparameterlist : formalparameterlist . ',' formalparameter (143) - - ',' shift 329 - ')' shift 358 - . error - - -state 281 - methodheader : type methoddeclarator throws . (116) - - . reduce 116 - - -state 282 - fielddeclaration : type variabledeclarators ';' . (91) - - . reduce 91 - - -state 283 - fielddeclarator : type variabledeclarator '=' . expression (85) - fielddeclarator : variabledeclarator '=' . expression (86) - - NEW shift 250 - THIS shift 189 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 - IDENTIFIER shift 14 - INCREMENT shift 200 - DECREMENT shift 201 - '(' shift 251 - '+' shift 252 - '-' shift 253 - '!' shift 254 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 208 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 255 - unaryexpressionnotplusminus goto 256 - unaryexpression goto 257 - multiplicativeexpression goto 258 - additiveexpression goto 259 - shiftexpression goto 260 - relationalexpression goto 261 - equalityexpression goto 262 - andexpression goto 263 - exclusiveorexpression goto 264 - inclusiveorexpression goto 265 - conditionalandexpression goto 266 - conditionalorexpression goto 267 - conditionalexpression goto 268 - assignmentexpression goto 269 - lambdaexpression goto 219 - expression goto 359 - preincrementexpression goto 271 - predecrementexpression goto 272 - postincrementexpression goto 273 - postdecrementexpression goto 274 - classinstancecreationexpression goto 275 - assignment goto 276 - lefthandside goto 236 - methodinvocation goto 277 - castexpression goto 278 - - -state 284 - fielddeclarator : type variabledeclarator . '=' expression (85) - - '=' shift 360 - . error - - -state 285 - methodheader : modifiers VOID methoddeclarator . (121) - methodheader : modifiers VOID methoddeclarator . throws (123) - - THROWS shift 148 - ';' reduce 121 - '{' reduce 121 - - throws goto 361 - - -state 286 - boundedMethodParameters : boundedMethodParameters . ',' boundedMethodParameter (111) - methodheader : modifiers '<' boundedMethodParameters . '>' type methoddeclarator (115) - methodheader : modifiers '<' boundedMethodParameters . '>' type methoddeclarator throws (119) - methodheader : modifiers '<' boundedMethodParameters . '>' VOID methoddeclarator (125) - methodheader : modifiers '<' boundedMethodParameters . '>' VOID methoddeclarator throws (127) - - ',' shift 244 - '>' shift 362 - . error - - -state 287 - methodheader : modifiers methoddeclarator throws . (132) - - . reduce 132 - - -state 288 - methoddeclarator : IDENTIFIER . '(' ')' (148) - methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (149) - variabledeclaratorid : IDENTIFIER . (161) - - '(' shift 143 - ',' reduce 161 - ';' reduce 161 - - -state 289 - methodheader : modifiers type methoddeclarator . (114) - methodheader : modifiers type methoddeclarator . throws (118) - - THROWS shift 148 - ';' reduce 114 - '{' reduce 114 - - throws goto 363 - - -state 290 - fielddeclaration : modifiers type variabledeclarators . ';' (92) - variabledeclarators : variabledeclarators . ',' variabledeclarator (138) - - ',' shift 152 - ';' shift 364 - . error - - -state 291 - constructordeclaration : modifiers constructordeclarator constructorbody . (82) - - . reduce 82 - - -state 292 - explicitconstructorinvocation : THIS . '(' ')' ';' (144) - explicitconstructorinvocation : THIS . '(' argumentlist ')' ';' (145) - primarynonewarray : THIS . (250) - - '(' shift 365 - INCREMENT reduce 250 - DECREMENT reduce 250 - '.' reduce 250 - - -state 293 - constructorbody : '{' '}' . (98) - - . reduce 98 - - -state 294 - constructorbody : '{' blockstatements . '}' (100) - blockstatements : blockstatements . blockstatement (141) - - BOOLEAN shift 2 - CHAR shift 3 - FOR shift 186 - IF shift 187 - INT shift 6 - RETURN shift 188 - THIS shift 189 - WHILE shift 190 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 - IDENTIFIER shift 199 - INCREMENT shift 200 - DECREMENT shift 201 - ';' shift 202 - '{' shift 139 - '}' shift 366 - '(' shift 204 - . error - - variabledeclarators goto 205 - variabledeclarator goto 206 - variabledeclaratorid goto 101 - simplename goto 207 - qualifiedname goto 35 - name goto 208 - classorinterfacetype goto 21 - integraltype goto 22 - numerictype goto 23 - primitivetype goto 24 - referencetype goto 25 - type goto 209 - block goto 210 - localvariabledeclarationstatement goto 212 - localvariabledeclaration goto 213 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 218 - lambdaexpression goto 219 - statementexpression goto 220 - preincrementexpression goto 221 - predecrementexpression goto 222 - postincrementexpression goto 223 - postdecrementexpression goto 224 - expressionstatement goto 225 - statementwithouttrailingsubstatement goto 226 - blockstatement goto 313 - statement goto 228 - whilestatement goto 229 - forstatement goto 230 - ifthenstatement goto 231 - ifthenelsestatement goto 232 - emptystatement goto 233 - returnstatement goto 234 - assignment goto 235 - lefthandside goto 236 - methodinvocation goto 237 - - -state 295 - constructorbody : '{' explicitconstructorinvocation . '}' (99) - constructorbody : '{' explicitconstructorinvocation . blockstatements '}' (101) - - BOOLEAN shift 2 - CHAR shift 3 - FOR shift 186 - IF shift 187 - INT shift 6 - RETURN shift 188 - THIS shift 189 - WHILE shift 190 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 - IDENTIFIER shift 199 - INCREMENT shift 200 - DECREMENT shift 201 - ';' shift 202 - '{' shift 139 - '}' shift 367 - '(' shift 204 - . error - - variabledeclarators goto 205 - variabledeclarator goto 206 - variabledeclaratorid goto 101 - simplename goto 207 - qualifiedname goto 35 - name goto 208 - classorinterfacetype goto 21 - integraltype goto 22 - numerictype goto 23 - primitivetype goto 24 - referencetype goto 25 - type goto 209 - block goto 210 - blockstatements goto 368 - localvariabledeclarationstatement goto 212 - localvariabledeclaration goto 213 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 218 - lambdaexpression goto 219 - statementexpression goto 220 - preincrementexpression goto 221 - predecrementexpression goto 222 - postincrementexpression goto 223 - postdecrementexpression goto 224 - expressionstatement goto 225 - statementwithouttrailingsubstatement goto 226 - blockstatement goto 227 - statement goto 228 - whilestatement goto 229 - forstatement goto 230 - ifthenstatement goto 231 - ifthenelsestatement goto 232 - emptystatement goto 233 - returnstatement goto 234 - assignment goto 235 - lefthandside goto 236 - methodinvocation goto 237 - - -state 296 - methodheader : '<' boundedMethodParameters '>' . type methoddeclarator (112) - methodheader : '<' boundedMethodParameters '>' . type methoddeclarator throws (117) - methodheader : '<' boundedMethodParameters '>' . VOID methoddeclarator (124) - methodheader : '<' boundedMethodParameters '>' . VOID methoddeclarator throws (126) - methodheader : '<' boundedMethodParameters '>' . methoddeclarator (129) - - BOOLEAN shift 2 - CHAR shift 3 - INT shift 6 - VOID shift 332 - IDENTIFIER shift 117 - . error - - methoddeclarator goto 333 - simplename goto 18 - classorinterfacetype goto 21 - integraltype goto 22 - numerictype goto 23 - primitivetype goto 24 - referencetype goto 25 - type goto 369 - - -state 297 - constantdeclaration : modifiers type IDENTIFIER . '=' expression ';' (83) - methoddeclarator : IDENTIFIER . '(' ')' (148) - methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (149) - - '=' shift 370 - '(' shift 143 - . error - - -state 298 - classdeclaration : modifiers CLASS classidentifier super interfaces classbody . (27) - - . reduce 27 - - -state 299 - boundedclassidentifierlist : boundedclassidentifierlist '&' . referencetype (109) - - IDENTIFIER shift 14 - . error - - simplename goto 18 - classorinterfacetype goto 21 - referencetype goto 371 - - -state 300 - forstatement : FOR '(' . expression ';' expression ';' expression ')' statement (182) - forstatement : FOR '(' . expression ';' expression ';' ')' statement (183) - forstatement : FOR '(' . expression ';' ';' expression ')' statement (184) - forstatement : FOR '(' . ';' expression ';' expression ')' statement (185) - forstatement : FOR '(' . expression ';' ';' ')' statement (186) - forstatement : FOR '(' . ';' expression ';' ')' statement (187) - forstatement : FOR '(' . ';' ';' expression ')' statement (188) - forstatement : FOR '(' . ';' ';' ')' statement (189) - - NEW shift 250 - THIS shift 189 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 - IDENTIFIER shift 14 - INCREMENT shift 200 - DECREMENT shift 201 - ';' shift 372 - '(' shift 251 - '+' shift 252 - '-' shift 253 - '!' shift 254 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 208 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 255 - unaryexpressionnotplusminus goto 256 - unaryexpression goto 257 - multiplicativeexpression goto 258 - additiveexpression goto 259 - shiftexpression goto 260 - relationalexpression goto 261 - equalityexpression goto 262 - andexpression goto 263 - exclusiveorexpression goto 264 - inclusiveorexpression goto 265 - conditionalandexpression goto 266 - conditionalorexpression goto 267 - conditionalexpression goto 268 - assignmentexpression goto 269 - lambdaexpression goto 219 - expression goto 373 - preincrementexpression goto 271 - predecrementexpression goto 272 - postincrementexpression goto 273 - postdecrementexpression goto 274 - classinstancecreationexpression goto 275 - assignment goto 276 - lefthandside goto 236 - methodinvocation goto 277 - castexpression goto 278 - - -state 301 - ifthenstatement : IF '(' . expression ')' statement (179) - ifthenelsestatement : IF '(' . expression ')' statementnoshortif ELSE statement (180) - - NEW shift 250 - THIS shift 189 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 - IDENTIFIER shift 14 - INCREMENT shift 200 - DECREMENT shift 201 - '(' shift 251 - '+' shift 252 - '-' shift 253 - '!' shift 254 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 208 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 255 - unaryexpressionnotplusminus goto 256 - unaryexpression goto 257 - multiplicativeexpression goto 258 - additiveexpression goto 259 - shiftexpression goto 260 - relationalexpression goto 261 - equalityexpression goto 262 - andexpression goto 263 - exclusiveorexpression goto 264 - inclusiveorexpression goto 265 - conditionalandexpression goto 266 - conditionalorexpression goto 267 - conditionalexpression goto 268 - assignmentexpression goto 269 - lambdaexpression goto 219 - expression goto 374 - preincrementexpression goto 271 - predecrementexpression goto 272 - postincrementexpression goto 273 - postdecrementexpression goto 274 - classinstancecreationexpression goto 275 - assignment goto 276 - lefthandside goto 236 - methodinvocation goto 277 - castexpression goto 278 - - -state 302 - returnstatement : RETURN ';' . (194) - - . reduce 194 - - -state 303 - returnstatement : RETURN expression . ';' (195) - - ';' shift 375 - . error - - -state 304 - whilestatement : WHILE '(' . expression ')' statement (181) - - NEW shift 250 - THIS shift 189 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 - IDENTIFIER shift 14 - INCREMENT shift 200 - DECREMENT shift 201 - '(' shift 251 - '+' shift 252 - '-' shift 253 - '!' shift 254 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 208 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 255 - unaryexpressionnotplusminus goto 256 - unaryexpression goto 257 - multiplicativeexpression goto 258 - additiveexpression goto 259 - shiftexpression goto 260 - relationalexpression goto 261 - equalityexpression goto 262 - andexpression goto 263 - exclusiveorexpression goto 264 - inclusiveorexpression goto 265 - conditionalandexpression goto 266 - conditionalorexpression goto 267 - conditionalexpression goto 268 - assignmentexpression goto 269 - lambdaexpression goto 219 - expression goto 376 - preincrementexpression goto 271 - predecrementexpression goto 272 - postincrementexpression goto 273 - postdecrementexpression goto 274 - classinstancecreationexpression goto 275 - assignment goto 276 - lefthandside goto 236 - methodinvocation goto 277 - castexpression goto 278 - - -305: shift/reduce conflict (shift 62, reduce 243) on '.' -state 305 - qualifiedname : name . '.' IDENTIFIER (16) - methodinvocation : name . '(' ')' (229) - methodinvocation : name . '(' argumentlist ')' (230) - postfixexpression : name . (243) - - '.' shift 62 - '(' shift 310 - ABSTRACT reduce 243 - BOOLEAN reduce 243 - CHAR reduce 243 - FINAL reduce 243 - INSTANCEOF reduce 243 - INT reduce 243 - PRIVATE reduce 243 - PROTECTED reduce 243 - PUBLIC reduce 243 - STATIC reduce 243 - VOID reduce 243 - IDENTIFIER reduce 243 - EQUAL reduce 243 - LESSEQUAL reduce 243 - GREATEREQUAL reduce 243 - NOTEQUAL reduce 243 - LOGICALOR reduce 243 - LOGICALAND reduce 243 - INCREMENT reduce 243 - DECREMENT reduce 243 - ',' reduce 243 - ';' reduce 243 - '*' reduce 243 - '<' reduce 243 - '>' reduce 243 - '}' reduce 243 - ')' reduce 243 - '&' reduce 243 - '+' reduce 243 - '-' reduce 243 - '|' reduce 243 - '^' reduce 243 - '/' reduce 243 - '%' reduce 243 - - -state 306 - preincrementexpression : INCREMENT unaryexpression . (225) - - . reduce 225 - - -state 307 - predecrementexpression : DECREMENT unaryexpression . (226) - - . reduce 226 - - -state 308 - lambdaexpressionparameter : '(' ')' . (215) - - . reduce 215 - - -state 309 - formalparameterlist : formalparameterlist . ',' formalparameter (143) - lambdaexpressionparameter : '(' formalparameterlist . ')' (216) - - ',' shift 329 - ')' shift 377 - . error - - -state 310 - methodinvocation : name '(' . ')' (229) - methodinvocation : name '(' . argumentlist ')' (230) - - NEW shift 250 - THIS shift 189 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 - IDENTIFIER shift 14 - INCREMENT shift 200 - DECREMENT shift 201 - '(' shift 251 - ')' shift 378 - '+' shift 252 - '-' shift 253 - '!' shift 254 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 208 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 255 - unaryexpressionnotplusminus goto 256 - unaryexpression goto 257 - multiplicativeexpression goto 258 - additiveexpression goto 259 - shiftexpression goto 260 - relationalexpression goto 261 - equalityexpression goto 262 - andexpression goto 263 - exclusiveorexpression goto 264 - inclusiveorexpression goto 265 - conditionalandexpression goto 266 - conditionalorexpression goto 267 - conditionalexpression goto 268 - assignmentexpression goto 269 - lambdaexpression goto 219 - expression goto 379 - preincrementexpression goto 271 - predecrementexpression goto 272 - postincrementexpression goto 273 - postdecrementexpression goto 274 - classinstancecreationexpression goto 275 - assignment goto 276 - lefthandside goto 236 - argumentlist goto 380 - methodinvocation goto 277 - castexpression goto 278 - - -state 311 - variabledeclarators : variabledeclarators . ',' variabledeclarator (138) - localvariabledeclaration : type variabledeclarators . (173) - - ',' shift 152 - ';' reduce 173 - - -state 312 - block : '{' blockstatements '}' . (95) - - . reduce 95 - - -state 313 - blockstatements : blockstatements blockstatement . (141) - - . reduce 141 - - -state 314 - localvariabledeclarationstatement : localvariabledeclaration ';' . (163) - - . reduce 163 - - -state 315 - lambdaassignmentoperator : LAMBDAASSIGNMENT . (212) - - . reduce 212 - - -state 316 - lambdaexpression : lambdaexpressionparameter lambdaassignmentoperator . lambdabody (217) - - NEW shift 250 - THIS shift 189 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 - IDENTIFIER shift 14 - INCREMENT shift 200 - DECREMENT shift 201 - '{' shift 139 - '(' shift 251 - '+' shift 252 - '-' shift 253 - '!' shift 254 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 208 - block goto 381 - lambdabody goto 382 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 255 - unaryexpressionnotplusminus goto 256 - unaryexpression goto 257 - multiplicativeexpression goto 258 - additiveexpression goto 259 - shiftexpression goto 260 - relationalexpression goto 261 - equalityexpression goto 262 - andexpression goto 263 - exclusiveorexpression goto 264 - inclusiveorexpression goto 265 - conditionalandexpression goto 266 - conditionalorexpression goto 267 - conditionalexpression goto 268 - assignmentexpression goto 269 - lambdaexpression goto 219 - expression goto 383 - preincrementexpression goto 271 - predecrementexpression goto 272 - postincrementexpression goto 273 - postdecrementexpression goto 274 - classinstancecreationexpression goto 275 - assignment goto 276 - lefthandside goto 236 - methodinvocation goto 277 - castexpression goto 278 - - -state 317 - methodinvocation : primary '.' . IDENTIFIER '(' ')' (231) - methodinvocation : primary '.' . IDENTIFIER '(' argumentlist ')' (232) - - IDENTIFIER shift 384 - . error - - -state 318 - postincrementexpression : postfixexpression INCREMENT . (227) - - . reduce 227 - - -state 319 - postdecrementexpression : postfixexpression DECREMENT . (228) - - . reduce 228 - - -state 320 - expressionstatement : statementexpression ';' . (193) - - . reduce 193 - - -state 321 - assignmentoperator : PLUSEQUAL . (223) - - . reduce 223 - - -state 322 - assignmentoperator : MINUSEQUAL . (224) - - . reduce 224 - - -state 323 - assignmentoperator : TIMESEQUAL . (220) - - . reduce 220 - - -state 324 - assignmentoperator : DIVIDEEQUAL . (221) - - . reduce 221 - - -state 325 - assignmentoperator : MODULOEQUAL . (222) - - . reduce 222 - - -state 326 - assignmentoperator : '=' . (219) - - . reduce 219 - - -state 327 - assignment : lefthandside assignmentoperator . assignmentexpression (200) - assignment : lefthandside assignmentoperator . classinstancecreationexpression (201) - - NEW shift 250 - THIS shift 189 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 - IDENTIFIER shift 14 - INCREMENT shift 200 - DECREMENT shift 201 - '(' shift 251 - '+' shift 252 - '-' shift 253 - '!' shift 254 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 208 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 255 - unaryexpressionnotplusminus goto 256 - unaryexpression goto 257 - multiplicativeexpression goto 258 - additiveexpression goto 259 - shiftexpression goto 260 - relationalexpression goto 261 - equalityexpression goto 262 - andexpression goto 263 - exclusiveorexpression goto 264 - inclusiveorexpression goto 265 - conditionalandexpression goto 266 - conditionalorexpression goto 267 - conditionalexpression goto 268 - assignmentexpression goto 385 - lambdaexpression goto 219 - preincrementexpression goto 271 - predecrementexpression goto 272 - postincrementexpression goto 273 - postdecrementexpression goto 274 - classinstancecreationexpression goto 386 - assignment goto 276 - lefthandside goto 236 - methodinvocation goto 277 - castexpression goto 278 - - -state 328 - formalparameter : type variabledeclaratorid . (156) - - . reduce 156 - - -state 329 - formalparameterlist : formalparameterlist ',' . formalparameter (143) - - BOOLEAN shift 2 - CHAR shift 3 - INT shift 6 - IDENTIFIER shift 199 - . error - - variabledeclaratorid goto 240 - simplename goto 18 - classorinterfacetype goto 21 - integraltype goto 22 - numerictype goto 23 - primitivetype goto 24 - referencetype goto 25 - type goto 241 - formalparameter goto 387 - - -state 330 - methoddeclarator : IDENTIFIER '(' formalparameterlist ')' . (149) - - . reduce 149 - - -state 331 - boundedMethodParameters : boundedMethodParameters ',' boundedMethodParameter . (111) - - . reduce 111 - - -state 332 - methodheader : '<' boundedMethodParameters '>' VOID . methoddeclarator (124) - methodheader : '<' boundedMethodParameters '>' VOID . methoddeclarator throws (126) +state 407 + methodheader : modifiers '<' boundedMethodParameters '>' VOID . methoddeclarator (124) + methodheader : modifiers '<' boundedMethodParameters '>' VOID . methoddeclarator throws (126) IDENTIFIER shift 141 . error - methoddeclarator goto 388 + methoddeclarator goto 427 -state 333 - methodheader : '<' boundedMethodParameters '>' methoddeclarator . (129) +state 408 + methodheader : modifiers '<' boundedMethodParameters '>' type . methoddeclarator (114) + methodheader : modifiers '<' boundedMethodParameters '>' type . methoddeclarator throws (118) - . reduce 129 - - -state 334 - fielddeclaration : '<' boundedMethodParameters '>' type . fielddeclarator (89) - methodheader : '<' boundedMethodParameters '>' type . methoddeclarator (112) - methodheader : '<' boundedMethodParameters '>' type . methoddeclarator throws (117) - - BOOLEAN shift 2 - CHAR shift 3 - INT shift 6 - IDENTIFIER shift 88 + IDENTIFIER shift 141 . error - methoddeclarator goto 389 - fielddeclarator goto 390 - variabledeclarator goto 391 - variabledeclaratorid goto 101 - simplename goto 18 - classorinterfacetype goto 21 - integraltype goto 22 - numerictype goto 23 - primitivetype goto 24 - referencetype goto 25 - type goto 161 + methoddeclarator goto 428 -state 335 - classtypelist : classtypelist ',' . classtype (147) +state 409 + explicitconstructorinvocation : THIS '(' ')' . ';' (143) - IDENTIFIER shift 14 - . error - - simplename goto 18 - classtype goto 392 - classorinterfacetype goto 83 - - -state 336 - classinstancecreationexpression : NEW classtype . '(' ')' (233) - classinstancecreationexpression : NEW classtype . '(' argumentlist ')' (234) - - '(' shift 393 + ';' shift 429 . error -state 337 - type : primitivetype . (133) - type : primitivetype . '[' ']' (134) - castexpression : '(' primitivetype . ')' unaryexpression (266) +state 410 + explicitconstructorinvocation : THIS '(' argumentlist . ')' ';' (144) + argumentlist : argumentlist . ',' expression (158) - ')' shift 394 - '[' shift 45 - IDENTIFIER reduce 133 - - -state 338 - unaryexpression : '+' unaryexpression . (239) - - . reduce 239 - - -state 339 - unaryexpression : '-' unaryexpression . (240) - - . reduce 240 - - -state 340 - unaryexpressionnotplusminus : '!' unaryexpression . (254) - - . reduce 254 - - -state 341 - multiplicativeexpression : multiplicativeexpression '*' . unaryexpression (283) - - THIS shift 189 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 - IDENTIFIER shift 14 - INCREMENT shift 200 - DECREMENT shift 201 - '(' shift 251 - '+' shift 252 - '-' shift 253 - '!' shift 254 + ',' shift 418 + ')' shift 430 . error - simplename goto 34 - qualifiedname goto 35 - name goto 305 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 255 - unaryexpressionnotplusminus goto 256 - unaryexpression goto 395 - lambdaexpression goto 219 - preincrementexpression goto 271 - predecrementexpression goto 272 - postincrementexpression goto 273 - postdecrementexpression goto 274 - methodinvocation goto 277 - castexpression goto 278 - -state 342 - multiplicativeexpression : multiplicativeexpression '/' . unaryexpression (284) - - THIS shift 189 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 - IDENTIFIER shift 14 - INCREMENT shift 200 - DECREMENT shift 201 - '(' shift 251 - '+' shift 252 - '-' shift 253 - '!' shift 254 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 305 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 255 - unaryexpressionnotplusminus goto 256 - unaryexpression goto 396 - lambdaexpression goto 219 - preincrementexpression goto 271 - predecrementexpression goto 272 - postincrementexpression goto 273 - postdecrementexpression goto 274 - methodinvocation goto 277 - castexpression goto 278 - - -state 343 - multiplicativeexpression : multiplicativeexpression '%' . unaryexpression (285) - - THIS shift 189 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 - IDENTIFIER shift 14 - INCREMENT shift 200 - DECREMENT shift 201 - '(' shift 251 - '+' shift 252 - '-' shift 253 - '!' shift 254 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 305 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 255 - unaryexpressionnotplusminus goto 256 - unaryexpression goto 397 - lambdaexpression goto 219 - preincrementexpression goto 271 - predecrementexpression goto 272 - postincrementexpression goto 273 - postdecrementexpression goto 274 - methodinvocation goto 277 - castexpression goto 278 - - -state 344 - additiveexpression : additiveexpression '+' . multiplicativeexpression (280) - - THIS shift 189 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 - IDENTIFIER shift 14 - INCREMENT shift 200 - DECREMENT shift 201 - '(' shift 251 - '+' shift 252 - '-' shift 253 - '!' shift 254 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 305 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 255 - unaryexpressionnotplusminus goto 256 - unaryexpression goto 257 - multiplicativeexpression goto 398 - lambdaexpression goto 219 - preincrementexpression goto 271 - predecrementexpression goto 272 - postincrementexpression goto 273 - postdecrementexpression goto 274 - methodinvocation goto 277 - castexpression goto 278 - - -state 345 - additiveexpression : additiveexpression '-' . multiplicativeexpression (281) - - THIS shift 189 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 - IDENTIFIER shift 14 - INCREMENT shift 200 - DECREMENT shift 201 - '(' shift 251 - '+' shift 252 - '-' shift 253 - '!' shift 254 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 305 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 255 - unaryexpressionnotplusminus goto 256 - unaryexpression goto 257 - multiplicativeexpression goto 399 - lambdaexpression goto 219 - preincrementexpression goto 271 - predecrementexpression goto 272 - postincrementexpression goto 273 - postdecrementexpression goto 274 - methodinvocation goto 277 - castexpression goto 278 - - -state 346 - relationalexpression : relationalexpression INSTANCEOF . referencetype (277) - - IDENTIFIER shift 14 - . error - - simplename goto 18 - classorinterfacetype goto 21 - referencetype goto 400 - - -state 347 - relationalexpression : relationalexpression LESSEQUAL . shiftexpression (275) - - THIS shift 189 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 - IDENTIFIER shift 14 - INCREMENT shift 200 - DECREMENT shift 201 - '(' shift 251 - '+' shift 252 - '-' shift 253 - '!' shift 254 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 305 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 255 - unaryexpressionnotplusminus goto 256 - unaryexpression goto 257 - multiplicativeexpression goto 258 - additiveexpression goto 259 - shiftexpression goto 401 - lambdaexpression goto 219 - preincrementexpression goto 271 - predecrementexpression goto 272 - postincrementexpression goto 273 - postdecrementexpression goto 274 - methodinvocation goto 277 - castexpression goto 278 - - -state 348 - relationalexpression : relationalexpression GREATEREQUAL . shiftexpression (276) - - THIS shift 189 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 - IDENTIFIER shift 14 - INCREMENT shift 200 - DECREMENT shift 201 - '(' shift 251 - '+' shift 252 - '-' shift 253 - '!' shift 254 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 305 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 255 - unaryexpressionnotplusminus goto 256 - unaryexpression goto 257 - multiplicativeexpression goto 258 - additiveexpression goto 259 - shiftexpression goto 402 - lambdaexpression goto 219 - preincrementexpression goto 271 - predecrementexpression goto 272 - postincrementexpression goto 273 - postdecrementexpression goto 274 - methodinvocation goto 277 - castexpression goto 278 - - -state 349 - relationalexpression : relationalexpression '<' . shiftexpression (273) - - THIS shift 189 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 - IDENTIFIER shift 14 - INCREMENT shift 200 - DECREMENT shift 201 - '(' shift 251 - '+' shift 252 - '-' shift 253 - '!' shift 254 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 305 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 255 - unaryexpressionnotplusminus goto 256 - unaryexpression goto 257 - multiplicativeexpression goto 258 - additiveexpression goto 259 - shiftexpression goto 403 - lambdaexpression goto 219 - preincrementexpression goto 271 - predecrementexpression goto 272 - postincrementexpression goto 273 - postdecrementexpression goto 274 - methodinvocation goto 277 - castexpression goto 278 - - -state 350 - relationalexpression : relationalexpression '>' . shiftexpression (274) - - THIS shift 189 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 - IDENTIFIER shift 14 - INCREMENT shift 200 - DECREMENT shift 201 - '(' shift 251 - '+' shift 252 - '-' shift 253 - '!' shift 254 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 305 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 255 - unaryexpressionnotplusminus goto 256 - unaryexpression goto 257 - multiplicativeexpression goto 258 - additiveexpression goto 259 - shiftexpression goto 404 - lambdaexpression goto 219 - preincrementexpression goto 271 - predecrementexpression goto 272 - postincrementexpression goto 273 - postdecrementexpression goto 274 - methodinvocation goto 277 - castexpression goto 278 - - -state 351 - equalityexpression : equalityexpression EQUAL . relationalexpression (270) - - THIS shift 189 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 - IDENTIFIER shift 14 - INCREMENT shift 200 - DECREMENT shift 201 - '(' shift 251 - '+' shift 252 - '-' shift 253 - '!' shift 254 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 305 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 255 - unaryexpressionnotplusminus goto 256 - unaryexpression goto 257 - multiplicativeexpression goto 258 - additiveexpression goto 259 - shiftexpression goto 260 - relationalexpression goto 405 - lambdaexpression goto 219 - preincrementexpression goto 271 - predecrementexpression goto 272 - postincrementexpression goto 273 - postdecrementexpression goto 274 - methodinvocation goto 277 - castexpression goto 278 - - -state 352 - equalityexpression : equalityexpression NOTEQUAL . relationalexpression (271) - - THIS shift 189 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 - IDENTIFIER shift 14 - INCREMENT shift 200 - DECREMENT shift 201 - '(' shift 251 - '+' shift 252 - '-' shift 253 - '!' shift 254 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 305 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 255 - unaryexpressionnotplusminus goto 256 - unaryexpression goto 257 - multiplicativeexpression goto 258 - additiveexpression goto 259 - shiftexpression goto 260 - relationalexpression goto 406 - lambdaexpression goto 219 - preincrementexpression goto 271 - predecrementexpression goto 272 - postincrementexpression goto 273 - postdecrementexpression goto 274 - methodinvocation goto 277 - castexpression goto 278 - - -state 353 - andexpression : andexpression '&' . equalityexpression (268) - - THIS shift 189 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 - IDENTIFIER shift 14 - INCREMENT shift 200 - DECREMENT shift 201 - '(' shift 251 - '+' shift 252 - '-' shift 253 - '!' shift 254 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 305 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 255 - unaryexpressionnotplusminus goto 256 - unaryexpression goto 257 - multiplicativeexpression goto 258 - additiveexpression goto 259 - shiftexpression goto 260 - relationalexpression goto 261 - equalityexpression goto 407 - lambdaexpression goto 219 - preincrementexpression goto 271 - predecrementexpression goto 272 - postincrementexpression goto 273 - postdecrementexpression goto 274 - methodinvocation goto 277 - castexpression goto 278 - - -state 354 - exclusiveorexpression : exclusiveorexpression '^' . andexpression (257) - - THIS shift 189 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 - IDENTIFIER shift 14 - INCREMENT shift 200 - DECREMENT shift 201 - '(' shift 251 - '+' shift 252 - '-' shift 253 - '!' shift 254 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 305 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 255 - unaryexpressionnotplusminus goto 256 - unaryexpression goto 257 - multiplicativeexpression goto 258 - additiveexpression goto 259 - shiftexpression goto 260 - relationalexpression goto 261 - equalityexpression goto 262 - andexpression goto 408 - lambdaexpression goto 219 - preincrementexpression goto 271 - predecrementexpression goto 272 - postincrementexpression goto 273 - postdecrementexpression goto 274 - methodinvocation goto 277 - castexpression goto 278 - - -state 355 - inclusiveorexpression : inclusiveorexpression '|' . exclusiveorexpression (248) - - THIS shift 189 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 - IDENTIFIER shift 14 - INCREMENT shift 200 - DECREMENT shift 201 - '(' shift 251 - '+' shift 252 - '-' shift 253 - '!' shift 254 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 305 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 255 - unaryexpressionnotplusminus goto 256 - unaryexpression goto 257 - multiplicativeexpression goto 258 - additiveexpression goto 259 - shiftexpression goto 260 - relationalexpression goto 261 - equalityexpression goto 262 - andexpression goto 263 - exclusiveorexpression goto 409 - lambdaexpression goto 219 - preincrementexpression goto 271 - predecrementexpression goto 272 - postincrementexpression goto 273 - postdecrementexpression goto 274 - methodinvocation goto 277 - castexpression goto 278 - - -state 356 - conditionalandexpression : conditionalandexpression LOGICALAND . inclusiveorexpression (236) - - THIS shift 189 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 - IDENTIFIER shift 14 - INCREMENT shift 200 - DECREMENT shift 201 - '(' shift 251 - '+' shift 252 - '-' shift 253 - '!' shift 254 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 305 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 255 - unaryexpressionnotplusminus goto 256 - unaryexpression goto 257 - multiplicativeexpression goto 258 - additiveexpression goto 259 - shiftexpression goto 260 - relationalexpression goto 261 - equalityexpression goto 262 - andexpression goto 263 - exclusiveorexpression goto 264 - inclusiveorexpression goto 410 - lambdaexpression goto 219 - preincrementexpression goto 271 - predecrementexpression goto 272 - postincrementexpression goto 273 - postdecrementexpression goto 274 - methodinvocation goto 277 - castexpression goto 278 - - -state 357 - conditionalorexpression : conditionalorexpression LOGICALOR . conditionalandexpression (211) - - THIS shift 189 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 - IDENTIFIER shift 14 - INCREMENT shift 200 - DECREMENT shift 201 - '(' shift 251 - '+' shift 252 - '-' shift 253 - '!' shift 254 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 305 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 255 - unaryexpressionnotplusminus goto 256 - unaryexpression goto 257 - multiplicativeexpression goto 258 - additiveexpression goto 259 - shiftexpression goto 260 - relationalexpression goto 261 - equalityexpression goto 262 - andexpression goto 263 - exclusiveorexpression goto 264 - inclusiveorexpression goto 265 - conditionalandexpression goto 411 - lambdaexpression goto 219 - preincrementexpression goto 271 - predecrementexpression goto 272 - postincrementexpression goto 273 - postdecrementexpression goto 274 - methodinvocation goto 277 - castexpression goto 278 - - -state 358 - constructordeclarator : simplename '(' formalparameterlist ')' . (97) - - . reduce 97 - - -state 359 - fielddeclarator : type variabledeclarator '=' expression . (85) - fielddeclarator : variabledeclarator '=' expression . (86) - - ABSTRACT reduce 86 - BOOLEAN reduce 86 - CHAR reduce 86 - FINAL reduce 86 - INT reduce 86 - PRIVATE reduce 86 - PROTECTED reduce 86 - PUBLIC reduce 86 - STATIC reduce 86 - VOID reduce 86 - IDENTIFIER reduce 86 - ';' reduce 85 - '<' reduce 86 - '}' reduce 86 - - -state 360 - fielddeclarator : type variabledeclarator '=' . expression (85) - - NEW shift 250 - THIS shift 189 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 - IDENTIFIER shift 14 - INCREMENT shift 200 - DECREMENT shift 201 - '(' shift 251 - '+' shift 252 - '-' shift 253 - '!' shift 254 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 208 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 255 - unaryexpressionnotplusminus goto 256 - unaryexpression goto 257 - multiplicativeexpression goto 258 - additiveexpression goto 259 - shiftexpression goto 260 - relationalexpression goto 261 - equalityexpression goto 262 - andexpression goto 263 - exclusiveorexpression goto 264 - inclusiveorexpression goto 265 - conditionalandexpression goto 266 - conditionalorexpression goto 267 - conditionalexpression goto 268 - assignmentexpression goto 269 - lambdaexpression goto 219 - expression goto 412 - preincrementexpression goto 271 - predecrementexpression goto 272 - postincrementexpression goto 273 - postdecrementexpression goto 274 - classinstancecreationexpression goto 275 - assignment goto 276 - lefthandside goto 236 - methodinvocation goto 277 - castexpression goto 278 - - -state 361 - methodheader : modifiers VOID methoddeclarator throws . (123) - - . reduce 123 - - -state 362 - methodheader : modifiers '<' boundedMethodParameters '>' . type methoddeclarator (115) - methodheader : modifiers '<' boundedMethodParameters '>' . type methoddeclarator throws (119) - methodheader : modifiers '<' boundedMethodParameters '>' . VOID methoddeclarator (125) - methodheader : modifiers '<' boundedMethodParameters '>' . VOID methoddeclarator throws (127) - - BOOLEAN shift 2 - CHAR shift 3 - INT shift 6 - VOID shift 413 - IDENTIFIER shift 14 - . error - - simplename goto 18 - classorinterfacetype goto 21 - integraltype goto 22 - numerictype goto 23 - primitivetype goto 24 - referencetype goto 25 - type goto 414 - - -state 363 - methodheader : modifiers type methoddeclarator throws . (118) - - . reduce 118 - - -state 364 - fielddeclaration : modifiers type variabledeclarators ';' . (92) - - . reduce 92 - - -state 365 - explicitconstructorinvocation : THIS '(' . ')' ';' (144) - explicitconstructorinvocation : THIS '(' . argumentlist ')' ';' (145) - - NEW shift 250 - THIS shift 189 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 - IDENTIFIER shift 14 - INCREMENT shift 200 - DECREMENT shift 201 - '(' shift 251 - ')' shift 415 - '+' shift 252 - '-' shift 253 - '!' shift 254 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 208 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 255 - unaryexpressionnotplusminus goto 256 - unaryexpression goto 257 - multiplicativeexpression goto 258 - additiveexpression goto 259 - shiftexpression goto 260 - relationalexpression goto 261 - equalityexpression goto 262 - andexpression goto 263 - exclusiveorexpression goto 264 - inclusiveorexpression goto 265 - conditionalandexpression goto 266 - conditionalorexpression goto 267 - conditionalexpression goto 268 - assignmentexpression goto 269 - lambdaexpression goto 219 - expression goto 379 - preincrementexpression goto 271 - predecrementexpression goto 272 - postincrementexpression goto 273 - postdecrementexpression goto 274 - classinstancecreationexpression goto 275 - assignment goto 276 - lefthandside goto 236 - argumentlist goto 416 - methodinvocation goto 277 - castexpression goto 278 - - -state 366 - constructorbody : '{' blockstatements '}' . (100) +state 411 + constructorbody : '{' explicitconstructorinvocation blockstatements '}' . (100) . reduce 100 -state 367 - constructorbody : '{' explicitconstructorinvocation '}' . (99) - - . reduce 99 - - -state 368 - constructorbody : '{' explicitconstructorinvocation blockstatements . '}' (101) - blockstatements : blockstatements . blockstatement (141) - - BOOLEAN shift 2 - CHAR shift 3 - FOR shift 186 - IF shift 187 - INT shift 6 - RETURN shift 188 - THIS shift 189 - WHILE shift 190 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 - IDENTIFIER shift 199 - INCREMENT shift 200 - DECREMENT shift 201 - ';' shift 202 - '{' shift 139 - '}' shift 417 - '(' shift 204 - . error - - variabledeclarators goto 205 - variabledeclarator goto 206 - variabledeclaratorid goto 101 - simplename goto 207 - qualifiedname goto 35 - name goto 208 - classorinterfacetype goto 21 - integraltype goto 22 - numerictype goto 23 - primitivetype goto 24 - referencetype goto 25 - type goto 209 - block goto 210 - localvariabledeclarationstatement goto 212 - localvariabledeclaration goto 213 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 218 - lambdaexpression goto 219 - statementexpression goto 220 - preincrementexpression goto 221 - predecrementexpression goto 222 - postincrementexpression goto 223 - postdecrementexpression goto 224 - expressionstatement goto 225 - statementwithouttrailingsubstatement goto 226 - blockstatement goto 313 - statement goto 228 - whilestatement goto 229 - forstatement goto 230 - ifthenstatement goto 231 - ifthenelsestatement goto 232 - emptystatement goto 233 - returnstatement goto 234 - assignment goto 235 - lefthandside goto 236 - methodinvocation goto 237 - - -state 369 - methodheader : '<' boundedMethodParameters '>' type . methoddeclarator (112) - methodheader : '<' boundedMethodParameters '>' type . methoddeclarator throws (117) - - IDENTIFIER shift 141 - . error - - methoddeclarator goto 389 - - -state 370 - constantdeclaration : modifiers type IDENTIFIER '=' . expression ';' (83) - - NEW shift 250 - THIS shift 189 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 - IDENTIFIER shift 14 - INCREMENT shift 200 - DECREMENT shift 201 - '(' shift 251 - '+' shift 252 - '-' shift 253 - '!' shift 254 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 208 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 255 - unaryexpressionnotplusminus goto 256 - unaryexpression goto 257 - multiplicativeexpression goto 258 - additiveexpression goto 259 - shiftexpression goto 260 - relationalexpression goto 261 - equalityexpression goto 262 - andexpression goto 263 - exclusiveorexpression goto 264 - inclusiveorexpression goto 265 - conditionalandexpression goto 266 - conditionalorexpression goto 267 - conditionalexpression goto 268 - assignmentexpression goto 269 - lambdaexpression goto 219 - expression goto 418 - preincrementexpression goto 271 - predecrementexpression goto 272 - postincrementexpression goto 273 - postdecrementexpression goto 274 - classinstancecreationexpression goto 275 - assignment goto 276 - lefthandside goto 236 - methodinvocation goto 277 - castexpression goto 278 - - -state 371 - boundedclassidentifierlist : boundedclassidentifierlist '&' referencetype . (109) - - . reduce 109 - - -state 372 - forstatement : FOR '(' ';' . expression ';' expression ')' statement (185) - forstatement : FOR '(' ';' . expression ';' ')' statement (187) - forstatement : FOR '(' ';' . ';' expression ')' statement (188) - forstatement : FOR '(' ';' . ';' ')' statement (189) - - NEW shift 250 - THIS shift 189 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 - IDENTIFIER shift 14 - INCREMENT shift 200 - DECREMENT shift 201 - ';' shift 419 - '(' shift 251 - '+' shift 252 - '-' shift 253 - '!' shift 254 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 208 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 255 - unaryexpressionnotplusminus goto 256 - unaryexpression goto 257 - multiplicativeexpression goto 258 - additiveexpression goto 259 - shiftexpression goto 260 - relationalexpression goto 261 - equalityexpression goto 262 - andexpression goto 263 - exclusiveorexpression goto 264 - inclusiveorexpression goto 265 - conditionalandexpression goto 266 - conditionalorexpression goto 267 - conditionalexpression goto 268 - assignmentexpression goto 269 - lambdaexpression goto 219 - expression goto 420 - preincrementexpression goto 271 - predecrementexpression goto 272 - postincrementexpression goto 273 - postdecrementexpression goto 274 - classinstancecreationexpression goto 275 - assignment goto 276 - lefthandside goto 236 - methodinvocation goto 277 - castexpression goto 278 - - -state 373 - forstatement : FOR '(' expression . ';' expression ';' expression ')' statement (182) - forstatement : FOR '(' expression . ';' expression ';' ')' statement (183) - forstatement : FOR '(' expression . ';' ';' expression ')' statement (184) - forstatement : FOR '(' expression . ';' ';' ')' statement (186) - - ';' shift 421 - . error - - -state 374 - ifthenstatement : IF '(' expression . ')' statement (179) - ifthenelsestatement : IF '(' expression . ')' statementnoshortif ELSE statement (180) - - ')' shift 422 - . error - - -state 375 - returnstatement : RETURN expression ';' . (195) - - . reduce 195 - - -state 376 - whilestatement : WHILE '(' expression . ')' statement (181) - - ')' shift 423 - . error - - -state 377 - lambdaexpressionparameter : '(' formalparameterlist ')' . (216) - - . reduce 216 - - -state 378 - methodinvocation : name '(' ')' . (229) - - . reduce 229 - - -state 379 - argumentlist : expression . (158) - - . reduce 158 - - -state 380 - argumentlist : argumentlist . ',' expression (159) - methodinvocation : name '(' argumentlist . ')' (230) - - ',' shift 424 - ')' shift 425 - . error - - -state 381 - lambdabody : block . (213) - - . reduce 213 - - -state 382 - lambdaexpression : lambdaexpressionparameter lambdaassignmentoperator lambdabody . (217) - - . reduce 217 - - -state 383 - lambdabody : expression . (214) - - . reduce 214 - - -state 384 - methodinvocation : primary '.' IDENTIFIER . '(' ')' (231) - methodinvocation : primary '.' IDENTIFIER . '(' argumentlist ')' (232) - - '(' shift 426 - . error - - -state 385 - assignment : lefthandside assignmentoperator assignmentexpression . (200) - - . reduce 200 - - -state 386 - assignment : lefthandside assignmentoperator classinstancecreationexpression . (201) - - . reduce 201 - - -state 387 - formalparameterlist : formalparameterlist ',' formalparameter . (143) - - . reduce 143 - - -state 388 - methodheader : '<' boundedMethodParameters '>' VOID methoddeclarator . (124) - methodheader : '<' boundedMethodParameters '>' VOID methoddeclarator . throws (126) - - THROWS shift 148 - ';' reduce 124 - '{' reduce 124 - - throws goto 427 - - -state 389 - methodheader : '<' boundedMethodParameters '>' type methoddeclarator . (112) - methodheader : '<' boundedMethodParameters '>' type methoddeclarator . throws (117) - - THROWS shift 148 - ';' reduce 112 - '{' reduce 112 - - throws goto 428 - - -state 390 - fielddeclaration : '<' boundedMethodParameters '>' type fielddeclarator . (89) - - . reduce 89 - - -state 391 - fielddeclarator : variabledeclarator . '=' expression (86) - - '=' shift 155 - . error - - -state 392 - classtypelist : classtypelist ',' classtype . (147) - - . reduce 147 - - -state 393 - classinstancecreationexpression : NEW classtype '(' . ')' (233) - classinstancecreationexpression : NEW classtype '(' . argumentlist ')' (234) - - NEW shift 250 - THIS shift 189 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 - IDENTIFIER shift 14 - INCREMENT shift 200 - DECREMENT shift 201 - '(' shift 251 - ')' shift 429 - '+' shift 252 - '-' shift 253 - '!' shift 254 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 208 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 255 - unaryexpressionnotplusminus goto 256 - unaryexpression goto 257 - multiplicativeexpression goto 258 - additiveexpression goto 259 - shiftexpression goto 260 - relationalexpression goto 261 - equalityexpression goto 262 - andexpression goto 263 - exclusiveorexpression goto 264 - inclusiveorexpression goto 265 - conditionalandexpression goto 266 - conditionalorexpression goto 267 - conditionalexpression goto 268 - assignmentexpression goto 269 - lambdaexpression goto 219 - expression goto 379 - preincrementexpression goto 271 - predecrementexpression goto 272 - postincrementexpression goto 273 - postdecrementexpression goto 274 - classinstancecreationexpression goto 275 - assignment goto 276 - lefthandside goto 236 - argumentlist goto 430 - methodinvocation goto 277 - castexpression goto 278 - - -state 394 - castexpression : '(' primitivetype ')' . unaryexpression (266) - - THIS shift 189 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 - IDENTIFIER shift 14 - INCREMENT shift 200 - DECREMENT shift 201 - '(' shift 251 - '+' shift 252 - '-' shift 253 - '!' shift 254 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 305 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 255 - unaryexpressionnotplusminus goto 256 - unaryexpression goto 431 - lambdaexpression goto 219 - preincrementexpression goto 271 - predecrementexpression goto 272 - postincrementexpression goto 273 - postdecrementexpression goto 274 - methodinvocation goto 277 - castexpression goto 278 - - -state 395 - multiplicativeexpression : multiplicativeexpression '*' unaryexpression . (283) - - . reduce 283 - - -state 396 - multiplicativeexpression : multiplicativeexpression '/' unaryexpression . (284) - - . reduce 284 - - -state 397 - multiplicativeexpression : multiplicativeexpression '%' unaryexpression . (285) - - . reduce 285 - - -398: shift/reduce conflict (shift 341, reduce 280) on '*' -398: shift/reduce conflict (shift 342, reduce 280) on '/' -398: shift/reduce conflict (shift 343, reduce 280) on '%' -state 398 - additiveexpression : additiveexpression '+' multiplicativeexpression . (280) - multiplicativeexpression : multiplicativeexpression . '*' unaryexpression (283) - multiplicativeexpression : multiplicativeexpression . '/' unaryexpression (284) - multiplicativeexpression : multiplicativeexpression . '%' unaryexpression (285) - - '*' shift 341 - '/' shift 342 - '%' shift 343 - ABSTRACT reduce 280 - BOOLEAN reduce 280 - CHAR reduce 280 - FINAL reduce 280 - INSTANCEOF reduce 280 - INT reduce 280 - PRIVATE reduce 280 - PROTECTED reduce 280 - PUBLIC reduce 280 - STATIC reduce 280 - VOID reduce 280 - IDENTIFIER reduce 280 - EQUAL reduce 280 - LESSEQUAL reduce 280 - GREATEREQUAL reduce 280 - NOTEQUAL reduce 280 - LOGICALOR reduce 280 - LOGICALAND reduce 280 - INCREMENT reduce 280 - DECREMENT reduce 280 - ',' reduce 280 - ';' reduce 280 - '.' reduce 280 - '<' reduce 280 - '>' reduce 280 - '}' reduce 280 - ')' reduce 280 - '&' reduce 280 - '+' reduce 280 - '-' reduce 280 - '|' reduce 280 - '^' reduce 280 - - -399: shift/reduce conflict (shift 341, reduce 281) on '*' -399: shift/reduce conflict (shift 342, reduce 281) on '/' -399: shift/reduce conflict (shift 343, reduce 281) on '%' -state 399 - additiveexpression : additiveexpression '-' multiplicativeexpression . (281) - multiplicativeexpression : multiplicativeexpression . '*' unaryexpression (283) - multiplicativeexpression : multiplicativeexpression . '/' unaryexpression (284) - multiplicativeexpression : multiplicativeexpression . '%' unaryexpression (285) - - '*' shift 341 - '/' shift 342 - '%' shift 343 - ABSTRACT reduce 281 - BOOLEAN reduce 281 - CHAR reduce 281 - FINAL reduce 281 - INSTANCEOF reduce 281 - INT reduce 281 - PRIVATE reduce 281 - PROTECTED reduce 281 - PUBLIC reduce 281 - STATIC reduce 281 - VOID reduce 281 - IDENTIFIER reduce 281 - EQUAL reduce 281 - LESSEQUAL reduce 281 - GREATEREQUAL reduce 281 - NOTEQUAL reduce 281 - LOGICALOR reduce 281 - LOGICALAND reduce 281 - INCREMENT reduce 281 - DECREMENT reduce 281 - ',' reduce 281 - ';' reduce 281 - '.' reduce 281 - '<' reduce 281 - '>' reduce 281 - '}' reduce 281 - ')' reduce 281 - '&' reduce 281 - '+' reduce 281 - '-' reduce 281 - '|' reduce 281 - '^' reduce 281 - - -state 400 - relationalexpression : relationalexpression INSTANCEOF referencetype . (277) - - . reduce 277 - - -state 401 - relationalexpression : relationalexpression LESSEQUAL shiftexpression . (275) - - . reduce 275 - - -state 402 - relationalexpression : relationalexpression GREATEREQUAL shiftexpression . (276) - - . reduce 276 - - -state 403 - relationalexpression : relationalexpression '<' shiftexpression . (273) - - . reduce 273 - - -state 404 - relationalexpression : relationalexpression '>' shiftexpression . (274) - - . reduce 274 - - -405: shift/reduce conflict (shift 346, reduce 270) on INSTANCEOF -405: shift/reduce conflict (shift 347, reduce 270) on LESSEQUAL -405: shift/reduce conflict (shift 348, reduce 270) on GREATEREQUAL -405: shift/reduce conflict (shift 349, reduce 270) on '<' -405: shift/reduce conflict (shift 350, reduce 270) on '>' -state 405 - equalityexpression : equalityexpression EQUAL relationalexpression . (270) - relationalexpression : relationalexpression . '<' shiftexpression (273) - relationalexpression : relationalexpression . '>' shiftexpression (274) - relationalexpression : relationalexpression . LESSEQUAL shiftexpression (275) - relationalexpression : relationalexpression . GREATEREQUAL shiftexpression (276) - relationalexpression : relationalexpression . INSTANCEOF referencetype (277) - - INSTANCEOF shift 346 - LESSEQUAL shift 347 - GREATEREQUAL shift 348 - '<' shift 349 - '>' shift 350 - ABSTRACT reduce 270 - BOOLEAN reduce 270 - CHAR reduce 270 - FINAL reduce 270 - INT reduce 270 - PRIVATE reduce 270 - PROTECTED reduce 270 - PUBLIC reduce 270 - STATIC reduce 270 - VOID reduce 270 - IDENTIFIER reduce 270 - EQUAL reduce 270 - NOTEQUAL reduce 270 - LOGICALOR reduce 270 - LOGICALAND reduce 270 - INCREMENT reduce 270 - DECREMENT reduce 270 - ',' reduce 270 - ';' reduce 270 - '.' reduce 270 - '*' reduce 270 - '}' reduce 270 - ')' reduce 270 - '&' reduce 270 - '+' reduce 270 - '-' reduce 270 - '|' reduce 270 - '^' reduce 270 - '/' reduce 270 - '%' reduce 270 - - -406: shift/reduce conflict (shift 346, reduce 271) on INSTANCEOF -406: shift/reduce conflict (shift 347, reduce 271) on LESSEQUAL -406: shift/reduce conflict (shift 348, reduce 271) on GREATEREQUAL -406: shift/reduce conflict (shift 349, reduce 271) on '<' -406: shift/reduce conflict (shift 350, reduce 271) on '>' -state 406 - equalityexpression : equalityexpression NOTEQUAL relationalexpression . (271) - relationalexpression : relationalexpression . '<' shiftexpression (273) - relationalexpression : relationalexpression . '>' shiftexpression (274) - relationalexpression : relationalexpression . LESSEQUAL shiftexpression (275) - relationalexpression : relationalexpression . GREATEREQUAL shiftexpression (276) - relationalexpression : relationalexpression . INSTANCEOF referencetype (277) - - INSTANCEOF shift 346 - LESSEQUAL shift 347 - GREATEREQUAL shift 348 - '<' shift 349 - '>' shift 350 - ABSTRACT reduce 271 - BOOLEAN reduce 271 - CHAR reduce 271 - FINAL reduce 271 - INT reduce 271 - PRIVATE reduce 271 - PROTECTED reduce 271 - PUBLIC reduce 271 - STATIC reduce 271 - VOID reduce 271 - IDENTIFIER reduce 271 - EQUAL reduce 271 - NOTEQUAL reduce 271 - LOGICALOR reduce 271 - LOGICALAND reduce 271 - INCREMENT reduce 271 - DECREMENT reduce 271 - ',' reduce 271 - ';' reduce 271 - '.' reduce 271 - '*' reduce 271 - '}' reduce 271 - ')' reduce 271 - '&' reduce 271 - '+' reduce 271 - '-' reduce 271 - '|' reduce 271 - '^' reduce 271 - '/' reduce 271 - '%' reduce 271 - - -407: shift/reduce conflict (shift 351, reduce 268) on EQUAL -407: shift/reduce conflict (shift 352, reduce 268) on NOTEQUAL -state 407 - andexpression : andexpression '&' equalityexpression . (268) - equalityexpression : equalityexpression . EQUAL relationalexpression (270) - equalityexpression : equalityexpression . NOTEQUAL relationalexpression (271) - - EQUAL shift 351 - NOTEQUAL shift 352 - ABSTRACT reduce 268 - BOOLEAN reduce 268 - CHAR reduce 268 - FINAL reduce 268 - INSTANCEOF reduce 268 - INT reduce 268 - PRIVATE reduce 268 - PROTECTED reduce 268 - PUBLIC reduce 268 - STATIC reduce 268 - VOID reduce 268 - IDENTIFIER reduce 268 - LESSEQUAL reduce 268 - GREATEREQUAL reduce 268 - LOGICALOR reduce 268 - LOGICALAND reduce 268 - INCREMENT reduce 268 - DECREMENT reduce 268 - ',' reduce 268 - ';' reduce 268 - '.' reduce 268 - '*' reduce 268 - '<' reduce 268 - '>' reduce 268 - '}' reduce 268 - ')' reduce 268 - '&' reduce 268 - '+' reduce 268 - '-' reduce 268 - '|' reduce 268 - '^' reduce 268 - '/' reduce 268 - '%' reduce 268 - - -408: shift/reduce conflict (shift 353, reduce 257) on '&' -state 408 - exclusiveorexpression : exclusiveorexpression '^' andexpression . (257) - andexpression : andexpression . '&' equalityexpression (268) - - '&' shift 353 - ABSTRACT reduce 257 - BOOLEAN reduce 257 - CHAR reduce 257 - FINAL reduce 257 - INSTANCEOF reduce 257 - INT reduce 257 - PRIVATE reduce 257 - PROTECTED reduce 257 - PUBLIC reduce 257 - STATIC reduce 257 - VOID reduce 257 - IDENTIFIER reduce 257 - EQUAL reduce 257 - LESSEQUAL reduce 257 - GREATEREQUAL reduce 257 - NOTEQUAL reduce 257 - LOGICALOR reduce 257 - LOGICALAND reduce 257 - INCREMENT reduce 257 - DECREMENT reduce 257 - ',' reduce 257 - ';' reduce 257 - '.' reduce 257 - '*' reduce 257 - '<' reduce 257 - '>' reduce 257 - '}' reduce 257 - ')' reduce 257 - '+' reduce 257 - '-' reduce 257 - '|' reduce 257 - '^' reduce 257 - '/' reduce 257 - '%' reduce 257 - - -409: shift/reduce conflict (shift 354, reduce 248) on '^' -state 409 - inclusiveorexpression : inclusiveorexpression '|' exclusiveorexpression . (248) - exclusiveorexpression : exclusiveorexpression . '^' andexpression (257) - - '^' shift 354 - ABSTRACT reduce 248 - BOOLEAN reduce 248 - CHAR reduce 248 - FINAL reduce 248 - INSTANCEOF reduce 248 - INT reduce 248 - PRIVATE reduce 248 - PROTECTED reduce 248 - PUBLIC reduce 248 - STATIC reduce 248 - VOID reduce 248 - IDENTIFIER reduce 248 - EQUAL reduce 248 - LESSEQUAL reduce 248 - GREATEREQUAL reduce 248 - NOTEQUAL reduce 248 - LOGICALOR reduce 248 - LOGICALAND reduce 248 - INCREMENT reduce 248 - DECREMENT reduce 248 - ',' reduce 248 - ';' reduce 248 - '.' reduce 248 - '*' reduce 248 - '<' reduce 248 - '>' reduce 248 - '}' reduce 248 - ')' reduce 248 - '&' reduce 248 - '+' reduce 248 - '-' reduce 248 - '|' reduce 248 - '/' reduce 248 - '%' reduce 248 - - -410: shift/reduce conflict (shift 355, reduce 236) on '|' -state 410 - conditionalandexpression : conditionalandexpression LOGICALAND inclusiveorexpression . (236) - inclusiveorexpression : inclusiveorexpression . '|' exclusiveorexpression (248) - - '|' shift 355 - ABSTRACT reduce 236 - BOOLEAN reduce 236 - CHAR reduce 236 - FINAL reduce 236 - INSTANCEOF reduce 236 - INT reduce 236 - PRIVATE reduce 236 - PROTECTED reduce 236 - PUBLIC reduce 236 - STATIC reduce 236 - VOID reduce 236 - IDENTIFIER reduce 236 - EQUAL reduce 236 - LESSEQUAL reduce 236 - GREATEREQUAL reduce 236 - NOTEQUAL reduce 236 - LOGICALOR reduce 236 - LOGICALAND reduce 236 - INCREMENT reduce 236 - DECREMENT reduce 236 - ',' reduce 236 - ';' reduce 236 - '.' reduce 236 - '*' reduce 236 - '<' reduce 236 - '>' reduce 236 - '}' reduce 236 - ')' reduce 236 - '&' reduce 236 - '+' reduce 236 - '-' reduce 236 - '^' reduce 236 - '/' reduce 236 - '%' reduce 236 - - -411: shift/reduce conflict (shift 356, reduce 211) on LOGICALAND -state 411 - conditionalorexpression : conditionalorexpression LOGICALOR conditionalandexpression . (211) - conditionalandexpression : conditionalandexpression . LOGICALAND inclusiveorexpression (236) - - LOGICALAND shift 356 - ABSTRACT reduce 211 - BOOLEAN reduce 211 - CHAR reduce 211 - FINAL reduce 211 - INSTANCEOF reduce 211 - INT reduce 211 - PRIVATE reduce 211 - PROTECTED reduce 211 - PUBLIC reduce 211 - STATIC reduce 211 - VOID reduce 211 - IDENTIFIER reduce 211 - EQUAL reduce 211 - LESSEQUAL reduce 211 - GREATEREQUAL reduce 211 - NOTEQUAL reduce 211 - LOGICALOR reduce 211 - INCREMENT reduce 211 - DECREMENT reduce 211 - ',' reduce 211 - ';' reduce 211 - '.' reduce 211 - '*' reduce 211 - '<' reduce 211 - '>' reduce 211 - '}' reduce 211 - ')' reduce 211 - '&' reduce 211 - '+' reduce 211 - '-' reduce 211 - '|' reduce 211 - '^' reduce 211 - '/' reduce 211 - '%' reduce 211 - - state 412 - fielddeclarator : type variabledeclarator '=' expression . (85) + constantdeclaration : modifiers type IDENTIFIER '=' expression . ';' (83) - . reduce 85 + ';' shift 431 + . error state 413 - methodheader : modifiers '<' boundedMethodParameters '>' VOID . methoddeclarator (125) - methodheader : modifiers '<' boundedMethodParameters '>' VOID . methoddeclarator throws (127) + forstatement : FOR '(' ';' ';' . expression ')' statement (187) + forstatement : FOR '(' ';' ';' . ')' statement (188) - IDENTIFIER shift 141 + NEW shift 249 + THIS shift 188 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 + IDENTIFIER shift 14 + INCREMENT shift 199 + DECREMENT shift 200 + '(' shift 250 + ')' shift 432 + '+' shift 251 + '-' shift 252 + '!' shift 253 . error - methoddeclarator goto 432 + simplename goto 34 + qualifiedname goto 35 + name goto 207 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 254 + unaryexpressionnotplusminus goto 255 + unaryexpression goto 256 + multiplicativeexpression goto 257 + additiveexpression goto 258 + shiftexpression goto 259 + relationalexpression goto 260 + equalityexpression goto 261 + andexpression goto 262 + exclusiveorexpression goto 263 + inclusiveorexpression goto 264 + conditionalandexpression goto 265 + conditionalorexpression goto 266 + conditionalexpression goto 267 + assignmentexpression goto 268 + lambdaexpression goto 218 + expression goto 433 + preincrementexpression goto 270 + predecrementexpression goto 271 + postincrementexpression goto 272 + postdecrementexpression goto 273 + classinstancecreationexpression goto 274 + assignment goto 275 + lefthandside goto 235 + methodinvocation goto 276 + castexpression goto 277 state 414 - methodheader : modifiers '<' boundedMethodParameters '>' type . methoddeclarator (115) - methodheader : modifiers '<' boundedMethodParameters '>' type . methoddeclarator throws (119) - - IDENTIFIER shift 141 - . error - - methoddeclarator goto 433 - - -state 415 - explicitconstructorinvocation : THIS '(' ')' . ';' (144) + forstatement : FOR '(' ';' expression . ';' expression ')' statement (184) + forstatement : FOR '(' ';' expression . ';' ')' statement (186) ';' shift 434 . error -state 416 - explicitconstructorinvocation : THIS '(' argumentlist . ')' ';' (145) - argumentlist : argumentlist . ',' expression (159) +state 415 + forstatement : FOR '(' expression ';' . expression ';' expression ')' statement (181) + forstatement : FOR '(' expression ';' . expression ';' ')' statement (182) + forstatement : FOR '(' expression ';' . ';' expression ')' statement (183) + forstatement : FOR '(' expression ';' . ';' ')' statement (185) - ',' shift 424 - ')' shift 435 + NEW shift 249 + THIS shift 188 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 + IDENTIFIER shift 14 + INCREMENT shift 199 + DECREMENT shift 200 + ';' shift 435 + '(' shift 250 + '+' shift 251 + '-' shift 252 + '!' shift 253 . error + simplename goto 34 + qualifiedname goto 35 + name goto 207 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 254 + unaryexpressionnotplusminus goto 255 + unaryexpression goto 256 + multiplicativeexpression goto 257 + additiveexpression goto 258 + shiftexpression goto 259 + relationalexpression goto 260 + equalityexpression goto 261 + andexpression goto 262 + exclusiveorexpression goto 263 + inclusiveorexpression goto 264 + conditionalandexpression goto 265 + conditionalorexpression goto 266 + conditionalexpression goto 267 + assignmentexpression goto 268 + lambdaexpression goto 218 + expression goto 436 + preincrementexpression goto 270 + predecrementexpression goto 271 + postincrementexpression goto 272 + postdecrementexpression goto 273 + classinstancecreationexpression goto 274 + assignment goto 275 + lefthandside goto 235 + methodinvocation goto 276 + castexpression goto 277 + + +state 416 + ifthenstatement : IF '(' expression ')' . statement (178) + ifthenelsestatement : IF '(' expression ')' . statementnoshortif ELSE statement (179) + + FOR shift 185 + IF shift 437 + RETURN shift 187 + THIS shift 188 + WHILE shift 438 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 + IDENTIFIER shift 14 + INCREMENT shift 199 + DECREMENT shift 200 + ';' shift 201 + '{' shift 139 + '(' shift 203 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 207 + block goto 209 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 217 + lambdaexpression goto 218 + statementexpression goto 219 + preincrementexpression goto 220 + predecrementexpression goto 221 + postincrementexpression goto 222 + postdecrementexpression goto 223 + expressionstatement goto 224 + statementwithouttrailingsubstatement goto 439 + statement goto 440 + statementnoshortif goto 441 + whilestatement goto 228 + forstatement goto 229 + whilestatementnoshortif goto 442 + ifthenstatement goto 230 + ifthenelsestatement goto 231 + ifthenelsestatementnoshortif goto 443 + emptystatement goto 232 + returnstatement goto 233 + assignment goto 234 + lefthandside goto 235 + methodinvocation goto 236 + state 417 - constructorbody : '{' explicitconstructorinvocation blockstatements '}' . (101) + whilestatement : WHILE '(' expression ')' . statement (180) - . reduce 101 + FOR shift 185 + IF shift 186 + RETURN shift 187 + THIS shift 188 + WHILE shift 189 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 + IDENTIFIER shift 14 + INCREMENT shift 199 + DECREMENT shift 200 + ';' shift 201 + '{' shift 139 + '(' shift 203 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 207 + block goto 209 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 217 + lambdaexpression goto 218 + statementexpression goto 219 + preincrementexpression goto 220 + predecrementexpression goto 221 + postincrementexpression goto 222 + postdecrementexpression goto 223 + expressionstatement goto 224 + statementwithouttrailingsubstatement goto 225 + statement goto 444 + whilestatement goto 228 + forstatement goto 229 + ifthenstatement goto 230 + ifthenelsestatement goto 231 + emptystatement goto 232 + returnstatement goto 233 + assignment goto 234 + lefthandside goto 235 + methodinvocation goto 236 state 418 - constantdeclaration : modifiers type IDENTIFIER '=' expression . ';' (83) + argumentlist : argumentlist ',' . expression (158) - ';' shift 436 + NEW shift 249 + THIS shift 188 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 + IDENTIFIER shift 14 + INCREMENT shift 199 + DECREMENT shift 200 + '(' shift 250 + '+' shift 251 + '-' shift 252 + '!' shift 253 . error + simplename goto 34 + qualifiedname goto 35 + name goto 207 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 254 + unaryexpressionnotplusminus goto 255 + unaryexpression goto 256 + multiplicativeexpression goto 257 + additiveexpression goto 258 + shiftexpression goto 259 + relationalexpression goto 260 + equalityexpression goto 261 + andexpression goto 262 + exclusiveorexpression goto 263 + inclusiveorexpression goto 264 + conditionalandexpression goto 265 + conditionalorexpression goto 266 + conditionalexpression goto 267 + assignmentexpression goto 268 + lambdaexpression goto 218 + expression goto 445 + preincrementexpression goto 270 + predecrementexpression goto 271 + postincrementexpression goto 272 + postdecrementexpression goto 273 + classinstancecreationexpression goto 274 + assignment goto 275 + lefthandside goto 235 + methodinvocation goto 276 + castexpression goto 277 + state 419 - forstatement : FOR '(' ';' ';' . expression ')' statement (188) - forstatement : FOR '(' ';' ';' . ')' statement (189) + methodinvocation : name '(' argumentlist ')' . (229) - NEW shift 250 - THIS shift 189 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 - IDENTIFIER shift 14 - INCREMENT shift 200 - DECREMENT shift 201 - '(' shift 251 - ')' shift 437 - '+' shift 252 - '-' shift 253 - '!' shift 254 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 208 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 255 - unaryexpressionnotplusminus goto 256 - unaryexpression goto 257 - multiplicativeexpression goto 258 - additiveexpression goto 259 - shiftexpression goto 260 - relationalexpression goto 261 - equalityexpression goto 262 - andexpression goto 263 - exclusiveorexpression goto 264 - inclusiveorexpression goto 265 - conditionalandexpression goto 266 - conditionalorexpression goto 267 - conditionalexpression goto 268 - assignmentexpression goto 269 - lambdaexpression goto 219 - expression goto 438 - preincrementexpression goto 271 - predecrementexpression goto 272 - postincrementexpression goto 273 - postdecrementexpression goto 274 - classinstancecreationexpression goto 275 - assignment goto 276 - lefthandside goto 236 - methodinvocation goto 277 - castexpression goto 278 + . reduce 229 state 420 - forstatement : FOR '(' ';' expression . ';' expression ')' statement (185) - forstatement : FOR '(' ';' expression . ';' ')' statement (187) + methodinvocation : primary '.' IDENTIFIER '(' . ')' (230) + methodinvocation : primary '.' IDENTIFIER '(' . argumentlist ')' (231) - ';' shift 439 + NEW shift 249 + THIS shift 188 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 + IDENTIFIER shift 14 + INCREMENT shift 199 + DECREMENT shift 200 + '(' shift 250 + ')' shift 446 + '+' shift 251 + '-' shift 252 + '!' shift 253 . error + simplename goto 34 + qualifiedname goto 35 + name goto 207 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 254 + unaryexpressionnotplusminus goto 255 + unaryexpression goto 256 + multiplicativeexpression goto 257 + additiveexpression goto 258 + shiftexpression goto 259 + relationalexpression goto 260 + equalityexpression goto 261 + andexpression goto 262 + exclusiveorexpression goto 263 + inclusiveorexpression goto 264 + conditionalandexpression goto 265 + conditionalorexpression goto 266 + conditionalexpression goto 267 + assignmentexpression goto 268 + lambdaexpression goto 218 + expression goto 374 + preincrementexpression goto 270 + predecrementexpression goto 271 + postincrementexpression goto 272 + postdecrementexpression goto 273 + classinstancecreationexpression goto 274 + assignment goto 275 + lefthandside goto 235 + argumentlist goto 447 + methodinvocation goto 276 + castexpression goto 277 + state 421 - forstatement : FOR '(' expression ';' . expression ';' expression ')' statement (182) - forstatement : FOR '(' expression ';' . expression ';' ')' statement (183) - forstatement : FOR '(' expression ';' . ';' expression ')' statement (184) - forstatement : FOR '(' expression ';' . ';' ')' statement (186) + methodheader : '<' boundedMethodParameters '>' VOID methoddeclarator throws . (125) - NEW shift 250 - THIS shift 189 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 - IDENTIFIER shift 14 - INCREMENT shift 200 - DECREMENT shift 201 - ';' shift 440 - '(' shift 251 - '+' shift 252 - '-' shift 253 - '!' shift 254 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 208 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 255 - unaryexpressionnotplusminus goto 256 - unaryexpression goto 257 - multiplicativeexpression goto 258 - additiveexpression goto 259 - shiftexpression goto 260 - relationalexpression goto 261 - equalityexpression goto 262 - andexpression goto 263 - exclusiveorexpression goto 264 - inclusiveorexpression goto 265 - conditionalandexpression goto 266 - conditionalorexpression goto 267 - conditionalexpression goto 268 - assignmentexpression goto 269 - lambdaexpression goto 219 - expression goto 441 - preincrementexpression goto 271 - predecrementexpression goto 272 - postincrementexpression goto 273 - postdecrementexpression goto 274 - classinstancecreationexpression goto 275 - assignment goto 276 - lefthandside goto 236 - methodinvocation goto 277 - castexpression goto 278 + . reduce 125 state 422 - ifthenstatement : IF '(' expression ')' . statement (179) - ifthenelsestatement : IF '(' expression ')' . statementnoshortif ELSE statement (180) + methodheader : '<' boundedMethodParameters '>' type methoddeclarator throws . (116) - FOR shift 186 - IF shift 442 - RETURN shift 188 - THIS shift 189 - WHILE shift 443 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 - IDENTIFIER shift 14 - INCREMENT shift 200 - DECREMENT shift 201 - ';' shift 202 - '{' shift 139 - '(' shift 204 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 208 - block goto 210 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 218 - lambdaexpression goto 219 - statementexpression goto 220 - preincrementexpression goto 221 - predecrementexpression goto 222 - postincrementexpression goto 223 - postdecrementexpression goto 224 - expressionstatement goto 225 - statementwithouttrailingsubstatement goto 444 - statement goto 445 - statementnoshortif goto 446 - whilestatement goto 229 - forstatement goto 230 - whilestatementnoshortif goto 447 - ifthenstatement goto 231 - ifthenelsestatement goto 232 - ifthenelsestatementnoshortif goto 448 - emptystatement goto 233 - returnstatement goto 234 - assignment goto 235 - lefthandside goto 236 - methodinvocation goto 237 + . reduce 116 state 423 - whilestatement : WHILE '(' expression ')' . statement (181) + fielddeclaration : '<' boundedMethodParameters '>' type fielddeclarator ';' . (88) - FOR shift 186 - IF shift 187 - RETURN shift 188 - THIS shift 189 - WHILE shift 190 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 - IDENTIFIER shift 14 - INCREMENT shift 200 - DECREMENT shift 201 - ';' shift 202 - '{' shift 139 - '(' shift 204 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 208 - block goto 210 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 218 - lambdaexpression goto 219 - statementexpression goto 220 - preincrementexpression goto 221 - predecrementexpression goto 222 - postincrementexpression goto 223 - postdecrementexpression goto 224 - expressionstatement goto 225 - statementwithouttrailingsubstatement goto 226 - statement goto 449 - whilestatement goto 229 - forstatement goto 230 - ifthenstatement goto 231 - ifthenelsestatement goto 232 - emptystatement goto 233 - returnstatement goto 234 - assignment goto 235 - lefthandside goto 236 - methodinvocation goto 237 + . reduce 88 state 424 - argumentlist : argumentlist ',' . expression (159) + classinstancecreationexpression : NEW classtype '(' ')' . (232) - NEW shift 250 - THIS shift 189 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 - IDENTIFIER shift 14 - INCREMENT shift 200 - DECREMENT shift 201 - '(' shift 251 - '+' shift 252 - '-' shift 253 - '!' shift 254 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 208 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 255 - unaryexpressionnotplusminus goto 256 - unaryexpression goto 257 - multiplicativeexpression goto 258 - additiveexpression goto 259 - shiftexpression goto 260 - relationalexpression goto 261 - equalityexpression goto 262 - andexpression goto 263 - exclusiveorexpression goto 264 - inclusiveorexpression goto 265 - conditionalandexpression goto 266 - conditionalorexpression goto 267 - conditionalexpression goto 268 - assignmentexpression goto 269 - lambdaexpression goto 219 - expression goto 450 - preincrementexpression goto 271 - predecrementexpression goto 272 - postincrementexpression goto 273 - postdecrementexpression goto 274 - classinstancecreationexpression goto 275 - assignment goto 276 - lefthandside goto 236 - methodinvocation goto 277 - castexpression goto 278 + . reduce 232 state 425 - methodinvocation : name '(' argumentlist ')' . (230) + argumentlist : argumentlist . ',' expression (158) + classinstancecreationexpression : NEW classtype '(' argumentlist . ')' (233) - . reduce 230 + ',' shift 418 + ')' shift 448 + . error state 426 - methodinvocation : primary '.' IDENTIFIER '(' . ')' (231) - methodinvocation : primary '.' IDENTIFIER '(' . argumentlist ')' (232) + castexpression : '(' primitivetype ')' unaryexpression . (265) - NEW shift 250 - THIS shift 189 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 - IDENTIFIER shift 14 - INCREMENT shift 200 - DECREMENT shift 201 - '(' shift 251 - ')' shift 451 - '+' shift 252 - '-' shift 253 - '!' shift 254 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 208 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 255 - unaryexpressionnotplusminus goto 256 - unaryexpression goto 257 - multiplicativeexpression goto 258 - additiveexpression goto 259 - shiftexpression goto 260 - relationalexpression goto 261 - equalityexpression goto 262 - andexpression goto 263 - exclusiveorexpression goto 264 - inclusiveorexpression goto 265 - conditionalandexpression goto 266 - conditionalorexpression goto 267 - conditionalexpression goto 268 - assignmentexpression goto 269 - lambdaexpression goto 219 - expression goto 379 - preincrementexpression goto 271 - predecrementexpression goto 272 - postincrementexpression goto 273 - postdecrementexpression goto 274 - classinstancecreationexpression goto 275 - assignment goto 276 - lefthandside goto 236 - argumentlist goto 452 - methodinvocation goto 277 - castexpression goto 278 + . reduce 265 state 427 - methodheader : '<' boundedMethodParameters '>' VOID methoddeclarator throws . (126) + methodheader : modifiers '<' boundedMethodParameters '>' VOID methoddeclarator . (124) + methodheader : modifiers '<' boundedMethodParameters '>' VOID methoddeclarator . throws (126) - . reduce 126 + THROWS shift 148 + ';' reduce 124 + '{' reduce 124 + + throws goto 449 state 428 - methodheader : '<' boundedMethodParameters '>' type methoddeclarator throws . (117) + methodheader : modifiers '<' boundedMethodParameters '>' type methoddeclarator . (114) + methodheader : modifiers '<' boundedMethodParameters '>' type methoddeclarator . throws (118) - . reduce 117 + THROWS shift 148 + ';' reduce 114 + '{' reduce 114 + + throws goto 450 state 429 - classinstancecreationexpression : NEW classtype '(' ')' . (233) + explicitconstructorinvocation : THIS '(' ')' ';' . (143) - . reduce 233 + . reduce 143 state 430 - argumentlist : argumentlist . ',' expression (159) - classinstancecreationexpression : NEW classtype '(' argumentlist . ')' (234) + explicitconstructorinvocation : THIS '(' argumentlist ')' . ';' (144) - ',' shift 424 - ')' shift 453 + ';' shift 451 . error state 431 - castexpression : '(' primitivetype ')' unaryexpression . (266) - - . reduce 266 - - -state 432 - methodheader : modifiers '<' boundedMethodParameters '>' VOID methoddeclarator . (125) - methodheader : modifiers '<' boundedMethodParameters '>' VOID methoddeclarator . throws (127) - - THROWS shift 148 - ';' reduce 125 - '{' reduce 125 - - throws goto 454 - - -state 433 - methodheader : modifiers '<' boundedMethodParameters '>' type methoddeclarator . (115) - methodheader : modifiers '<' boundedMethodParameters '>' type methoddeclarator . throws (119) - - THROWS shift 148 - ';' reduce 115 - '{' reduce 115 - - throws goto 455 - - -state 434 - explicitconstructorinvocation : THIS '(' ')' ';' . (144) - - . reduce 144 - - -state 435 - explicitconstructorinvocation : THIS '(' argumentlist ')' . ';' (145) - - ';' shift 456 - . error - - -state 436 constantdeclaration : modifiers type IDENTIFIER '=' expression ';' . (83) . reduce 83 -state 437 - forstatement : FOR '(' ';' ';' ')' . statement (189) +state 432 + forstatement : FOR '(' ';' ';' ')' . statement (188) - FOR shift 186 - IF shift 187 - RETURN shift 188 - THIS shift 189 - WHILE shift 190 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 + FOR shift 185 + IF shift 186 + RETURN shift 187 + THIS shift 188 + WHILE shift 189 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 IDENTIFIER shift 14 - INCREMENT shift 200 - DECREMENT shift 201 - ';' shift 202 + INCREMENT shift 199 + DECREMENT shift 200 + ';' shift 201 '{' shift 139 - '(' shift 204 + '(' shift 203 . error simplename goto 34 qualifiedname goto 35 - name goto 208 - block goto 210 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 218 - lambdaexpression goto 219 - statementexpression goto 220 - preincrementexpression goto 221 - predecrementexpression goto 222 - postincrementexpression goto 223 - postdecrementexpression goto 224 - expressionstatement goto 225 - statementwithouttrailingsubstatement goto 226 - statement goto 457 - whilestatement goto 229 - forstatement goto 230 - ifthenstatement goto 231 - ifthenelsestatement goto 232 - emptystatement goto 233 - returnstatement goto 234 - assignment goto 235 - lefthandside goto 236 - methodinvocation goto 237 + name goto 207 + block goto 209 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 217 + lambdaexpression goto 218 + statementexpression goto 219 + preincrementexpression goto 220 + predecrementexpression goto 221 + postincrementexpression goto 222 + postdecrementexpression goto 223 + expressionstatement goto 224 + statementwithouttrailingsubstatement goto 225 + statement goto 452 + whilestatement goto 228 + forstatement goto 229 + ifthenstatement goto 230 + ifthenelsestatement goto 231 + emptystatement goto 232 + returnstatement goto 233 + assignment goto 234 + lefthandside goto 235 + methodinvocation goto 236 + + +state 433 + forstatement : FOR '(' ';' ';' expression . ')' statement (187) + + ')' shift 453 + . error + + +state 434 + forstatement : FOR '(' ';' expression ';' . expression ')' statement (184) + forstatement : FOR '(' ';' expression ';' . ')' statement (186) + + NEW shift 249 + THIS shift 188 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 + IDENTIFIER shift 14 + INCREMENT shift 199 + DECREMENT shift 200 + '(' shift 250 + ')' shift 454 + '+' shift 251 + '-' shift 252 + '!' shift 253 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 207 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 254 + unaryexpressionnotplusminus goto 255 + unaryexpression goto 256 + multiplicativeexpression goto 257 + additiveexpression goto 258 + shiftexpression goto 259 + relationalexpression goto 260 + equalityexpression goto 261 + andexpression goto 262 + exclusiveorexpression goto 263 + inclusiveorexpression goto 264 + conditionalandexpression goto 265 + conditionalorexpression goto 266 + conditionalexpression goto 267 + assignmentexpression goto 268 + lambdaexpression goto 218 + expression goto 455 + preincrementexpression goto 270 + predecrementexpression goto 271 + postincrementexpression goto 272 + postdecrementexpression goto 273 + classinstancecreationexpression goto 274 + assignment goto 275 + lefthandside goto 235 + methodinvocation goto 276 + castexpression goto 277 + + +state 435 + forstatement : FOR '(' expression ';' ';' . expression ')' statement (183) + forstatement : FOR '(' expression ';' ';' . ')' statement (185) + + NEW shift 249 + THIS shift 188 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 + IDENTIFIER shift 14 + INCREMENT shift 199 + DECREMENT shift 200 + '(' shift 250 + ')' shift 456 + '+' shift 251 + '-' shift 252 + '!' shift 253 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 207 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 254 + unaryexpressionnotplusminus goto 255 + unaryexpression goto 256 + multiplicativeexpression goto 257 + additiveexpression goto 258 + shiftexpression goto 259 + relationalexpression goto 260 + equalityexpression goto 261 + andexpression goto 262 + exclusiveorexpression goto 263 + inclusiveorexpression goto 264 + conditionalandexpression goto 265 + conditionalorexpression goto 266 + conditionalexpression goto 267 + assignmentexpression goto 268 + lambdaexpression goto 218 + expression goto 457 + preincrementexpression goto 270 + predecrementexpression goto 271 + postincrementexpression goto 272 + postdecrementexpression goto 273 + classinstancecreationexpression goto 274 + assignment goto 275 + lefthandside goto 235 + methodinvocation goto 276 + castexpression goto 277 + + +state 436 + forstatement : FOR '(' expression ';' expression . ';' expression ')' statement (181) + forstatement : FOR '(' expression ';' expression . ';' ')' statement (182) + + ';' shift 458 + . error + + +state 437 + ifthenstatement : IF . '(' expression ')' statement (178) + ifthenelsestatement : IF . '(' expression ')' statementnoshortif ELSE statement (179) + ifthenelsestatementnoshortif : IF . '(' expression ')' statementnoshortif ELSE statementnoshortif (207) + + '(' shift 459 + . error state 438 - forstatement : FOR '(' ';' ';' expression . ')' statement (188) + whilestatement : WHILE . '(' expression ')' statement (180) + whilestatementnoshortif : WHILE . '(' expression ')' statementnoshortif (208) - ')' shift 458 + '(' shift 460 . error state 439 - forstatement : FOR '(' ';' expression ';' . expression ')' statement (185) - forstatement : FOR '(' ';' expression ';' . ')' statement (187) + statement : statementwithouttrailingsubstatement . (163) + statementnoshortif : statementwithouttrailingsubstatement . (195) - NEW shift 250 - THIS shift 189 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 - IDENTIFIER shift 14 - INCREMENT shift 200 - DECREMENT shift 201 - '(' shift 251 - ')' shift 459 - '+' shift 252 - '-' shift 253 - '!' shift 254 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 208 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 255 - unaryexpressionnotplusminus goto 256 - unaryexpression goto 257 - multiplicativeexpression goto 258 - additiveexpression goto 259 - shiftexpression goto 260 - relationalexpression goto 261 - equalityexpression goto 262 - andexpression goto 263 - exclusiveorexpression goto 264 - inclusiveorexpression goto 265 - conditionalandexpression goto 266 - conditionalorexpression goto 267 - conditionalexpression goto 268 - assignmentexpression goto 269 - lambdaexpression goto 219 - expression goto 460 - preincrementexpression goto 271 - predecrementexpression goto 272 - postincrementexpression goto 273 - postdecrementexpression goto 274 - classinstancecreationexpression goto 275 - assignment goto 276 - lefthandside goto 236 - methodinvocation goto 277 - castexpression goto 278 + BOOLEAN reduce 163 + CHAR reduce 163 + ELSE reduce 195 + FOR reduce 163 + IF reduce 163 + INT reduce 163 + RETURN reduce 163 + THIS reduce 163 + WHILE reduce 163 + INTLITERAL reduce 163 + LONGLITERAL reduce 163 + DOUBLELITERAL reduce 163 + FLOATLITERAL reduce 163 + BOOLLITERAL reduce 163 + JNULL reduce 163 + CHARLITERAL reduce 163 + STRINGLITERAL reduce 163 + IDENTIFIER reduce 163 + INCREMENT reduce 163 + DECREMENT reduce 163 + ';' reduce 163 + '{' reduce 163 + '}' reduce 163 + '(' reduce 163 state 440 - forstatement : FOR '(' expression ';' ';' . expression ')' statement (184) - forstatement : FOR '(' expression ';' ';' . ')' statement (186) + ifthenstatement : IF '(' expression ')' statement . (178) - NEW shift 250 - THIS shift 189 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 - IDENTIFIER shift 14 - INCREMENT shift 200 - DECREMENT shift 201 - '(' shift 251 - ')' shift 461 - '+' shift 252 - '-' shift 253 - '!' shift 254 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 208 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 255 - unaryexpressionnotplusminus goto 256 - unaryexpression goto 257 - multiplicativeexpression goto 258 - additiveexpression goto 259 - shiftexpression goto 260 - relationalexpression goto 261 - equalityexpression goto 262 - andexpression goto 263 - exclusiveorexpression goto 264 - inclusiveorexpression goto 265 - conditionalandexpression goto 266 - conditionalorexpression goto 267 - conditionalexpression goto 268 - assignmentexpression goto 269 - lambdaexpression goto 219 - expression goto 462 - preincrementexpression goto 271 - predecrementexpression goto 272 - postincrementexpression goto 273 - postdecrementexpression goto 274 - classinstancecreationexpression goto 275 - assignment goto 276 - lefthandside goto 236 - methodinvocation goto 277 - castexpression goto 278 + . reduce 178 state 441 - forstatement : FOR '(' expression ';' expression . ';' expression ')' statement (182) - forstatement : FOR '(' expression ';' expression . ';' ')' statement (183) + ifthenelsestatement : IF '(' expression ')' statementnoshortif . ELSE statement (179) - ';' shift 463 + ELSE shift 461 . error state 442 - ifthenstatement : IF . '(' expression ')' statement (179) - ifthenelsestatement : IF . '(' expression ')' statementnoshortif ELSE statement (180) - ifthenelsestatementnoshortif : IF . '(' expression ')' statementnoshortif ELSE statementnoshortif (208) - - '(' shift 464 - . error - - -state 443 - whilestatement : WHILE . '(' expression ')' statement (181) - whilestatementnoshortif : WHILE . '(' expression ')' statementnoshortif (209) - - '(' shift 465 - . error - - -state 444 - statement : statementwithouttrailingsubstatement . (164) - statementnoshortif : statementwithouttrailingsubstatement . (196) - - BOOLEAN reduce 164 - CHAR reduce 164 - ELSE reduce 196 - FOR reduce 164 - IF reduce 164 - INT reduce 164 - RETURN reduce 164 - THIS reduce 164 - WHILE reduce 164 - INTLITERAL reduce 164 - LONGLITERAL reduce 164 - DOUBLELITERAL reduce 164 - FLOATLITERAL reduce 164 - BOOLLITERAL reduce 164 - JNULL reduce 164 - CHARLITERAL reduce 164 - STRINGLITERAL reduce 164 - IDENTIFIER reduce 164 - INCREMENT reduce 164 - DECREMENT reduce 164 - ';' reduce 164 - '{' reduce 164 - '}' reduce 164 - '(' reduce 164 - - -state 445 - ifthenstatement : IF '(' expression ')' statement . (179) - - . reduce 179 - - -state 446 - ifthenelsestatement : IF '(' expression ')' statementnoshortif . ELSE statement (180) - - ELSE shift 466 - . error - - -state 447 - statementnoshortif : whilestatementnoshortif . (198) - - . reduce 198 - - -state 448 - statementnoshortif : ifthenelsestatementnoshortif . (197) + statementnoshortif : whilestatementnoshortif . (197) . reduce 197 -state 449 - whilestatement : WHILE '(' expression ')' statement . (181) +state 443 + statementnoshortif : ifthenelsestatementnoshortif . (196) - . reduce 181 + . reduce 196 -state 450 - argumentlist : argumentlist ',' expression . (159) - - . reduce 159 - - -state 451 - methodinvocation : primary '.' IDENTIFIER '(' ')' . (231) - - . reduce 231 - - -state 452 - argumentlist : argumentlist . ',' expression (159) - methodinvocation : primary '.' IDENTIFIER '(' argumentlist . ')' (232) - - ',' shift 424 - ')' shift 467 - . error - - -state 453 - classinstancecreationexpression : NEW classtype '(' argumentlist ')' . (234) - - . reduce 234 - - -state 454 - methodheader : modifiers '<' boundedMethodParameters '>' VOID methoddeclarator throws . (127) - - . reduce 127 - - -state 455 - methodheader : modifiers '<' boundedMethodParameters '>' type methoddeclarator throws . (119) - - . reduce 119 - - -state 456 - explicitconstructorinvocation : THIS '(' argumentlist ')' ';' . (145) - - . reduce 145 - - -state 457 - forstatement : FOR '(' ';' ';' ')' statement . (189) - - . reduce 189 - - -state 458 - forstatement : FOR '(' ';' ';' expression ')' . statement (188) - - FOR shift 186 - IF shift 187 - RETURN shift 188 - THIS shift 189 - WHILE shift 190 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 - IDENTIFIER shift 14 - INCREMENT shift 200 - DECREMENT shift 201 - ';' shift 202 - '{' shift 139 - '(' shift 204 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 208 - block goto 210 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 218 - lambdaexpression goto 219 - statementexpression goto 220 - preincrementexpression goto 221 - predecrementexpression goto 222 - postincrementexpression goto 223 - postdecrementexpression goto 224 - expressionstatement goto 225 - statementwithouttrailingsubstatement goto 226 - statement goto 468 - whilestatement goto 229 - forstatement goto 230 - ifthenstatement goto 231 - ifthenelsestatement goto 232 - emptystatement goto 233 - returnstatement goto 234 - assignment goto 235 - lefthandside goto 236 - methodinvocation goto 237 - - -state 459 - forstatement : FOR '(' ';' expression ';' ')' . statement (187) - - FOR shift 186 - IF shift 187 - RETURN shift 188 - THIS shift 189 - WHILE shift 190 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 - IDENTIFIER shift 14 - INCREMENT shift 200 - DECREMENT shift 201 - ';' shift 202 - '{' shift 139 - '(' shift 204 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 208 - block goto 210 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 218 - lambdaexpression goto 219 - statementexpression goto 220 - preincrementexpression goto 221 - predecrementexpression goto 222 - postincrementexpression goto 223 - postdecrementexpression goto 224 - expressionstatement goto 225 - statementwithouttrailingsubstatement goto 226 - statement goto 469 - whilestatement goto 229 - forstatement goto 230 - ifthenstatement goto 231 - ifthenelsestatement goto 232 - emptystatement goto 233 - returnstatement goto 234 - assignment goto 235 - lefthandside goto 236 - methodinvocation goto 237 - - -state 460 - forstatement : FOR '(' ';' expression ';' expression . ')' statement (185) - - ')' shift 470 - . error - - -state 461 - forstatement : FOR '(' expression ';' ';' ')' . statement (186) - - FOR shift 186 - IF shift 187 - RETURN shift 188 - THIS shift 189 - WHILE shift 190 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 - IDENTIFIER shift 14 - INCREMENT shift 200 - DECREMENT shift 201 - ';' shift 202 - '{' shift 139 - '(' shift 204 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 208 - block goto 210 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 218 - lambdaexpression goto 219 - statementexpression goto 220 - preincrementexpression goto 221 - predecrementexpression goto 222 - postincrementexpression goto 223 - postdecrementexpression goto 224 - expressionstatement goto 225 - statementwithouttrailingsubstatement goto 226 - statement goto 471 - whilestatement goto 229 - forstatement goto 230 - ifthenstatement goto 231 - ifthenelsestatement goto 232 - emptystatement goto 233 - returnstatement goto 234 - assignment goto 235 - lefthandside goto 236 - methodinvocation goto 237 - - -state 462 - forstatement : FOR '(' expression ';' ';' expression . ')' statement (184) - - ')' shift 472 - . error - - -state 463 - forstatement : FOR '(' expression ';' expression ';' . expression ')' statement (182) - forstatement : FOR '(' expression ';' expression ';' . ')' statement (183) - - NEW shift 250 - THIS shift 189 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 - IDENTIFIER shift 14 - INCREMENT shift 200 - DECREMENT shift 201 - '(' shift 251 - ')' shift 473 - '+' shift 252 - '-' shift 253 - '!' shift 254 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 208 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 255 - unaryexpressionnotplusminus goto 256 - unaryexpression goto 257 - multiplicativeexpression goto 258 - additiveexpression goto 259 - shiftexpression goto 260 - relationalexpression goto 261 - equalityexpression goto 262 - andexpression goto 263 - exclusiveorexpression goto 264 - inclusiveorexpression goto 265 - conditionalandexpression goto 266 - conditionalorexpression goto 267 - conditionalexpression goto 268 - assignmentexpression goto 269 - lambdaexpression goto 219 - expression goto 474 - preincrementexpression goto 271 - predecrementexpression goto 272 - postincrementexpression goto 273 - postdecrementexpression goto 274 - classinstancecreationexpression goto 275 - assignment goto 276 - lefthandside goto 236 - methodinvocation goto 277 - castexpression goto 278 - - -state 464 - ifthenstatement : IF '(' . expression ')' statement (179) - ifthenelsestatement : IF '(' . expression ')' statementnoshortif ELSE statement (180) - ifthenelsestatementnoshortif : IF '(' . expression ')' statementnoshortif ELSE statementnoshortif (208) - - NEW shift 250 - THIS shift 189 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 - IDENTIFIER shift 14 - INCREMENT shift 200 - DECREMENT shift 201 - '(' shift 251 - '+' shift 252 - '-' shift 253 - '!' shift 254 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 208 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 255 - unaryexpressionnotplusminus goto 256 - unaryexpression goto 257 - multiplicativeexpression goto 258 - additiveexpression goto 259 - shiftexpression goto 260 - relationalexpression goto 261 - equalityexpression goto 262 - andexpression goto 263 - exclusiveorexpression goto 264 - inclusiveorexpression goto 265 - conditionalandexpression goto 266 - conditionalorexpression goto 267 - conditionalexpression goto 268 - assignmentexpression goto 269 - lambdaexpression goto 219 - expression goto 475 - preincrementexpression goto 271 - predecrementexpression goto 272 - postincrementexpression goto 273 - postdecrementexpression goto 274 - classinstancecreationexpression goto 275 - assignment goto 276 - lefthandside goto 236 - methodinvocation goto 277 - castexpression goto 278 - - -state 465 - whilestatement : WHILE '(' . expression ')' statement (181) - whilestatementnoshortif : WHILE '(' . expression ')' statementnoshortif (209) - - NEW shift 250 - THIS shift 189 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 - IDENTIFIER shift 14 - INCREMENT shift 200 - DECREMENT shift 201 - '(' shift 251 - '+' shift 252 - '-' shift 253 - '!' shift 254 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 208 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 255 - unaryexpressionnotplusminus goto 256 - unaryexpression goto 257 - multiplicativeexpression goto 258 - additiveexpression goto 259 - shiftexpression goto 260 - relationalexpression goto 261 - equalityexpression goto 262 - andexpression goto 263 - exclusiveorexpression goto 264 - inclusiveorexpression goto 265 - conditionalandexpression goto 266 - conditionalorexpression goto 267 - conditionalexpression goto 268 - assignmentexpression goto 269 - lambdaexpression goto 219 - expression goto 476 - preincrementexpression goto 271 - predecrementexpression goto 272 - postincrementexpression goto 273 - postdecrementexpression goto 274 - classinstancecreationexpression goto 275 - assignment goto 276 - lefthandside goto 236 - methodinvocation goto 277 - castexpression goto 278 - - -state 466 - ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE . statement (180) - - FOR shift 186 - IF shift 187 - RETURN shift 188 - THIS shift 189 - WHILE shift 190 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 - IDENTIFIER shift 14 - INCREMENT shift 200 - DECREMENT shift 201 - ';' shift 202 - '{' shift 139 - '(' shift 204 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 208 - block goto 210 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 218 - lambdaexpression goto 219 - statementexpression goto 220 - preincrementexpression goto 221 - predecrementexpression goto 222 - postincrementexpression goto 223 - postdecrementexpression goto 224 - expressionstatement goto 225 - statementwithouttrailingsubstatement goto 226 - statement goto 477 - whilestatement goto 229 - forstatement goto 230 - ifthenstatement goto 231 - ifthenelsestatement goto 232 - emptystatement goto 233 - returnstatement goto 234 - assignment goto 235 - lefthandside goto 236 - methodinvocation goto 237 - - -state 467 - methodinvocation : primary '.' IDENTIFIER '(' argumentlist ')' . (232) - - . reduce 232 - - -state 468 - forstatement : FOR '(' ';' ';' expression ')' statement . (188) - - . reduce 188 - - -state 469 - forstatement : FOR '(' ';' expression ';' ')' statement . (187) - - . reduce 187 - - -state 470 - forstatement : FOR '(' ';' expression ';' expression ')' . statement (185) - - FOR shift 186 - IF shift 187 - RETURN shift 188 - THIS shift 189 - WHILE shift 190 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 - IDENTIFIER shift 14 - INCREMENT shift 200 - DECREMENT shift 201 - ';' shift 202 - '{' shift 139 - '(' shift 204 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 208 - block goto 210 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 218 - lambdaexpression goto 219 - statementexpression goto 220 - preincrementexpression goto 221 - predecrementexpression goto 222 - postincrementexpression goto 223 - postdecrementexpression goto 224 - expressionstatement goto 225 - statementwithouttrailingsubstatement goto 226 - statement goto 478 - whilestatement goto 229 - forstatement goto 230 - ifthenstatement goto 231 - ifthenelsestatement goto 232 - emptystatement goto 233 - returnstatement goto 234 - assignment goto 235 - lefthandside goto 236 - methodinvocation goto 237 - - -state 471 - forstatement : FOR '(' expression ';' ';' ')' statement . (186) - - . reduce 186 - - -state 472 - forstatement : FOR '(' expression ';' ';' expression ')' . statement (184) - - FOR shift 186 - IF shift 187 - RETURN shift 188 - THIS shift 189 - WHILE shift 190 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 - IDENTIFIER shift 14 - INCREMENT shift 200 - DECREMENT shift 201 - ';' shift 202 - '{' shift 139 - '(' shift 204 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 208 - block goto 210 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 218 - lambdaexpression goto 219 - statementexpression goto 220 - preincrementexpression goto 221 - predecrementexpression goto 222 - postincrementexpression goto 223 - postdecrementexpression goto 224 - expressionstatement goto 225 - statementwithouttrailingsubstatement goto 226 - statement goto 479 - whilestatement goto 229 - forstatement goto 230 - ifthenstatement goto 231 - ifthenelsestatement goto 232 - emptystatement goto 233 - returnstatement goto 234 - assignment goto 235 - lefthandside goto 236 - methodinvocation goto 237 - - -state 473 - forstatement : FOR '(' expression ';' expression ';' ')' . statement (183) - - FOR shift 186 - IF shift 187 - RETURN shift 188 - THIS shift 189 - WHILE shift 190 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 - IDENTIFIER shift 14 - INCREMENT shift 200 - DECREMENT shift 201 - ';' shift 202 - '{' shift 139 - '(' shift 204 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 208 - block goto 210 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 218 - lambdaexpression goto 219 - statementexpression goto 220 - preincrementexpression goto 221 - predecrementexpression goto 222 - postincrementexpression goto 223 - postdecrementexpression goto 224 - expressionstatement goto 225 - statementwithouttrailingsubstatement goto 226 - statement goto 480 - whilestatement goto 229 - forstatement goto 230 - ifthenstatement goto 231 - ifthenelsestatement goto 232 - emptystatement goto 233 - returnstatement goto 234 - assignment goto 235 - lefthandside goto 236 - methodinvocation goto 237 - - -state 474 - forstatement : FOR '(' expression ';' expression ';' expression . ')' statement (182) - - ')' shift 481 - . error - - -state 475 - ifthenstatement : IF '(' expression . ')' statement (179) - ifthenelsestatement : IF '(' expression . ')' statementnoshortif ELSE statement (180) - ifthenelsestatementnoshortif : IF '(' expression . ')' statementnoshortif ELSE statementnoshortif (208) - - ')' shift 482 - . error - - -state 476 - whilestatement : WHILE '(' expression . ')' statement (181) - whilestatementnoshortif : WHILE '(' expression . ')' statementnoshortif (209) - - ')' shift 483 - . error - - -state 477 - ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE statement . (180) +state 444 + whilestatement : WHILE '(' expression ')' statement . (180) . reduce 180 -state 478 - forstatement : FOR '(' ';' expression ';' expression ')' statement . (185) +state 445 + argumentlist : argumentlist ',' expression . (158) + + . reduce 158 + + +state 446 + methodinvocation : primary '.' IDENTIFIER '(' ')' . (230) + + . reduce 230 + + +state 447 + argumentlist : argumentlist . ',' expression (158) + methodinvocation : primary '.' IDENTIFIER '(' argumentlist . ')' (231) + + ',' shift 418 + ')' shift 462 + . error + + +state 448 + classinstancecreationexpression : NEW classtype '(' argumentlist ')' . (233) + + . reduce 233 + + +state 449 + methodheader : modifiers '<' boundedMethodParameters '>' VOID methoddeclarator throws . (126) + + . reduce 126 + + +state 450 + methodheader : modifiers '<' boundedMethodParameters '>' type methoddeclarator throws . (118) + + . reduce 118 + + +state 451 + explicitconstructorinvocation : THIS '(' argumentlist ')' ';' . (144) + + . reduce 144 + + +state 452 + forstatement : FOR '(' ';' ';' ')' statement . (188) + + . reduce 188 + + +state 453 + forstatement : FOR '(' ';' ';' expression ')' . statement (187) + + FOR shift 185 + IF shift 186 + RETURN shift 187 + THIS shift 188 + WHILE shift 189 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 + IDENTIFIER shift 14 + INCREMENT shift 199 + DECREMENT shift 200 + ';' shift 201 + '{' shift 139 + '(' shift 203 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 207 + block goto 209 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 217 + lambdaexpression goto 218 + statementexpression goto 219 + preincrementexpression goto 220 + predecrementexpression goto 221 + postincrementexpression goto 222 + postdecrementexpression goto 223 + expressionstatement goto 224 + statementwithouttrailingsubstatement goto 225 + statement goto 463 + whilestatement goto 228 + forstatement goto 229 + ifthenstatement goto 230 + ifthenelsestatement goto 231 + emptystatement goto 232 + returnstatement goto 233 + assignment goto 234 + lefthandside goto 235 + methodinvocation goto 236 + + +state 454 + forstatement : FOR '(' ';' expression ';' ')' . statement (186) + + FOR shift 185 + IF shift 186 + RETURN shift 187 + THIS shift 188 + WHILE shift 189 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 + IDENTIFIER shift 14 + INCREMENT shift 199 + DECREMENT shift 200 + ';' shift 201 + '{' shift 139 + '(' shift 203 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 207 + block goto 209 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 217 + lambdaexpression goto 218 + statementexpression goto 219 + preincrementexpression goto 220 + predecrementexpression goto 221 + postincrementexpression goto 222 + postdecrementexpression goto 223 + expressionstatement goto 224 + statementwithouttrailingsubstatement goto 225 + statement goto 464 + whilestatement goto 228 + forstatement goto 229 + ifthenstatement goto 230 + ifthenelsestatement goto 231 + emptystatement goto 232 + returnstatement goto 233 + assignment goto 234 + lefthandside goto 235 + methodinvocation goto 236 + + +state 455 + forstatement : FOR '(' ';' expression ';' expression . ')' statement (184) + + ')' shift 465 + . error + + +state 456 + forstatement : FOR '(' expression ';' ';' ')' . statement (185) + + FOR shift 185 + IF shift 186 + RETURN shift 187 + THIS shift 188 + WHILE shift 189 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 + IDENTIFIER shift 14 + INCREMENT shift 199 + DECREMENT shift 200 + ';' shift 201 + '{' shift 139 + '(' shift 203 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 207 + block goto 209 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 217 + lambdaexpression goto 218 + statementexpression goto 219 + preincrementexpression goto 220 + predecrementexpression goto 221 + postincrementexpression goto 222 + postdecrementexpression goto 223 + expressionstatement goto 224 + statementwithouttrailingsubstatement goto 225 + statement goto 466 + whilestatement goto 228 + forstatement goto 229 + ifthenstatement goto 230 + ifthenelsestatement goto 231 + emptystatement goto 232 + returnstatement goto 233 + assignment goto 234 + lefthandside goto 235 + methodinvocation goto 236 + + +state 457 + forstatement : FOR '(' expression ';' ';' expression . ')' statement (183) + + ')' shift 467 + . error + + +state 458 + forstatement : FOR '(' expression ';' expression ';' . expression ')' statement (181) + forstatement : FOR '(' expression ';' expression ';' . ')' statement (182) + + NEW shift 249 + THIS shift 188 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 + IDENTIFIER shift 14 + INCREMENT shift 199 + DECREMENT shift 200 + '(' shift 250 + ')' shift 468 + '+' shift 251 + '-' shift 252 + '!' shift 253 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 207 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 254 + unaryexpressionnotplusminus goto 255 + unaryexpression goto 256 + multiplicativeexpression goto 257 + additiveexpression goto 258 + shiftexpression goto 259 + relationalexpression goto 260 + equalityexpression goto 261 + andexpression goto 262 + exclusiveorexpression goto 263 + inclusiveorexpression goto 264 + conditionalandexpression goto 265 + conditionalorexpression goto 266 + conditionalexpression goto 267 + assignmentexpression goto 268 + lambdaexpression goto 218 + expression goto 469 + preincrementexpression goto 270 + predecrementexpression goto 271 + postincrementexpression goto 272 + postdecrementexpression goto 273 + classinstancecreationexpression goto 274 + assignment goto 275 + lefthandside goto 235 + methodinvocation goto 276 + castexpression goto 277 + + +state 459 + ifthenstatement : IF '(' . expression ')' statement (178) + ifthenelsestatement : IF '(' . expression ')' statementnoshortif ELSE statement (179) + ifthenelsestatementnoshortif : IF '(' . expression ')' statementnoshortif ELSE statementnoshortif (207) + + NEW shift 249 + THIS shift 188 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 + IDENTIFIER shift 14 + INCREMENT shift 199 + DECREMENT shift 200 + '(' shift 250 + '+' shift 251 + '-' shift 252 + '!' shift 253 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 207 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 254 + unaryexpressionnotplusminus goto 255 + unaryexpression goto 256 + multiplicativeexpression goto 257 + additiveexpression goto 258 + shiftexpression goto 259 + relationalexpression goto 260 + equalityexpression goto 261 + andexpression goto 262 + exclusiveorexpression goto 263 + inclusiveorexpression goto 264 + conditionalandexpression goto 265 + conditionalorexpression goto 266 + conditionalexpression goto 267 + assignmentexpression goto 268 + lambdaexpression goto 218 + expression goto 470 + preincrementexpression goto 270 + predecrementexpression goto 271 + postincrementexpression goto 272 + postdecrementexpression goto 273 + classinstancecreationexpression goto 274 + assignment goto 275 + lefthandside goto 235 + methodinvocation goto 276 + castexpression goto 277 + + +state 460 + whilestatement : WHILE '(' . expression ')' statement (180) + whilestatementnoshortif : WHILE '(' . expression ')' statementnoshortif (208) + + NEW shift 249 + THIS shift 188 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 + IDENTIFIER shift 14 + INCREMENT shift 199 + DECREMENT shift 200 + '(' shift 250 + '+' shift 251 + '-' shift 252 + '!' shift 253 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 207 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 254 + unaryexpressionnotplusminus goto 255 + unaryexpression goto 256 + multiplicativeexpression goto 257 + additiveexpression goto 258 + shiftexpression goto 259 + relationalexpression goto 260 + equalityexpression goto 261 + andexpression goto 262 + exclusiveorexpression goto 263 + inclusiveorexpression goto 264 + conditionalandexpression goto 265 + conditionalorexpression goto 266 + conditionalexpression goto 267 + assignmentexpression goto 268 + lambdaexpression goto 218 + expression goto 471 + preincrementexpression goto 270 + predecrementexpression goto 271 + postincrementexpression goto 272 + postdecrementexpression goto 273 + classinstancecreationexpression goto 274 + assignment goto 275 + lefthandside goto 235 + methodinvocation goto 276 + castexpression goto 277 + + +state 461 + ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE . statement (179) + + FOR shift 185 + IF shift 186 + RETURN shift 187 + THIS shift 188 + WHILE shift 189 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 + IDENTIFIER shift 14 + INCREMENT shift 199 + DECREMENT shift 200 + ';' shift 201 + '{' shift 139 + '(' shift 203 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 207 + block goto 209 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 217 + lambdaexpression goto 218 + statementexpression goto 219 + preincrementexpression goto 220 + predecrementexpression goto 221 + postincrementexpression goto 222 + postdecrementexpression goto 223 + expressionstatement goto 224 + statementwithouttrailingsubstatement goto 225 + statement goto 472 + whilestatement goto 228 + forstatement goto 229 + ifthenstatement goto 230 + ifthenelsestatement goto 231 + emptystatement goto 232 + returnstatement goto 233 + assignment goto 234 + lefthandside goto 235 + methodinvocation goto 236 + + +state 462 + methodinvocation : primary '.' IDENTIFIER '(' argumentlist ')' . (231) + + . reduce 231 + + +state 463 + forstatement : FOR '(' ';' ';' expression ')' statement . (187) + + . reduce 187 + + +state 464 + forstatement : FOR '(' ';' expression ';' ')' statement . (186) + + . reduce 186 + + +state 465 + forstatement : FOR '(' ';' expression ';' expression ')' . statement (184) + + FOR shift 185 + IF shift 186 + RETURN shift 187 + THIS shift 188 + WHILE shift 189 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 + IDENTIFIER shift 14 + INCREMENT shift 199 + DECREMENT shift 200 + ';' shift 201 + '{' shift 139 + '(' shift 203 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 207 + block goto 209 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 217 + lambdaexpression goto 218 + statementexpression goto 219 + preincrementexpression goto 220 + predecrementexpression goto 221 + postincrementexpression goto 222 + postdecrementexpression goto 223 + expressionstatement goto 224 + statementwithouttrailingsubstatement goto 225 + statement goto 473 + whilestatement goto 228 + forstatement goto 229 + ifthenstatement goto 230 + ifthenelsestatement goto 231 + emptystatement goto 232 + returnstatement goto 233 + assignment goto 234 + lefthandside goto 235 + methodinvocation goto 236 + + +state 466 + forstatement : FOR '(' expression ';' ';' ')' statement . (185) . reduce 185 -state 479 - forstatement : FOR '(' expression ';' ';' expression ')' statement . (184) +state 467 + forstatement : FOR '(' expression ';' ';' expression ')' . statement (183) + + FOR shift 185 + IF shift 186 + RETURN shift 187 + THIS shift 188 + WHILE shift 189 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 + IDENTIFIER shift 14 + INCREMENT shift 199 + DECREMENT shift 200 + ';' shift 201 + '{' shift 139 + '(' shift 203 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 207 + block goto 209 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 217 + lambdaexpression goto 218 + statementexpression goto 219 + preincrementexpression goto 220 + predecrementexpression goto 221 + postincrementexpression goto 222 + postdecrementexpression goto 223 + expressionstatement goto 224 + statementwithouttrailingsubstatement goto 225 + statement goto 474 + whilestatement goto 228 + forstatement goto 229 + ifthenstatement goto 230 + ifthenelsestatement goto 231 + emptystatement goto 232 + returnstatement goto 233 + assignment goto 234 + lefthandside goto 235 + methodinvocation goto 236 + + +state 468 + forstatement : FOR '(' expression ';' expression ';' ')' . statement (182) + + FOR shift 185 + IF shift 186 + RETURN shift 187 + THIS shift 188 + WHILE shift 189 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 + IDENTIFIER shift 14 + INCREMENT shift 199 + DECREMENT shift 200 + ';' shift 201 + '{' shift 139 + '(' shift 203 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 207 + block goto 209 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 217 + lambdaexpression goto 218 + statementexpression goto 219 + preincrementexpression goto 220 + predecrementexpression goto 221 + postincrementexpression goto 222 + postdecrementexpression goto 223 + expressionstatement goto 224 + statementwithouttrailingsubstatement goto 225 + statement goto 475 + whilestatement goto 228 + forstatement goto 229 + ifthenstatement goto 230 + ifthenelsestatement goto 231 + emptystatement goto 232 + returnstatement goto 233 + assignment goto 234 + lefthandside goto 235 + methodinvocation goto 236 + + +state 469 + forstatement : FOR '(' expression ';' expression ';' expression . ')' statement (181) + + ')' shift 476 + . error + + +state 470 + ifthenstatement : IF '(' expression . ')' statement (178) + ifthenelsestatement : IF '(' expression . ')' statementnoshortif ELSE statement (179) + ifthenelsestatementnoshortif : IF '(' expression . ')' statementnoshortif ELSE statementnoshortif (207) + + ')' shift 477 + . error + + +state 471 + whilestatement : WHILE '(' expression . ')' statement (180) + whilestatementnoshortif : WHILE '(' expression . ')' statementnoshortif (208) + + ')' shift 478 + . error + + +state 472 + ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE statement . (179) + + . reduce 179 + + +state 473 + forstatement : FOR '(' ';' expression ';' expression ')' statement . (184) . reduce 184 -state 480 - forstatement : FOR '(' expression ';' expression ';' ')' statement . (183) +state 474 + forstatement : FOR '(' expression ';' ';' expression ')' statement . (183) . reduce 183 -state 481 - forstatement : FOR '(' expression ';' expression ';' expression ')' . statement (182) - - FOR shift 186 - IF shift 187 - RETURN shift 188 - THIS shift 189 - WHILE shift 190 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 - IDENTIFIER shift 14 - INCREMENT shift 200 - DECREMENT shift 201 - ';' shift 202 - '{' shift 139 - '(' shift 204 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 208 - block goto 210 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 218 - lambdaexpression goto 219 - statementexpression goto 220 - preincrementexpression goto 221 - predecrementexpression goto 222 - postincrementexpression goto 223 - postdecrementexpression goto 224 - expressionstatement goto 225 - statementwithouttrailingsubstatement goto 226 - statement goto 484 - whilestatement goto 229 - forstatement goto 230 - ifthenstatement goto 231 - ifthenelsestatement goto 232 - emptystatement goto 233 - returnstatement goto 234 - assignment goto 235 - lefthandside goto 236 - methodinvocation goto 237 - - -state 482 - ifthenstatement : IF '(' expression ')' . statement (179) - ifthenelsestatement : IF '(' expression ')' . statementnoshortif ELSE statement (180) - ifthenelsestatementnoshortif : IF '(' expression ')' . statementnoshortif ELSE statementnoshortif (208) - - FOR shift 186 - IF shift 442 - RETURN shift 188 - THIS shift 189 - WHILE shift 443 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 - IDENTIFIER shift 14 - INCREMENT shift 200 - DECREMENT shift 201 - ';' shift 202 - '{' shift 139 - '(' shift 204 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 208 - block goto 210 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 218 - lambdaexpression goto 219 - statementexpression goto 220 - preincrementexpression goto 221 - predecrementexpression goto 222 - postincrementexpression goto 223 - postdecrementexpression goto 224 - expressionstatement goto 225 - statementwithouttrailingsubstatement goto 444 - statement goto 445 - statementnoshortif goto 485 - whilestatement goto 229 - forstatement goto 230 - whilestatementnoshortif goto 447 - ifthenstatement goto 231 - ifthenelsestatement goto 232 - ifthenelsestatementnoshortif goto 448 - emptystatement goto 233 - returnstatement goto 234 - assignment goto 235 - lefthandside goto 236 - methodinvocation goto 237 - - -state 483 - whilestatement : WHILE '(' expression ')' . statement (181) - whilestatementnoshortif : WHILE '(' expression ')' . statementnoshortif (209) - - FOR shift 186 - IF shift 442 - RETURN shift 188 - THIS shift 189 - WHILE shift 443 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 - IDENTIFIER shift 14 - INCREMENT shift 200 - DECREMENT shift 201 - ';' shift 202 - '{' shift 139 - '(' shift 204 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 208 - block goto 210 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 218 - lambdaexpression goto 219 - statementexpression goto 220 - preincrementexpression goto 221 - predecrementexpression goto 222 - postincrementexpression goto 223 - postdecrementexpression goto 224 - expressionstatement goto 225 - statementwithouttrailingsubstatement goto 444 - statement goto 449 - statementnoshortif goto 486 - whilestatement goto 229 - forstatement goto 230 - whilestatementnoshortif goto 447 - ifthenstatement goto 231 - ifthenelsestatement goto 232 - ifthenelsestatementnoshortif goto 448 - emptystatement goto 233 - returnstatement goto 234 - assignment goto 235 - lefthandside goto 236 - methodinvocation goto 237 - - -state 484 - forstatement : FOR '(' expression ';' expression ';' expression ')' statement . (182) +state 475 + forstatement : FOR '(' expression ';' expression ';' ')' statement . (182) . reduce 182 -state 485 - ifthenelsestatement : IF '(' expression ')' statementnoshortif . ELSE statement (180) - ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif . ELSE statementnoshortif (208) +state 476 + forstatement : FOR '(' expression ';' expression ';' expression ')' . statement (181) - ELSE shift 487 - . error - - -state 486 - whilestatementnoshortif : WHILE '(' expression ')' statementnoshortif . (209) - - . reduce 209 - - -state 487 - ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE . statement (180) - ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif ELSE . statementnoshortif (208) - - FOR shift 186 - IF shift 442 - RETURN shift 188 - THIS shift 189 - WHILE shift 443 - INTLITERAL shift 191 - LONGLITERAL shift 192 - DOUBLELITERAL shift 193 - FLOATLITERAL shift 194 - BOOLLITERAL shift 195 - JNULL shift 196 - CHARLITERAL shift 197 - STRINGLITERAL shift 198 + FOR shift 185 + IF shift 186 + RETURN shift 187 + THIS shift 188 + WHILE shift 189 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 IDENTIFIER shift 14 - INCREMENT shift 200 - DECREMENT shift 201 - ';' shift 202 + INCREMENT shift 199 + DECREMENT shift 200 + ';' shift 201 '{' shift 139 - '(' shift 204 + '(' shift 203 . error simplename goto 34 qualifiedname goto 35 - name goto 208 - block goto 210 - lambdaexpressionparameter goto 214 - literal goto 215 - primarynonewarray goto 216 - primary goto 217 - postfixexpression goto 218 - lambdaexpression goto 219 - statementexpression goto 220 - preincrementexpression goto 221 - predecrementexpression goto 222 - postincrementexpression goto 223 - postdecrementexpression goto 224 - expressionstatement goto 225 - statementwithouttrailingsubstatement goto 444 - statement goto 477 - statementnoshortif goto 488 - whilestatement goto 229 - forstatement goto 230 - whilestatementnoshortif goto 447 - ifthenstatement goto 231 - ifthenelsestatement goto 232 - ifthenelsestatementnoshortif goto 448 - emptystatement goto 233 - returnstatement goto 234 - assignment goto 235 - lefthandside goto 236 - methodinvocation goto 237 + name goto 207 + block goto 209 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 217 + lambdaexpression goto 218 + statementexpression goto 219 + preincrementexpression goto 220 + predecrementexpression goto 221 + postincrementexpression goto 222 + postdecrementexpression goto 223 + expressionstatement goto 224 + statementwithouttrailingsubstatement goto 225 + statement goto 479 + whilestatement goto 228 + forstatement goto 229 + ifthenstatement goto 230 + ifthenelsestatement goto 231 + emptystatement goto 232 + returnstatement goto 233 + assignment goto 234 + lefthandside goto 235 + methodinvocation goto 236 -state 488 - ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif ELSE statementnoshortif . (208) +state 477 + ifthenstatement : IF '(' expression ')' . statement (178) + ifthenelsestatement : IF '(' expression ')' . statementnoshortif ELSE statement (179) + ifthenelsestatementnoshortif : IF '(' expression ')' . statementnoshortif ELSE statementnoshortif (207) + + FOR shift 185 + IF shift 437 + RETURN shift 187 + THIS shift 188 + WHILE shift 438 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 + IDENTIFIER shift 14 + INCREMENT shift 199 + DECREMENT shift 200 + ';' shift 201 + '{' shift 139 + '(' shift 203 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 207 + block goto 209 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 217 + lambdaexpression goto 218 + statementexpression goto 219 + preincrementexpression goto 220 + predecrementexpression goto 221 + postincrementexpression goto 222 + postdecrementexpression goto 223 + expressionstatement goto 224 + statementwithouttrailingsubstatement goto 439 + statement goto 440 + statementnoshortif goto 480 + whilestatement goto 228 + forstatement goto 229 + whilestatementnoshortif goto 442 + ifthenstatement goto 230 + ifthenelsestatement goto 231 + ifthenelsestatementnoshortif goto 443 + emptystatement goto 232 + returnstatement goto 233 + assignment goto 234 + lefthandside goto 235 + methodinvocation goto 236 + + +state 478 + whilestatement : WHILE '(' expression ')' . statement (180) + whilestatementnoshortif : WHILE '(' expression ')' . statementnoshortif (208) + + FOR shift 185 + IF shift 437 + RETURN shift 187 + THIS shift 188 + WHILE shift 438 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 + IDENTIFIER shift 14 + INCREMENT shift 199 + DECREMENT shift 200 + ';' shift 201 + '{' shift 139 + '(' shift 203 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 207 + block goto 209 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 217 + lambdaexpression goto 218 + statementexpression goto 219 + preincrementexpression goto 220 + predecrementexpression goto 221 + postincrementexpression goto 222 + postdecrementexpression goto 223 + expressionstatement goto 224 + statementwithouttrailingsubstatement goto 439 + statement goto 444 + statementnoshortif goto 481 + whilestatement goto 228 + forstatement goto 229 + whilestatementnoshortif goto 442 + ifthenstatement goto 230 + ifthenelsestatement goto 231 + ifthenelsestatementnoshortif goto 443 + emptystatement goto 232 + returnstatement goto 233 + assignment goto 234 + lefthandside goto 235 + methodinvocation goto 236 + + +state 479 + forstatement : FOR '(' expression ';' expression ';' expression ')' statement . (181) + + . reduce 181 + + +state 480 + ifthenelsestatement : IF '(' expression ')' statementnoshortif . ELSE statement (179) + ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif . ELSE statementnoshortif (207) + + ELSE shift 482 + . error + + +state 481 + whilestatementnoshortif : WHILE '(' expression ')' statementnoshortif . (208) . reduce 208 +state 482 + ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE . statement (179) + ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif ELSE . statementnoshortif (207) + + FOR shift 185 + IF shift 437 + RETURN shift 187 + THIS shift 188 + WHILE shift 438 + INTLITERAL shift 190 + LONGLITERAL shift 191 + DOUBLELITERAL shift 192 + FLOATLITERAL shift 193 + BOOLLITERAL shift 194 + JNULL shift 195 + CHARLITERAL shift 196 + STRINGLITERAL shift 197 + IDENTIFIER shift 14 + INCREMENT shift 199 + DECREMENT shift 200 + ';' shift 201 + '{' shift 139 + '(' shift 203 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 207 + block goto 209 + lambdaexpressionparameter goto 213 + literal goto 214 + primarynonewarray goto 215 + primary goto 216 + postfixexpression goto 217 + lambdaexpression goto 218 + statementexpression goto 219 + preincrementexpression goto 220 + predecrementexpression goto 221 + postincrementexpression goto 222 + postdecrementexpression goto 223 + expressionstatement goto 224 + statementwithouttrailingsubstatement goto 439 + statement goto 472 + statementnoshortif goto 483 + whilestatement goto 228 + forstatement goto 229 + whilestatementnoshortif goto 442 + ifthenstatement goto 230 + ifthenelsestatement goto 231 + ifthenelsestatementnoshortif goto 443 + emptystatement goto 232 + returnstatement goto 233 + assignment goto 234 + lefthandside goto 235 + methodinvocation goto 236 + + +state 483 + ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif ELSE statementnoshortif . (207) + + . reduce 207 + + Rules never reduced: paralist : IDENTIFIER (36) paralist : IDENTIFIER '<' paralist '>' (37) @@ -8614,35 +8164,35 @@ Rules never reduced: wildcardparameter : '?' (42) wildcardparameter : '?' EXTENDS referencetype (43) wildcardparameter : '?' SUPER referencetype (44) - variableinitializer : expression (162) + variableinitializer : expression (161) State 18 contains 1 shift/reduce conflict. State 88 contains 1 shift/reduce conflict. State 117 contains 1 shift/reduce conflict. -State 208 contains 1 shift/reduce conflict. -State 217 contains 1 shift/reduce conflict. -State 255 contains 2 shift/reduce conflicts. -State 258 contains 3 shift/reduce conflicts. -State 259 contains 2 shift/reduce conflicts. -State 261 contains 5 shift/reduce conflicts. -State 262 contains 2 shift/reduce conflicts. +State 207 contains 1 shift/reduce conflict. +State 216 contains 1 shift/reduce conflict. +State 254 contains 2 shift/reduce conflicts. +State 257 contains 3 shift/reduce conflicts. +State 258 contains 2 shift/reduce conflicts. +State 260 contains 5 shift/reduce conflicts. +State 261 contains 2 shift/reduce conflicts. +State 262 contains 1 shift/reduce conflict. State 263 contains 1 shift/reduce conflict. State 264 contains 1 shift/reduce conflict. State 265 contains 1 shift/reduce conflict. State 266 contains 1 shift/reduce conflict. -State 267 contains 1 shift/reduce conflict. -State 305 contains 1 shift/reduce conflict. -State 398 contains 3 shift/reduce conflicts. -State 399 contains 3 shift/reduce conflicts. -State 405 contains 5 shift/reduce conflicts. -State 406 contains 5 shift/reduce conflicts. -State 407 contains 2 shift/reduce conflicts. -State 408 contains 1 shift/reduce conflict. -State 409 contains 1 shift/reduce conflict. -State 410 contains 1 shift/reduce conflict. -State 411 contains 1 shift/reduce conflict. +State 302 contains 1 shift/reduce conflict. +State 393 contains 3 shift/reduce conflicts. +State 394 contains 3 shift/reduce conflicts. +State 400 contains 5 shift/reduce conflicts. +State 401 contains 5 shift/reduce conflicts. +State 402 contains 2 shift/reduce conflicts. +State 403 contains 1 shift/reduce conflict. +State 404 contains 1 shift/reduce conflict. +State 405 contains 1 shift/reduce conflict. +State 406 contains 1 shift/reduce conflict. 97 terminals, 117 nonterminals -286 grammar rules, 489 states +285 grammar rules, 484 states From db4442628b443aed87f38839ffbb26cad0201bcf Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Wed, 23 Apr 2014 14:36:26 +0200 Subject: [PATCH 52/79] Bugfix --- src/mycompiler/mytype/Pair.java | 1 + src/mycompiler/mytype/Type.java | 4 ++-- src/typinferenz/ResultSet.java | 7 +++++++ src/typinferenz/TypeInsertPoint.java | 24 ++++++++++-------------- test/plugindevelopment/TRMEqualTest.java | 5 ++++- 5 files changed, 24 insertions(+), 17 deletions(-) diff --git a/src/mycompiler/mytype/Pair.java b/src/mycompiler/mytype/Pair.java index f594797d7..35ce4b3d6 100755 --- a/src/mycompiler/mytype/Pair.java +++ b/src/mycompiler/mytype/Pair.java @@ -303,6 +303,7 @@ public class Pair { boolean ret = true; ret &= (obj instanceof Pair); + if(!ret)return ret; ret &= ((Pair)obj).TA1.equals(this.TA1); ret &= ((Pair)obj).TA2.equals(this.TA2); return ret; diff --git a/src/mycompiler/mytype/Type.java b/src/mycompiler/mytype/Type.java index f1765fb7d..ba7cdca4c 100755 --- a/src/mycompiler/mytype/Type.java +++ b/src/mycompiler/mytype/Type.java @@ -174,8 +174,8 @@ public class Type implements IItemWithOffset // ino.method.equals.26765.body { if(obj instanceof Type){ - String name2 = ((Type)obj).name; - return getName().equals(name2); + String name2 = ((Type)obj).printJavaCode(new ResultSet()).toString(); + return printJavaCode(new ResultSet()).toString().equals(name2); } else{ return false; diff --git a/src/typinferenz/ResultSet.java b/src/typinferenz/ResultSet.java index 5470d8068..997c5c1d9 100755 --- a/src/typinferenz/ResultSet.java +++ b/src/typinferenz/ResultSet.java @@ -21,6 +21,13 @@ public class ResultSet implements Iterable { resultPairs = resultSet; } + /** + * Erstellt ein leeres ResultSet + */ + public ResultSet() { + this(new Vector()); + } + public Vector getResultSet(){ return resultPairs; } diff --git a/src/typinferenz/TypeInsertPoint.java b/src/typinferenz/TypeInsertPoint.java index 3d17be9fe..5f2219001 100644 --- a/src/typinferenz/TypeInsertPoint.java +++ b/src/typinferenz/TypeInsertPoint.java @@ -21,26 +21,18 @@ public class TypeInsertPoint implements Comparable{ protected IItemWithOffset point; protected Type type; protected ResultSet resultSet; - protected Vector generics = null; - - public TypeInsertPoint(IItemWithOffset insertPoint, Type insertType, ResultSet resultSet){ - this(insertPoint, insertType, resultSet, null); - this.generics = this.getUnresolvedTPH();//Alle im insertType vorkommenden TPH müssen als Generics eingesetzt werden. - } /** - * Dieser Konstruktor erstellt einen TypInsertPoint, welcher nicht nur insertType einsetzt, - * sonder auch die übergebenen generischen Variablen einsetzt. + * Dieser Konstruktor erstellt einen TypInsertPoint * @param insertPoint * @param insertType * @param resultSet * @param generics - die generischen Parameter des einzusetzenden Typs */ - public TypeInsertPoint(IItemWithOffset insertPoint, Type insertType, ResultSet resultSet, Vector generics){ + public TypeInsertPoint(IItemWithOffset insertPoint, Type insertType, ResultSet resultSet){ this.point = insertPoint; this.type = insertType; this.resultSet = resultSet; - this.generics = generics; } /** @@ -62,7 +54,7 @@ public class TypeInsertPoint implements Comparable{ public Vector getUnresolvedTPH(){ Vector ret = new Vector(); - ret.addAll(this.type.getUnresolvedTPH(resultSet)); + ret.addAll(this.getInsertType().getUnresolvedTPH(resultSet)); return ret; } @@ -74,12 +66,16 @@ public class TypeInsertPoint implements Comparable{ return this.getInsertNode().getOffset(); } + protected Type getInsertType(){ + return this.type; + } + /** * Die Zeichenkette die durch diesen TypeInsertPoint eingesetzt wird. (Der Typ als String) * @return */ public JavaCodeResult getTypeInsertString(){ - JavaCodeResult ret = type.printJavaCode(this.resultSet).attach(" "); + JavaCodeResult ret = this.getInsertType().printJavaCode(this.resultSet).attach(" "); return ret; } @@ -94,9 +90,9 @@ public class TypeInsertPoint implements Comparable{ public boolean equals(Object obj){ if(! (obj instanceof TypeInsertPoint))return false; TypeInsertPoint equals = (TypeInsertPoint) obj; - if(!(equals.point.equals(this.point)))return false; + if(!(equals.getInsertNode().equals(this.getInsertNode())))return false; if(!(equals.resultSet.equals(this.resultSet)))return false; - if(!(equals.type.equals(this.type)))return false; + if(!(equals.getInsertType().equals(this.getInsertType())))return false; return true; } diff --git a/test/plugindevelopment/TRMEqualTest.java b/test/plugindevelopment/TRMEqualTest.java index 18585bc57..b3ae20d60 100644 --- a/test/plugindevelopment/TRMEqualTest.java +++ b/test/plugindevelopment/TRMEqualTest.java @@ -56,7 +56,10 @@ public class TRMEqualTest { resultContent.add(pair); ResultSet resultSet = new ResultSet(resultContent); Vector tphs = tph.getTypeInsertPoints(resultSet); - TypeInsertSet toAdd = new TypeInsertSet(tphs); + TypeInsertSet toAdd = new TypeInsertSet(); + for(TypeInsertPoint tip : tphs){ + toAdd.add(tip); + } System.out.println("Füge hinzu: "+toAdd); if(!replaceSet.contains(toAdd))replaceSet.add(toAdd); } From b2e79b35f316db3cacb5a17b7f46dad0c3ee3793 Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Wed, 23 Apr 2014 14:36:50 +0200 Subject: [PATCH 53/79] Dateien vergessen --- src/typinferenz/GenericTypeInsertPoint.java | 93 +++++++++++++++++++ src/typinferenz/TIPConstraints.java | 17 ++++ .../TypeInsertTests/LambdaTest6.jav | 3 + .../TypeInsertTests/LambdaTest6.java | 18 ++++ 4 files changed, 131 insertions(+) create mode 100644 src/typinferenz/GenericTypeInsertPoint.java create mode 100644 src/typinferenz/TIPConstraints.java create mode 100644 test/plugindevelopment/TypeInsertTests/LambdaTest6.jav create mode 100644 test/plugindevelopment/TypeInsertTests/LambdaTest6.java diff --git a/src/typinferenz/GenericTypeInsertPoint.java b/src/typinferenz/GenericTypeInsertPoint.java new file mode 100644 index 000000000..44562bae3 --- /dev/null +++ b/src/typinferenz/GenericTypeInsertPoint.java @@ -0,0 +1,93 @@ +package typinferenz; + +import java.util.Iterator; +import java.util.Vector; + +import mycompiler.IItemWithOffset; +import mycompiler.mytype.GenericTypeVar; +import mycompiler.mytype.Pair; +import mycompiler.mytype.RefType; +import mycompiler.mytype.Type; + +/** + * Ein InsertPoint für Generische Variablen + * @author janulrich + * + */ +public class GenericTypeInsertPoint extends TypeInsertPoint { + + private Vector genericPairs = new Vector(); + + public GenericTypeInsertPoint(TypeInsertPoint p) { + super(p.point, p.type, p.resultSet); + } + + /** + * Fügt eine generische Variable in Form eines Pairs an. + * @param p + */ + public void addGenericPair(Pair p){ + if(!this.genericPairs.contains(p))this.genericPairs.add(p); + } + + @Override + public JavaCodeResult getTypeInsertString() { + if(genericPairs.size()==0)return new JavaCodeResult(); + return super.getTypeInsertString(); + } + + @Override + protected Type getInsertType(){ + if(genericPairs.size()==0)return this.type; + Iterator it = genericPairs.iterator(); + String genericTypeParameters = "<"; + while(it.hasNext()){ + genericTypeParameters += new GenericTypeVar(it.next(), 0).printJavaCode(this.getResultSet()); + if(it.hasNext())genericTypeParameters += ", "; + } + genericTypeParameters += ">"; + //Der Generische Variablen String zum Einsetzen ist nun vorhanden + this.type = new RefType(genericTypeParameters,0); + return this.type; + } + + @Override + public boolean equals(Object obj){ + if(obj instanceof GenericTypeInsertPoint)return super.equals(obj); + return false; + } + + @Override + public int compareTo(TypeInsertPoint arg0) { + int ret = new Integer(this.getOffset()).compareTo(new Integer(arg0.getOffset())); + if(ret == 0){ + if(! (arg0 instanceof GenericTypeInsertPoint)){ + ret = new Integer(this.getOffset()-1).compareTo(new Integer(arg0.getOffset())); + } + } + return ret; + } + + @Override + public IItemWithOffset getInsertNode(){ + return super.getGenericTypeVarInsertNode(); + } + + /** + * Versucht den GenericTypeInsertPoint mit dem übergebenenen p2 zusammenzuführen, + * basierend auf ihren insertPoints. + * @param p2 + * @return - Die bei der Zusammenführung entstandene GenericTypeInsertPoints + */ + public Vector merge(GenericTypeInsertPoint p2) { + Vector ret = new Vector(); + if(this.getInsertNode().equals(p2.getInsertNode())){ + for(Pair p : p2.genericPairs)this.addGenericPair(p); + ret.add(this); + }else{ + ret.add(this); + ret.add(p2); + } + return ret; + } +} diff --git a/src/typinferenz/TIPConstraints.java b/src/typinferenz/TIPConstraints.java new file mode 100644 index 000000000..d664e601b --- /dev/null +++ b/src/typinferenz/TIPConstraints.java @@ -0,0 +1,17 @@ +package typinferenz; + +import java.util.Vector; + +import mycompiler.mytype.TypePlaceholder; + +/** + * + * @author janulrich + * + */ +public class TIPConstraints { + + public TIPConstraints(Vector involvedTPHs){ + + } +} diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest6.jav b/test/plugindevelopment/TypeInsertTests/LambdaTest6.jav new file mode 100644 index 000000000..ba1d552ab --- /dev/null +++ b/test/plugindevelopment/TypeInsertTests/LambdaTest6.jav @@ -0,0 +1,3 @@ +class Matrix{ + op = (m) -> (f) -> f.apply(this, m); +} diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest6.java b/test/plugindevelopment/TypeInsertTests/LambdaTest6.java new file mode 100644 index 000000000..6ba600d12 --- /dev/null +++ b/test/plugindevelopment/TypeInsertTests/LambdaTest6.java @@ -0,0 +1,18 @@ +package plugindevelopment.TypeInsertTests; + +import java.util.Vector; + +import org.junit.Test; + +public class LambdaTest6 { + + private static final String TEST_FILE = "LambdaTest6.jav"; + + @Test + public void run(){ + Vector mustContain = new Vector(); + //mustContain.add("A var"); + MultipleTypesInsertTester.test(this.TEST_FILE, mustContain); + } + +} From c9477705cc92bc50cdef72ec4ef5371b3de73223 Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Wed, 23 Apr 2014 15:19:56 +0200 Subject: [PATCH 54/79] =?UTF-8?q?Typen=20in=20Parameterlisten=20von=20Lamb?= =?UTF-8?q?da=20Ausdr=C3=BCcken=20werden=20nicht=20mehr=20eingesetzt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/mycompiler/myclass/FormalParameter.java | 8 ++++- .../mystatement/LambdaExpression.java | 6 +++- .../mystatement/LambdaParameter.java | 30 +++++++++++++++++++ .../TypeinferenceResultSet.java | 3 +- src/typinferenz/TypeInsertSet.java | 10 +++++-- 5 files changed, 52 insertions(+), 5 deletions(-) create mode 100644 src/mycompiler/mystatement/LambdaParameter.java diff --git a/src/mycompiler/myclass/FormalParameter.java b/src/mycompiler/myclass/FormalParameter.java index 06aabbcd6..d9c787b79 100755 --- a/src/mycompiler/myclass/FormalParameter.java +++ b/src/mycompiler/myclass/FormalParameter.java @@ -259,7 +259,8 @@ public class FormalParameter extends SyntaxTreeNode implements ITypeReplacementL public TypeInsertPoint createTypeInsertPoint(TypePlaceholder tph, ResultSet resultSet) { if(this.getOffset()<=0)return null; - return new TypeInsertPoint(this, resultSet.getTypeEqualTo(tph), resultSet); + Type t = resultSet.getTypeEqualTo(tph); + return new TypeInsertPoint(this, t, resultSet); } @@ -272,5 +273,10 @@ public class FormalParameter extends SyntaxTreeNode implements ITypeReplacementL } + public DeclId getDeclId() { + return this.declid; + } + + } // ino.end diff --git a/src/mycompiler/mystatement/LambdaExpression.java b/src/mycompiler/mystatement/LambdaExpression.java index b2df8159d..3374ecfbb 100755 --- a/src/mycompiler/mystatement/LambdaExpression.java +++ b/src/mycompiler/mystatement/LambdaExpression.java @@ -67,7 +67,11 @@ public class LambdaExpression extends Expr{ } public void setParameterList(ParameterList params){ - this.params = params; + ParameterList lambdaParameter = new ParameterList(); + for(FormalParameter fp : params){ + lambdaParameter.formalparameter.add(new LambdaParameter(fp)); + } + this.params = lambdaParameter; } diff --git a/src/mycompiler/mystatement/LambdaParameter.java b/src/mycompiler/mystatement/LambdaParameter.java new file mode 100644 index 000000000..46a116d83 --- /dev/null +++ b/src/mycompiler/mystatement/LambdaParameter.java @@ -0,0 +1,30 @@ +package mycompiler.mystatement; + +import typinferenz.ResultSet; +import typinferenz.TypeInsertPoint; +import mycompiler.myclass.DeclId; +import mycompiler.myclass.FormalParameter; +import mycompiler.mytype.Type; +import mycompiler.mytype.TypePlaceholder; + +/** + * Der FormalParameter einer LambdaExpression hat gesonderte Eigenschaften. + * @author janulrich + * + */ +public class LambdaParameter extends FormalParameter { + + public LambdaParameter(FormalParameter fp) { + super(fp.getDeclId()); + this.setType(fp.getType()); + this.parent = fp.getParent(); + this.inferencelog = fp.inferencelog; + } + + @Override + public TypeInsertPoint createTypeInsertPoint(TypePlaceholder tph, + ResultSet resultSet) { + return null;//Ein LambdaParameter darf keine Typen einsetzen. + } + +} diff --git a/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java b/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java index 45d69e4c1..ba1dd17c9 100755 --- a/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java +++ b/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java @@ -139,7 +139,8 @@ public class TypeinferenceResultSet for(int i = 0; i genericTIPs = new Vector(); + + //Alle gebrauchten Generischen Variablen ermitteln: for(TypeInsertPoint p : points){ GenericTypeInsertPoint toAdd = new GenericTypeInsertPoint(p); for(Pair genericPair : p.getResultSet().getConstraintsFor(p.getUnresolvedTPH())){ @@ -60,15 +62,19 @@ public class TypeInsertSet { } genericTIPs.add(toAdd); } - + //... und dem TypeInsertSet anfügen: for(GenericTypeInsertPoint p : genericTIPs){ for(GenericTypeInsertPoint p2 : genericTIPs){ //Doppelte Generische Variablen definitionen ausschließen: - for(TypeInsertPoint toAdd : p.merge(p2))this.add(toAdd); + for(TypeInsertPoint toAdd : p.merge(p2)){ + this.add(toAdd); + //TODO: Alle Typen, welche die einzusetzenden Generischen Typen beinhalten, müssen ebenfalls eingesetzt werden. + } } //this.add(p); } + //Anschließend sortieren: Collections.sort(points); for(TypeInsertPoint p : points){ From fd5aafb0eb5d4245f9305486469cc333257bcbd5 Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Wed, 23 Apr 2014 17:59:39 +0200 Subject: [PATCH 55/79] Operator mit TypeExpr versehen --- src/mycompiler/myoperator/AddOp.java | 16 ++++++++ src/mycompiler/myoperator/AndOp.java | 10 +++++ src/mycompiler/myoperator/LogOp.java | 14 +++++++ src/mycompiler/myoperator/Operator.java | 20 ++++++++++ src/mycompiler/myoperator/RelOp.java | 10 +++++ src/mycompiler/mystatement/Binary.java | 14 ++++++- src/mycompiler/mystatement/BinaryExpr.java | 6 ++- src/mycompiler/mystatement/BoolLiteral.java | 2 +- src/mycompiler/mystatement/LocalVarDecl.java | 6 ++- src/mycompiler/mystatement/NewClass.java | 37 ++++++++++++++----- src/mycompiler/mystatement/NotExpr.java | 11 +++++- .../assumptions/ConstructorAssumption.java | 2 +- .../assumptions/TypeAssumptions.java | 15 +++++++- .../exceptions/DebugException.java | 1 + 14 files changed, 144 insertions(+), 20 deletions(-) diff --git a/src/mycompiler/myoperator/AddOp.java b/src/mycompiler/myoperator/AddOp.java index 0a4fc88cf..3e9a30241 100755 --- a/src/mycompiler/myoperator/AddOp.java +++ b/src/mycompiler/myoperator/AddOp.java @@ -5,14 +5,21 @@ package mycompiler.myoperator; import java.util.Hashtable; import java.util.Iterator; import java.util.Vector; + +import typinferenz.ConstraintsSet; +import typinferenz.SingleConstraint; +import typinferenz.assumptions.TypeAssumptions; +import typinferenz.exceptions.DebugException; import mycompiler.mybytecode.ClassFile; import mycompiler.mybytecode.CodeAttribute; import mycompiler.myexception.CTypeReconstructionException; import mycompiler.myexception.JVMCodeException; import mycompiler.mystatement.Binary; import mycompiler.mystatement.Expr; +import mycompiler.mytype.IntegerType; import mycompiler.mytype.Pair; import mycompiler.mytype.RefType; +import mycompiler.mytype.Type; import mycompiler.mytypereconstruction.CSupportData; import mycompiler.mytypereconstruction.CTriple; import mycompiler.mytypereconstruction.set.CSubstitutionSet; @@ -56,5 +63,14 @@ public abstract class AddOp extends Operator return types; } + + + @Override + public Type getReturnType(TypeAssumptions ass) { + Type ret = ass.getTypeFor(new RefType("java.lang.Integer",-1)); + if(ret == null)throw new DebugException("java.lang.Integer kann nicht aufgelöst werden"); + return ret; + } + } // ino.end diff --git a/src/mycompiler/myoperator/AndOp.java b/src/mycompiler/myoperator/AndOp.java index ef7b80d9a..91926d7d1 100755 --- a/src/mycompiler/myoperator/AndOp.java +++ b/src/mycompiler/myoperator/AndOp.java @@ -1,5 +1,13 @@ // ino.module.AndOp.8595.package package mycompiler.myoperator; + +import mycompiler.mystatement.Expr; +import mycompiler.mytype.BooleanType; +import mycompiler.mytype.IntegerType; +import mycompiler.mytype.Type; +import typinferenz.ConstraintsSet; +import typinferenz.SingleConstraint; +import typinferenz.assumptions.TypeAssumptions; // ino.end // ino.class.AndOp.24101.declaration @@ -16,5 +24,7 @@ public class AndOp extends LogOp super(offset,variableLength); } // ino.end + + } // ino.end diff --git a/src/mycompiler/myoperator/LogOp.java b/src/mycompiler/myoperator/LogOp.java index 4d3c4203e..a7018b115 100755 --- a/src/mycompiler/myoperator/LogOp.java +++ b/src/mycompiler/myoperator/LogOp.java @@ -5,6 +5,11 @@ package mycompiler.myoperator; import java.util.Hashtable; import java.util.Iterator; import java.util.Vector; + +import typinferenz.ConstraintsSet; +import typinferenz.SingleConstraint; +import typinferenz.assumptions.TypeAssumptions; +import typinferenz.exceptions.DebugException; import mycompiler.mybytecode.ClassFile; import mycompiler.mybytecode.CodeAttribute; import mycompiler.mybytecode.JVMCode; @@ -15,8 +20,10 @@ import mycompiler.mystatement.Expr; import mycompiler.mystatement.NotExpr; import mycompiler.mystatement.Null; import mycompiler.mystatement.Statement; +import mycompiler.mytype.BooleanType; import mycompiler.mytype.Pair; import mycompiler.mytype.RefType; +import mycompiler.mytype.Type; import mycompiler.mytypereconstruction.CSupportData; import mycompiler.mytypereconstruction.CTriple; import mycompiler.mytypereconstruction.set.CSubstitutionSet; @@ -226,6 +233,13 @@ public abstract class LogOp extends Operator return types; } + + @Override + public Type getReturnType(TypeAssumptions ass) { + Type ret = ass.getTypeFor(new RefType("java.lang.Boolean",-1)); + if(ret == null)throw new DebugException("java.lang.Boolean kann nicht aufgelöst werden"); + return ret; + } } // ino.end diff --git a/src/mycompiler/myoperator/Operator.java b/src/mycompiler/myoperator/Operator.java index e12c92f7f..2e47751ab 100755 --- a/src/mycompiler/myoperator/Operator.java +++ b/src/mycompiler/myoperator/Operator.java @@ -5,6 +5,10 @@ package mycompiler.myoperator; import java.util.Hashtable; import java.util.Iterator; import java.util.Vector; + +import typinferenz.ConstraintsSet; +import typinferenz.SingleConstraint; +import typinferenz.assumptions.TypeAssumptions; import mycompiler.IItemWithOffset; import mycompiler.mybytecode.ClassFile; import mycompiler.mybytecode.CodeAttribute; @@ -15,6 +19,7 @@ import mycompiler.mystatement.Binary; import mycompiler.mystatement.Expr; import mycompiler.mytype.Pair; import mycompiler.mytype.RefType; +import mycompiler.mytype.Type; import mycompiler.mytypereconstruction.CSupportData; import mycompiler.mytypereconstruction.CTriple; import mycompiler.mytypereconstruction.set.CSubstitutionSet; @@ -111,5 +116,20 @@ public abstract class Operator implements IItemWithOffset } // ino.end + /** + * Berechnet die Constraints dieses Operators für die 2 gegebenen Parameter + * @param expr1 + * @param expr2 + * @return + */ + public ConstraintsSet TYPEExpr(Expr expr1, Expr expr2, TypeAssumptions ass) { + ConstraintsSet ret = new ConstraintsSet(); + ret.add(new SingleConstraint(expr1.getType(), this.getReturnType(ass))); + ret.add(new SingleConstraint(expr2.getType(), this.getReturnType(ass))); + return ret; + } + + public abstract Type getReturnType(TypeAssumptions ass); + } // ino.end diff --git a/src/mycompiler/myoperator/RelOp.java b/src/mycompiler/myoperator/RelOp.java index ed320bb98..ab55a08b0 100755 --- a/src/mycompiler/myoperator/RelOp.java +++ b/src/mycompiler/myoperator/RelOp.java @@ -6,6 +6,9 @@ package mycompiler.myoperator; import java.util.Hashtable; import java.util.Iterator; import java.util.Vector; + +import typinferenz.assumptions.TypeAssumptions; +import typinferenz.exceptions.DebugException; import mycompiler.mybytecode.ClassFile; import mycompiler.mybytecode.CodeAttribute; import mycompiler.myexception.CTypeReconstructionException; @@ -13,6 +16,7 @@ import mycompiler.myexception.JVMCodeException; import mycompiler.mystatement.Binary; import mycompiler.mytype.Pair; import mycompiler.mytype.RefType; +import mycompiler.mytype.Type; import mycompiler.mytypereconstruction.CSupportData; import mycompiler.mytypereconstruction.CTriple; import mycompiler.mytypereconstruction.set.CSubstitutionSet; @@ -52,6 +56,12 @@ public abstract class RelOp extends Operator return types; } + @Override + public Type getReturnType(TypeAssumptions ass){ + Type ret = ass.getTypeFor(new RefType("java.lang.Boolean",-1)); + if(ret == null)throw new DebugException("java.lang.Boolean kann nicht aufgelöst werden"); + return ret; + } } // ino.end diff --git a/src/mycompiler/mystatement/Binary.java b/src/mycompiler/mystatement/Binary.java index effe3e42f..eaffa3f38 100755 --- a/src/mycompiler/mystatement/Binary.java +++ b/src/mycompiler/mystatement/Binary.java @@ -33,10 +33,12 @@ import org.apache.log4j.Logger; + import sun.reflect.generics.reflectiveObjects.NotImplementedException; import typinferenz.ConstraintsSet; import typinferenz.JavaCodeResult; import typinferenz.ResultSet; +import typinferenz.SingleConstraint; import typinferenz.assumptions.TypeAssumptions; @@ -255,7 +257,11 @@ public class Binary extends BinaryExpr @Override public ConstraintsSet TYPEExpr(TypeAssumptions assumptions) { ConstraintsSet ret = new ConstraintsSet(); - // TODO Implement Method stub + ret.add(this.expr1.TYPEExpr(assumptions)); + ret.add(this.expr2.TYPEExpr(assumptions)); + //Der Operator generiert die fehlenden Constraints: + ret.add(this.op.TYPEExpr(expr1, expr2, assumptions)); + this.set_Type(this.op.getReturnType(assumptions)); return ret; } @@ -263,7 +269,11 @@ public class Binary extends BinaryExpr @Override public JavaCodeResult printJavaCode(ResultSet resultSet) { - throw new NotImplementedException(); + JavaCodeResult ret = new JavaCodeResult(); + ret.attach(this.expr1.printJavaCode(resultSet)).attach(" "); + ret.attach(this.op.toString()+" "); + ret.attach(this.expr2.printJavaCode(resultSet)); + return ret; } diff --git a/src/mycompiler/mystatement/BinaryExpr.java b/src/mycompiler/mystatement/BinaryExpr.java index 8af06a319..a8e4ca28a 100755 --- a/src/mycompiler/mystatement/BinaryExpr.java +++ b/src/mycompiler/mystatement/BinaryExpr.java @@ -1,5 +1,8 @@ // ino.module.BinaryExpr.8624.package package mycompiler.mystatement; + +import typinferenz.ConstraintsSet; +import typinferenz.assumptions.TypeAssumptions; // ino.end @@ -17,7 +20,8 @@ public abstract class BinaryExpr extends Expr super(offset,variableLength); } // ino.end - + + // abstract public void if_codegen(ClassFile classfile, Code_attribute code, boolean sw) throws jvmCode_Exception; // abstract public void not_codegen(ClassFile classfile, Code_attribute code) throws jvmCode_Exception; diff --git a/src/mycompiler/mystatement/BoolLiteral.java b/src/mycompiler/mystatement/BoolLiteral.java index 10b6e39bd..128d76838 100755 --- a/src/mycompiler/mystatement/BoolLiteral.java +++ b/src/mycompiler/mystatement/BoolLiteral.java @@ -180,7 +180,7 @@ public class BoolLiteral extends Literal @Override public ConstraintsSet TYPEExpr(TypeAssumptions assumptions) { - + this.type = new BooleanType(); return new ConstraintsSet(); } diff --git a/src/mycompiler/mystatement/LocalVarDecl.java b/src/mycompiler/mystatement/LocalVarDecl.java index a96de1d06..049bc5211 100755 --- a/src/mycompiler/mystatement/LocalVarDecl.java +++ b/src/mycompiler/mystatement/LocalVarDecl.java @@ -493,8 +493,10 @@ public class LocalVarDecl extends Statement implements TypeInsertable @Override public JavaCodeResult printJavaCode(ResultSet resultSet) { - return new JavaCodeResult().attach(getType().printJavaCode(resultSet)) .attach( " "+this.get_Name()+";"); - } + JavaCodeResult ret = new JavaCodeResult(); + if(this.getType()!=null)ret.attach(getType().printJavaCode(resultSet)).attach(" "); + ret.attach(this.get_Name()+";"); + return ret;} @Override public void setOffset(int offset) { diff --git a/src/mycompiler/mystatement/NewClass.java b/src/mycompiler/mystatement/NewClass.java index afc7c20bb..dddfb35d3 100755 --- a/src/mycompiler/mystatement/NewClass.java +++ b/src/mycompiler/mystatement/NewClass.java @@ -38,6 +38,9 @@ import org.apache.log4j.Logger; + + + import typinferenz.JavaCodeResult; import typinferenz.Overloading; import typinferenz.SingleConstraint; @@ -45,7 +48,10 @@ import typinferenz.ConstraintsSet; import typinferenz.FreshTypeVariable; import typinferenz.FunN; import typinferenz.ResultSet; +import typinferenz.UndConstraint; +import typinferenz.assumptions.ConstructorAssumption; import typinferenz.assumptions.TypeAssumptions; +import typinferenz.exceptions.TypeinferenceException; @@ -226,8 +232,7 @@ public class NewClass extends Expr public ConstraintsSet TYPEExpr(TypeAssumptions assumptions) { //TODO: Das hier noch vervollständigen ConstraintsSet ret = new ConstraintsSet(); - - this.set_Type(TypePlaceholder.fresh(this)); + UndConstraint callConstraints = new UndConstraint(); //Die Auskommentierten Zeilen gehören zu MethodRefNew //Vector argumentTypeList = new Vector(); //for(Expr expr : this.arglist.expr){ @@ -237,19 +242,31 @@ public class NewClass extends Expr //Constraint newClassTypeConstraint = new Constraint(null,null); //ret.add(newClassTypeConstraint); + int numArgs = 0; + if(this.arglist != null)numArgs = this.arglist.size(); + ConstructorAssumption cA = assumptions.getConstructorAssumption(this.get_Name(), numArgs); + if(cA == null)throw new TypeinferenceException("Der Konstruktor "+this.get_Name()+" mit "+numArgs+" Parametern ist nicht vorhanden.", this); - if(this.arglist != null && this.arglist.expr != null)for(Expr arg : this.arglist.expr){ - ret.add(arg.TYPEExpr(assumptions)); + for(int i=0; i MethodCall newAufruf = new MethodCall(0,0); - this.setType(new RefType(this.get_Name(),0)); - newAufruf.type = new RefType(this.get_Name(),0); - newAufruf.set_Name(this.get_Name()); + this.setType(assumptions.getTypeFor(new RefType(this.get_Name(),0))); + newAufruf.type = this.getType(); + newAufruf.set_Name(""); newAufruf.set_Receiver(null); ret.add(new Overloading(assumptions, newAufruf, this.getType()).generateConsstraints()); - + */ return ret; } @@ -262,14 +279,14 @@ public class NewClass extends Expr @Override public ConstraintsSet TYPEStmt(TypeAssumptions assumptions){ ConstraintsSet ret = this.TYPEExpr(assumptions); //TypeExpr aufrufen - this.set_Type(new Void(0)); //Typ des Statments auf Void setzen. + this.setType(new Void(0)); //Typ des Statments auf Void setzen. return ret; } @Override public JavaCodeResult printJavaCode(ResultSet resultSet) { JavaCodeResult ret = new JavaCodeResult("new "); - ret.attach(this.getType().printJavaCode(resultSet)); + ret.attach(this.get_Name()); ret.attach("("); if(this.arglist!=null && this.arglist.expr != null){ Iterator it = this.arglist.expr.iterator(); diff --git a/src/mycompiler/mystatement/NotExpr.java b/src/mycompiler/mystatement/NotExpr.java index e7389d60c..607d25d43 100755 --- a/src/mycompiler/mystatement/NotExpr.java +++ b/src/mycompiler/mystatement/NotExpr.java @@ -13,6 +13,7 @@ import mycompiler.myclass.Class; import mycompiler.myexception.CTypeReconstructionException; import mycompiler.myexception.JVMCodeException; import mycompiler.myexception.SCStatementException; +import mycompiler.mytype.BooleanType; import mycompiler.mytype.GenericTypeVar; import mycompiler.mytype.Pair; import mycompiler.mytype.RefType; @@ -31,8 +32,11 @@ import org.apache.log4j.Logger; + + import typinferenz.ConstraintsSet; import typinferenz.JavaCodeResult; +import typinferenz.OderConstraint; import typinferenz.ResultSet; import typinferenz.assumptions.TypeAssumptions; @@ -155,8 +159,11 @@ public class NotExpr extends UnaryExpr @Override public ConstraintsSet TYPEExpr(TypeAssumptions assumptions) { - // TODO Auto-generated method stub - return null; + ConstraintsSet ret = new ConstraintsSet(); + OderConstraint constraint = new OderConstraint(); + constraint.addConstraint(new Pair(this.getType(), new BooleanType())); + ret.add(constraint); + return ret; } @Override diff --git a/src/typinferenz/assumptions/ConstructorAssumption.java b/src/typinferenz/assumptions/ConstructorAssumption.java index d0801d3f7..855c40f9f 100644 --- a/src/typinferenz/assumptions/ConstructorAssumption.java +++ b/src/typinferenz/assumptions/ConstructorAssumption.java @@ -3,6 +3,7 @@ package typinferenz.assumptions; import mycompiler.myclass.Class; import mycompiler.myclass.Field; import mycompiler.myclass.Method; +import mycompiler.mystatement.ArgumentList; public class ConstructorAssumption extends MethodAssumption{ @@ -15,7 +16,6 @@ public class ConstructorAssumption extends MethodAssumption{ if(!(obj instanceof ConstructorAssumption))return false; return super.equals(obj); } - } diff --git a/src/typinferenz/assumptions/TypeAssumptions.java b/src/typinferenz/assumptions/TypeAssumptions.java index b171ff269..45d885b09 100755 --- a/src/typinferenz/assumptions/TypeAssumptions.java +++ b/src/typinferenz/assumptions/TypeAssumptions.java @@ -300,7 +300,7 @@ public class TypeAssumptions { }else if(names.length == 0 || names.length != assNames.length){ match = false; }else for(int i = names.length-1; i>-1;i--){ - if(!names.equals(assNames))match = false; + if(!names[i].equals(assNames[i]))match = false; } if(match){ RefType ret = ass.getAssumedClass().getType(); //Dadurch erhält der RefType den vollen Namen (bsp. java.lang.Integer) @@ -322,6 +322,19 @@ public class TypeAssumptions { this.classAssumptions.add(classAssumption); } + /** + * + * @param name + * @param size + * @return Null, falls kein Konstruktor vorhanden. + */ + public ConstructorAssumption getConstructorAssumption(String name, int size) { + for(ConstructorAssumption ca : this.constructorAssumptions){ + if(ca.getParaCount()==size && ca.getIdentifier().equals(name))return ca; + } + return null; + } + /** * Prüft einen Typ auf das vorhandensein in den BasicAssumptions. * Dabei werden alle Konstruktoren nach diesem Typ durchsucht. Denn jede Klasse hat einen Konstruktor und der muss in den TypeAssumptions vorhanden sein. diff --git a/src/typinferenz/exceptions/DebugException.java b/src/typinferenz/exceptions/DebugException.java index b7c082d3e..2043320aa 100644 --- a/src/typinferenz/exceptions/DebugException.java +++ b/src/typinferenz/exceptions/DebugException.java @@ -3,5 +3,6 @@ package typinferenz.exceptions; public class DebugException extends RuntimeException { public DebugException(String message) { + System.err.print(message); } } From 36fd91524831b42163c02be1dc7946f68ecfdbb5 Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Wed, 23 Apr 2014 17:59:59 +0200 Subject: [PATCH 56/79] =?UTF-8?q?weitere=20Testcases=20eingef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MartinTestCases/AchimTest1.jav | 9 +++ .../MartinTestCases/BoundedType.jav | 12 ++++ .../MartinTestCases/BoundedType1.jav | 16 ++++++ .../MartinTestCases/BoundedType2.jav | 15 +++++ test/plugindevelopment/MartinTestCases/OL.jav | 16 ++++++ .../plugindevelopment/MartinTestCases/OL2.jav | 20 +++++++ .../MartinTestCases/Probleme | 41 +++++++++++++ .../MartinTestCases/SMatrix.jav | 11 ++++ .../MartinTestCases/Simple.jav | 10 ++++ .../MartinTestCases/Tester.java | 57 +++++++++++++++++++ .../MartinTestCases/UnifyTest1.jav | 11 ++++ .../MartinTestCases/UsecaseEight_pl.jav | 10 ++++ .../MartinTestCases/UsecaseFive_pl.jav | 9 +++ .../MartinTestCases/UsecaseFour_pl.jav | 9 +++ .../MartinTestCases/UsecaseNine_pl.jav | 12 ++++ .../MartinTestCases/UsecaseOne_pl.jav | 20 +++++++ .../MartinTestCases/UsecaseSeven_pl.jav | 18 ++++++ .../MartinTestCases/UsecaseSix_pl.jav | 5 ++ .../MartinTestCases/UsecaseTen_pl.jav | 14 +++++ .../MartinTestCases/UsecaseThree_pl.jav | 9 +++ .../MartinTestCases/UsecaseThree_pl.orig.jav | 11 ++++ .../MartinTestCases/UsecaseTwo_pl.jav | 11 ++++ .../MartinTestCases/Usecase_MUBTest.jav | 12 ++++ .../MartinTestCases/Usecase_MUBTest1.jav | 17 ++++++ .../MartinTestCases/Usecase_MUBTest2.jav | 13 +++++ .../MartinTestCases/Usecase_MUBTest3.jav | 14 +++++ .../MartinTestCases/Usecase_MUBTest4.jav | 12 ++++ .../MartinTestCases/Usecase_MUBTest5.jav | 12 ++++ .../MartinTestCases/Usecase_MUBTest6.jav | 9 +++ .../MartinTestCases/ZweiKlassen.jav | 17 ++++++ 30 files changed, 452 insertions(+) create mode 100755 test/plugindevelopment/MartinTestCases/AchimTest1.jav create mode 100755 test/plugindevelopment/MartinTestCases/BoundedType.jav create mode 100755 test/plugindevelopment/MartinTestCases/BoundedType1.jav create mode 100755 test/plugindevelopment/MartinTestCases/BoundedType2.jav create mode 100755 test/plugindevelopment/MartinTestCases/OL.jav create mode 100755 test/plugindevelopment/MartinTestCases/OL2.jav create mode 100755 test/plugindevelopment/MartinTestCases/Probleme create mode 100755 test/plugindevelopment/MartinTestCases/SMatrix.jav create mode 100755 test/plugindevelopment/MartinTestCases/Simple.jav create mode 100644 test/plugindevelopment/MartinTestCases/Tester.java create mode 100755 test/plugindevelopment/MartinTestCases/UnifyTest1.jav create mode 100755 test/plugindevelopment/MartinTestCases/UsecaseEight_pl.jav create mode 100755 test/plugindevelopment/MartinTestCases/UsecaseFive_pl.jav create mode 100755 test/plugindevelopment/MartinTestCases/UsecaseFour_pl.jav create mode 100755 test/plugindevelopment/MartinTestCases/UsecaseNine_pl.jav create mode 100755 test/plugindevelopment/MartinTestCases/UsecaseOne_pl.jav create mode 100755 test/plugindevelopment/MartinTestCases/UsecaseSeven_pl.jav create mode 100755 test/plugindevelopment/MartinTestCases/UsecaseSix_pl.jav create mode 100755 test/plugindevelopment/MartinTestCases/UsecaseTen_pl.jav create mode 100755 test/plugindevelopment/MartinTestCases/UsecaseThree_pl.jav create mode 100755 test/plugindevelopment/MartinTestCases/UsecaseThree_pl.orig.jav create mode 100755 test/plugindevelopment/MartinTestCases/UsecaseTwo_pl.jav create mode 100755 test/plugindevelopment/MartinTestCases/Usecase_MUBTest.jav create mode 100755 test/plugindevelopment/MartinTestCases/Usecase_MUBTest1.jav create mode 100755 test/plugindevelopment/MartinTestCases/Usecase_MUBTest2.jav create mode 100755 test/plugindevelopment/MartinTestCases/Usecase_MUBTest3.jav create mode 100755 test/plugindevelopment/MartinTestCases/Usecase_MUBTest4.jav create mode 100755 test/plugindevelopment/MartinTestCases/Usecase_MUBTest5.jav create mode 100755 test/plugindevelopment/MartinTestCases/Usecase_MUBTest6.jav create mode 100755 test/plugindevelopment/MartinTestCases/ZweiKlassen.jav diff --git a/test/plugindevelopment/MartinTestCases/AchimTest1.jav b/test/plugindevelopment/MartinTestCases/AchimTest1.jav new file mode 100755 index 000000000..35d7739d5 --- /dev/null +++ b/test/plugindevelopment/MartinTestCases/AchimTest1.jav @@ -0,0 +1,9 @@ +class Test{ + test(){ + return 1; + } + test2(){ + i; + i = test(); + } +} diff --git a/test/plugindevelopment/MartinTestCases/BoundedType.jav b/test/plugindevelopment/MartinTestCases/BoundedType.jav new file mode 100755 index 000000000..ca33735a7 --- /dev/null +++ b/test/plugindevelopment/MartinTestCases/BoundedType.jav @@ -0,0 +1,12 @@ +class BoundedType { + + m(T x) { + return x; + } + + m1(x) { + T y; + x = y; + return y; + } +} \ No newline at end of file diff --git a/test/plugindevelopment/MartinTestCases/BoundedType1.jav b/test/plugindevelopment/MartinTestCases/BoundedType1.jav new file mode 100755 index 000000000..af71bfa73 --- /dev/null +++ b/test/plugindevelopment/MartinTestCases/BoundedType1.jav @@ -0,0 +1,16 @@ +interface BB { } +interface AA extends BB { + AAm(BB x); + } + +interface RR extends BB { + } + +class BoundedType1 { + + + m1(AA a) { + T1 b; + a.AAm(b); + } +} \ No newline at end of file diff --git a/test/plugindevelopment/MartinTestCases/BoundedType2.jav b/test/plugindevelopment/MartinTestCases/BoundedType2.jav new file mode 100755 index 000000000..47602aba5 --- /dev/null +++ b/test/plugindevelopment/MartinTestCases/BoundedType2.jav @@ -0,0 +1,15 @@ +class BoundedType { + m(T x) { + r; + r=x; + return r; + } + m1(b) { return b; } + +} + +class Id { + BoundedType bb; + m(x) { return bb.m1(x); } + } + \ No newline at end of file diff --git a/test/plugindevelopment/MartinTestCases/OL.jav b/test/plugindevelopment/MartinTestCases/OL.jav new file mode 100755 index 000000000..66e95aeb3 --- /dev/null +++ b/test/plugindevelopment/MartinTestCases/OL.jav @@ -0,0 +1,16 @@ +class OL { + + Integer m(Integer x) { return x + x; } + + Boolean m(Boolean x) {return x || x; } +} + +class Main { + + main(x) { + ol; + ol = new OL(); + return ol.m(x); + } + +} diff --git a/test/plugindevelopment/MartinTestCases/OL2.jav b/test/plugindevelopment/MartinTestCases/OL2.jav new file mode 100755 index 000000000..8a2c485b8 --- /dev/null +++ b/test/plugindevelopment/MartinTestCases/OL2.jav @@ -0,0 +1,20 @@ +import java.util.Vector; + +class OL2 { + + Integer m(Integer x) { return x + x; } + + Boolean m(Boolean x) {return x || x; } +} + +class Main { + + main(x) { + ol; + ol = new OL2(); + y; + /* y = new Vector(); */ + y.addElement(ol.m(x)); + } + +} diff --git a/test/plugindevelopment/MartinTestCases/Probleme b/test/plugindevelopment/MartinTestCases/Probleme new file mode 100755 index 000000000..4a69c5d07 --- /dev/null +++ b/test/plugindevelopment/MartinTestCases/Probleme @@ -0,0 +1,41 @@ +- Sequenz-Diagramme fuer TR-Algorithmen +- In der GUI werden bei der Auswahl bei Typisierungen mehrerer Klassen immer nur die Typisierung der einzelnen Klasse angepasst (Use-Rase ZweiKlassen.jav) +- Bound bleiben in der GUI erhalten auch wenn durch Auswahl die Bounds gar nicht mehr existieren (Use-Rase BoundedType2.jav) +- Parameter gehen nicht Matrix Use-Rase +- gleiche TypePlaceHolder in unterschiedlichen Intersections werden durch unterschiedliche GentypeVars ersetzt (BoundedType2.jav) +- Mail von Juergen, welche Usecases machen ihm Probleme? +- UsedId bei bei "extends" in RefType bzw. bei "implements" in Vector umwandeln. (siehe mail an Timo) +- Roundtrip fuer den Innovator einbauen erledigt 06-06 +- Schnittstelle mit syntaktischen Angaben fuer den Konstantenpool wird bei unbeboxten Typen nicht richtig erzeugt +- Boxing und Unboxing geht noch nicht bei allen primitiven Typen und Operatoren +-------------------------------------------------------------------------------------------------- +- makeFC testen durch Verschiebung von TyploseVaribale yu GentypeVar + sind Probleme entstanden PL 06-03-16 +- Alle UseCases noch mit Vervielfachung testen +- Codeerzeugung: called_method +- Returntyp void UsecaseThree_pl.jav ERLEDIGT Fehler in Void.java 05-07-31 +- Parameter in Typen: Werden die �berhaupt betrachtet? UsecaseTwo_pl.jav +- Die Argumente bei UsedId Konstruktion f�r die Parameter in dem Attribut paralist von Typen + sind immer GenericTypeVars, k�nnten aber auch Typen wie Integer als RefTypes sein. + In der Methode wandleGeneric2RefType (MyCompiler) werden nur die GenericTypeVars + der Superklassen-Deklarationen angepasst. Hier muessten alle expliziten Typdeklarationen + im gesamten abstrakten Syntaxbaum angepasst werden. Koennte ueber eine Registry + und die Listener realisiert werden. ERLEDIGT SourceFile.java 05-07-31 +- getypte Variablen werden nicht richtig gesetzt UsecaseFive_pl.jav ERLEDIGT JavaParser.jay 05-07-30 + +- UNIFY funktioniert nicht mit GenericTypeVars UsecaseOne_pl.jav +- Einschränkungen bei TRMAPP von noch einbauen. +- a.b wird als Expression nicht in InstVar umgewandelt, sondern bleibt LocalOrFieldVar mit UsedId UsecaseNine_pl.jav + wird inzwischen bei zwei Identifieren umgewandelt. Mit mehr testen +- In Usecase UsecaseNine_pl.jav wird der Parameter bei der Klasse bei b nicht bestimmt. +- Braucht man das Field type vom Typ String in InstVar.java? +- in Assign stimmt der Typ von Assign nicht (Beispiel Matrix1.jav in bajo) +- unifyAndregister in allen Subklassen von ExprStmt durch register ersetzen. erledigt 05-08-21 +- Class.java: m_MethodIntersectionTypes wird in CTypeReconstructionResult nicht richtig gestetzt. + Beispiel Matrix.jav in bajo1_usecases +- clone in alle Subklassen von CTypeAssumption ueberpruefen. +- Was ist der Unterschied zwischen RefType.clone() und Pair.copyType +- in instanceSmaller neuhinzugekommene GENTYPEVARS durch typlose Vars ersetzen. +- EST95A anschauen. Insbesondere: Wann ist this View und wann GView? + siehe SubtypeingTest this wird immer dynamisch angepasst. Auch in + der Theorie aendern \ No newline at end of file diff --git a/test/plugindevelopment/MartinTestCases/SMatrix.jav b/test/plugindevelopment/MartinTestCases/SMatrix.jav new file mode 100755 index 000000000..80dd631ab --- /dev/null +++ b/test/plugindevelopment/MartinTestCases/SMatrix.jav @@ -0,0 +1,11 @@ +import java.util.Vector; + +class Matrix extends Vector> { + + mul(){ + Vector> ret1; + Vector ret; + return ret; + } + +} diff --git a/test/plugindevelopment/MartinTestCases/Simple.jav b/test/plugindevelopment/MartinTestCases/Simple.jav new file mode 100755 index 000000000..312e8a885 --- /dev/null +++ b/test/plugindevelopment/MartinTestCases/Simple.jav @@ -0,0 +1,10 @@ +class Simple { + + simple(a) { + return 1; + } + + main(a) { + return a; + } +} \ No newline at end of file diff --git a/test/plugindevelopment/MartinTestCases/Tester.java b/test/plugindevelopment/MartinTestCases/Tester.java new file mode 100644 index 000000000..9607e2976 --- /dev/null +++ b/test/plugindevelopment/MartinTestCases/Tester.java @@ -0,0 +1,57 @@ +package plugindevelopment.MartinTestCases; + +import java.io.File; +import java.io.IOException; +import java.util.Vector; + +import org.junit.Test; + +import plugindevelopment.TypeInsertTester; +import plugindevelopment.TypeInsertTests.MultipleTypesInsertTester; +import junit.framework.TestCase; +import mycompiler.MyCompiler; +import mycompiler.MyCompilerAPI; +import mycompiler.myparser.JavaParser.yyException; +import mycompiler.mytypereconstruction.TypeinferenceResultSet; +import typinferenz.TypeInsertSet; + +public class Tester extends TypeInsertTester{ + + public final static String rootDirectory = System.getProperty("user.dir")+"/test/plugindevelopment/MartinTestCases/"; + + public static void test(String sourceFileToInfere, Vector mustContain){ + String gesamterSrc = ""; + String inferedSource = ""; + MyCompilerAPI compiler = MyCompiler.getAPI(); + try { + compiler.parse(new File(rootDirectory + sourceFileToInfere)); + Vector results = compiler.typeReconstruction(); + //TestCase.assertTrue("Es darf nicht mehr als eine Lösungsmöglichkeit geben und nicht "+results.size(), results.size()==1); + for(TypeinferenceResultSet result : results){ + Vector points = result.getTypeInsertionPoints(); + //TestCase.assertTrue("Es muss mindestens ein TypeInsertSet vorhanden sein", points.size()>0); + for(TypeInsertSet point : points){ + //TestCase.assertTrue("Es muss mindestens ein TypeInsertPoint vorhanden sein", point.points.size()>0); + if(point.points.size()>0){ + inferedSource = point.insertAllTypes(TypeInsertTester.getFileContent(rootDirectory + sourceFileToInfere)); + System.out.println(inferedSource); + gesamterSrc += inferedSource; + } + } + } + + } catch (IOException | yyException e) { + e.printStackTrace(); + TestCase.fail(); + } + for(String containString : mustContain){ + TestCase.assertTrue("\""+containString+"\" muss in den inferierten Lösungen vorkommen",gesamterSrc.contains(containString)); + } + } + + @Test + public void runTests(){ + Tester.test("OL.jav", new Vector()); + } + +} diff --git a/test/plugindevelopment/MartinTestCases/UnifyTest1.jav b/test/plugindevelopment/MartinTestCases/UnifyTest1.jav new file mode 100755 index 000000000..abb8580be --- /dev/null +++ b/test/plugindevelopment/MartinTestCases/UnifyTest1.jav @@ -0,0 +1,11 @@ +import java.util.Vector; +import java.util.Stack; + + +class Test { + public getValue(a){ + String x; + a.addElement(x); + } + +} diff --git a/test/plugindevelopment/MartinTestCases/UsecaseEight_pl.jav b/test/plugindevelopment/MartinTestCases/UsecaseEight_pl.jav new file mode 100755 index 000000000..f2395352f --- /dev/null +++ b/test/plugindevelopment/MartinTestCases/UsecaseEight_pl.jav @@ -0,0 +1,10 @@ +class UsecaseEight_pl { + + foo1() { + a; + b; + a = b.foo1(); + return 1; + } + +} \ No newline at end of file diff --git a/test/plugindevelopment/MartinTestCases/UsecaseFive_pl.jav b/test/plugindevelopment/MartinTestCases/UsecaseFive_pl.jav new file mode 100755 index 000000000..1ccfddbdf --- /dev/null +++ b/test/plugindevelopment/MartinTestCases/UsecaseFive_pl.jav @@ -0,0 +1,9 @@ +class UsecaseFive_pl { + + foo() { + Vector c; + c = new Vector() ; + return c; + } + +} \ No newline at end of file diff --git a/test/plugindevelopment/MartinTestCases/UsecaseFour_pl.jav b/test/plugindevelopment/MartinTestCases/UsecaseFour_pl.jav new file mode 100755 index 000000000..b40233f6d --- /dev/null +++ b/test/plugindevelopment/MartinTestCases/UsecaseFour_pl.jav @@ -0,0 +1,9 @@ +class UsecaseFour_pl { + + foo() { + c; + c = new Vector() ; + return c; + } + +} \ No newline at end of file diff --git a/test/plugindevelopment/MartinTestCases/UsecaseNine_pl.jav b/test/plugindevelopment/MartinTestCases/UsecaseNine_pl.jav new file mode 100755 index 000000000..979b2baad --- /dev/null +++ b/test/plugindevelopment/MartinTestCases/UsecaseNine_pl.jav @@ -0,0 +1,12 @@ +class UsecaseNine_pl { + + Integer c; + + foo1() { + a; + b; + a = b.c; + return 1; + } + +} \ No newline at end of file diff --git a/test/plugindevelopment/MartinTestCases/UsecaseOne_pl.jav b/test/plugindevelopment/MartinTestCases/UsecaseOne_pl.jav new file mode 100755 index 000000000..cf614cbe7 --- /dev/null +++ b/test/plugindevelopment/MartinTestCases/UsecaseOne_pl.jav @@ -0,0 +1,20 @@ +import java.util.Vector; + +class UsecaseOne_pl { + + A x; + + foo(bar){ + bar = true; + return 1; + } +/* + foo1(a) { + c; + c = new Vector(); + b; + b = new UsecaseOne_pl(); + return c.addElement(a); + } +*/ +} diff --git a/test/plugindevelopment/MartinTestCases/UsecaseSeven_pl.jav b/test/plugindevelopment/MartinTestCases/UsecaseSeven_pl.jav new file mode 100755 index 000000000..9833b49be --- /dev/null +++ b/test/plugindevelopment/MartinTestCases/UsecaseSeven_pl.jav @@ -0,0 +1,18 @@ +import java.util.Vector; + +class UsecaseSeven_pl { + + foo(bar){ + bar = true; + return 1; + } + + foo1(a) { + c; + c = new Vector(); + b; + b = new UsecaseSeven_pl(); + return c.addElement(a); + } + +} \ No newline at end of file diff --git a/test/plugindevelopment/MartinTestCases/UsecaseSix_pl.jav b/test/plugindevelopment/MartinTestCases/UsecaseSix_pl.jav new file mode 100755 index 000000000..e6a1a5cc2 --- /dev/null +++ b/test/plugindevelopment/MartinTestCases/UsecaseSix_pl.jav @@ -0,0 +1,5 @@ +class uuu {} +class vvv {} +class UsecaseSix_pl extends Vector> { + +} \ No newline at end of file diff --git a/test/plugindevelopment/MartinTestCases/UsecaseTen_pl.jav b/test/plugindevelopment/MartinTestCases/UsecaseTen_pl.jav new file mode 100755 index 000000000..3a679aa94 --- /dev/null +++ b/test/plugindevelopment/MartinTestCases/UsecaseTen_pl.jav @@ -0,0 +1,14 @@ +import java.util.Vector; + +class UsecaseTen_pl { + + Vector c; + + foo1() { + a; + b; + a = b.c.elementAt(1); + return b; + } + +} \ No newline at end of file diff --git a/test/plugindevelopment/MartinTestCases/UsecaseThree_pl.jav b/test/plugindevelopment/MartinTestCases/UsecaseThree_pl.jav new file mode 100755 index 000000000..7ce53593a --- /dev/null +++ b/test/plugindevelopment/MartinTestCases/UsecaseThree_pl.jav @@ -0,0 +1,9 @@ +class UsecaseThree_pl { + + foo() { + c; + c = new Vector(); + return c; + } + +} \ No newline at end of file diff --git a/test/plugindevelopment/MartinTestCases/UsecaseThree_pl.orig.jav b/test/plugindevelopment/MartinTestCases/UsecaseThree_pl.orig.jav new file mode 100755 index 000000000..074acc31f --- /dev/null +++ b/test/plugindevelopment/MartinTestCases/UsecaseThree_pl.orig.jav @@ -0,0 +1,11 @@ +import java.util.Vector; + +class UsecaseThree_pl_org { + + Vector foo() { + Vector c; + c = new Vector(); + return c; + } + +} diff --git a/test/plugindevelopment/MartinTestCases/UsecaseTwo_pl.jav b/test/plugindevelopment/MartinTestCases/UsecaseTwo_pl.jav new file mode 100755 index 000000000..8fbb75e16 --- /dev/null +++ b/test/plugindevelopment/MartinTestCases/UsecaseTwo_pl.jav @@ -0,0 +1,11 @@ +class UsecaseTwo_pl { + + foo() { + d; + d = new UsecaseTwo_pl (); + e; + e = d.foo(); + return d; + } + +} \ No newline at end of file diff --git a/test/plugindevelopment/MartinTestCases/Usecase_MUBTest.jav b/test/plugindevelopment/MartinTestCases/Usecase_MUBTest.jav new file mode 100755 index 000000000..bda38eb28 --- /dev/null +++ b/test/plugindevelopment/MartinTestCases/Usecase_MUBTest.jav @@ -0,0 +1,12 @@ +class A { } + +class B extends A { + f(Boolean x) { + if (x) { + return new B(); } + else { + return new A(); } + } +} + +class C extends B> {} diff --git a/test/plugindevelopment/MartinTestCases/Usecase_MUBTest1.jav b/test/plugindevelopment/MartinTestCases/Usecase_MUBTest1.jav new file mode 100755 index 000000000..cfe0e30e8 --- /dev/null +++ b/test/plugindevelopment/MartinTestCases/Usecase_MUBTest1.jav @@ -0,0 +1,17 @@ + + +class A { } + +class B extends A { + f(Boolean x) { + if (x) { + return new B(); } + else { + return new A(); } + } +} + +class C extends B> {} + + + diff --git a/test/plugindevelopment/MartinTestCases/Usecase_MUBTest2.jav b/test/plugindevelopment/MartinTestCases/Usecase_MUBTest2.jav new file mode 100755 index 000000000..08e66aed6 --- /dev/null +++ b/test/plugindevelopment/MartinTestCases/Usecase_MUBTest2.jav @@ -0,0 +1,13 @@ +class A { } + +class B extends A { + f(x) { + a; + if (x) { + return new C(); } + else { + return a; } + } +} + +class C extends B> {} diff --git a/test/plugindevelopment/MartinTestCases/Usecase_MUBTest3.jav b/test/plugindevelopment/MartinTestCases/Usecase_MUBTest3.jav new file mode 100755 index 000000000..fc7a33cd3 --- /dev/null +++ b/test/plugindevelopment/MartinTestCases/Usecase_MUBTest3.jav @@ -0,0 +1,14 @@ +class A { } + +class B extends A { + f(x) { + a; + b; + if (x) { + return a; } + else { + return b; } + } +} + +class C extends B> {} diff --git a/test/plugindevelopment/MartinTestCases/Usecase_MUBTest4.jav b/test/plugindevelopment/MartinTestCases/Usecase_MUBTest4.jav new file mode 100755 index 000000000..0325a6008 --- /dev/null +++ b/test/plugindevelopment/MartinTestCases/Usecase_MUBTest4.jav @@ -0,0 +1,12 @@ +class A { } + +class B extends A { + f(Boolean x) { + if (x) { + return new B(); } + else { + return new C(); } + } +} + +class C extends B> {} diff --git a/test/plugindevelopment/MartinTestCases/Usecase_MUBTest5.jav b/test/plugindevelopment/MartinTestCases/Usecase_MUBTest5.jav new file mode 100755 index 000000000..c1b2b19b6 --- /dev/null +++ b/test/plugindevelopment/MartinTestCases/Usecase_MUBTest5.jav @@ -0,0 +1,12 @@ +class A { } + +class B extends A { + f(Boolean x) { + if (x) { + return new B(); } + else { + return new C(); } + } +} + +class C extends B> {} diff --git a/test/plugindevelopment/MartinTestCases/Usecase_MUBTest6.jav b/test/plugindevelopment/MartinTestCases/Usecase_MUBTest6.jav new file mode 100755 index 000000000..2d494563d --- /dev/null +++ b/test/plugindevelopment/MartinTestCases/Usecase_MUBTest6.jav @@ -0,0 +1,9 @@ +class Test2 { + public meth(){ + if(true) { + return(1); + }else{ + return(2); + } + } +} diff --git a/test/plugindevelopment/MartinTestCases/ZweiKlassen.jav b/test/plugindevelopment/MartinTestCases/ZweiKlassen.jav new file mode 100755 index 000000000..2e3968848 --- /dev/null +++ b/test/plugindevelopment/MartinTestCases/ZweiKlassen.jav @@ -0,0 +1,17 @@ +import java.util.Vector; + +class ZweiKlassen { + + foo() { + c; + c = new Vector() ; + return c; + } + +} + +class X { + ZweiKlassen bb; + + foo2() { return bb.foo();} +} \ No newline at end of file From ce61fdf3c724f9883af459a040cfc189eff01e58 Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Thu, 24 Apr 2014 01:53:35 +0200 Subject: [PATCH 57/79] =?UTF-8?q?Bug-fixes;=20GenericTypeVar=20kann=20von?= =?UTF-8?q?=20mehreren=20Klassen=20per=20extends=20abh=C3=A4ngen.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/mycompiler/SyntaxTreeNode.java | 3 +- src/mycompiler/myclass/Method.java | 12 +++++- src/mycompiler/mystatement/LocalVarDecl.java | 5 ++- src/mycompiler/mystatement/MethodCall.java | 2 +- src/mycompiler/mystatement/Statement.java | 1 - src/mycompiler/mystatement/This.java | 5 +++ .../mytype/BoundedGenericTypeVar.java | 6 ++- src/mycompiler/mytype/GenericTypeVar.java | 22 ++++++++--- .../assumptions/LocalVarAssumption.java | 6 ++- .../assumptions/TypeAssumptions.java | 1 - .../MartinTestCases/Tester.java | 38 ++++++++++++++++++- 11 files changed, 83 insertions(+), 18 deletions(-) diff --git a/src/mycompiler/SyntaxTreeNode.java b/src/mycompiler/SyntaxTreeNode.java index f0110158d..f2c58bf6a 100644 --- a/src/mycompiler/SyntaxTreeNode.java +++ b/src/mycompiler/SyntaxTreeNode.java @@ -34,7 +34,8 @@ public abstract class SyntaxTreeNode { public Class getParentClass(){ SyntaxTreeNode parent = this.getParent(); if(parent instanceof Class)return (Class)parent; - if(parent == null)throw new DebugException("Das Wurzelelement eines Syntaxbaumes muss Class sein"); + if(parent == null) + throw new DebugException("Das Wurzelelement eines Syntaxbaumes muss Class sein"); return parent.getParentClass(); } diff --git a/src/mycompiler/myclass/Method.java b/src/mycompiler/myclass/Method.java index bcb94f155..35d220a8d 100755 --- a/src/mycompiler/myclass/Method.java +++ b/src/mycompiler/myclass/Method.java @@ -500,8 +500,12 @@ public class Method extends Field implements IItemWithOffset, TypeInsertable } @Override - public void wandleRefTypeAttributes2GenericAttributes(Vector paralist) + public void wandleRefTypeAttributes2GenericAttributes(Vector classParalist) { + Vector paralist = new Vector();//Mit den Generischen Typen der Methode + paralist.addAll(classParalist); + paralist.addAll(this.genericMethodParameters); + // Zuerst Returntype untersuchen Type returnType=getType(); Type pendantReturnType = null; @@ -561,7 +565,8 @@ public class Method extends Field implements IItemWithOffset, TypeInsertable { Type replaceType = null; replaceType = ass.getTypeFor((RefType)param.getType()); - if(replaceType == null)throw new TypeinferenceException("Der Typ "+this.getType().getName()+" ist nicht korrekt",param); + if(replaceType == null) + throw new TypeinferenceException("Der Typ "+param.getType().getName()+" ist nicht korrekt",param); param.setType(replaceType); } @@ -592,6 +597,9 @@ public class Method extends Field implements IItemWithOffset, TypeInsertable return ret; } + /** + * Liefert die MethodAssumption zu dieser Methode + */ @Override public TypeAssumptions createTypeAssumptions(Class classmember) { Class parentClass = this.getParentClass(); diff --git a/src/mycompiler/mystatement/LocalVarDecl.java b/src/mycompiler/mystatement/LocalVarDecl.java index 049bc5211..f42e172c9 100755 --- a/src/mycompiler/mystatement/LocalVarDecl.java +++ b/src/mycompiler/mystatement/LocalVarDecl.java @@ -468,10 +468,11 @@ public class LocalVarDecl extends Statement implements TypeInsertable if((this.getType() instanceof RefType)){ Type replaceType = null; replaceType = assumptions.getTypeFor((RefType)this.getType()); - if(replaceType == null)throw new TypeinferenceException("Der Typ "+this.getType().getName()+" ist nicht korrekt",this); + if(replaceType == null) + throw new TypeinferenceException("Der Typ "+this.getType().getName()+" ist nicht korrekt",this); this.setType(replaceType); } - assumptions.addAssumption(new LocalVarAssumption(this)); + assumptions.addAssumption(new LocalVarAssumption(this, this.getType())); //Bevor der Typ auf Void gesetzt wird. //assumptions.remove(null); // falls Variable mit diesem Namen bereits vorhanden. this.setType(new Void(0)); //Return typ einer Variablendeklaration ist Void return ret; diff --git a/src/mycompiler/mystatement/MethodCall.java b/src/mycompiler/mystatement/MethodCall.java index 303c8d40a..ab73632c0 100755 --- a/src/mycompiler/mystatement/MethodCall.java +++ b/src/mycompiler/mystatement/MethodCall.java @@ -670,7 +670,7 @@ public class MethodCall extends Expr this.setType(TypePlaceholder.fresh(this)); //Berechne die Constraints des Receivers if(receiver == null){ - receiver = new Receiver(new This(0,0)); + receiver = new Receiver(new This(this)); } ret.add(receiver.get_Expr().TYPEExpr(assumptions)); diff --git a/src/mycompiler/mystatement/Statement.java b/src/mycompiler/mystatement/Statement.java index 44a306227..f7b16e4d3 100755 --- a/src/mycompiler/mystatement/Statement.java +++ b/src/mycompiler/mystatement/Statement.java @@ -50,7 +50,6 @@ public abstract class Statement extends SyntaxTreeNode implements IItemWithOffse // ino.end protected Type type; - private SyntaxTreeNode parent; // ino.method.Statement.26194.definition public Statement(int offset, int variableLength) diff --git a/src/mycompiler/mystatement/This.java b/src/mycompiler/mystatement/This.java index d83e85d3d..a77bb2228 100755 --- a/src/mycompiler/mystatement/This.java +++ b/src/mycompiler/mystatement/This.java @@ -50,6 +50,11 @@ public class This extends Expr } // ino.end + public This(SyntaxTreeNode parent){ + this(0,0); + this.parent = parent; + } + // ino.attribute.arglist.26268.declaration public ArgumentList arglist; // ino.end diff --git a/src/mycompiler/mytype/BoundedGenericTypeVar.java b/src/mycompiler/mytype/BoundedGenericTypeVar.java index 9e63dd185..a2d8566af 100755 --- a/src/mycompiler/mytype/BoundedGenericTypeVar.java +++ b/src/mycompiler/mytype/BoundedGenericTypeVar.java @@ -51,8 +51,10 @@ public class BoundedGenericTypeVar extends GenericTypeVar // ino.method.BoundedGenericTypeVar.29409.body { super(s, offset); - if(bounds.size()>1)throw new NotImplementedException(); - this.genericTypeVar = new Pair(new RefType(s,offset),bounds.elementAt(0)); + if(bounds != null)for(Type t : bounds){ + if(t!=null)this.extendVars.add(t); + } + this.genericTypeVar = new RefType(s,offset); this.bounds = bounds; } // ino.end diff --git a/src/mycompiler/mytype/GenericTypeVar.java b/src/mycompiler/mytype/GenericTypeVar.java index b8139dbd1..98a1053a7 100755 --- a/src/mycompiler/mytype/GenericTypeVar.java +++ b/src/mycompiler/mytype/GenericTypeVar.java @@ -4,6 +4,7 @@ package mycompiler.mytype; // ino.module.GenericTypeVar.8671.import import java.util.HashMap; +import java.util.Iterator; import java.util.Vector; // ino.end @@ -12,6 +13,7 @@ import java.util.Vector; + import mycompiler.mytypereconstruction.replacementlistener.CReplaceTypeEvent; import mycompiler.mytypereconstruction.replacementlistener.ITypeReplacementListener; import typinferenz.JavaCodeResult; @@ -32,8 +34,9 @@ public class GenericTypeVar extends Type // ino.end // ino.class.GenericTypeVar.26505.body { - Pair genericTypeVar; - /** + Type genericTypeVar; + Vector extendVars = new Vector(); + /** * Eine Registry f�r alle Generic-Instanzen, die vor der Bytecode-Generierung durch * Ihre Superklasse ersetzt werden m�ssen. Siehe "Type Erasure" in Sun Spezifikation. *
Autor: J�rg B�uerle @@ -49,7 +52,8 @@ public class GenericTypeVar extends Type */ public GenericTypeVar(Pair genericTypeVarExtendsVar, int offset){ super(offset); - genericTypeVar = genericTypeVarExtendsVar; + genericTypeVar = genericTypeVarExtendsVar.TA1; + if(genericTypeVarExtendsVar.TA2!=null)this.extendVars.add(genericTypeVarExtendsVar.TA2); this.name = genericTypeVar.toString(); } @@ -144,8 +148,16 @@ public class GenericTypeVar extends Type public JavaCodeResult printJavaCode(ResultSet resultSet) { if(this.genericTypeVar!=null){ JavaCodeResult ret = new JavaCodeResult(); - ret.attach(this.genericTypeVar.TA1.printJavaCode(resultSet)); - if(this.genericTypeVar.TA2!=null)ret.attach(" extends ").attach(this.genericTypeVar.TA2.printJavaCode(resultSet)); + ret.attach(this.genericTypeVar.printJavaCode(resultSet)); + if(this.extendVars.size()>0){ + ret.attach(" extends "); + Iterator it = this.extendVars.iterator(); + while(it.hasNext()){ + Type extend = it.next(); + ret.attach(extend.printJavaCode(resultSet)); + if(it.hasNext())ret.attach(", "); + } + } return ret; } return new JavaCodeResult(this.name); diff --git a/src/typinferenz/assumptions/LocalVarAssumption.java b/src/typinferenz/assumptions/LocalVarAssumption.java index 8aa60ea84..218c9fd26 100644 --- a/src/typinferenz/assumptions/LocalVarAssumption.java +++ b/src/typinferenz/assumptions/LocalVarAssumption.java @@ -6,15 +6,17 @@ import mycompiler.mystatement.LocalVarDecl; public class LocalVarAssumption extends Assumption { private LocalVarDecl localVar; + private Type type; - public LocalVarAssumption(LocalVarDecl localVar){ + public LocalVarAssumption(LocalVarDecl localVar, Type declaredType){ super(localVar); this.localVar = localVar; + this.type = declaredType; } @Override public Type getAssumedType() { - return this.localVar.getType(); + return this.type; } } diff --git a/src/typinferenz/assumptions/TypeAssumptions.java b/src/typinferenz/assumptions/TypeAssumptions.java index 45d885b09..13322c2af 100755 --- a/src/typinferenz/assumptions/TypeAssumptions.java +++ b/src/typinferenz/assumptions/TypeAssumptions.java @@ -54,7 +54,6 @@ public class TypeAssumptions { private Vector parameterAssumptions = new Vector(); private Vector classAssumptions = new Vector(); - /** * Dieser Konstruktor setzt bei der Initialisierung auch den Wert von "this" * @param klassenname - Wert für "this" diff --git a/test/plugindevelopment/MartinTestCases/Tester.java b/test/plugindevelopment/MartinTestCases/Tester.java index 9607e2976..a73f0a420 100644 --- a/test/plugindevelopment/MartinTestCases/Tester.java +++ b/test/plugindevelopment/MartinTestCases/Tester.java @@ -51,7 +51,43 @@ public class Tester extends TypeInsertTester{ @Test public void runTests(){ - Tester.test("OL.jav", new Vector()); + Vector testFiles = new Vector(); + testFiles.add("AchimTest1.jav"); + + //testFiles.add("BoundedType1.jav"); + testFiles.add("BoundedType2.jav"); + testFiles.add("BoundedType.jav"); + testFiles.add("OL2.jav"); + testFiles.add("OL.jav"); + testFiles.add("Probleme"); + testFiles.add("Simple.jav"); + testFiles.add("SMatrix.jav"); + testFiles.add("Tester.java"); + testFiles.add("UnifyTest1.jav"); + testFiles.add("UsecaseEight_pl.jav"); + testFiles.add("UsecaseFive_pl.jav"); + testFiles.add("UsecaseFour_pl.jav"); + testFiles.add("Usecase_MUBTest1.jav"); + testFiles.add("Usecase_MUBTest2.jav"); + testFiles.add("Usecase_MUBTest3.jav"); + testFiles.add("Usecase_MUBTest4.jav"); + testFiles.add("Usecase_MUBTest5.jav"); + testFiles.add("Usecase_MUBTest6.jav"); + testFiles.add("Usecase_MUBTest.jav"); + testFiles.add("UsecaseNine_pl.jav"); + testFiles.add("UsecaseOne_pl.jav"); + testFiles.add("UsecaseSeven_pl.jav"); + testFiles.add("UsecaseSix_pl.jav"); + testFiles.add("UsecaseTen_pl.jav"); + testFiles.add("UsecaseThree_pl.jav"); + testFiles.add("UsecaseThree_pl.orig.jav"); + testFiles.add("UsecaseTwo_pl.jav"); + testFiles.add("ZweiKlassen.jav"); + //*/ + for(String file : testFiles){ + System.out.println("Testfile: "+file); + Tester.test(file, new Vector()); + } } } From e7db1e74944ef50f6db0323aadc0e70ac71f2915 Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Thu, 24 Apr 2014 12:42:10 +0200 Subject: [PATCH 58/79] =?UTF-8?q?Operator=20unterst=C3=BCtzt=20jetzt=20auc?= =?UTF-8?q?h=20Double=20und=20Float=20statt=20nur=20Integer=20als=20Typ?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/mycompiler/myoperator/AddOp.java | 2 +- src/mycompiler/myoperator/LogOp.java | 8 ++++---- src/mycompiler/myoperator/MulOp.java | 11 +++++++++++ src/mycompiler/myoperator/Operator.java | 17 ++++++++++++++--- src/mycompiler/myoperator/RelOp.java | 8 ++++---- 5 files changed, 34 insertions(+), 12 deletions(-) diff --git a/src/mycompiler/myoperator/AddOp.java b/src/mycompiler/myoperator/AddOp.java index 3e9a30241..38c96b10a 100755 --- a/src/mycompiler/myoperator/AddOp.java +++ b/src/mycompiler/myoperator/AddOp.java @@ -66,7 +66,7 @@ public abstract class AddOp extends Operator @Override - public Type getReturnType(TypeAssumptions ass) { + public Type getReturnType(RefType inputType, TypeAssumptions ass) { Type ret = ass.getTypeFor(new RefType("java.lang.Integer",-1)); if(ret == null)throw new DebugException("java.lang.Integer kann nicht aufgelöst werden"); return ret; diff --git a/src/mycompiler/myoperator/LogOp.java b/src/mycompiler/myoperator/LogOp.java index a7018b115..a8492dbfa 100755 --- a/src/mycompiler/myoperator/LogOp.java +++ b/src/mycompiler/myoperator/LogOp.java @@ -234,10 +234,10 @@ public abstract class LogOp extends Operator } - @Override - public Type getReturnType(TypeAssumptions ass) { - Type ret = ass.getTypeFor(new RefType("java.lang.Boolean",-1)); - if(ret == null)throw new DebugException("java.lang.Boolean kann nicht aufgelöst werden"); + @Override + public Type getReturnType(RefType inputType, TypeAssumptions ass) { + Type iT = ass.getTypeFor(inputType); + Type ret = getOperatorTypes().get(iT); return ret; } diff --git a/src/mycompiler/myoperator/MulOp.java b/src/mycompiler/myoperator/MulOp.java index 2007040ee..6b598cf8b 100755 --- a/src/mycompiler/myoperator/MulOp.java +++ b/src/mycompiler/myoperator/MulOp.java @@ -6,10 +6,14 @@ package mycompiler.myoperator; import java.util.Hashtable; import java.util.Iterator; import java.util.Vector; + +import typinferenz.assumptions.TypeAssumptions; +import typinferenz.exceptions.DebugException; import mycompiler.myexception.CTypeReconstructionException; import mycompiler.mystatement.Binary; import mycompiler.mytype.Pair; import mycompiler.mytype.RefType; +import mycompiler.mytype.Type; import mycompiler.mytypereconstruction.CSupportData; import mycompiler.mytypereconstruction.CTriple; import mycompiler.mytypereconstruction.set.CSubstitutionSet; @@ -43,6 +47,13 @@ public abstract class MulOp extends Operator return types; } + + @Override + public Type getReturnType(RefType inputType, TypeAssumptions ass) { + Type iT = ass.getTypeFor(inputType); + Type ret = getOperatorTypes().get(iT); + return ret; + } } diff --git a/src/mycompiler/myoperator/Operator.java b/src/mycompiler/myoperator/Operator.java index 2e47751ab..c30876b2e 100755 --- a/src/mycompiler/myoperator/Operator.java +++ b/src/mycompiler/myoperator/Operator.java @@ -9,6 +9,7 @@ import java.util.Vector; import typinferenz.ConstraintsSet; import typinferenz.SingleConstraint; import typinferenz.assumptions.TypeAssumptions; +import typinferenz.exceptions.TypeinferenceException; import mycompiler.IItemWithOffset; import mycompiler.mybytecode.ClassFile; import mycompiler.mybytecode.CodeAttribute; @@ -124,12 +125,22 @@ public abstract class Operator implements IItemWithOffset */ public ConstraintsSet TYPEExpr(Expr expr1, Expr expr2, TypeAssumptions ass) { ConstraintsSet ret = new ConstraintsSet(); - ret.add(new SingleConstraint(expr1.getType(), this.getReturnType(ass))); - ret.add(new SingleConstraint(expr2.getType(), this.getReturnType(ass))); + Type expr1Type = expr1.getType(); + if(!(expr1Type instanceof RefType))throw new TypeinferenceException("Nicht erlaubter Typ", this); + Type expr2Type = expr1.getType(); + if(!(expr2Type instanceof RefType))throw new TypeinferenceException("Nicht erlaubter Typ", this); + + Type expr1RetType = this.getReturnType((RefType) expr1Type, ass); + if(expr1RetType == null)throw new TypeinferenceException("Nicht erlaubter Typ "+expr1Type, this); + Type expr2RetType = this.getReturnType((RefType) expr2Type, ass); + if(expr2RetType == null)throw new TypeinferenceException("Nicht erlaubter Typ "+expr2Type, this); + + ret.add(new SingleConstraint(expr1Type, expr1RetType)); + ret.add(new SingleConstraint(expr2Type, expr2RetType)); return ret; } - public abstract Type getReturnType(TypeAssumptions ass); + public abstract Type getReturnType(RefType inputType, TypeAssumptions ass); } // ino.end diff --git a/src/mycompiler/myoperator/RelOp.java b/src/mycompiler/myoperator/RelOp.java index ab55a08b0..e66df707f 100755 --- a/src/mycompiler/myoperator/RelOp.java +++ b/src/mycompiler/myoperator/RelOp.java @@ -57,11 +57,11 @@ public abstract class RelOp extends Operator } @Override - public Type getReturnType(TypeAssumptions ass){ - Type ret = ass.getTypeFor(new RefType("java.lang.Boolean",-1)); - if(ret == null)throw new DebugException("java.lang.Boolean kann nicht aufgelöst werden"); + public Type getReturnType(RefType inputType, TypeAssumptions ass) { + Type iT = ass.getTypeFor(inputType); + Type ret = getOperatorTypes().get(iT); return ret; - } + } } // ino.end From fab7522def218653283c811c9ac6bd85b10887d6 Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Thu, 24 Apr 2014 13:01:24 +0200 Subject: [PATCH 59/79] =?UTF-8?q?Fehler=20in=20Testcases=20behoben.=20RefT?= =?UTF-8?q?yp.hashCode()=20angef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/mycompiler/myoperator/AddOp.java | 7 ++++--- src/mycompiler/mystatement/Binary.java | 5 ++++- src/mycompiler/mystatement/BoolLiteral.java | 2 +- src/mycompiler/mytype/RefType.java | 9 ++++++++- test/plugindevelopment/MartinTestCases/OL2.jav | 3 +-- test/plugindevelopment/MartinTestCases/Tester.java | 2 -- test/plugindevelopment/MartinTestCases/UnifyTest1.jav | 2 +- .../plugindevelopment/MartinTestCases/UsecaseFive_pl.jav | 2 ++ 8 files changed, 21 insertions(+), 11 deletions(-) diff --git a/src/mycompiler/myoperator/AddOp.java b/src/mycompiler/myoperator/AddOp.java index 38c96b10a..bd43703f8 100755 --- a/src/mycompiler/myoperator/AddOp.java +++ b/src/mycompiler/myoperator/AddOp.java @@ -65,10 +65,11 @@ public abstract class AddOp extends Operator - @Override + @Override public Type getReturnType(RefType inputType, TypeAssumptions ass) { - Type ret = ass.getTypeFor(new RefType("java.lang.Integer",-1)); - if(ret == null)throw new DebugException("java.lang.Integer kann nicht aufgelöst werden"); + Type iT = ass.getTypeFor(inputType); + Hashtable types = getOperatorTypes(); + Type ret = types.get(iT); return ret; } diff --git a/src/mycompiler/mystatement/Binary.java b/src/mycompiler/mystatement/Binary.java index eaffa3f38..65186b402 100755 --- a/src/mycompiler/mystatement/Binary.java +++ b/src/mycompiler/mystatement/Binary.java @@ -21,6 +21,7 @@ import mycompiler.myoperator.MulOp; import mycompiler.myoperator.Operator; import mycompiler.myoperator.RelOp; import mycompiler.mytype.GenericTypeVar; +import mycompiler.mytype.RefType; import mycompiler.mytype.Type; import mycompiler.mytypereconstruction.CSupportData; import mycompiler.mytypereconstruction.set.CSubstitutionSet; @@ -34,6 +35,7 @@ import org.apache.log4j.Logger; + import sun.reflect.generics.reflectiveObjects.NotImplementedException; import typinferenz.ConstraintsSet; import typinferenz.JavaCodeResult; @@ -261,7 +263,8 @@ public class Binary extends BinaryExpr ret.add(this.expr2.TYPEExpr(assumptions)); //Der Operator generiert die fehlenden Constraints: ret.add(this.op.TYPEExpr(expr1, expr2, assumptions)); - this.set_Type(this.op.getReturnType(assumptions)); + //Kleiner Hack, wenn die op.TYPEExpr ohne Fehler durchlaufen wurde, dann kann expr1.getType() zu RefType gecastet werden + this.set_Type(this.op.getReturnType((RefType) expr1.getType(),assumptions)); return ret; } diff --git a/src/mycompiler/mystatement/BoolLiteral.java b/src/mycompiler/mystatement/BoolLiteral.java index 128d76838..7c4c9a373 100755 --- a/src/mycompiler/mystatement/BoolLiteral.java +++ b/src/mycompiler/mystatement/BoolLiteral.java @@ -180,7 +180,7 @@ public class BoolLiteral extends Literal @Override public ConstraintsSet TYPEExpr(TypeAssumptions assumptions) { - this.type = new BooleanType(); + this.type = assumptions.getTypeFor(new RefType("java.lang.Boolean",-1)); return new ConstraintsSet(); } diff --git a/src/mycompiler/mytype/RefType.java b/src/mycompiler/mytype/RefType.java index c8ba376f9..0cbe76aaf 100755 --- a/src/mycompiler/mytype/RefType.java +++ b/src/mycompiler/mytype/RefType.java @@ -83,7 +83,14 @@ public class RefType extends Type implements IMatchable } // ino.end - // ino.method.RefType.26640.definition + @Override + public int hashCode() { + int hash = 0; + hash += this.name.hashCode();//Nur den Name hashen. Sorgt für langsame, aber funktionierende HashMaps + return hash; + } + + // ino.method.RefType.26640.definition public RefType(String fullyQualifiedName, Vector parameter, int offset) // ino.end // ino.method.RefType.26640.body diff --git a/test/plugindevelopment/MartinTestCases/OL2.jav b/test/plugindevelopment/MartinTestCases/OL2.jav index 8a2c485b8..799d586de 100755 --- a/test/plugindevelopment/MartinTestCases/OL2.jav +++ b/test/plugindevelopment/MartinTestCases/OL2.jav @@ -13,8 +13,7 @@ class Main { ol; ol = new OL2(); y; - /* y = new Vector(); */ - y.addElement(ol.m(x)); + y.add(ol.m(x)); } } diff --git a/test/plugindevelopment/MartinTestCases/Tester.java b/test/plugindevelopment/MartinTestCases/Tester.java index a73f0a420..d056fc59c 100644 --- a/test/plugindevelopment/MartinTestCases/Tester.java +++ b/test/plugindevelopment/MartinTestCases/Tester.java @@ -59,10 +59,8 @@ public class Tester extends TypeInsertTester{ testFiles.add("BoundedType.jav"); testFiles.add("OL2.jav"); testFiles.add("OL.jav"); - testFiles.add("Probleme"); testFiles.add("Simple.jav"); testFiles.add("SMatrix.jav"); - testFiles.add("Tester.java"); testFiles.add("UnifyTest1.jav"); testFiles.add("UsecaseEight_pl.jav"); testFiles.add("UsecaseFive_pl.jav"); diff --git a/test/plugindevelopment/MartinTestCases/UnifyTest1.jav b/test/plugindevelopment/MartinTestCases/UnifyTest1.jav index abb8580be..88d59e586 100755 --- a/test/plugindevelopment/MartinTestCases/UnifyTest1.jav +++ b/test/plugindevelopment/MartinTestCases/UnifyTest1.jav @@ -5,7 +5,7 @@ import java.util.Stack; class Test { public getValue(a){ String x; - a.addElement(x); + a.add(x); } } diff --git a/test/plugindevelopment/MartinTestCases/UsecaseFive_pl.jav b/test/plugindevelopment/MartinTestCases/UsecaseFive_pl.jav index 1ccfddbdf..5e25f6d83 100755 --- a/test/plugindevelopment/MartinTestCases/UsecaseFive_pl.jav +++ b/test/plugindevelopment/MartinTestCases/UsecaseFive_pl.jav @@ -1,3 +1,5 @@ +import java.util.Vector; + class UsecaseFive_pl
{ foo() { From d053ce0b089df31d0c7e37d9c33e9ce21dab0003 Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Sat, 26 Apr 2014 16:20:16 +0200 Subject: [PATCH 60/79] =?UTF-8?q?Test=20angef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MartinTestCases/MatrixWhile.jav | 43 +++++++++++++++++++ .../MartinTestCases/Tester.java | 2 +- 2 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 test/plugindevelopment/MartinTestCases/MatrixWhile.jav diff --git a/test/plugindevelopment/MartinTestCases/MatrixWhile.jav b/test/plugindevelopment/MartinTestCases/MatrixWhile.jav new file mode 100644 index 000000000..e696ea61e --- /dev/null +++ b/test/plugindevelopment/MartinTestCases/MatrixWhile.jav @@ -0,0 +1,43 @@ +class Matrix extends Vector> { + + Matrix mul_rec(Matrix m) { + v1; + v1 = new Vector(); + v2; + v2 = new Vector(); + i; + i = 0; + while(i < m.size()) { + v; + v = m.elementAt(i); + v2.addElement(v.remove(v.size()-1)); + i++; + } + Matrix ret; + if (m.elementAt(0).size() > 0) { + ret = this.mul_rec(m); + } + else { + ret = new Matrix(); + i = 0; + while (i < this.size()) { + ret.addElement(new Vector()); + i++; + } + } + i = 0; + while (i < this.size()) { + int erg = 0; + j; + j = 0; + while (j < v2.size()) { + erg = erg + this.elementAt(i).elementAt(j).intValue() + * v2.elementAt(j).intValue(); + j++; + } + ret.elementAt(i).addElement(erg); + i++; + } + return ret; + } +} \ No newline at end of file diff --git a/test/plugindevelopment/MartinTestCases/Tester.java b/test/plugindevelopment/MartinTestCases/Tester.java index d056fc59c..923c65e66 100644 --- a/test/plugindevelopment/MartinTestCases/Tester.java +++ b/test/plugindevelopment/MartinTestCases/Tester.java @@ -53,7 +53,7 @@ public class Tester extends TypeInsertTester{ public void runTests(){ Vector testFiles = new Vector(); testFiles.add("AchimTest1.jav"); - + testFiles.add("MatrixWhile.jav"); //testFiles.add("BoundedType1.jav"); testFiles.add("BoundedType2.jav"); testFiles.add("BoundedType.jav"); From 64d01e8ee2016a9291acf28b2205f4150a5494e6 Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Sat, 26 Apr 2014 17:41:53 +0200 Subject: [PATCH 61/79] Einsetzen von generischen Typen gefixt --- src/typinferenz/GenericTypeInsertPoint.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/typinferenz/GenericTypeInsertPoint.java b/src/typinferenz/GenericTypeInsertPoint.java index 44562bae3..32a241550 100644 --- a/src/typinferenz/GenericTypeInsertPoint.java +++ b/src/typinferenz/GenericTypeInsertPoint.java @@ -39,7 +39,21 @@ public class GenericTypeInsertPoint extends TypeInsertPoint { @Override protected Type getInsertType(){ if(genericPairs.size()==0)return this.type; - Iterator it = genericPairs.iterator(); + + Vector pairs = new Vector(); + //Problem: ist falsch! Es muss: heißen: + Vector P1s = new Vector(); + Vector P2s = new Vector(); + for(Pair p : genericPairs){ + P1s.add(p.TA1); + P2s.add(p.TA2); + } + for(Type t : P2s){ + if(!P1s.contains(t))pairs.add(new Pair(t,null)); + } + pairs.addAll(this.genericPairs); + + Iterator it = pairs.iterator(); String genericTypeParameters = "<"; while(it.hasNext()){ genericTypeParameters += new GenericTypeVar(it.next(), 0).printJavaCode(this.getResultSet()); From 183d8f43ee7cd64d39178ebc802671e7311a3714 Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Sat, 26 Apr 2014 18:30:25 +0200 Subject: [PATCH 62/79] =?UTF-8?q?Test=20angef=C3=BCgt.=20Neues=20Problem:?= =?UTF-8?q?=20Nicht=20alle=20Generischen=20Variablen=20werden=20eingesetzt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TypeInsertTests/LambdaTest7.jav | 3 +++ .../TypeInsertTests/LambdaTest7.java | 18 ++++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 test/plugindevelopment/TypeInsertTests/LambdaTest7.jav create mode 100644 test/plugindevelopment/TypeInsertTests/LambdaTest7.java diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest7.jav b/test/plugindevelopment/TypeInsertTests/LambdaTest7.jav new file mode 100644 index 000000000..760677873 --- /dev/null +++ b/test/plugindevelopment/TypeInsertTests/LambdaTest7.jav @@ -0,0 +1,3 @@ +class Test7{ + void testMethode(a){} +} \ No newline at end of file diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest7.java b/test/plugindevelopment/TypeInsertTests/LambdaTest7.java new file mode 100644 index 000000000..43772330e --- /dev/null +++ b/test/plugindevelopment/TypeInsertTests/LambdaTest7.java @@ -0,0 +1,18 @@ +package plugindevelopment.TypeInsertTests; + +import java.util.Vector; + +import org.junit.Test; + +public class LambdaTest7 { + + private static final String TEST_FILE = "LambdaTest7.jav"; + + @Test + public void run(){ + Vector mustContain = new Vector(); + mustContain.add("A a"); + MultipleTypesInsertTester.test(this.TEST_FILE, mustContain); + } + +} From 9aea618525aa9ff8bf96a063e8ca6d5912fd242b Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Sat, 26 Apr 2014 19:33:26 +0200 Subject: [PATCH 63/79] =?UTF-8?q?SyntaxTreeNode=20wird=20zum=20ermitteln?= =?UTF-8?q?=20der=20TIPs=20zus=C3=A4tzlich=20durchlaufen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/mycompiler/SyntaxTreeNode.java | 10 ++++++++++ src/mycompiler/myclass/Class.java | 3 +++ src/mycompiler/myclass/FormalParameter.java | 8 ++++++++ src/mycompiler/myclass/Method.java | 2 -- .../TypeinferenceResultSet.java | 13 +++++++++++++ 5 files changed, 34 insertions(+), 2 deletions(-) diff --git a/src/mycompiler/SyntaxTreeNode.java b/src/mycompiler/SyntaxTreeNode.java index f2c58bf6a..41883c624 100644 --- a/src/mycompiler/SyntaxTreeNode.java +++ b/src/mycompiler/SyntaxTreeNode.java @@ -2,6 +2,8 @@ package mycompiler; import java.util.Vector; +import typinferenz.ResultSet; +import typinferenz.TypeInsertPoint; import typinferenz.exceptions.DebugException; import typinferenz.exceptions.TypeinferenceException; import mycompiler.myclass.Class; @@ -57,4 +59,12 @@ public abstract class SyntaxTreeNode { if(!this.getParent().equals(equal.getParent()))return false; //auch das Elternelement überprüfen. return true; } + + public Vector> getTypeInsertPoints(ResultSet result) { + Vector> ret = new Vector>(); + for(SyntaxTreeNode node : this.getChildren()){ + ret.addAll(node.getTypeInsertPoints(result)); + } + return ret; + } } diff --git a/src/mycompiler/myclass/Class.java b/src/mycompiler/myclass/Class.java index 97692dac1..d6386369b 100755 --- a/src/mycompiler/myclass/Class.java +++ b/src/mycompiler/myclass/Class.java @@ -62,11 +62,13 @@ import org.apache.log4j.Logger; + import sun.reflect.generics.reflectiveObjects.NotImplementedException; import typinferenz.ConstraintsSet; import typinferenz.JavaCodeResult; import typinferenz.OderConstraint; import typinferenz.ResultSet; +import typinferenz.TypeInsertPoint; import typinferenz.Typeable; import typinferenz.UndConstraint; import typinferenz.FunN; @@ -1358,5 +1360,6 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface, IItemWit // TODO Auto-generated method stub return 0; } + } // ino.end diff --git a/src/mycompiler/myclass/FormalParameter.java b/src/mycompiler/myclass/FormalParameter.java index d9c787b79..4271a3276 100755 --- a/src/mycompiler/myclass/FormalParameter.java +++ b/src/mycompiler/myclass/FormalParameter.java @@ -277,6 +277,14 @@ public class FormalParameter extends SyntaxTreeNode implements ITypeReplacementL return this.declid; } + @Override + public Vector> getTypeInsertPoints(ResultSet result) { + Vector> ret = super.getTypeInsertPoints(result); + if(this.getType() instanceof TypePlaceholder){ + ret.add(((TypePlaceholder)this.getType()).getTypeInsertPoints(result)); + } + return ret; + } } // ino.end diff --git a/src/mycompiler/myclass/Method.java b/src/mycompiler/myclass/Method.java index 35d220a8d..e3def173f 100755 --- a/src/mycompiler/myclass/Method.java +++ b/src/mycompiler/myclass/Method.java @@ -748,8 +748,6 @@ public class Method extends Field implements IItemWithOffset, TypeInsertable public void setGenericParameter(Vector params) { this.genericMethodParameters = params; } - - } // ino.end diff --git a/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java b/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java index ba1dd17c9..cefe7af16 100755 --- a/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java +++ b/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java @@ -115,6 +115,19 @@ public class TypeinferenceResultSet */ public Vector getTypeInsertionPoints(){ Vector ret = new Vector(); + //TODO: Eigentlich sollten die TypeInsertPoints von den Elementen im Syntaxbaum erstellt werden. Momentan wird beides parallel eingesetzt + Vector> TISets = this.ownerOfResultSet.getTypeInsertPoints(this.unifiedConstraints); + for(Vector TIPs : TISets){ + TypeInsertSet toAdd = new TypeInsertSet(); + for(int i = 0; i Date: Sat, 26 Apr 2014 20:10:18 +0200 Subject: [PATCH 64/79] getDescription von FormalParameter angepasst --- src/mycompiler/myclass/FormalParameter.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/mycompiler/myclass/FormalParameter.java b/src/mycompiler/myclass/FormalParameter.java index 4271a3276..103786947 100755 --- a/src/mycompiler/myclass/FormalParameter.java +++ b/src/mycompiler/myclass/FormalParameter.java @@ -26,6 +26,7 @@ import org.apache.log4j.Logger; + import sun.reflect.generics.reflectiveObjects.NotImplementedException; import typinferenz.JavaCodeResult; import typinferenz.ResultSet; @@ -233,6 +234,8 @@ public class FormalParameter extends SyntaxTreeNode implements ITypeReplacementL + + @Override public void setOffset(int offset) { //Das Offset steht in declId @@ -247,7 +250,6 @@ public class FormalParameter extends SyntaxTreeNode implements ITypeReplacementL } - @Override public void parserPostProcessing(SyntaxTreeNode parent) { super.parserPostProcessing(parent); @@ -285,6 +287,16 @@ public class FormalParameter extends SyntaxTreeNode implements ITypeReplacementL } return ret; } + + + @Override + public String getDescription() { + String ret = ""; + if(this.getType() != null && !(this.getType() instanceof TypePlaceholder)){ + ret += this.getType().getName() + " "; + } + return ret+this.getIdentifier(); + } } // ino.end From 1a655943ed50bc136b1566676013028c3fb6a917 Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Mon, 28 Apr 2014 07:40:49 +0200 Subject: [PATCH 65/79] =?UTF-8?q?Test=20angef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TypeInsertTests/Recursive.jav | 13 +++++++++++++ .../TypeInsertTests/ReursiveTest.java | 18 ++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 test/plugindevelopment/TypeInsertTests/Recursive.jav create mode 100644 test/plugindevelopment/TypeInsertTests/ReursiveTest.java diff --git a/test/plugindevelopment/TypeInsertTests/Recursive.jav b/test/plugindevelopment/TypeInsertTests/Recursive.jav new file mode 100644 index 000000000..0f689a498 --- /dev/null +++ b/test/plugindevelopment/TypeInsertTests/Recursive.jav @@ -0,0 +1,13 @@ +class Recursive{ + +var = "test"; + +methode1(a){ + return methode2(a); +} + +String methode2(b){ + return methode1(var); +} + +} \ No newline at end of file diff --git a/test/plugindevelopment/TypeInsertTests/ReursiveTest.java b/test/plugindevelopment/TypeInsertTests/ReursiveTest.java new file mode 100644 index 000000000..9afb090c7 --- /dev/null +++ b/test/plugindevelopment/TypeInsertTests/ReursiveTest.java @@ -0,0 +1,18 @@ +package plugindevelopment.TypeInsertTests; + +import java.util.Vector; + +import org.junit.Test; + +public class ReursiveTest { + + private static final String TEST_FILE = "Recursive.jav"; + + @Test + public void run(){ + Vector mustContain = new Vector(); + //mustContain.add("A a"); + MultipleTypesInsertTester.test(this.TEST_FILE, mustContain); + } + +} From 6a981153616325a6c9adc76f97abe2766ca7762e Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Mon, 28 Apr 2014 08:26:11 +0200 Subject: [PATCH 66/79] Typen werden vor dem Unifizieren nochmals kontrolliert --- src/mycompiler/SourceFile.java | 21 +++++++++++++++++++ src/mycompiler/myclass/FormalParameter.java | 4 +++- .../assumptions/TypeAssumptions.java | 1 + 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/src/mycompiler/SourceFile.java b/src/mycompiler/SourceFile.java index 8370cd50f..fe546e845 100755 --- a/src/mycompiler/SourceFile.java +++ b/src/mycompiler/SourceFile.java @@ -728,6 +728,27 @@ public class SourceFile */ //Erst die Unifizierung erstellen: Vector constraintsClone = (Vector)constraints.clone(); + + //Typen kontrollieren: + for(Pair p : constraintsClone){ + Type t = p.TA1; + //TypeCheck, falls es sich um einen RefType handelt: + if(t!=null && (t instanceof RefType)&& + !(t instanceof mycompiler.mytype.Void)){ + Type replaceType = null; + replaceType = globalAssumptions.getTypeFor((RefType)t); + if(!(replaceType == null))p.TA1 = replaceType; + } + t = p.TA2; + //TypeCheck, falls es sich um einen RefType handelt: + if(t!=null && (t instanceof RefType)&& + !(t instanceof mycompiler.mytype.Void)){ + Type replaceType = null; + replaceType = globalAssumptions.getTypeFor((RefType)t); + if(!(replaceType == null))p.TA2 = replaceType; + } + } + Vector> unifyResult = Unify.unify(constraintsClone, finiteClosure); //Dann den Ergebnissen anfügen result.addAll(unifyResult); diff --git a/src/mycompiler/myclass/FormalParameter.java b/src/mycompiler/myclass/FormalParameter.java index 103786947..1a25a33d7 100755 --- a/src/mycompiler/myclass/FormalParameter.java +++ b/src/mycompiler/myclass/FormalParameter.java @@ -61,7 +61,9 @@ public class FormalParameter extends SyntaxTreeNode implements ITypeReplacementL if(!(object instanceof FormalParameter))return false; FormalParameter equals = (FormalParameter)object; if((this.type==null)!=(equals.type == null))return false; - if(this.type != null)return this.type.equals(equals.type); + if(this.type != null){ + return this.type.equals(equals.type); + } return true; } diff --git a/src/typinferenz/assumptions/TypeAssumptions.java b/src/typinferenz/assumptions/TypeAssumptions.java index 13322c2af..bbd5292a3 100755 --- a/src/typinferenz/assumptions/TypeAssumptions.java +++ b/src/typinferenz/assumptions/TypeAssumptions.java @@ -132,6 +132,7 @@ public class TypeAssumptions { Vector ret = new Vector(); for(MethodAssumption ass : this.methodAssumptions){ if(ass.getMethodName().equals(methodName) && ass.getParaCount() == parameterCount){ + ret.add(ass); } } From ab4d26103ecf3c4d7f9df3ba134a6f2f3d63ef46 Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Mon, 28 Apr 2014 17:21:27 +0200 Subject: [PATCH 67/79] =?UTF-8?q?Tests=20angef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/typinferenz/TypeInsertSet.java | 1 + .../TypeInsertTests/ImportTest2.jav | 10 ++++++++++ .../TypeInsertTests/ImportTest2.java | 17 +++++++++++++++++ .../TypeInsertTests/Recursive2.jav | 15 +++++++++++++++ .../TypeInsertTests/ReursiveTest2.java | 18 ++++++++++++++++++ 5 files changed, 61 insertions(+) create mode 100644 test/plugindevelopment/TypeInsertTests/ImportTest2.jav create mode 100644 test/plugindevelopment/TypeInsertTests/ImportTest2.java create mode 100644 test/plugindevelopment/TypeInsertTests/Recursive2.jav create mode 100644 test/plugindevelopment/TypeInsertTests/ReursiveTest2.java diff --git a/src/typinferenz/TypeInsertSet.java b/src/typinferenz/TypeInsertSet.java index 3c331407c..7ff94d74e 100644 --- a/src/typinferenz/TypeInsertSet.java +++ b/src/typinferenz/TypeInsertSet.java @@ -69,6 +69,7 @@ public class TypeInsertSet { for(TypeInsertPoint toAdd : p.merge(p2)){ this.add(toAdd); //TODO: Alle Typen, welche die einzusetzenden Generischen Typen beinhalten, müssen ebenfalls eingesetzt werden. + } } //this.add(p); diff --git a/test/plugindevelopment/TypeInsertTests/ImportTest2.jav b/test/plugindevelopment/TypeInsertTests/ImportTest2.jav new file mode 100644 index 000000000..1e112c525 --- /dev/null +++ b/test/plugindevelopment/TypeInsertTests/ImportTest2.jav @@ -0,0 +1,10 @@ +import java.util.Vector; + +class ImportTest{ +var; + +void methode(a){ + var.add(a); +} + +} \ No newline at end of file diff --git a/test/plugindevelopment/TypeInsertTests/ImportTest2.java b/test/plugindevelopment/TypeInsertTests/ImportTest2.java new file mode 100644 index 000000000..7d241e6aa --- /dev/null +++ b/test/plugindevelopment/TypeInsertTests/ImportTest2.java @@ -0,0 +1,17 @@ +package plugindevelopment.TypeInsertTests; + +import java.util.Vector; + +import org.junit.Test; + +public class ImportTest2 { + + private static final String TEST_FILE = "ImportTest2.jav"; + + @Test + public void run(){ + Vector mustContain = new Vector(); + MultipleTypesInsertTester.test(this.TEST_FILE, mustContain); + } + +} diff --git a/test/plugindevelopment/TypeInsertTests/Recursive2.jav b/test/plugindevelopment/TypeInsertTests/Recursive2.jav new file mode 100644 index 000000000..7585b500e --- /dev/null +++ b/test/plugindevelopment/TypeInsertTests/Recursive2.jav @@ -0,0 +1,15 @@ +class Recursive{ + +Test var; + +Test methode1(a){ + return methode2(a); +} + +Test methode2(b){ + return methode1(var); +} + +} + +class Test{} \ No newline at end of file diff --git a/test/plugindevelopment/TypeInsertTests/ReursiveTest2.java b/test/plugindevelopment/TypeInsertTests/ReursiveTest2.java new file mode 100644 index 000000000..95040a8db --- /dev/null +++ b/test/plugindevelopment/TypeInsertTests/ReursiveTest2.java @@ -0,0 +1,18 @@ +package plugindevelopment.TypeInsertTests; + +import java.util.Vector; + +import org.junit.Test; + +public class ReursiveTest2 { + + private static final String TEST_FILE = "Recursive2.jav"; + + @Test + public void run(){ + Vector mustContain = new Vector(); + //mustContain.add("A a"); + MultipleTypesInsertTester.test(this.TEST_FILE, mustContain); + } + +} From 5c6a61f2efad59b7c04602a65410c183441fb808 Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Wed, 7 May 2014 08:10:55 +0200 Subject: [PATCH 68/79] Testfiles added. Tests fixed. Operator TypeExpr fixed --- Readme.md | 44 ++++++++++++++++ src/mycompiler/SyntaxTreeNode.java | 14 +++++- src/mycompiler/myclass/Field.java | 4 ++ src/mycompiler/myclass/FormalParameter.java | 6 +-- src/mycompiler/myoperator/AddOp.java | 15 +++--- src/mycompiler/myoperator/LogOp.java | 11 ++-- src/mycompiler/myoperator/MulOp.java | 15 +++--- src/mycompiler/myoperator/Operator.java | 33 ++++-------- src/mycompiler/myoperator/RelOp.java | 12 +++-- src/mycompiler/mystatement/Binary.java | 29 +++++++++-- src/mycompiler/mystatement/IntLiteral.java | 3 +- .../TypeinferenceResultSet.java | 50 ++----------------- src/typinferenz/TypeInsertSet.java | 8 ++- .../test/lambda/testResults/LambdaTest.log | 41 +++++++-------- .../MartinTestCases/Tester.java | 16 +++--- test/plugindevelopment/TypeInsertTester.java | 8 ++- .../TypeInsertTests/LambdaTest2.java | 2 +- .../TypeInsertTests/LambdaTest5.java | 2 +- .../TypeInsertTests/LambdaTest7.java | 2 +- .../TypeInsertTests/LambdaTest8.jav | 3 ++ .../TypeInsertTests/LambdaTest8.java | 18 +++++++ .../TypeInsertTests/LambdaTest9.jav | 6 +++ .../TypeInsertTests/LambdaTest9.java | 18 +++++++ .../MultipleTypesInsertTester.java | 16 +++--- 24 files changed, 230 insertions(+), 146 deletions(-) create mode 100644 Readme.md create mode 100644 test/plugindevelopment/TypeInsertTests/LambdaTest8.jav create mode 100644 test/plugindevelopment/TypeInsertTests/LambdaTest8.java create mode 100644 test/plugindevelopment/TypeInsertTests/LambdaTest9.jav create mode 100644 test/plugindevelopment/TypeInsertTests/LambdaTest9.java diff --git a/Readme.md b/Readme.md new file mode 100644 index 000000000..ae1809c70 --- /dev/null +++ b/Readme.md @@ -0,0 +1,44 @@ +# Typinferenz + +## ResultSet + +* Spezifisch für jedes SourceFile (nicht für jede Klasse) +* mehrere ResultSets pro Klasse +* + +* Enthält: + * constraintPairs + * unifiedConstraints + +## TypeInsertSet +* Stellt die Typeinsetzung für eine der generierten Lösungen dar +* Setzt alle Typen und generischen Variablen ein, welche zu dieser Lösung gehören + +## Ablauf Typinferenz: + +1. Parsen + * (Parser postProcessing) +2. Typinferenz + * Anfangspunkt SourceFile + * löst geparste Typen zu richtigen Typen auf (RefTypes, GenericVar) + * setzt TPHs ein + * bildet Constraints, welche in ResultSet gesammelt werden. ResultSet wird durch Syntaxbaum gereicht. + * Assumptions generieren + * Wird im Syntaxbaum für jeden Knoten ausgeführt und die Assumptions für darunterliegende Knoten gebildet + * +3. Unifizierung + * wird im SourceFile aufgerufen + * unifiziert Constraints aller im SourceFile vorkommenden Klassen + +4. Erstellen von TypeInsertSet + * j + * Durchlaufen des Syntaxbaumes + * Jeder Knoten erstellt TypeInsertSets anhand des ResultSets. + * Bei nichtauflösung eines TPH muss GenericVar eingesetzt werden: + * Im Syntaxbaum wird dazu die addGenericVar-Methode aufgerufen, welche einen TypeInsertPoint generiert. + * Mit dem Einsetzen einer Generischen Variablen müssen auch alle anderen Knoten im Syntaxbaum, deren + Typ ebenfalls dieser TypePlaceholder ist. + * Dies entsteht allerdings automatisch, da das gesamte ermittelte ResultSet als TIS eingesetzt wird. + + + \ No newline at end of file diff --git a/src/mycompiler/SyntaxTreeNode.java b/src/mycompiler/SyntaxTreeNode.java index 41883c624..ca2a19203 100644 --- a/src/mycompiler/SyntaxTreeNode.java +++ b/src/mycompiler/SyntaxTreeNode.java @@ -4,10 +4,13 @@ import java.util.Vector; import typinferenz.ResultSet; import typinferenz.TypeInsertPoint; +import typinferenz.TypeInsertable; import typinferenz.exceptions.DebugException; import typinferenz.exceptions.TypeinferenceException; import mycompiler.myclass.Class; import mycompiler.mytype.GenericTypeVar; +import mycompiler.mytype.Type; +import mycompiler.mytype.TypePlaceholder; public abstract class SyntaxTreeNode { @@ -60,11 +63,18 @@ public abstract class SyntaxTreeNode { return true; } - public Vector> getTypeInsertPoints(ResultSet result) { - Vector> ret = new Vector>(); + public Vector getTypeInsertPoints(ResultSet result) { + Vector ret = new Vector(); for(SyntaxTreeNode node : this.getChildren()){ ret.addAll(node.getTypeInsertPoints(result)); } + //Fall der Knoten ein TypeInsertable ist, kann direkt der TypeInsertPoint generiert werden. + if(this instanceof TypeInsertable){ + TypeInsertable that = (TypeInsertable)this; + Type t = that.getType(); + if(t instanceof TypePlaceholder) + ret.add(that.createTypeInsertPoint((TypePlaceholder) t, result));//ret.addAll(((TypePlaceholder)t).getTypeInsertPoints(result)); + } return ret; } } diff --git a/src/mycompiler/myclass/Field.java b/src/mycompiler/myclass/Field.java index b645d636e..8f5690a55 100644 --- a/src/mycompiler/myclass/Field.java +++ b/src/mycompiler/myclass/Field.java @@ -126,4 +126,8 @@ public abstract class Field extends SyntaxTreeNode implements TypeInsertable, Ty //TODO: momentan ist jedes Feld public! return true; } + + + + } diff --git a/src/mycompiler/myclass/FormalParameter.java b/src/mycompiler/myclass/FormalParameter.java index 1a25a33d7..5510d8280 100755 --- a/src/mycompiler/myclass/FormalParameter.java +++ b/src/mycompiler/myclass/FormalParameter.java @@ -282,10 +282,10 @@ public class FormalParameter extends SyntaxTreeNode implements ITypeReplacementL } @Override - public Vector> getTypeInsertPoints(ResultSet result) { - Vector> ret = super.getTypeInsertPoints(result); + public VectorgetTypeInsertPoints(ResultSet result) { + Vector ret = super.getTypeInsertPoints(result); if(this.getType() instanceof TypePlaceholder){ - ret.add(((TypePlaceholder)this.getType()).getTypeInsertPoints(result)); + ret.add(this.createTypeInsertPoint((TypePlaceholder)this.getType(), result));//this.getType()).getTypeInsertPoints(result)); } return ret; } diff --git a/src/mycompiler/myoperator/AddOp.java b/src/mycompiler/myoperator/AddOp.java index bd43703f8..e81767423 100755 --- a/src/mycompiler/myoperator/AddOp.java +++ b/src/mycompiler/myoperator/AddOp.java @@ -2,6 +2,7 @@ package mycompiler.myoperator; // ino.end // ino.module.AddOp.8594.import +import java.util.HashMap; import java.util.Hashtable; import java.util.Iterator; import java.util.Vector; @@ -63,13 +64,15 @@ public abstract class AddOp extends Operator return types; } - - @Override - public Type getReturnType(RefType inputType, TypeAssumptions ass) { - Type iT = ass.getTypeFor(inputType); - Hashtable types = getOperatorTypes(); - Type ret = types.get(iT); + public HashMap getReturnTypes(TypeAssumptions ass) { + HashMap ret = new HashMap(); + ret.put(ass.getTypeFor(new RefType("java.lang.Integer",-1)), ass.getTypeFor(new RefType("java.lang.Integer",-1))); + ret.put(ass.getTypeFor(new RefType("java.lang.Double",-1)), ass.getTypeFor(new RefType("java.lang.Double",-1))); + ret.put(ass.getTypeFor(new RefType("java.lang.Float",-1)), ass.getTypeFor(new RefType("java.lang.Float",-1))); + ret.put(ass.getTypeFor(new RefType("java.lang.Long",-1)), ass.getTypeFor(new RefType("java.lang.Long",-1))); + ret.put(ass.getTypeFor(new RefType("java.lang.String",-1)), ass.getTypeFor(new RefType("java.lang.String",-1))); + return ret; } diff --git a/src/mycompiler/myoperator/LogOp.java b/src/mycompiler/myoperator/LogOp.java index a8492dbfa..c59fc4c82 100755 --- a/src/mycompiler/myoperator/LogOp.java +++ b/src/mycompiler/myoperator/LogOp.java @@ -2,6 +2,7 @@ package mycompiler.myoperator; // ino.end // ino.module.LogOp.8602.import +import java.util.HashMap; import java.util.Hashtable; import java.util.Iterator; import java.util.Vector; @@ -233,13 +234,13 @@ public abstract class LogOp extends Operator return types; } - @Override - public Type getReturnType(RefType inputType, TypeAssumptions ass) { - Type iT = ass.getTypeFor(inputType); - Type ret = getOperatorTypes().get(iT); + public HashMap getReturnTypes(TypeAssumptions ass) { + HashMap ret = new HashMap(); + ret.put(ass.getTypeFor(new RefType("java.lang.Boolean",-1)), ass.getTypeFor(new RefType("java.lang.Boolean",-1))); + return ret; } - + } // ino.end diff --git a/src/mycompiler/myoperator/MulOp.java b/src/mycompiler/myoperator/MulOp.java index 6b598cf8b..8781b4a6d 100755 --- a/src/mycompiler/myoperator/MulOp.java +++ b/src/mycompiler/myoperator/MulOp.java @@ -3,6 +3,7 @@ package mycompiler.myoperator; // ino.end // ino.module.MulOp.8605.import +import java.util.HashMap; import java.util.Hashtable; import java.util.Iterator; import java.util.Vector; @@ -40,18 +41,18 @@ public abstract class MulOp extends Operator protected Hashtable getOperatorTypes() { Hashtable types = new Hashtable(); - types.put(new RefType("java.lang.Integer",-1), new RefType("java.lang.Integer",-1)); - types.put(new RefType("java.lang.Double",-1), new RefType("java.lang.Double",-1)); - types.put(new RefType("java.lang.Float",-1), new RefType("java.lang.Float",-1)); - types.put(new RefType("java.lang.Long",-1), new RefType("java.lang.Long",-1)); return types; } @Override - public Type getReturnType(RefType inputType, TypeAssumptions ass) { - Type iT = ass.getTypeFor(inputType); - Type ret = getOperatorTypes().get(iT); + public HashMap getReturnTypes(TypeAssumptions ass) { + HashMap ret = new HashMap(); + ret.put(ass.getTypeFor(new RefType("java.lang.Integer",-1)), ass.getTypeFor(new RefType("java.lang.Integer",-1))); + ret.put(ass.getTypeFor(new RefType("java.lang.Double",-1)), ass.getTypeFor(new RefType("java.lang.Double",-1))); + ret.put(ass.getTypeFor(new RefType("java.lang.Float",-1)), ass.getTypeFor(new RefType("java.lang.Float",-1))); + ret.put(ass.getTypeFor(new RefType("java.lang.Long",-1)), ass.getTypeFor(new RefType("java.lang.Long",-1))); + return ret; } diff --git a/src/mycompiler/myoperator/Operator.java b/src/mycompiler/myoperator/Operator.java index c30876b2e..7ea83b242 100755 --- a/src/mycompiler/myoperator/Operator.java +++ b/src/mycompiler/myoperator/Operator.java @@ -2,12 +2,15 @@ package mycompiler.myoperator; // ino.end // ino.module.Operator.8607.import +import java.util.HashMap; import java.util.Hashtable; import java.util.Iterator; import java.util.Vector; import typinferenz.ConstraintsSet; +import typinferenz.OderConstraint; import typinferenz.SingleConstraint; +import typinferenz.UndConstraint; import typinferenz.assumptions.TypeAssumptions; import typinferenz.exceptions.TypeinferenceException; import mycompiler.IItemWithOffset; @@ -21,6 +24,7 @@ import mycompiler.mystatement.Expr; import mycompiler.mytype.Pair; import mycompiler.mytype.RefType; import mycompiler.mytype.Type; +import mycompiler.mytype.TypePlaceholder; import mycompiler.mytypereconstruction.CSupportData; import mycompiler.mytypereconstruction.CTriple; import mycompiler.mytypereconstruction.set.CSubstitutionSet; @@ -117,30 +121,13 @@ public abstract class Operator implements IItemWithOffset } // ino.end - /** - * Berechnet die Constraints dieses Operators für die 2 gegebenen Parameter - * @param expr1 - * @param expr2 - * @return - */ - public ConstraintsSet TYPEExpr(Expr expr1, Expr expr2, TypeAssumptions ass) { - ConstraintsSet ret = new ConstraintsSet(); - Type expr1Type = expr1.getType(); - if(!(expr1Type instanceof RefType))throw new TypeinferenceException("Nicht erlaubter Typ", this); - Type expr2Type = expr1.getType(); - if(!(expr2Type instanceof RefType))throw new TypeinferenceException("Nicht erlaubter Typ", this); - - Type expr1RetType = this.getReturnType((RefType) expr1Type, ass); - if(expr1RetType == null)throw new TypeinferenceException("Nicht erlaubter Typ "+expr1Type, this); - Type expr2RetType = this.getReturnType((RefType) expr2Type, ass); - if(expr2RetType == null)throw new TypeinferenceException("Nicht erlaubter Typ "+expr2Type, this); - - ret.add(new SingleConstraint(expr1Type, expr1RetType)); - ret.add(new SingleConstraint(expr2Type, expr2RetType)); - return ret; - } - public abstract Type getReturnType(RefType inputType, TypeAssumptions ass); + /** + * Liefert eine HashMap der Form: HashMap + * @param ass + * @return + */ + public abstract HashMap getReturnTypes(TypeAssumptions ass); } // ino.end diff --git a/src/mycompiler/myoperator/RelOp.java b/src/mycompiler/myoperator/RelOp.java index e66df707f..aa5f54b29 100755 --- a/src/mycompiler/myoperator/RelOp.java +++ b/src/mycompiler/myoperator/RelOp.java @@ -3,6 +3,7 @@ package mycompiler.myoperator; // ino.end // ino.module.RelOp.8610.import +import java.util.HashMap; import java.util.Hashtable; import java.util.Iterator; import java.util.Vector; @@ -57,11 +58,16 @@ public abstract class RelOp extends Operator } @Override - public Type getReturnType(RefType inputType, TypeAssumptions ass) { - Type iT = ass.getTypeFor(inputType); - Type ret = getOperatorTypes().get(iT); + public HashMap getReturnTypes(TypeAssumptions ass) { + HashMap ret = new HashMap(); + ret.put(ass.getTypeFor(new RefType("java.lang.Boolean",-1)), ass.getTypeFor(new RefType("java.lang.Integer",-1))); + ret.put(ass.getTypeFor(new RefType("java.lang.Boolean",-1)), ass.getTypeFor(new RefType("java.lang.Double",-1))); + ret.put(ass.getTypeFor(new RefType("java.lang.Boolean",-1)), ass.getTypeFor(new RefType("java.lang.Float",-1))); + ret.put(ass.getTypeFor(new RefType("java.lang.Boolean",-1)), ass.getTypeFor(new RefType("java.lang.Long",-1))); + return ret; } + } // ino.end diff --git a/src/mycompiler/mystatement/Binary.java b/src/mycompiler/mystatement/Binary.java index 65186b402..80c6a885a 100755 --- a/src/mycompiler/mystatement/Binary.java +++ b/src/mycompiler/mystatement/Binary.java @@ -3,6 +3,7 @@ package mycompiler.mystatement; // ino.end // ino.module.Binary.8623.import import java.util.Enumeration; +import java.util.HashMap; import java.util.Hashtable; import java.util.Vector; @@ -21,8 +22,10 @@ import mycompiler.myoperator.MulOp; import mycompiler.myoperator.Operator; import mycompiler.myoperator.RelOp; import mycompiler.mytype.GenericTypeVar; +import mycompiler.mytype.Pair; import mycompiler.mytype.RefType; import mycompiler.mytype.Type; +import mycompiler.mytype.TypePlaceholder; import mycompiler.mytypereconstruction.CSupportData; import mycompiler.mytypereconstruction.set.CSubstitutionSet; import mycompiler.mytypereconstruction.set.CTripleSet; @@ -36,11 +39,15 @@ import org.apache.log4j.Logger; + + import sun.reflect.generics.reflectiveObjects.NotImplementedException; import typinferenz.ConstraintsSet; import typinferenz.JavaCodeResult; +import typinferenz.OderConstraint; import typinferenz.ResultSet; import typinferenz.SingleConstraint; +import typinferenz.UndConstraint; import typinferenz.assumptions.TypeAssumptions; @@ -261,10 +268,24 @@ public class Binary extends BinaryExpr ConstraintsSet ret = new ConstraintsSet(); ret.add(this.expr1.TYPEExpr(assumptions)); ret.add(this.expr2.TYPEExpr(assumptions)); - //Der Operator generiert die fehlenden Constraints: - ret.add(this.op.TYPEExpr(expr1, expr2, assumptions)); - //Kleiner Hack, wenn die op.TYPEExpr ohne Fehler durchlaufen wurde, dann kann expr1.getType() zu RefType gecastet werden - this.set_Type(this.op.getReturnType((RefType) expr1.getType(),assumptions)); + /** + * Berechnet die Constraints dieses Operators für die 2 gegebenen Parameter + * Die Operatoren sind meistens überladen. Es entstehen mehrere Oder-Verknüpfte Constraints. + * @param expr1 + * @param expr2 + * @return + */ + if(this.getType()==null)this.set_Type(TypePlaceholder.fresh(this)); + OderConstraint oderCons = new OderConstraint(); + HashMap rMap = this.op.getReturnTypes(assumptions); + for(Type rT : rMap.keySet()){ + UndConstraint c = new UndConstraint(); + c.addConstraint(this.getType(),rT); + c.addConstraint(this.expr1.getType(), rMap.get(rT)); + c.addConstraint(this.expr2.getType(), rMap.get(rT)); + oderCons.addConstraint(c); + } + ret.add(oderCons); return ret; } diff --git a/src/mycompiler/mystatement/IntLiteral.java b/src/mycompiler/mystatement/IntLiteral.java index e14635f10..4a71809da 100755 --- a/src/mycompiler/mystatement/IntLiteral.java +++ b/src/mycompiler/mystatement/IntLiteral.java @@ -206,7 +206,8 @@ public class IntLiteral extends Literal @Override public ConstraintsSet TYPEExpr(TypeAssumptions assumptions) { ConstraintsSet ret = new ConstraintsSet(); - this.setType(new IntegerType()); + //this.setType(new IntegerType()); + this.set_Type(assumptions.getTypeFor(new RefType("java.lang.Integer",-1))); return ret; } diff --git a/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java b/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java index cefe7af16..7673f123c 100755 --- a/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java +++ b/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java @@ -113,52 +113,12 @@ public class TypeinferenceResultSet * * @return */ - public Vector getTypeInsertionPoints(){ - Vector ret = new Vector(); - //TODO: Eigentlich sollten die TypeInsertPoints von den Elementen im Syntaxbaum erstellt werden. Momentan wird beides parallel eingesetzt - Vector> TISets = this.ownerOfResultSet.getTypeInsertPoints(this.unifiedConstraints); - for(Vector TIPs : TISets){ - TypeInsertSet toAdd = new TypeInsertSet(); - for(int i = 0; i insertPoints = this.ownerOfResultSet.getTypeInsertPoints(this.unifiedConstraints); + ret.add(insertPoints); - //TODO: Das Erstellen von TPI per Durchsuchen der muss abgelöst werden: - for(Pair p : constraints){ - for(TypePlaceholder tph : p.getTypePlaceholder()){ - //Alle TypeInsertPoints dieses TPH ermitteln: - Vector tips = tph.getTypeInsertPoints(this.unifiedConstraints); - /* - //Anschließend alle TPHs ermitteln, welche mit den ermittelten TIPs in Verbindung stehen: - Vector tphs = new Vector(); - for(TypeInsertPoint tip : tips){ - tphs.addAll(tip.getUnresolvedTPH()); //Alle in Verbindung stehenden TPHs ermitteln... - //... welche anschließend als Generische Variablen im Quelltext eingesetzt werden würden. - for(Type type : this.unifiedConstraints.getTypesInvolving(tip.getUnresolvedTPH())){ - //Alle Typen, welche diesen tph enthalten auch mit diesem TypInsertSet einsetzen - //TODO: Typeplaceholder, welche diesen Typ einsetzen (im ResultSet-equal sind) zu tphs adden - - } - } - for(TypePlaceholder tphTemp : tphs){ - tips.addAll(tphTemp.getTypeInsertPoints(this.unifiedConstraints)); - } - */ - TypeInsertSet toAdd = new TypeInsertSet(); - for(int i = 0; i add(TypeInsertPoint typeInsertPoint) { - if( ! this.points.contains(typeInsertPoint)){ //Nur falls typeInsertPoint noch nicht im Set vorhanden ist: + if( typeInsertPoint!=null && ! this.points.contains(typeInsertPoint)){ //Nur falls typeInsertPoint noch nicht im Set vorhanden ist: points.add(typeInsertPoint); return typeInsertPoint.getUnresolvedTPH(); } @@ -149,5 +149,11 @@ public class TypeInsertSet { return true; } + + public void add(Vector insertPoints) { + for(TypeInsertPoint p : insertPoints){ + this.add(p); + } + } } diff --git a/test/mycompiler/test/lambda/testResults/LambdaTest.log b/test/mycompiler/test/lambda/testResults/LambdaTest.log index f1b8dd828..517ef6620 100644 --- a/test/mycompiler/test/lambda/testResults/LambdaTest.log +++ b/test/mycompiler/test/lambda/testResults/LambdaTest.log @@ -1,46 +1,43 @@ SourceFile DEBUG [Typeinference] Von JRE erstellte Assumptions: this: null Method Assumptions: -[MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long []()] +[] FieldVar Assumptions: -[MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), FieldAssumption: int MIN_VALUE, FieldAssumption: int MAX_VALUE, FieldAssumption: java.lang.Class TYPE, FieldAssumption: int SIZE, MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), FieldAssumption: int MIN_VALUE, FieldAssumption: int MAX_VALUE, FieldAssumption: java.lang.Class TYPE, FieldAssumption: int SIZE, MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), FieldAssumption: java.util.Comparator CASE_INSENSITIVE_ORDER, MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), FieldAssumption: java.util.Comparator CASE_INSENSITIVE_ORDER, MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), FieldAssumption: int MIN_RADIX, FieldAssumption: int MAX_RADIX, FieldAssumption: char MIN_VALUE, FieldAssumption: char MAX_VALUE, FieldAssumption: java.lang.Class TYPE, FieldAssumption: byte UNASSIGNED, FieldAssumption: byte UPPERCASE_LETTER, FieldAssumption: byte LOWERCASE_LETTER, FieldAssumption: byte TITLECASE_LETTER, FieldAssumption: byte MODIFIER_LETTER, FieldAssumption: byte OTHER_LETTER, FieldAssumption: byte NON_SPACING_MARK, FieldAssumption: byte ENCLOSING_MARK, FieldAssumption: byte COMBINING_SPACING_MARK, FieldAssumption: byte DECIMAL_DIGIT_NUMBER, FieldAssumption: byte LETTER_NUMBER, FieldAssumption: byte OTHER_NUMBER, FieldAssumption: byte SPACE_SEPARATOR, FieldAssumption: byte LINE_SEPARATOR, FieldAssumption: byte PARAGRAPH_SEPARATOR, FieldAssumption: byte CONTROL, FieldAssumption: byte FORMAT, FieldAssumption: byte PRIVATE_USE, FieldAssumption: byte SURROGATE, FieldAssumption: byte DASH_PUNCTUATION, FieldAssumption: byte START_PUNCTUATION, FieldAssumption: byte END_PUNCTUATION, FieldAssumption: byte CONNECTOR_PUNCTUATION, FieldAssumption: byte OTHER_PUNCTUATION, FieldAssumption: byte MATH_SYMBOL, FieldAssumption: byte CURRENCY_SYMBOL, FieldAssumption: byte MODIFIER_SYMBOL, FieldAssumption: byte OTHER_SYMBOL, FieldAssumption: byte INITIAL_QUOTE_PUNCTUATION, FieldAssumption: byte FINAL_QUOTE_PUNCTUATION, FieldAssumption: byte DIRECTIONALITY_UNDEFINED, FieldAssumption: byte DIRECTIONALITY_LEFT_TO_RIGHT, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC, FieldAssumption: byte DIRECTIONALITY_EUROPEAN_NUMBER, FieldAssumption: byte DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR, FieldAssumption: byte DIRECTIONALITY_ARABIC_NUMBER, FieldAssumption: byte DIRECTIONALITY_COMMON_NUMBER_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_NONSPACING_MARK, FieldAssumption: byte DIRECTIONALITY_BOUNDARY_NEUTRAL, FieldAssumption: byte DIRECTIONALITY_PARAGRAPH_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_SEGMENT_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_WHITESPACE, FieldAssumption: byte DIRECTIONALITY_OTHER_NEUTRALS, FieldAssumption: byte DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING, FieldAssumption: byte DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE, FieldAssumption: byte DIRECTIONALITY_POP_DIRECTIONAL_FORMAT, FieldAssumption: char MIN_HIGH_SURROGATE, FieldAssumption: char MAX_HIGH_SURROGATE, FieldAssumption: char MIN_LOW_SURROGATE, FieldAssumption: char MAX_LOW_SURROGATE, FieldAssumption: char MIN_SURROGATE, FieldAssumption: char MAX_SURROGATE, FieldAssumption: int MIN_SUPPLEMENTARY_CODE_POINT, FieldAssumption: int MIN_CODE_POINT, FieldAssumption: int MAX_CODE_POINT, FieldAssumption: int SIZE, MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), FieldAssumption: int MIN_RADIX, FieldAssumption: int MAX_RADIX, FieldAssumption: char MIN_VALUE, FieldAssumption: char MAX_VALUE, FieldAssumption: java.lang.Class TYPE, FieldAssumption: byte UNASSIGNED, FieldAssumption: byte UPPERCASE_LETTER, FieldAssumption: byte LOWERCASE_LETTER, FieldAssumption: byte TITLECASE_LETTER, FieldAssumption: byte MODIFIER_LETTER, FieldAssumption: byte OTHER_LETTER, FieldAssumption: byte NON_SPACING_MARK, FieldAssumption: byte ENCLOSING_MARK, FieldAssumption: byte COMBINING_SPACING_MARK, FieldAssumption: byte DECIMAL_DIGIT_NUMBER, FieldAssumption: byte LETTER_NUMBER, FieldAssumption: byte OTHER_NUMBER, FieldAssumption: byte SPACE_SEPARATOR, FieldAssumption: byte LINE_SEPARATOR, FieldAssumption: byte PARAGRAPH_SEPARATOR, FieldAssumption: byte CONTROL, FieldAssumption: byte FORMAT, FieldAssumption: byte PRIVATE_USE, FieldAssumption: byte SURROGATE, FieldAssumption: byte DASH_PUNCTUATION, FieldAssumption: byte START_PUNCTUATION, FieldAssumption: byte END_PUNCTUATION, FieldAssumption: byte CONNECTOR_PUNCTUATION, FieldAssumption: byte OTHER_PUNCTUATION, FieldAssumption: byte MATH_SYMBOL, FieldAssumption: byte CURRENCY_SYMBOL, FieldAssumption: byte MODIFIER_SYMBOL, FieldAssumption: byte OTHER_SYMBOL, FieldAssumption: byte INITIAL_QUOTE_PUNCTUATION, FieldAssumption: byte FINAL_QUOTE_PUNCTUATION, FieldAssumption: byte DIRECTIONALITY_UNDEFINED, FieldAssumption: byte DIRECTIONALITY_LEFT_TO_RIGHT, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC, FieldAssumption: byte DIRECTIONALITY_EUROPEAN_NUMBER, FieldAssumption: byte DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR, FieldAssumption: byte DIRECTIONALITY_ARABIC_NUMBER, FieldAssumption: byte DIRECTIONALITY_COMMON_NUMBER_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_NONSPACING_MARK, FieldAssumption: byte DIRECTIONALITY_BOUNDARY_NEUTRAL, FieldAssumption: byte DIRECTIONALITY_PARAGRAPH_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_SEGMENT_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_WHITESPACE, FieldAssumption: byte DIRECTIONALITY_OTHER_NEUTRALS, FieldAssumption: byte DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING, FieldAssumption: byte DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE, FieldAssumption: byte DIRECTIONALITY_POP_DIRECTIONAL_FORMAT, FieldAssumption: char MIN_HIGH_SURROGATE, FieldAssumption: char MAX_HIGH_SURROGATE, FieldAssumption: char MIN_LOW_SURROGATE, FieldAssumption: char MAX_LOW_SURROGATE, FieldAssumption: char MIN_SURROGATE, FieldAssumption: char MAX_SURROGATE, FieldAssumption: int MIN_SUPPLEMENTARY_CODE_POINT, FieldAssumption: int MIN_CODE_POINT, FieldAssumption: int MAX_CODE_POINT, FieldAssumption: int SIZE, MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), FieldAssumption: java.lang.Boolean TRUE, FieldAssumption: java.lang.Boolean FALSE, FieldAssumption: java.lang.Class TYPE, MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), FieldAssumption: java.lang.Boolean TRUE, FieldAssumption: java.lang.Boolean FALSE, FieldAssumption: java.lang.Class TYPE, MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), FieldAssumption: double POSITIVE_INFINITY, FieldAssumption: double NEGATIVE_INFINITY, FieldAssumption: double NaN, FieldAssumption: double MAX_VALUE, FieldAssumption: double MIN_NORMAL, FieldAssumption: double MIN_VALUE, FieldAssumption: int MAX_EXPONENT, FieldAssumption: int MIN_EXPONENT, FieldAssumption: int SIZE, FieldAssumption: java.lang.Class TYPE, MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), FieldAssumption: double POSITIVE_INFINITY, FieldAssumption: double NEGATIVE_INFINITY, FieldAssumption: double NaN, FieldAssumption: double MAX_VALUE, FieldAssumption: double MIN_NORMAL, FieldAssumption: double MIN_VALUE, FieldAssumption: int MAX_EXPONENT, FieldAssumption: int MIN_EXPONENT, FieldAssumption: int SIZE, FieldAssumption: java.lang.Class TYPE, MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), FieldAssumption: float POSITIVE_INFINITY, FieldAssumption: float NEGATIVE_INFINITY, FieldAssumption: float NaN, FieldAssumption: float MAX_VALUE, FieldAssumption: float MIN_NORMAL, FieldAssumption: float MIN_VALUE, FieldAssumption: int MAX_EXPONENT, FieldAssumption: int MIN_EXPONENT, FieldAssumption: int SIZE, FieldAssumption: java.lang.Class TYPE, MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), FieldAssumption: float POSITIVE_INFINITY, FieldAssumption: float NEGATIVE_INFINITY, FieldAssumption: float NaN, FieldAssumption: float MAX_VALUE, FieldAssumption: float MIN_NORMAL, FieldAssumption: float MIN_VALUE, FieldAssumption: int MAX_EXPONENT, FieldAssumption: int MIN_EXPONENT, FieldAssumption: int SIZE, FieldAssumption: java.lang.Class TYPE, MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), FieldAssumption: long MIN_VALUE, FieldAssumption: long MAX_VALUE, FieldAssumption: java.lang.Class TYPE, FieldAssumption: int SIZE, MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), FieldAssumption: long MIN_VALUE, FieldAssumption: long MAX_VALUE, FieldAssumption: java.lang.Class TYPE, FieldAssumption: int SIZE, MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long []()] +[FieldAssumption: int MIN_VALUE, FieldAssumption: int MAX_VALUE, FieldAssumption: java.lang.Class TYPE, FieldAssumption: int SIZE, FieldAssumption: java.util.Comparator CASE_INSENSITIVE_ORDER, FieldAssumption: int MIN_RADIX, FieldAssumption: int MAX_RADIX, FieldAssumption: char MIN_VALUE, FieldAssumption: char MAX_VALUE, FieldAssumption: java.lang.Class TYPE, FieldAssumption: byte UNASSIGNED, FieldAssumption: byte UPPERCASE_LETTER, FieldAssumption: byte LOWERCASE_LETTER, FieldAssumption: byte TITLECASE_LETTER, FieldAssumption: byte MODIFIER_LETTER, FieldAssumption: byte OTHER_LETTER, FieldAssumption: byte NON_SPACING_MARK, FieldAssumption: byte ENCLOSING_MARK, FieldAssumption: byte COMBINING_SPACING_MARK, FieldAssumption: byte DECIMAL_DIGIT_NUMBER, FieldAssumption: byte LETTER_NUMBER, FieldAssumption: byte OTHER_NUMBER, FieldAssumption: byte SPACE_SEPARATOR, FieldAssumption: byte LINE_SEPARATOR, FieldAssumption: byte PARAGRAPH_SEPARATOR, FieldAssumption: byte CONTROL, FieldAssumption: byte FORMAT, FieldAssumption: byte PRIVATE_USE, FieldAssumption: byte SURROGATE, FieldAssumption: byte DASH_PUNCTUATION, FieldAssumption: byte START_PUNCTUATION, FieldAssumption: byte END_PUNCTUATION, FieldAssumption: byte CONNECTOR_PUNCTUATION, FieldAssumption: byte OTHER_PUNCTUATION, FieldAssumption: byte MATH_SYMBOL, FieldAssumption: byte CURRENCY_SYMBOL, FieldAssumption: byte MODIFIER_SYMBOL, FieldAssumption: byte OTHER_SYMBOL, FieldAssumption: byte INITIAL_QUOTE_PUNCTUATION, FieldAssumption: byte FINAL_QUOTE_PUNCTUATION, FieldAssumption: byte DIRECTIONALITY_UNDEFINED, FieldAssumption: byte DIRECTIONALITY_LEFT_TO_RIGHT, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC, FieldAssumption: byte DIRECTIONALITY_EUROPEAN_NUMBER, FieldAssumption: byte DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR, FieldAssumption: byte DIRECTIONALITY_ARABIC_NUMBER, FieldAssumption: byte DIRECTIONALITY_COMMON_NUMBER_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_NONSPACING_MARK, FieldAssumption: byte DIRECTIONALITY_BOUNDARY_NEUTRAL, FieldAssumption: byte DIRECTIONALITY_PARAGRAPH_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_SEGMENT_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_WHITESPACE, FieldAssumption: byte DIRECTIONALITY_OTHER_NEUTRALS, FieldAssumption: byte DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING, FieldAssumption: byte DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE, FieldAssumption: byte DIRECTIONALITY_POP_DIRECTIONAL_FORMAT, FieldAssumption: char MIN_HIGH_SURROGATE, FieldAssumption: char MAX_HIGH_SURROGATE, FieldAssumption: char MIN_LOW_SURROGATE, FieldAssumption: char MAX_LOW_SURROGATE, FieldAssumption: char MIN_SURROGATE, FieldAssumption: char MAX_SURROGATE, FieldAssumption: int MIN_SUPPLEMENTARY_CODE_POINT, FieldAssumption: int MIN_CODE_POINT, FieldAssumption: int MAX_CODE_POINT, FieldAssumption: int SIZE, FieldAssumption: java.lang.Boolean TRUE, FieldAssumption: java.lang.Boolean FALSE, FieldAssumption: java.lang.Class TYPE, FieldAssumption: double POSITIVE_INFINITY, FieldAssumption: double NEGATIVE_INFINITY, FieldAssumption: double NaN, FieldAssumption: double MAX_VALUE, FieldAssumption: double MIN_NORMAL, FieldAssumption: double MIN_VALUE, FieldAssumption: int MAX_EXPONENT, FieldAssumption: int MIN_EXPONENT, FieldAssumption: int SIZE, FieldAssumption: java.lang.Class TYPE, FieldAssumption: float POSITIVE_INFINITY, FieldAssumption: float NEGATIVE_INFINITY, FieldAssumption: float NaN, FieldAssumption: float MAX_VALUE, FieldAssumption: float MIN_NORMAL, FieldAssumption: float MIN_VALUE, FieldAssumption: int MAX_EXPONENT, FieldAssumption: int MIN_EXPONENT, FieldAssumption: int SIZE, FieldAssumption: java.lang.Class TYPE, FieldAssumption: long MIN_VALUE, FieldAssumption: long MAX_VALUE, FieldAssumption: java.lang.Class TYPE, FieldAssumption: int SIZE] LocalVar Assumptions: [] Parameter Assumptions: [] Konstruktor Assumptions: -[MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long []()] +[MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long []()] Class Assumptions: -[java.lang.Integer, java.lang.Integer, java.lang.String, java.lang.String, java.lang.Character, java.lang.Character, java.lang.Boolean, java.lang.Boolean, java.lang.Double, java.lang.Double, java.lang.Float, java.lang.Float, java.lang.Long, java.lang.Long] +[java.lang.Integer, java.lang.String, java.lang.Character, java.lang.Boolean, java.lang.Double, java.lang.Float, java.lang.Long] -Class DEBUG [Typeinference] Erstellte Assumptions: this: Assign +Class DEBUG [Typeinference] Erstellte Assumptions: this: WhileTest Method Assumptions: -[MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: GTV R [apply](), MethodAssumption: GTV R [apply](), MethodAssumption: GTV R [apply](GTV T1 T1), MethodAssumption: GTV R [apply](GTV T1 T1), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3,GTV T4 T4), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3,GTV T4 T4), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3,GTV T4 T4,GTV T5 T5), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3,GTV T4 T4,GTV T5 T5), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: GTV R [apply](), MethodAssumption: GTV R [apply](), MethodAssumption: GTV R [apply](GTV T1 T1), MethodAssumption: GTV R [apply](GTV T1 T1), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3,GTV T4 T4), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3,GTV T4 T4), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3,GTV T4 T4,GTV T5 T5), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3,GTV T4 T4,GTV T5 T5), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long []()] +[MethodAssumption: GTV R [apply](), MethodAssumption: GTV R [apply](GTV T1 T1), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3,GTV T4 T4), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3,GTV T4 T4,GTV T5 T5), MethodAssumption: TPH B [method]()] FieldVar Assumptions: -[FieldAssumption: TPH A stringVar, MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), FieldAssumption: TPH A stringVar, MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: GTV R [apply](), MethodAssumption: GTV R [apply](), MethodAssumption: GTV R [apply](GTV T1 T1), MethodAssumption: GTV R [apply](GTV T1 T1), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3,GTV T4 T4), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3,GTV T4 T4), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3,GTV T4 T4,GTV T5 T5), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3,GTV T4 T4,GTV T5 T5), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: GTV R [apply](), MethodAssumption: GTV R [apply](), MethodAssumption: GTV R [apply](GTV T1 T1), MethodAssumption: GTV R [apply](GTV T1 T1), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3,GTV T4 T4), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3,GTV T4 T4), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3,GTV T4 T4,GTV T5 T5), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3,GTV T4 T4,GTV T5 T5), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), FieldAssumption: TPH A stringVar, MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), FieldAssumption: TPH A stringVar, MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), FieldAssumption: int MIN_VALUE, FieldAssumption: int MAX_VALUE, FieldAssumption: java.lang.Class TYPE, FieldAssumption: int SIZE, MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), FieldAssumption: int MIN_VALUE, FieldAssumption: int MAX_VALUE, FieldAssumption: java.lang.Class TYPE, FieldAssumption: int SIZE, MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), FieldAssumption: java.util.Comparator CASE_INSENSITIVE_ORDER, MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), FieldAssumption: java.util.Comparator CASE_INSENSITIVE_ORDER, MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), FieldAssumption: int MIN_RADIX, FieldAssumption: int MAX_RADIX, FieldAssumption: char MIN_VALUE, FieldAssumption: char MAX_VALUE, FieldAssumption: java.lang.Class TYPE, FieldAssumption: byte UNASSIGNED, FieldAssumption: byte UPPERCASE_LETTER, FieldAssumption: byte LOWERCASE_LETTER, FieldAssumption: byte TITLECASE_LETTER, FieldAssumption: byte MODIFIER_LETTER, FieldAssumption: byte OTHER_LETTER, FieldAssumption: byte NON_SPACING_MARK, FieldAssumption: byte ENCLOSING_MARK, FieldAssumption: byte COMBINING_SPACING_MARK, FieldAssumption: byte DECIMAL_DIGIT_NUMBER, FieldAssumption: byte LETTER_NUMBER, FieldAssumption: byte OTHER_NUMBER, FieldAssumption: byte SPACE_SEPARATOR, FieldAssumption: byte LINE_SEPARATOR, FieldAssumption: byte PARAGRAPH_SEPARATOR, FieldAssumption: byte CONTROL, FieldAssumption: byte FORMAT, FieldAssumption: byte PRIVATE_USE, FieldAssumption: byte SURROGATE, FieldAssumption: byte DASH_PUNCTUATION, FieldAssumption: byte START_PUNCTUATION, FieldAssumption: byte END_PUNCTUATION, FieldAssumption: byte CONNECTOR_PUNCTUATION, FieldAssumption: byte OTHER_PUNCTUATION, FieldAssumption: byte MATH_SYMBOL, FieldAssumption: byte CURRENCY_SYMBOL, FieldAssumption: byte MODIFIER_SYMBOL, FieldAssumption: byte OTHER_SYMBOL, FieldAssumption: byte INITIAL_QUOTE_PUNCTUATION, FieldAssumption: byte FINAL_QUOTE_PUNCTUATION, FieldAssumption: byte DIRECTIONALITY_UNDEFINED, FieldAssumption: byte DIRECTIONALITY_LEFT_TO_RIGHT, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC, FieldAssumption: byte DIRECTIONALITY_EUROPEAN_NUMBER, FieldAssumption: byte DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR, FieldAssumption: byte DIRECTIONALITY_ARABIC_NUMBER, FieldAssumption: byte DIRECTIONALITY_COMMON_NUMBER_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_NONSPACING_MARK, FieldAssumption: byte DIRECTIONALITY_BOUNDARY_NEUTRAL, FieldAssumption: byte DIRECTIONALITY_PARAGRAPH_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_SEGMENT_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_WHITESPACE, FieldAssumption: byte DIRECTIONALITY_OTHER_NEUTRALS, FieldAssumption: byte DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING, FieldAssumption: byte DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE, FieldAssumption: byte DIRECTIONALITY_POP_DIRECTIONAL_FORMAT, FieldAssumption: char MIN_HIGH_SURROGATE, FieldAssumption: char MAX_HIGH_SURROGATE, FieldAssumption: char MIN_LOW_SURROGATE, FieldAssumption: char MAX_LOW_SURROGATE, FieldAssumption: char MIN_SURROGATE, FieldAssumption: char MAX_SURROGATE, FieldAssumption: int MIN_SUPPLEMENTARY_CODE_POINT, FieldAssumption: int MIN_CODE_POINT, FieldAssumption: int MAX_CODE_POINT, FieldAssumption: int SIZE, MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), FieldAssumption: int MIN_RADIX, FieldAssumption: int MAX_RADIX, FieldAssumption: char MIN_VALUE, FieldAssumption: char MAX_VALUE, FieldAssumption: java.lang.Class TYPE, FieldAssumption: byte UNASSIGNED, FieldAssumption: byte UPPERCASE_LETTER, FieldAssumption: byte LOWERCASE_LETTER, FieldAssumption: byte TITLECASE_LETTER, FieldAssumption: byte MODIFIER_LETTER, FieldAssumption: byte OTHER_LETTER, FieldAssumption: byte NON_SPACING_MARK, FieldAssumption: byte ENCLOSING_MARK, FieldAssumption: byte COMBINING_SPACING_MARK, FieldAssumption: byte DECIMAL_DIGIT_NUMBER, FieldAssumption: byte LETTER_NUMBER, FieldAssumption: byte OTHER_NUMBER, FieldAssumption: byte SPACE_SEPARATOR, FieldAssumption: byte LINE_SEPARATOR, FieldAssumption: byte PARAGRAPH_SEPARATOR, FieldAssumption: byte CONTROL, FieldAssumption: byte FORMAT, FieldAssumption: byte PRIVATE_USE, FieldAssumption: byte SURROGATE, FieldAssumption: byte DASH_PUNCTUATION, FieldAssumption: byte START_PUNCTUATION, FieldAssumption: byte END_PUNCTUATION, FieldAssumption: byte CONNECTOR_PUNCTUATION, FieldAssumption: byte OTHER_PUNCTUATION, FieldAssumption: byte MATH_SYMBOL, FieldAssumption: byte CURRENCY_SYMBOL, FieldAssumption: byte MODIFIER_SYMBOL, FieldAssumption: byte OTHER_SYMBOL, FieldAssumption: byte INITIAL_QUOTE_PUNCTUATION, FieldAssumption: byte FINAL_QUOTE_PUNCTUATION, FieldAssumption: byte DIRECTIONALITY_UNDEFINED, FieldAssumption: byte DIRECTIONALITY_LEFT_TO_RIGHT, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC, FieldAssumption: byte DIRECTIONALITY_EUROPEAN_NUMBER, FieldAssumption: byte DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR, FieldAssumption: byte DIRECTIONALITY_ARABIC_NUMBER, FieldAssumption: byte DIRECTIONALITY_COMMON_NUMBER_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_NONSPACING_MARK, FieldAssumption: byte DIRECTIONALITY_BOUNDARY_NEUTRAL, FieldAssumption: byte DIRECTIONALITY_PARAGRAPH_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_SEGMENT_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_WHITESPACE, FieldAssumption: byte DIRECTIONALITY_OTHER_NEUTRALS, FieldAssumption: byte DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING, FieldAssumption: byte DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE, FieldAssumption: byte DIRECTIONALITY_POP_DIRECTIONAL_FORMAT, FieldAssumption: char MIN_HIGH_SURROGATE, FieldAssumption: char MAX_HIGH_SURROGATE, FieldAssumption: char MIN_LOW_SURROGATE, FieldAssumption: char MAX_LOW_SURROGATE, FieldAssumption: char MIN_SURROGATE, FieldAssumption: char MAX_SURROGATE, FieldAssumption: int MIN_SUPPLEMENTARY_CODE_POINT, FieldAssumption: int MIN_CODE_POINT, FieldAssumption: int MAX_CODE_POINT, FieldAssumption: int SIZE, MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), FieldAssumption: java.lang.Boolean TRUE, FieldAssumption: java.lang.Boolean FALSE, FieldAssumption: java.lang.Class TYPE, MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), FieldAssumption: java.lang.Boolean TRUE, FieldAssumption: java.lang.Boolean FALSE, FieldAssumption: java.lang.Class TYPE, MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), FieldAssumption: double POSITIVE_INFINITY, FieldAssumption: double NEGATIVE_INFINITY, FieldAssumption: double NaN, FieldAssumption: double MAX_VALUE, FieldAssumption: double MIN_NORMAL, FieldAssumption: double MIN_VALUE, FieldAssumption: int MAX_EXPONENT, FieldAssumption: int MIN_EXPONENT, FieldAssumption: int SIZE, FieldAssumption: java.lang.Class TYPE, MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), FieldAssumption: double POSITIVE_INFINITY, FieldAssumption: double NEGATIVE_INFINITY, FieldAssumption: double NaN, FieldAssumption: double MAX_VALUE, FieldAssumption: double MIN_NORMAL, FieldAssumption: double MIN_VALUE, FieldAssumption: int MAX_EXPONENT, FieldAssumption: int MIN_EXPONENT, FieldAssumption: int SIZE, FieldAssumption: java.lang.Class TYPE, MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), FieldAssumption: float POSITIVE_INFINITY, FieldAssumption: float NEGATIVE_INFINITY, FieldAssumption: float NaN, FieldAssumption: float MAX_VALUE, FieldAssumption: float MIN_NORMAL, FieldAssumption: float MIN_VALUE, FieldAssumption: int MAX_EXPONENT, FieldAssumption: int MIN_EXPONENT, FieldAssumption: int SIZE, FieldAssumption: java.lang.Class TYPE, MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), FieldAssumption: float POSITIVE_INFINITY, FieldAssumption: float NEGATIVE_INFINITY, FieldAssumption: float NaN, FieldAssumption: float MAX_VALUE, FieldAssumption: float MIN_NORMAL, FieldAssumption: float MIN_VALUE, FieldAssumption: int MAX_EXPONENT, FieldAssumption: int MIN_EXPONENT, FieldAssumption: int SIZE, FieldAssumption: java.lang.Class TYPE, MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), FieldAssumption: long MIN_VALUE, FieldAssumption: long MAX_VALUE, FieldAssumption: java.lang.Class TYPE, FieldAssumption: int SIZE, MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), FieldAssumption: long MIN_VALUE, FieldAssumption: long MAX_VALUE, FieldAssumption: java.lang.Class TYPE, FieldAssumption: int SIZE, MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long []()] +[FieldAssumption: TPH A var, FieldAssumption: int MIN_VALUE, FieldAssumption: int MAX_VALUE, FieldAssumption: java.lang.Class TYPE, FieldAssumption: int SIZE, FieldAssumption: java.util.Comparator CASE_INSENSITIVE_ORDER, FieldAssumption: int MIN_RADIX, FieldAssumption: int MAX_RADIX, FieldAssumption: char MIN_VALUE, FieldAssumption: char MAX_VALUE, FieldAssumption: java.lang.Class TYPE, FieldAssumption: byte UNASSIGNED, FieldAssumption: byte UPPERCASE_LETTER, FieldAssumption: byte LOWERCASE_LETTER, FieldAssumption: byte TITLECASE_LETTER, FieldAssumption: byte MODIFIER_LETTER, FieldAssumption: byte OTHER_LETTER, FieldAssumption: byte NON_SPACING_MARK, FieldAssumption: byte ENCLOSING_MARK, FieldAssumption: byte COMBINING_SPACING_MARK, FieldAssumption: byte DECIMAL_DIGIT_NUMBER, FieldAssumption: byte LETTER_NUMBER, FieldAssumption: byte OTHER_NUMBER, FieldAssumption: byte SPACE_SEPARATOR, FieldAssumption: byte LINE_SEPARATOR, FieldAssumption: byte PARAGRAPH_SEPARATOR, FieldAssumption: byte CONTROL, FieldAssumption: byte FORMAT, FieldAssumption: byte PRIVATE_USE, FieldAssumption: byte SURROGATE, FieldAssumption: byte DASH_PUNCTUATION, FieldAssumption: byte START_PUNCTUATION, FieldAssumption: byte END_PUNCTUATION, FieldAssumption: byte CONNECTOR_PUNCTUATION, FieldAssumption: byte OTHER_PUNCTUATION, FieldAssumption: byte MATH_SYMBOL, FieldAssumption: byte CURRENCY_SYMBOL, FieldAssumption: byte MODIFIER_SYMBOL, FieldAssumption: byte OTHER_SYMBOL, FieldAssumption: byte INITIAL_QUOTE_PUNCTUATION, FieldAssumption: byte FINAL_QUOTE_PUNCTUATION, FieldAssumption: byte DIRECTIONALITY_UNDEFINED, FieldAssumption: byte DIRECTIONALITY_LEFT_TO_RIGHT, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC, FieldAssumption: byte DIRECTIONALITY_EUROPEAN_NUMBER, FieldAssumption: byte DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR, FieldAssumption: byte DIRECTIONALITY_ARABIC_NUMBER, FieldAssumption: byte DIRECTIONALITY_COMMON_NUMBER_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_NONSPACING_MARK, FieldAssumption: byte DIRECTIONALITY_BOUNDARY_NEUTRAL, FieldAssumption: byte DIRECTIONALITY_PARAGRAPH_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_SEGMENT_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_WHITESPACE, FieldAssumption: byte DIRECTIONALITY_OTHER_NEUTRALS, FieldAssumption: byte DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING, FieldAssumption: byte DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE, FieldAssumption: byte DIRECTIONALITY_POP_DIRECTIONAL_FORMAT, FieldAssumption: char MIN_HIGH_SURROGATE, FieldAssumption: char MAX_HIGH_SURROGATE, FieldAssumption: char MIN_LOW_SURROGATE, FieldAssumption: char MAX_LOW_SURROGATE, FieldAssumption: char MIN_SURROGATE, FieldAssumption: char MAX_SURROGATE, FieldAssumption: int MIN_SUPPLEMENTARY_CODE_POINT, FieldAssumption: int MIN_CODE_POINT, FieldAssumption: int MAX_CODE_POINT, FieldAssumption: int SIZE, FieldAssumption: java.lang.Boolean TRUE, FieldAssumption: java.lang.Boolean FALSE, FieldAssumption: java.lang.Class TYPE, FieldAssumption: double POSITIVE_INFINITY, FieldAssumption: double NEGATIVE_INFINITY, FieldAssumption: double NaN, FieldAssumption: double MAX_VALUE, FieldAssumption: double MIN_NORMAL, FieldAssumption: double MIN_VALUE, FieldAssumption: int MAX_EXPONENT, FieldAssumption: int MIN_EXPONENT, FieldAssumption: int SIZE, FieldAssumption: java.lang.Class TYPE, FieldAssumption: float POSITIVE_INFINITY, FieldAssumption: float NEGATIVE_INFINITY, FieldAssumption: float NaN, FieldAssumption: float MAX_VALUE, FieldAssumption: float MIN_NORMAL, FieldAssumption: float MIN_VALUE, FieldAssumption: int MAX_EXPONENT, FieldAssumption: int MIN_EXPONENT, FieldAssumption: int SIZE, FieldAssumption: java.lang.Class TYPE, FieldAssumption: long MIN_VALUE, FieldAssumption: long MAX_VALUE, FieldAssumption: java.lang.Class TYPE, FieldAssumption: int SIZE] LocalVar Assumptions: [] Parameter Assumptions: [] Konstruktor Assumptions: -[MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: Assign [Assign](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long []()] +[MethodAssumption: WhileTest [WhileTest](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long []()] Class Assumptions: -[Assign, Assign, java.lang.Integer, java.lang.Integer, java.lang.String, java.lang.String, java.lang.Character, java.lang.Character, java.lang.Boolean, java.lang.Boolean, java.lang.Double, java.lang.Double, java.lang.Float, java.lang.Float, java.lang.Long, java.lang.Long] +[Fun0, Fun1, Fun2, Fun3, Fun4, Fun5, WhileTest, java.lang.Integer, java.lang.String, java.lang.Character, java.lang.Boolean, java.lang.Double, java.lang.Float, java.lang.Long] +Block DEBUG [Typeinference] Prozessing statement: WHILE null { [(var = mycompiler.mystatement.StringLiteral@6110e3b5)] +Block DEBUG [Typeinference] Prozessing statement: (var = mycompiler.mystatement.StringLiteral@6110e3b5) +Block DEBUG [Typeinference] Prozessing statement: void(var: TPH A = mycompiler.mystatement.StringLiteral@6110e3b5) +Block DEBUG [Typeinference] Prozessing statement: WHILE void { [void(var: TPH A = mycompiler.mystatement.StringLiteral@6110e3b5)] Class DEBUG [Typeinference] Erstellte Constraints: TPH A < TPH A -String < TPH A +java.lang.Boolean < boolean +java.lang.String < TPH A +TPH A < TPH AE +void < TPH B -SourceFile DEBUG [Typeinference] Karthesisches Produkt der Constraints: [[(TPH A <. TPH A), (String <. TPH A)]] -SourceFile DEBUG [Typeinference] Unifiziertes Ergebnis: [[(TPH A = String)]] +SourceFile DEBUG [Typeinference] Karthesisches Produkt der Constraints: [[(TPH A <. TPH A), (java.lang.Boolean <. boolean), (java.lang.String <. TPH A), (TPH A <. TPH AE), (void <. TPH B)]] +SourceFile DEBUG [Typeinference] Unifiziertes Ergebnis: [] SourceFile DEBUG [Typeinference] JavaFiles: -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH A = String)] - -SourceFile DEBUG [Typeinference] class Assign extends Object -{ -String stringVar = "String"; -Assign Assign() -{ -} -} - diff --git a/test/plugindevelopment/MartinTestCases/Tester.java b/test/plugindevelopment/MartinTestCases/Tester.java index 923c65e66..92aea9e30 100644 --- a/test/plugindevelopment/MartinTestCases/Tester.java +++ b/test/plugindevelopment/MartinTestCases/Tester.java @@ -28,16 +28,16 @@ public class Tester extends TypeInsertTester{ Vector results = compiler.typeReconstruction(); //TestCase.assertTrue("Es darf nicht mehr als eine Lösungsmöglichkeit geben und nicht "+results.size(), results.size()==1); for(TypeinferenceResultSet result : results){ - Vector points = result.getTypeInsertionPoints(); + TypeInsertSet point = result.getTypeInsertionPoints(); //TestCase.assertTrue("Es muss mindestens ein TypeInsertSet vorhanden sein", points.size()>0); - for(TypeInsertSet point : points){ - //TestCase.assertTrue("Es muss mindestens ein TypeInsertPoint vorhanden sein", point.points.size()>0); - if(point.points.size()>0){ - inferedSource = point.insertAllTypes(TypeInsertTester.getFileContent(rootDirectory + sourceFileToInfere)); - System.out.println(inferedSource); - gesamterSrc += inferedSource; - } + + //TestCase.assertTrue("Es muss mindestens ein TypeInsertPoint vorhanden sein", point.points.size()>0); + if(point.points.size()>0){ + inferedSource = point.insertAllTypes(TypeInsertTester.getFileContent(rootDirectory + sourceFileToInfere)); + System.out.println(inferedSource); + gesamterSrc += inferedSource; } + } } catch (IOException | yyException e) { diff --git a/test/plugindevelopment/TypeInsertTester.java b/test/plugindevelopment/TypeInsertTester.java index cb275bd55..781fbd735 100644 --- a/test/plugindevelopment/TypeInsertTester.java +++ b/test/plugindevelopment/TypeInsertTester.java @@ -49,15 +49,13 @@ public class TypeInsertTester{ Vector results = compiler.typeReconstruction(); TestCase.assertTrue("Es darf nicht mehr als eine Lösungsmöglichkeit geben und nicht "+results.size(), results.size()==1); for(TypeinferenceResultSet result : results){ - Vector points = result.getTypeInsertionPoints(); - TestCase.assertTrue("Es muss mindestens ein TypeInsertSet vorhanden sein", points.size()>0); - for(TypeInsertSet point : points){ - if(point.points.size()>0){ + TypeInsertSet point = result.getTypeInsertionPoints(); + //TestCase.assertTrue("Es muss mindestens ein TypeInsertSet vorhanden sein", points.size()>0); + if(point.points.size()>0){ inferedSource = point.insertAllTypes(getFileContent(rootDirectory + sourceFileToInfere)); String solutionSource = getFileContent(rootDirectory + solutionFile); System.out.println("\nInferierter Source:\n"+inferedSource); TestCase.assertTrue("Nicht das erwartete Ergebnis", inferedSource.equals(solutionSource)); - } } } diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest2.java b/test/plugindevelopment/TypeInsertTests/LambdaTest2.java index 877128f88..9cd8ef035 100644 --- a/test/plugindevelopment/TypeInsertTests/LambdaTest2.java +++ b/test/plugindevelopment/TypeInsertTests/LambdaTest2.java @@ -11,7 +11,7 @@ public class LambdaTest2 { @Test public void run(){ Vector mustContain = new Vector(); - mustContain.add("S m"); + //mustContain.add("S m"); MultipleTypesInsertTester.test(this.TEST_FILE, mustContain); } diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest5.java b/test/plugindevelopment/TypeInsertTests/LambdaTest5.java index 28efa5e75..34cc8c9ec 100644 --- a/test/plugindevelopment/TypeInsertTests/LambdaTest5.java +++ b/test/plugindevelopment/TypeInsertTests/LambdaTest5.java @@ -11,7 +11,7 @@ public class LambdaTest5 { @Test public void run(){ Vector mustContain = new Vector(); - mustContain.add("A var"); + //mustContain.add("A var"); MultipleTypesInsertTester.test(this.TEST_FILE, mustContain); } diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest7.java b/test/plugindevelopment/TypeInsertTests/LambdaTest7.java index 43772330e..f29dabdf7 100644 --- a/test/plugindevelopment/TypeInsertTests/LambdaTest7.java +++ b/test/plugindevelopment/TypeInsertTests/LambdaTest7.java @@ -11,7 +11,7 @@ public class LambdaTest7 { @Test public void run(){ Vector mustContain = new Vector(); - mustContain.add("A a"); + //mustContain.add("A a"); MultipleTypesInsertTester.test(this.TEST_FILE, mustContain); } diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest8.jav b/test/plugindevelopment/TypeInsertTests/LambdaTest8.jav new file mode 100644 index 000000000..0df204987 --- /dev/null +++ b/test/plugindevelopment/TypeInsertTests/LambdaTest8.jav @@ -0,0 +1,3 @@ +class Plus1 { + op = (x) -> x+1; + } \ No newline at end of file diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest8.java b/test/plugindevelopment/TypeInsertTests/LambdaTest8.java new file mode 100644 index 000000000..04e85bf29 --- /dev/null +++ b/test/plugindevelopment/TypeInsertTests/LambdaTest8.java @@ -0,0 +1,18 @@ +package plugindevelopment.TypeInsertTests; + +import java.util.Vector; + +import org.junit.Test; + +public class LambdaTest8 { + + private static final String TEST_FILE = "LambdaTest8.jav"; + + @Test + public void run(){ + Vector mustContain = new Vector(); + //mustContain.add("A a"); + MultipleTypesInsertTester.test(this.TEST_FILE, mustContain); + } + +} diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest9.jav b/test/plugindevelopment/TypeInsertTests/LambdaTest9.jav new file mode 100644 index 000000000..cb1643634 --- /dev/null +++ b/test/plugindevelopment/TypeInsertTests/LambdaTest9.jav @@ -0,0 +1,6 @@ +class MethodId { + + m (x) { + return x; + } +} diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest9.java b/test/plugindevelopment/TypeInsertTests/LambdaTest9.java new file mode 100644 index 000000000..ca336ef59 --- /dev/null +++ b/test/plugindevelopment/TypeInsertTests/LambdaTest9.java @@ -0,0 +1,18 @@ +package plugindevelopment.TypeInsertTests; + +import java.util.Vector; + +import org.junit.Test; + +public class LambdaTest9 { + + private static final String TEST_FILE = "LambdaTest9.jav"; + + @Test + public void run(){ + Vector mustContain = new Vector(); + //mustContain.add("A a"); + MultipleTypesInsertTester.test(this.TEST_FILE, mustContain); + } + +} diff --git a/test/plugindevelopment/TypeInsertTests/MultipleTypesInsertTester.java b/test/plugindevelopment/TypeInsertTests/MultipleTypesInsertTester.java index 33f8e74e2..593cd0bc9 100644 --- a/test/plugindevelopment/TypeInsertTests/MultipleTypesInsertTester.java +++ b/test/plugindevelopment/TypeInsertTests/MultipleTypesInsertTester.java @@ -25,16 +25,16 @@ public class MultipleTypesInsertTester extends TypeInsertTester{ Vector results = compiler.typeReconstruction(); //TestCase.assertTrue("Es darf nicht mehr als eine Lösungsmöglichkeit geben und nicht "+results.size(), results.size()==1); for(TypeinferenceResultSet result : results){ - Vector points = result.getTypeInsertionPoints(); + TypeInsertSet point = result.getTypeInsertionPoints(); //TestCase.assertTrue("Es muss mindestens ein TypeInsertSet vorhanden sein", points.size()>0); - for(TypeInsertSet point : points){ - //TestCase.assertTrue("Es muss mindestens ein TypeInsertPoint vorhanden sein", point.points.size()>0); - if(point.points.size()>0){ - inferedSource = point.insertAllTypes(TypeInsertTester.getFileContent(rootDirectory + sourceFileToInfere)); - System.out.println(inferedSource); - gesamterSrc += inferedSource; - } + + //TestCase.assertTrue("Es muss mindestens ein TypeInsertPoint vorhanden sein", point.points.size()>0); + if(point.points.size()>0){ + inferedSource = point.insertAllTypes(TypeInsertTester.getFileContent(rootDirectory + sourceFileToInfere)); + System.out.println(inferedSource); + gesamterSrc += inferedSource; } + } } catch (IOException | yyException e) { From ef641065e2a37073bf4985f4430308d5593f18b6 Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Wed, 7 May 2014 09:36:31 +0200 Subject: [PATCH 69/79] Backup --- Readme.md | 11 ++++---- src/mycompiler/SyntaxTreeNode.java | 19 +++++++++---- src/typinferenz/TypeInsertSet.java | 44 +++--------------------------- 3 files changed, 24 insertions(+), 50 deletions(-) diff --git a/Readme.md b/Readme.md index ae1809c70..3ef949bd2 100644 --- a/Readme.md +++ b/Readme.md @@ -31,14 +31,15 @@ * unifiziert Constraints aller im SourceFile vorkommenden Klassen 4. Erstellen von TypeInsertSet - * j * Durchlaufen des Syntaxbaumes * Jeder Knoten erstellt TypeInsertSets anhand des ResultSets. * Bei nichtauflösung eines TPH muss GenericVar eingesetzt werden: - * Im Syntaxbaum wird dazu die addGenericVar-Methode aufgerufen, welche einen TypeInsertPoint generiert. - * Mit dem Einsetzen einer Generischen Variablen müssen auch alle anderen Knoten im Syntaxbaum, deren - Typ ebenfalls dieser TypePlaceholder ist. - * Dies entsteht allerdings automatisch, da das gesamte ermittelte ResultSet als TIS eingesetzt wird. + * Dazu alle Abhängigkeite in Form von Pairs aus dem ResultSet ermitteln. + * GenericVarTypeInsertPoints generieren und in TypeInsertSet speichern. + * Beim Hinzufügen von GenericVarTypeInsertPoints wird kontrolliert, ob diese bereits (auch in Teilen) schon vorhanden sind. +5. Einsetzen eines TypeInsertSet (optional) + 1. Auf allen TypeInsertPoints die getUnresolvedTPHs-Methoden aufrufen + 2. Alle Abhängigkeiten dieser \ No newline at end of file diff --git a/src/mycompiler/SyntaxTreeNode.java b/src/mycompiler/SyntaxTreeNode.java index ca2a19203..d2dd879f7 100644 --- a/src/mycompiler/SyntaxTreeNode.java +++ b/src/mycompiler/SyntaxTreeNode.java @@ -4,6 +4,7 @@ import java.util.Vector; import typinferenz.ResultSet; import typinferenz.TypeInsertPoint; +import typinferenz.TypeInsertSet; import typinferenz.TypeInsertable; import typinferenz.exceptions.DebugException; import typinferenz.exceptions.TypeinferenceException; @@ -63,18 +64,26 @@ public abstract class SyntaxTreeNode { return true; } - public Vector getTypeInsertPoints(ResultSet result) { + /** + * Methode zur Generierung der TypeInsertPoints + * @param insertSet - Generierte InsertPoints werden dem insertSet angefügt + * @param result - Das ResultSet auf dessen Basis die InsertPoints generiert werden + */ + public void addTypeInsertPoints(TypeInsertSet insertSet,ResultSet result) { Vector ret = new Vector(); - for(SyntaxTreeNode node : this.getChildren()){ - ret.addAll(node.getTypeInsertPoints(result)); - } //Fall der Knoten ein TypeInsertable ist, kann direkt der TypeInsertPoint generiert werden. if(this instanceof TypeInsertable){ TypeInsertable that = (TypeInsertable)this; Type t = that.getType(); if(t instanceof TypePlaceholder) ret.add(that.createTypeInsertPoint((TypePlaceholder) t, result));//ret.addAll(((TypePlaceholder)t).getTypeInsertPoints(result)); + + } + insertSet.add(ret); + + //Nachdem die InsertPoints und GenericVarTypeInsertPoints angefügt wurden, kann im Knoten abgestiegen werden: + for(SyntaxTreeNode node : this.getChildren()){ + node.addTypeInsertPoints(insertSet, result); } - return ret; } } diff --git a/src/typinferenz/TypeInsertSet.java b/src/typinferenz/TypeInsertSet.java index 60ccda7c8..a492647a0 100644 --- a/src/typinferenz/TypeInsertSet.java +++ b/src/typinferenz/TypeInsertSet.java @@ -62,62 +62,26 @@ public class TypeInsertSet { } genericTIPs.add(toAdd); } + /* //... und dem TypeInsertSet anfügen: for(GenericTypeInsertPoint p : genericTIPs){ for(GenericTypeInsertPoint p2 : genericTIPs){ //Doppelte Generische Variablen definitionen ausschließen: for(TypeInsertPoint toAdd : p.merge(p2)){ this.add(toAdd); - //TODO: Alle Typen, welche die einzusetzenden Generischen Typen beinhalten, müssen ebenfalls eingesetzt werden. - } } //this.add(p); } - - //Anschließend sortieren: + */ + //Anschließend sortieren (nach dem Offset der InsertPoints): Collections.sort(points); for(TypeInsertPoint p : points){ - /* - //TODO: Verbessern. Momentan noch komischer Hack: - //Kontrollieren ob beim Einsetzen Generische Typvariablen entstehen: - Iterator it = p.getUnresolvedPairs().iterator(); - String genericTypeParameters = "<"; - while(it.hasNext()){ - genericTypeParameters += new GenericTypeVar(it.next(), 0).printJavaCode(p.getResultSet()); - if(it.hasNext())genericTypeParameters += ", "; - } - genericTypeParameters += ">"; - //HACK: Reftype mit dem Typ der einzusetzenden Generischen Variablen: - TypeInsertPoint tip = new TypeInsertPoint(p.getGenericTypeVarInsertNode(), new RefType(genericTypeParameters,0), p.getResultSet()); - //ret = tip.insertType(fileContent, additionalOffset); - //additionalOffset += tip.getInsertLength(); - */ - //Zuerst den Typ einsetzen JavaCodeResult insertCode = p.insertType(ret, additionalOffset); ret = insertCode.toString(); - /* - //Das additional Offset noch nicht korrigieren, da die generischen Parameter noch vor den Typ müssen. - - //Jetzt sind die übriggebliebenen TPHs bekannt und die benötigten Generischen Variablen können berechnet werden. - Vector unresolvedPairs = p.getResultSet().getConstraintsFor(insertCode.getUnresolvedTPH()); - if(unresolvedPairs.size()>0){ //Nur falls es wirklich was zum Einsetzen gibt: - Iterator it = unresolvedPairs.iterator(); - String genericTypeParameters = "<"; - while(it.hasNext()){ - genericTypeParameters += new GenericTypeVar(it.next(), 0).printJavaCode(p.getResultSet()); - if(it.hasNext())genericTypeParameters += ", "; - } - genericTypeParameters += ">"; - //Der Generische Variablen String zum Einsetzen ist nun vorhanden - TypeInsertPoint tip = new TypeInsertPoint(p.getGenericTypeVarInsertNode(), new RefType(genericTypeParameters,0), p.getResultSet()); - ret = tip.insertType(insertCode.toString(), additionalOffset).toString(); - //Jetzt das gesamte Offset korrigieren: - additionalOffset += tip.getInsertLength(); - } - */ + //Dann Additional Offset korrigieren: additionalOffset += p.getInsertLength(); } return ret; From c6ddc8036d42a8ce43f6a5875b0a9174387de21e Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Wed, 7 May 2014 13:01:14 +0200 Subject: [PATCH 70/79] =?UTF-8?q?Einsetzen=20von=20Generischen=20Variablen?= =?UTF-8?q?=20=C3=BCberarbeitet?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Readme.md | 7 +-- src/mycompiler/SyntaxTreeNode.java | 38 ++++++++++--- src/mycompiler/myclass/Class.java | 6 +- src/mycompiler/myclass/FormalParameter.java | 12 +--- .../TypeinferenceResultSet.java | 3 +- src/typinferenz/GenericTypeInsertPoint.java | 45 ++++++++++----- src/typinferenz/TypeInsertSet.java | 57 +++++++++++++------ 7 files changed, 109 insertions(+), 59 deletions(-) diff --git a/Readme.md b/Readme.md index 3ef949bd2..641d10f18 100644 --- a/Readme.md +++ b/Readme.md @@ -33,11 +33,8 @@ 4. Erstellen von TypeInsertSet * Durchlaufen des Syntaxbaumes * Jeder Knoten erstellt TypeInsertSets anhand des ResultSets. - * Bei nichtauflösung eines TPH muss GenericVar eingesetzt werden: - * Dazu alle Abhängigkeite in Form von Pairs aus dem ResultSet ermitteln. - * GenericVarTypeInsertPoints generieren und in TypeInsertSet speichern. - * Beim Hinzufügen von GenericVarTypeInsertPoints wird kontrolliert, ob diese bereits (auch in Teilen) schon vorhanden sind. - + * Bei Knoten, welche Generische Variablen beinhalten können werden GenericTypeInsertPoints erstellt + 5. Einsetzen eines TypeInsertSet (optional) 1. Auf allen TypeInsertPoints die getUnresolvedTPHs-Methoden aufrufen 2. Alle Abhängigkeiten dieser diff --git a/src/mycompiler/SyntaxTreeNode.java b/src/mycompiler/SyntaxTreeNode.java index d2dd879f7..162fe915c 100644 --- a/src/mycompiler/SyntaxTreeNode.java +++ b/src/mycompiler/SyntaxTreeNode.java @@ -2,6 +2,7 @@ package mycompiler; import java.util.Vector; +import typinferenz.GenericTypeInsertPoint; import typinferenz.ResultSet; import typinferenz.TypeInsertPoint; import typinferenz.TypeInsertSet; @@ -9,7 +10,9 @@ import typinferenz.TypeInsertable; import typinferenz.exceptions.DebugException; import typinferenz.exceptions.TypeinferenceException; import mycompiler.myclass.Class; +import mycompiler.myclass.Generic; import mycompiler.mytype.GenericTypeVar; +import mycompiler.mytype.Pair; import mycompiler.mytype.Type; import mycompiler.mytype.TypePlaceholder; @@ -70,20 +73,37 @@ public abstract class SyntaxTreeNode { * @param result - Das ResultSet auf dessen Basis die InsertPoints generiert werden */ public void addTypeInsertPoints(TypeInsertSet insertSet,ResultSet result) { - Vector ret = new Vector(); + for(SyntaxTreeNode node : this.getChildren()){ + node.addTypeInsertPoints(insertSet, result); + } + + TypeInsertPoint tip = null; //Der TypInsertPoint für diesen Knoten //Fall der Knoten ein TypeInsertable ist, kann direkt der TypeInsertPoint generiert werden. if(this instanceof TypeInsertable){ TypeInsertable that = (TypeInsertable)this; Type t = that.getType(); - if(t instanceof TypePlaceholder) - ret.add(that.createTypeInsertPoint((TypePlaceholder) t, result));//ret.addAll(((TypePlaceholder)t).getTypeInsertPoints(result)); - + if(t instanceof TypePlaceholder){ + tip = that.createTypeInsertPoint((TypePlaceholder) t, result); + insertSet.add(tip);//ret.addAll(((TypePlaceholder)t).getTypeInsertPoints(result)); + } + //Für den Fall, dass dieser Knoten Generische Variablen halten kann. + if(that instanceof Generic && that.getOffset()>=0){ + //Alle unresolvedTPHs ermitteln und GenericTypeVarInsertPoints bilden: + Vector uTPHs = insertSet.getUnresolvedTPHs(); + for(TypePlaceholder tph : uTPHs){//GenericInsertPoints für diese TPHs bilden: + GenericTypeInsertPoint genericTIP = new GenericTypeInsertPoint(that,tph,result); + insertSet.add(genericTIP); + } + if(uTPHs.size()>0){//Nur wenn es auch unresolvedTPHs gibt: + Vector gPairs = result.getConstraintsFor(uTPHs); + if(gPairs.size()>0){ + GenericTypeInsertPoint genericTIP = new GenericTypeInsertPoint(that,gPairs,result); + insertSet.add(genericTIP); + } + } + } } - insertSet.add(ret); + - //Nachdem die InsertPoints und GenericVarTypeInsertPoints angefügt wurden, kann im Knoten abgestiegen werden: - for(SyntaxTreeNode node : this.getChildren()){ - node.addTypeInsertPoints(insertSet, result); - } } } diff --git a/src/mycompiler/myclass/Class.java b/src/mycompiler/myclass/Class.java index d6386369b..0d4f868ee 100755 --- a/src/mycompiler/myclass/Class.java +++ b/src/mycompiler/myclass/Class.java @@ -79,7 +79,7 @@ import typinferenz.*; // ino.class.Class.23010.declaration -public class Class extends SyntaxTreeNode implements AClassOrInterface, IItemWithOffset +public class Class extends SyntaxTreeNode implements AClassOrInterface, IItemWithOffset, Generic // ino.end // ino.class.Class.23010.body { @@ -1360,6 +1360,10 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface, IItemWit // TODO Auto-generated method stub return 0; } + @Override + public void setGenericParameter(Vector params) { + this.genericClassParameters = params; + } } // ino.end diff --git a/src/mycompiler/myclass/FormalParameter.java b/src/mycompiler/myclass/FormalParameter.java index 5510d8280..a9d99ff61 100755 --- a/src/mycompiler/myclass/FormalParameter.java +++ b/src/mycompiler/myclass/FormalParameter.java @@ -27,10 +27,12 @@ import org.apache.log4j.Logger; + import sun.reflect.generics.reflectiveObjects.NotImplementedException; import typinferenz.JavaCodeResult; import typinferenz.ResultSet; import typinferenz.TypeInsertPoint; +import typinferenz.TypeInsertSet; import typinferenz.Typeable; import typinferenz.TypeInsertable; import typinferenz.exceptions.TypeinferenceException; @@ -281,16 +283,6 @@ public class FormalParameter extends SyntaxTreeNode implements ITypeReplacementL return this.declid; } - @Override - public VectorgetTypeInsertPoints(ResultSet result) { - Vector ret = super.getTypeInsertPoints(result); - if(this.getType() instanceof TypePlaceholder){ - ret.add(this.createTypeInsertPoint((TypePlaceholder)this.getType(), result));//this.getType()).getTypeInsertPoints(result)); - } - return ret; - } - - @Override public String getDescription() { String ret = ""; diff --git a/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java b/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java index 7673f123c..ee5a04619 100755 --- a/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java +++ b/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java @@ -116,8 +116,7 @@ public class TypeinferenceResultSet public TypeInsertSet getTypeInsertionPoints(){ TypeInsertSet ret = new TypeInsertSet(); - Vector insertPoints = this.ownerOfResultSet.getTypeInsertPoints(this.unifiedConstraints); - ret.add(insertPoints); + this.ownerOfResultSet.addTypeInsertPoints(ret,this.unifiedConstraints); return ret; } diff --git a/src/typinferenz/GenericTypeInsertPoint.java b/src/typinferenz/GenericTypeInsertPoint.java index 32a241550..d2dce726c 100644 --- a/src/typinferenz/GenericTypeInsertPoint.java +++ b/src/typinferenz/GenericTypeInsertPoint.java @@ -3,11 +3,14 @@ package typinferenz; import java.util.Iterator; import java.util.Vector; +import typinferenz.exceptions.DebugException; import mycompiler.IItemWithOffset; +import mycompiler.SyntaxTreeNode; import mycompiler.mytype.GenericTypeVar; import mycompiler.mytype.Pair; import mycompiler.mytype.RefType; import mycompiler.mytype.Type; +import mycompiler.mytype.TypePlaceholder; /** * Ein InsertPoint für Generische Variablen @@ -22,6 +25,18 @@ public class GenericTypeInsertPoint extends TypeInsertPoint { super(p.point, p.type, p.resultSet); } + public GenericTypeInsertPoint(TypeInsertable syntaxTreeNode, + TypePlaceholder tph ,ResultSet resultSet) { + super(syntaxTreeNode, tph, resultSet); + } + + public GenericTypeInsertPoint(TypeInsertable syntaxTreeNode, + Vector pairs,ResultSet resultSet) { + super(syntaxTreeNode, null, resultSet); + this.genericPairs = pairs; + if(this.genericPairs.size() == 0)throw new DebugException("Menge der generischen Paare ist leer"); + } + /** * Fügt eine generische Variable in Form eines Pairs an. * @param p @@ -32,13 +47,15 @@ public class GenericTypeInsertPoint extends TypeInsertPoint { @Override public JavaCodeResult getTypeInsertString() { - if(genericPairs.size()==0)return new JavaCodeResult(); + //if(genericPairs.size()==0)return new JavaCodeResult(); return super.getTypeInsertString(); } @Override protected Type getInsertType(){ - if(genericPairs.size()==0)return this.type; + if(genericPairs.size()==0){ + return new RefType("<"+this.type.printJavaCode(resultSet)+">",-1); + } Vector pairs = new Vector(); //Problem: ist falsch! Es muss: heißen: @@ -86,22 +103,22 @@ public class GenericTypeInsertPoint extends TypeInsertPoint { public IItemWithOffset getInsertNode(){ return super.getGenericTypeVarInsertNode(); } - /** - * Versucht den GenericTypeInsertPoint mit dem übergebenenen p2 zusammenzuführen, - * basierend auf ihren insertPoints. - * @param p2 - * @return - Die bei der Zusammenführung entstandene GenericTypeInsertPoints - */ - public Vector merge(GenericTypeInsertPoint p2) { + * Versucht den GenericTypeInsertPoint mit dem bergebenenen p2 zusam + * basierend auf ihren insertPoints. + * @param p2 + * @return - Die bei der Zusammenfhrung entstandene GenericTypeInser + */ + public Vector merge(GenericTypeInsertPoint p2) { Vector ret = new Vector(); if(this.getInsertNode().equals(p2.getInsertNode())){ - for(Pair p : p2.genericPairs)this.addGenericPair(p); - ret.add(this); + for(Pair p : p2.genericPairs)this.addGenericPair(p); + ret.add(this); }else{ - ret.add(this); - ret.add(p2); + ret.add(this); + ret.add(p2); } return ret; - } + } + } diff --git a/src/typinferenz/TypeInsertSet.java b/src/typinferenz/TypeInsertSet.java index a492647a0..80a17581d 100644 --- a/src/typinferenz/TypeInsertSet.java +++ b/src/typinferenz/TypeInsertSet.java @@ -23,6 +23,7 @@ import mycompiler.mytype.TypePlaceholder; public class TypeInsertSet { public Vector points = new Vector(); + private Vector genericTypeInsertPoints = new Vector(); public TypeInsertSet() { } @@ -41,6 +42,11 @@ public class TypeInsertSet { } return new Vector(); } + + public void add(GenericTypeInsertPoint typeInsertPoint) { + //this.add((TypeInsertPoint)typeInsertPoint); + this.genericTypeInsertPoints.add(typeInsertPoint); + } /** * Fügt alle Typen dieses TypeInsertSets in den übergebenen Quellcode ein @@ -52,28 +58,25 @@ public class TypeInsertSet { int additionalOffset = 0; String ret = fileContent; - Vector genericTIPs = new Vector(); - //Alle gebrauchten Generischen Variablen ermitteln: - for(TypeInsertPoint p : points){ - GenericTypeInsertPoint toAdd = new GenericTypeInsertPoint(p); - for(Pair genericPair : p.getResultSet().getConstraintsFor(p.getUnresolvedTPH())){ - toAdd.addGenericPair(genericPair); + + Vector mergedPoints = new Vector(); + //GenericTypeInsertPoints mergen und dem TypeInsertSet anfügen: + for(GenericTypeInsertPoint p : this.genericTypeInsertPoints){ + GenericTypeInsertPoint mergePoint = null; + for(GenericTypeInsertPoint mp : mergedPoints){ + if(mp.getOffset() == p.getOffset())mergePoint = mp; } - genericTIPs.add(toAdd); - } - /* - //... und dem TypeInsertSet anfügen: - for(GenericTypeInsertPoint p : genericTIPs){ - for(GenericTypeInsertPoint p2 : genericTIPs){ - //Doppelte Generische Variablen definitionen ausschließen: - for(TypeInsertPoint toAdd : p.merge(p2)){ - this.add(toAdd); - } + if(mergePoint == null){ + mergedPoints.add(p); + }else{ + mergePoint.merge(p); } - //this.add(p); } - */ + for(TypeInsertPoint mp : mergedPoints){ + this.add(mp); + } + //Anschließend sortieren (nach dem Offset der InsertPoints): Collections.sort(points); @@ -114,10 +117,28 @@ public class TypeInsertSet { return true; } + /** + * Fügt TypeInsertPoints an + * @param insertPoints + */ public void add(Vector insertPoints) { for(TypeInsertPoint p : insertPoints){ this.add(p); } } + /** + * Durchsucht alle bisher angefügten TypeInsertPoints nach nicht aufgelösten TypePlaceholdern. + * Diese sollten als Generische Variablen eingesetzt werden. + * TODO: Es dürfen nur die TypePlaceholder zurückgegeben werden, welche noch in keinem GenericVarTypeInsertPoint verwendet wurden. + * @return + */ + public Vector getUnresolvedTPHs(){ + Vector ret = new Vector(); + for(TypeInsertPoint p : this.points){ + ret.addAll(p.getUnresolvedTPH()); + } + return ret; + } + } From 4a67a4a58e5351770519657ae16c51c1f24667b4 Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Wed, 7 May 2014 21:57:29 +0200 Subject: [PATCH 71/79] =?UTF-8?q?Object=20wird=20standardm=C3=A4=C3=9Fig?= =?UTF-8?q?=20importiert.=20TestFiles=20angef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/mycompiler/SourceFile.java | 3 + src/mycompiler/myclass/Generic.java | 1 + src/typinferenz/TypeInsertPoint.java | 2 +- src/typinferenz/TypeInsertSet.java | 17 +- .../test/lambda/BasicAssumptions.jav | 4 +- test/mycompiler/test/lambda/TestAssign.java | 2 +- .../test/lambda/TestMethodCall.java | 1 - .../test/lambda/testResults/LambdaTest.log | 591 +++++++++++++++++- .../TypeInsertSetEqualTest.jav | 10 + .../TypeInsertSetEqualTest.java | 48 ++ .../TypeInsertTests/IntTest.jav | 6 + .../TypeInsertTests/IntTest.java | 18 + 12 files changed, 678 insertions(+), 25 deletions(-) create mode 100644 test/plugindevelopment/TypeInsertSetEqualTest.jav create mode 100644 test/plugindevelopment/TypeInsertSetEqualTest.java create mode 100644 test/plugindevelopment/TypeInsertTests/IntTest.jav create mode 100644 test/plugindevelopment/TypeInsertTests/IntTest.java diff --git a/src/mycompiler/SourceFile.java b/src/mycompiler/SourceFile.java index fe546e845..e77d56a55 100755 --- a/src/mycompiler/SourceFile.java +++ b/src/mycompiler/SourceFile.java @@ -1092,6 +1092,9 @@ public class SourceFile Modifiers mod = new Modifiers(); mod.addModifier(new Public()); + //Für Object: + //TODO: toString()-Methode gerät nicht in die BasicAssumptions + imports.add(new UsedId("java.lang.Object",-1)); // Für jede einzelne Klasse while (imports.size()>0) { diff --git a/src/mycompiler/myclass/Generic.java b/src/mycompiler/myclass/Generic.java index b26a2257d..3c569b98e 100644 --- a/src/mycompiler/myclass/Generic.java +++ b/src/mycompiler/myclass/Generic.java @@ -11,4 +11,5 @@ import mycompiler.mytype.GenericTypeVar; */ public interface Generic { public void setGenericParameter(Vector params); + //public int getGenericParameterOffset(); } diff --git a/src/typinferenz/TypeInsertPoint.java b/src/typinferenz/TypeInsertPoint.java index 5f2219001..7ac41981c 100644 --- a/src/typinferenz/TypeInsertPoint.java +++ b/src/typinferenz/TypeInsertPoint.java @@ -91,7 +91,7 @@ public class TypeInsertPoint implements Comparable{ if(! (obj instanceof TypeInsertPoint))return false; TypeInsertPoint equals = (TypeInsertPoint) obj; if(!(equals.getInsertNode().equals(this.getInsertNode())))return false; - if(!(equals.resultSet.equals(this.resultSet)))return false; + if(!(equals.resultSet.equals(this.resultSet)))return false; //ResultSet spielt bei Equals keine Rolle if(!(equals.getInsertType().equals(this.getInsertType())))return false; return true; diff --git a/src/typinferenz/TypeInsertSet.java b/src/typinferenz/TypeInsertSet.java index 80a17581d..76ca85a58 100644 --- a/src/typinferenz/TypeInsertSet.java +++ b/src/typinferenz/TypeInsertSet.java @@ -35,17 +35,15 @@ public class TypeInsertSet { * @param typeInsertPoint * @return */ - public Vector add(TypeInsertPoint typeInsertPoint) { + public void add(TypeInsertPoint typeInsertPoint) { if( typeInsertPoint!=null && ! this.points.contains(typeInsertPoint)){ //Nur falls typeInsertPoint noch nicht im Set vorhanden ist: points.add(typeInsertPoint); - return typeInsertPoint.getUnresolvedTPH(); } - return new Vector(); } public void add(GenericTypeInsertPoint typeInsertPoint) { //this.add((TypeInsertPoint)typeInsertPoint); - this.genericTypeInsertPoints.add(typeInsertPoint); + if(!this.genericTypeInsertPoints.contains(typeInsertPoint))this.genericTypeInsertPoints.add(typeInsertPoint); } /** @@ -107,13 +105,20 @@ public class TypeInsertSet { if(! (obj instanceof TypeInsertSet))return false; TypeInsertSet equals = (TypeInsertSet) obj; if(points.size()!=equals.points.size())return false; + for(TypeInsertPoint point : points){ //Jeder TypeInsertPoint muss auch in equals vorkommen: - if(!equals.points.contains(point))return false; + if(!equals.points.contains(point)) + return false; //... aber nicht öfter als 1x : if(equals.points.lastIndexOf(point)!=equals.points.indexOf(point))return false; } - + for(GenericTypeInsertPoint point : this.genericTypeInsertPoints){ + //Jeder TypeInsertPoint muss auch in equals vorkommen: + if(!equals.genericTypeInsertPoints.contains(point))return false; + //... aber nicht öfter als 1x : + if(equals.genericTypeInsertPoints.lastIndexOf(point)!=equals.genericTypeInsertPoints.indexOf(point))return false; + } return true; } diff --git a/test/mycompiler/test/lambda/BasicAssumptions.jav b/test/mycompiler/test/lambda/BasicAssumptions.jav index f9da2d184..16726c822 100755 --- a/test/mycompiler/test/lambda/BasicAssumptions.jav +++ b/test/mycompiler/test/lambda/BasicAssumptions.jav @@ -1,3 +1,5 @@ +import java.util.Vector; + class BasicAssumptionsTest{ varString; @@ -5,6 +7,6 @@ var = 2; void methode(){ var = 1; - varString = varString.toString(); + varString.add(var); } } \ No newline at end of file diff --git a/test/mycompiler/test/lambda/TestAssign.java b/test/mycompiler/test/lambda/TestAssign.java index ac98bb26e..83e101c74 100755 --- a/test/mycompiler/test/lambda/TestAssign.java +++ b/test/mycompiler/test/lambda/TestAssign.java @@ -18,7 +18,7 @@ public class TestAssign extends TestCase{ @Test public void test() { - variableTypeAssumptions.put("stringVar", "String"); + variableTypeAssumptions.put("stringVar", "java.lang.String"); executeTest(); } diff --git a/test/mycompiler/test/lambda/TestMethodCall.java b/test/mycompiler/test/lambda/TestMethodCall.java index 4be420a8e..5e39ba271 100755 --- a/test/mycompiler/test/lambda/TestMethodCall.java +++ b/test/mycompiler/test/lambda/TestMethodCall.java @@ -24,7 +24,6 @@ public class TestMethodCall { public void executeTest(){ LambdaTest tester = new LambdaTest(exampleJavFile); tester.runTestAndCheckResultSet(classname, variableTypeAssumptions); - } } diff --git a/test/mycompiler/test/lambda/testResults/LambdaTest.log b/test/mycompiler/test/lambda/testResults/LambdaTest.log index 517ef6620..738a29402 100644 --- a/test/mycompiler/test/lambda/testResults/LambdaTest.log +++ b/test/mycompiler/test/lambda/testResults/LambdaTest.log @@ -8,13 +8,13 @@ LocalVar Assumptions: Parameter Assumptions: [] Konstruktor Assumptions: -[MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long []()] +[MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Object []()] Class Assumptions: -[java.lang.Integer, java.lang.String, java.lang.Character, java.lang.Boolean, java.lang.Double, java.lang.Float, java.lang.Long] +[java.lang.Integer, java.lang.String, java.lang.Character, java.lang.Boolean, java.lang.Double, java.lang.Float, java.lang.Long, java.lang.Object] -Class DEBUG [Typeinference] Erstellte Assumptions: this: WhileTest +Class DEBUG [Typeinference] Erstellte Assumptions: this: LambdaTest1 Method Assumptions: -[MethodAssumption: GTV R [apply](), MethodAssumption: GTV R [apply](GTV T1 T1), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3,GTV T4 T4), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3,GTV T4 T4,GTV T5 T5), MethodAssumption: TPH B [method]()] +[MethodAssumption: GTV R [apply](), MethodAssumption: GTV R [apply](GTV T1 T1), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3,GTV T4 T4), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3,GTV T4 T4,GTV T5 T5), MethodAssumption: TPH B [method](String toAppend)] FieldVar Assumptions: [FieldAssumption: TPH A var, FieldAssumption: int MIN_VALUE, FieldAssumption: int MAX_VALUE, FieldAssumption: java.lang.Class TYPE, FieldAssumption: int SIZE, FieldAssumption: java.util.Comparator CASE_INSENSITIVE_ORDER, FieldAssumption: int MIN_RADIX, FieldAssumption: int MAX_RADIX, FieldAssumption: char MIN_VALUE, FieldAssumption: char MAX_VALUE, FieldAssumption: java.lang.Class TYPE, FieldAssumption: byte UNASSIGNED, FieldAssumption: byte UPPERCASE_LETTER, FieldAssumption: byte LOWERCASE_LETTER, FieldAssumption: byte TITLECASE_LETTER, FieldAssumption: byte MODIFIER_LETTER, FieldAssumption: byte OTHER_LETTER, FieldAssumption: byte NON_SPACING_MARK, FieldAssumption: byte ENCLOSING_MARK, FieldAssumption: byte COMBINING_SPACING_MARK, FieldAssumption: byte DECIMAL_DIGIT_NUMBER, FieldAssumption: byte LETTER_NUMBER, FieldAssumption: byte OTHER_NUMBER, FieldAssumption: byte SPACE_SEPARATOR, FieldAssumption: byte LINE_SEPARATOR, FieldAssumption: byte PARAGRAPH_SEPARATOR, FieldAssumption: byte CONTROL, FieldAssumption: byte FORMAT, FieldAssumption: byte PRIVATE_USE, FieldAssumption: byte SURROGATE, FieldAssumption: byte DASH_PUNCTUATION, FieldAssumption: byte START_PUNCTUATION, FieldAssumption: byte END_PUNCTUATION, FieldAssumption: byte CONNECTOR_PUNCTUATION, FieldAssumption: byte OTHER_PUNCTUATION, FieldAssumption: byte MATH_SYMBOL, FieldAssumption: byte CURRENCY_SYMBOL, FieldAssumption: byte MODIFIER_SYMBOL, FieldAssumption: byte OTHER_SYMBOL, FieldAssumption: byte INITIAL_QUOTE_PUNCTUATION, FieldAssumption: byte FINAL_QUOTE_PUNCTUATION, FieldAssumption: byte DIRECTIONALITY_UNDEFINED, FieldAssumption: byte DIRECTIONALITY_LEFT_TO_RIGHT, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC, FieldAssumption: byte DIRECTIONALITY_EUROPEAN_NUMBER, FieldAssumption: byte DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR, FieldAssumption: byte DIRECTIONALITY_ARABIC_NUMBER, FieldAssumption: byte DIRECTIONALITY_COMMON_NUMBER_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_NONSPACING_MARK, FieldAssumption: byte DIRECTIONALITY_BOUNDARY_NEUTRAL, FieldAssumption: byte DIRECTIONALITY_PARAGRAPH_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_SEGMENT_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_WHITESPACE, FieldAssumption: byte DIRECTIONALITY_OTHER_NEUTRALS, FieldAssumption: byte DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING, FieldAssumption: byte DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE, FieldAssumption: byte DIRECTIONALITY_POP_DIRECTIONAL_FORMAT, FieldAssumption: char MIN_HIGH_SURROGATE, FieldAssumption: char MAX_HIGH_SURROGATE, FieldAssumption: char MIN_LOW_SURROGATE, FieldAssumption: char MAX_LOW_SURROGATE, FieldAssumption: char MIN_SURROGATE, FieldAssumption: char MAX_SURROGATE, FieldAssumption: int MIN_SUPPLEMENTARY_CODE_POINT, FieldAssumption: int MIN_CODE_POINT, FieldAssumption: int MAX_CODE_POINT, FieldAssumption: int SIZE, FieldAssumption: java.lang.Boolean TRUE, FieldAssumption: java.lang.Boolean FALSE, FieldAssumption: java.lang.Class TYPE, FieldAssumption: double POSITIVE_INFINITY, FieldAssumption: double NEGATIVE_INFINITY, FieldAssumption: double NaN, FieldAssumption: double MAX_VALUE, FieldAssumption: double MIN_NORMAL, FieldAssumption: double MIN_VALUE, FieldAssumption: int MAX_EXPONENT, FieldAssumption: int MIN_EXPONENT, FieldAssumption: int SIZE, FieldAssumption: java.lang.Class TYPE, FieldAssumption: float POSITIVE_INFINITY, FieldAssumption: float NEGATIVE_INFINITY, FieldAssumption: float NaN, FieldAssumption: float MAX_VALUE, FieldAssumption: float MIN_NORMAL, FieldAssumption: float MIN_VALUE, FieldAssumption: int MAX_EXPONENT, FieldAssumption: int MIN_EXPONENT, FieldAssumption: int SIZE, FieldAssumption: java.lang.Class TYPE, FieldAssumption: long MIN_VALUE, FieldAssumption: long MAX_VALUE, FieldAssumption: java.lang.Class TYPE, FieldAssumption: int SIZE] LocalVar Assumptions: @@ -22,22 +22,583 @@ LocalVar Assumptions: Parameter Assumptions: [] Konstruktor Assumptions: -[MethodAssumption: WhileTest [WhileTest](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long []()] +[MethodAssumption: LambdaTest1 [LambdaTest1](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.Integer [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.String [](), MethodAssumption: java.lang.Character [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Boolean [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Double [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Float [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Long [](), MethodAssumption: java.lang.Object []()] Class Assumptions: -[Fun0, Fun1, Fun2, Fun3, Fun4, Fun5, WhileTest, java.lang.Integer, java.lang.String, java.lang.Character, java.lang.Boolean, java.lang.Double, java.lang.Float, java.lang.Long] +[Fun0, Fun1, Fun2, Fun3, Fun4, Fun5, LambdaTest1, java.lang.Integer, java.lang.String, java.lang.Character, java.lang.Boolean, java.lang.Double, java.lang.Float, java.lang.Long, java.lang.Object] -Block DEBUG [Typeinference] Prozessing statement: WHILE null { [(var = mycompiler.mystatement.StringLiteral@6110e3b5)] -Block DEBUG [Typeinference] Prozessing statement: (var = mycompiler.mystatement.StringLiteral@6110e3b5) -Block DEBUG [Typeinference] Prozessing statement: void(var: TPH A = mycompiler.mystatement.StringLiteral@6110e3b5) -Block DEBUG [Typeinference] Prozessing statement: WHILE void { [void(var: TPH A = mycompiler.mystatement.StringLiteral@6110e3b5)] +Block DEBUG [Typeinference] Prozessing statement: null Return null (( [ String text, ]) -> null { [null Return toAppend]) +Block DEBUG [Typeinference] Prozessing statement: null Return toAppend +Block DEBUG [Typeinference] Prozessing statement: TPH AG Return toAppend: java.lang.String +Block DEBUG [Typeinference] Prozessing statement: TPH AH Return TPH AF (( [ String text, ]) -> TPH AG { [TPH AG Return toAppend: java.lang.String]) Class DEBUG [Typeinference] Erstellte Constraints: TPH A < TPH A -java.lang.Boolean < boolean java.lang.String < TPH A -TPH A < TPH AE -void < TPH B +java.lang.String < TPH AG +Fun1< TPH AG, String > < TPH AF +TPH AF < TPH AH +TPH AH < TPH B -SourceFile DEBUG [Typeinference] Karthesisches Produkt der Constraints: [[(TPH A <. TPH A), (java.lang.Boolean <. boolean), (java.lang.String <. TPH A), (TPH A <. TPH AE), (void <. TPH B)]] -SourceFile DEBUG [Typeinference] Unifiziertes Ergebnis: [] +SourceFile DEBUG [Typeinference] Karthesisches Produkt der Constraints: [[(TPH A <. TPH A), (java.lang.String <. TPH A), (java.lang.String <. TPH AG), (Fun1< TPH AG, String > <. TPH AF), (TPH AF <. TPH AH), (TPH AH <. TPH B)]] +SourceFile DEBUG [Typeinference] Unifiziertes Ergebnis: [[(TPH B = Fun1< java.lang.String, String >), (TPH AH = Fun1< java.lang.String, String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, String >)], [(TPH B = Fun1< java.lang.String, ? extends String >), (TPH AH = Fun1< java.lang.String, String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, String >)], [(TPH B = Fun1< java.lang.String, ? super String >), (TPH AH = Fun1< java.lang.String, String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, String >)], [(TPH B = Fun1< ? extends java.lang.String, String >), (TPH AH = Fun1< java.lang.String, String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, String >)], [(TPH B = Fun1< ? extends java.lang.String, ? extends String >), (TPH AH = Fun1< java.lang.String, String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, String >)], [(TPH B = Fun1< ? extends java.lang.String, ? super String >), (TPH AH = Fun1< java.lang.String, String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, String >)], [(TPH B = Fun1< ? super java.lang.String, String >), (TPH AH = Fun1< java.lang.String, String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, String >)], [(TPH B = Fun1< ? super java.lang.String, ? extends String >), (TPH AH = Fun1< java.lang.String, String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, String >)], [(TPH B = Fun1< ? super java.lang.String, ? super String >), (TPH AH = Fun1< java.lang.String, String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, String >)], [(TPH B = Fun1< java.lang.String, ? extends String >), (TPH AH = Fun1< java.lang.String, ? extends String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, String >)], [(TPH B = Fun1< ? extends java.lang.String, ? extends String >), (TPH AH = Fun1< java.lang.String, ? extends String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, String >)], [(TPH B = Fun1< ? super java.lang.String, ? extends String >), (TPH AH = Fun1< java.lang.String, ? extends String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, String >)], [(TPH B = Fun1< java.lang.String, ? super String >), (TPH AH = Fun1< java.lang.String, ? super String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, String >)], [(TPH B = Fun1< ? extends java.lang.String, ? super String >), (TPH AH = Fun1< java.lang.String, ? super String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, String >)], [(TPH B = Fun1< ? super java.lang.String, ? super String >), (TPH AH = Fun1< java.lang.String, ? super String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, String >)], [(TPH B = Fun1< ? extends java.lang.String, String >), (TPH AH = Fun1< ? extends java.lang.String, String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, String >)], [(TPH B = Fun1< ? extends java.lang.String, ? extends String >), (TPH AH = Fun1< ? extends java.lang.String, String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, String >)], [(TPH B = Fun1< ? extends java.lang.String, ? super String >), (TPH AH = Fun1< ? extends java.lang.String, String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, String >)], [(TPH B = Fun1< ? extends java.lang.String, ? extends String >), (TPH AH = Fun1< ? extends java.lang.String, ? extends String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, String >)], [(TPH B = Fun1< ? extends java.lang.String, ? super String >), (TPH AH = Fun1< ? extends java.lang.String, ? super String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, String >)], [(TPH B = Fun1< ? super java.lang.String, String >), (TPH AH = Fun1< ? super java.lang.String, String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, String >)], [(TPH B = Fun1< ? super java.lang.String, ? extends String >), (TPH AH = Fun1< ? super java.lang.String, String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, String >)], [(TPH B = Fun1< ? super java.lang.String, ? super String >), (TPH AH = Fun1< ? super java.lang.String, String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, String >)], [(TPH B = Fun1< ? super java.lang.String, ? extends String >), (TPH AH = Fun1< ? super java.lang.String, ? extends String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, String >)], [(TPH B = Fun1< ? super java.lang.String, ? super String >), (TPH AH = Fun1< ? super java.lang.String, ? super String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, String >)], [(TPH B = Fun1< java.lang.String, ? extends String >), (TPH AH = Fun1< java.lang.String, ? extends String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, ? extends String >)], [(TPH B = Fun1< ? extends java.lang.String, ? extends String >), (TPH AH = Fun1< java.lang.String, ? extends String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, ? extends String >)], [(TPH B = Fun1< ? super java.lang.String, ? extends String >), (TPH AH = Fun1< java.lang.String, ? extends String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, ? extends String >)], [(TPH B = Fun1< ? extends java.lang.String, ? extends String >), (TPH AH = Fun1< ? extends java.lang.String, ? extends String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, ? extends String >)], [(TPH B = Fun1< ? super java.lang.String, ? extends String >), (TPH AH = Fun1< ? super java.lang.String, ? extends String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, ? extends String >)], [(TPH B = Fun1< java.lang.String, ? super String >), (TPH AH = Fun1< java.lang.String, ? super String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, ? super String >)], [(TPH B = Fun1< ? extends java.lang.String, ? super String >), (TPH AH = Fun1< java.lang.String, ? super String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, ? super String >)], [(TPH B = Fun1< ? super java.lang.String, ? super String >), (TPH AH = Fun1< java.lang.String, ? super String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, ? super String >)], [(TPH B = Fun1< ? extends java.lang.String, ? super String >), (TPH AH = Fun1< ? extends java.lang.String, ? super String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, ? super String >)], [(TPH B = Fun1< ? super java.lang.String, ? super String >), (TPH AH = Fun1< ? super java.lang.String, ? super String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, ? super String >)]] SourceFile DEBUG [Typeinference] JavaFiles: +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH B = Fun1< java.lang.String, String >), (TPH AH = Fun1< java.lang.String, String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, String >)] + +SourceFile DEBUG [Typeinference] class LambdaTest1 extends Object +{ +java.lang.String var = "test"; +Fun1 method(java.lang.String toAppend) +{ +return (String text) -> { +return toAppend; +}; +} +LambdaTest1 LambdaTest1() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH B = Fun1< java.lang.String, ? extends String >), (TPH AH = Fun1< java.lang.String, String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, String >)] + +SourceFile DEBUG [Typeinference] class LambdaTest1 extends Object +{ +java.lang.String var = "test"; +Fun1 method(java.lang.String toAppend) +{ +return (String text) -> { +return toAppend; +}; +} +LambdaTest1 LambdaTest1() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH B = Fun1< java.lang.String, ? super String >), (TPH AH = Fun1< java.lang.String, String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, String >)] + +SourceFile DEBUG [Typeinference] class LambdaTest1 extends Object +{ +java.lang.String var = "test"; +Fun1 method(java.lang.String toAppend) +{ +return (String text) -> { +return toAppend; +}; +} +LambdaTest1 LambdaTest1() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH B = Fun1< ? extends java.lang.String, String >), (TPH AH = Fun1< java.lang.String, String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, String >)] + +SourceFile DEBUG [Typeinference] class LambdaTest1 extends Object +{ +java.lang.String var = "test"; +Fun1 method(java.lang.String toAppend) +{ +return (String text) -> { +return toAppend; +}; +} +LambdaTest1 LambdaTest1() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH B = Fun1< ? extends java.lang.String, ? extends String >), (TPH AH = Fun1< java.lang.String, String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, String >)] + +SourceFile DEBUG [Typeinference] class LambdaTest1 extends Object +{ +java.lang.String var = "test"; +Fun1 method(java.lang.String toAppend) +{ +return (String text) -> { +return toAppend; +}; +} +LambdaTest1 LambdaTest1() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH B = Fun1< ? extends java.lang.String, ? super String >), (TPH AH = Fun1< java.lang.String, String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, String >)] + +SourceFile DEBUG [Typeinference] class LambdaTest1 extends Object +{ +java.lang.String var = "test"; +Fun1 method(java.lang.String toAppend) +{ +return (String text) -> { +return toAppend; +}; +} +LambdaTest1 LambdaTest1() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH B = Fun1< ? super java.lang.String, String >), (TPH AH = Fun1< java.lang.String, String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, String >)] + +SourceFile DEBUG [Typeinference] class LambdaTest1 extends Object +{ +java.lang.String var = "test"; +Fun1 method(java.lang.String toAppend) +{ +return (String text) -> { +return toAppend; +}; +} +LambdaTest1 LambdaTest1() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH B = Fun1< ? super java.lang.String, ? extends String >), (TPH AH = Fun1< java.lang.String, String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, String >)] + +SourceFile DEBUG [Typeinference] class LambdaTest1 extends Object +{ +java.lang.String var = "test"; +Fun1 method(java.lang.String toAppend) +{ +return (String text) -> { +return toAppend; +}; +} +LambdaTest1 LambdaTest1() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH B = Fun1< ? super java.lang.String, ? super String >), (TPH AH = Fun1< java.lang.String, String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, String >)] + +SourceFile DEBUG [Typeinference] class LambdaTest1 extends Object +{ +java.lang.String var = "test"; +Fun1 method(java.lang.String toAppend) +{ +return (String text) -> { +return toAppend; +}; +} +LambdaTest1 LambdaTest1() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH B = Fun1< java.lang.String, ? extends String >), (TPH AH = Fun1< java.lang.String, ? extends String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, String >)] + +SourceFile DEBUG [Typeinference] class LambdaTest1 extends Object +{ +java.lang.String var = "test"; +Fun1 method(java.lang.String toAppend) +{ +return (String text) -> { +return toAppend; +}; +} +LambdaTest1 LambdaTest1() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH B = Fun1< ? extends java.lang.String, ? extends String >), (TPH AH = Fun1< java.lang.String, ? extends String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, String >)] + +SourceFile DEBUG [Typeinference] class LambdaTest1 extends Object +{ +java.lang.String var = "test"; +Fun1 method(java.lang.String toAppend) +{ +return (String text) -> { +return toAppend; +}; +} +LambdaTest1 LambdaTest1() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH B = Fun1< ? super java.lang.String, ? extends String >), (TPH AH = Fun1< java.lang.String, ? extends String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, String >)] + +SourceFile DEBUG [Typeinference] class LambdaTest1 extends Object +{ +java.lang.String var = "test"; +Fun1 method(java.lang.String toAppend) +{ +return (String text) -> { +return toAppend; +}; +} +LambdaTest1 LambdaTest1() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH B = Fun1< java.lang.String, ? super String >), (TPH AH = Fun1< java.lang.String, ? super String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, String >)] + +SourceFile DEBUG [Typeinference] class LambdaTest1 extends Object +{ +java.lang.String var = "test"; +Fun1 method(java.lang.String toAppend) +{ +return (String text) -> { +return toAppend; +}; +} +LambdaTest1 LambdaTest1() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH B = Fun1< ? extends java.lang.String, ? super String >), (TPH AH = Fun1< java.lang.String, ? super String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, String >)] + +SourceFile DEBUG [Typeinference] class LambdaTest1 extends Object +{ +java.lang.String var = "test"; +Fun1 method(java.lang.String toAppend) +{ +return (String text) -> { +return toAppend; +}; +} +LambdaTest1 LambdaTest1() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH B = Fun1< ? super java.lang.String, ? super String >), (TPH AH = Fun1< java.lang.String, ? super String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, String >)] + +SourceFile DEBUG [Typeinference] class LambdaTest1 extends Object +{ +java.lang.String var = "test"; +Fun1 method(java.lang.String toAppend) +{ +return (String text) -> { +return toAppend; +}; +} +LambdaTest1 LambdaTest1() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH B = Fun1< ? extends java.lang.String, String >), (TPH AH = Fun1< ? extends java.lang.String, String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, String >)] + +SourceFile DEBUG [Typeinference] class LambdaTest1 extends Object +{ +java.lang.String var = "test"; +Fun1 method(java.lang.String toAppend) +{ +return (String text) -> { +return toAppend; +}; +} +LambdaTest1 LambdaTest1() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH B = Fun1< ? extends java.lang.String, ? extends String >), (TPH AH = Fun1< ? extends java.lang.String, String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, String >)] + +SourceFile DEBUG [Typeinference] class LambdaTest1 extends Object +{ +java.lang.String var = "test"; +Fun1 method(java.lang.String toAppend) +{ +return (String text) -> { +return toAppend; +}; +} +LambdaTest1 LambdaTest1() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH B = Fun1< ? extends java.lang.String, ? super String >), (TPH AH = Fun1< ? extends java.lang.String, String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, String >)] + +SourceFile DEBUG [Typeinference] class LambdaTest1 extends Object +{ +java.lang.String var = "test"; +Fun1 method(java.lang.String toAppend) +{ +return (String text) -> { +return toAppend; +}; +} +LambdaTest1 LambdaTest1() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH B = Fun1< ? extends java.lang.String, ? extends String >), (TPH AH = Fun1< ? extends java.lang.String, ? extends String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, String >)] + +SourceFile DEBUG [Typeinference] class LambdaTest1 extends Object +{ +java.lang.String var = "test"; +Fun1 method(java.lang.String toAppend) +{ +return (String text) -> { +return toAppend; +}; +} +LambdaTest1 LambdaTest1() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH B = Fun1< ? extends java.lang.String, ? super String >), (TPH AH = Fun1< ? extends java.lang.String, ? super String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, String >)] + +SourceFile DEBUG [Typeinference] class LambdaTest1 extends Object +{ +java.lang.String var = "test"; +Fun1 method(java.lang.String toAppend) +{ +return (String text) -> { +return toAppend; +}; +} +LambdaTest1 LambdaTest1() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH B = Fun1< ? super java.lang.String, String >), (TPH AH = Fun1< ? super java.lang.String, String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, String >)] + +SourceFile DEBUG [Typeinference] class LambdaTest1 extends Object +{ +java.lang.String var = "test"; +Fun1 method(java.lang.String toAppend) +{ +return (String text) -> { +return toAppend; +}; +} +LambdaTest1 LambdaTest1() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH B = Fun1< ? super java.lang.String, ? extends String >), (TPH AH = Fun1< ? super java.lang.String, String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, String >)] + +SourceFile DEBUG [Typeinference] class LambdaTest1 extends Object +{ +java.lang.String var = "test"; +Fun1 method(java.lang.String toAppend) +{ +return (String text) -> { +return toAppend; +}; +} +LambdaTest1 LambdaTest1() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH B = Fun1< ? super java.lang.String, ? super String >), (TPH AH = Fun1< ? super java.lang.String, String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, String >)] + +SourceFile DEBUG [Typeinference] class LambdaTest1 extends Object +{ +java.lang.String var = "test"; +Fun1 method(java.lang.String toAppend) +{ +return (String text) -> { +return toAppend; +}; +} +LambdaTest1 LambdaTest1() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH B = Fun1< ? super java.lang.String, ? extends String >), (TPH AH = Fun1< ? super java.lang.String, ? extends String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, String >)] + +SourceFile DEBUG [Typeinference] class LambdaTest1 extends Object +{ +java.lang.String var = "test"; +Fun1 method(java.lang.String toAppend) +{ +return (String text) -> { +return toAppend; +}; +} +LambdaTest1 LambdaTest1() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH B = Fun1< ? super java.lang.String, ? super String >), (TPH AH = Fun1< ? super java.lang.String, ? super String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, String >)] + +SourceFile DEBUG [Typeinference] class LambdaTest1 extends Object +{ +java.lang.String var = "test"; +Fun1 method(java.lang.String toAppend) +{ +return (String text) -> { +return toAppend; +}; +} +LambdaTest1 LambdaTest1() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH B = Fun1< java.lang.String, ? extends String >), (TPH AH = Fun1< java.lang.String, ? extends String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, ? extends String >)] + +SourceFile DEBUG [Typeinference] class LambdaTest1 extends Object +{ +java.lang.String var = "test"; +Fun1 method(java.lang.String toAppend) +{ +return (String text) -> { +return toAppend; +}; +} +LambdaTest1 LambdaTest1() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH B = Fun1< ? extends java.lang.String, ? extends String >), (TPH AH = Fun1< java.lang.String, ? extends String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, ? extends String >)] + +SourceFile DEBUG [Typeinference] class LambdaTest1 extends Object +{ +java.lang.String var = "test"; +Fun1 method(java.lang.String toAppend) +{ +return (String text) -> { +return toAppend; +}; +} +LambdaTest1 LambdaTest1() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH B = Fun1< ? super java.lang.String, ? extends String >), (TPH AH = Fun1< java.lang.String, ? extends String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, ? extends String >)] + +SourceFile DEBUG [Typeinference] class LambdaTest1 extends Object +{ +java.lang.String var = "test"; +Fun1 method(java.lang.String toAppend) +{ +return (String text) -> { +return toAppend; +}; +} +LambdaTest1 LambdaTest1() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH B = Fun1< ? extends java.lang.String, ? extends String >), (TPH AH = Fun1< ? extends java.lang.String, ? extends String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, ? extends String >)] + +SourceFile DEBUG [Typeinference] class LambdaTest1 extends Object +{ +java.lang.String var = "test"; +Fun1 method(java.lang.String toAppend) +{ +return (String text) -> { +return toAppend; +}; +} +LambdaTest1 LambdaTest1() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH B = Fun1< ? super java.lang.String, ? extends String >), (TPH AH = Fun1< ? super java.lang.String, ? extends String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, ? extends String >)] + +SourceFile DEBUG [Typeinference] class LambdaTest1 extends Object +{ +java.lang.String var = "test"; +Fun1 method(java.lang.String toAppend) +{ +return (String text) -> { +return toAppend; +}; +} +LambdaTest1 LambdaTest1() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH B = Fun1< java.lang.String, ? super String >), (TPH AH = Fun1< java.lang.String, ? super String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, ? super String >)] + +SourceFile DEBUG [Typeinference] class LambdaTest1 extends Object +{ +java.lang.String var = "test"; +Fun1 method(java.lang.String toAppend) +{ +return (String text) -> { +return toAppend; +}; +} +LambdaTest1 LambdaTest1() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH B = Fun1< ? extends java.lang.String, ? super String >), (TPH AH = Fun1< java.lang.String, ? super String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, ? super String >)] + +SourceFile DEBUG [Typeinference] class LambdaTest1 extends Object +{ +java.lang.String var = "test"; +Fun1 method(java.lang.String toAppend) +{ +return (String text) -> { +return toAppend; +}; +} +LambdaTest1 LambdaTest1() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH B = Fun1< ? super java.lang.String, ? super String >), (TPH AH = Fun1< java.lang.String, ? super String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, ? super String >)] + +SourceFile DEBUG [Typeinference] class LambdaTest1 extends Object +{ +java.lang.String var = "test"; +Fun1 method(java.lang.String toAppend) +{ +return (String text) -> { +return toAppend; +}; +} +LambdaTest1 LambdaTest1() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH B = Fun1< ? extends java.lang.String, ? super String >), (TPH AH = Fun1< ? extends java.lang.String, ? super String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, ? super String >)] + +SourceFile DEBUG [Typeinference] class LambdaTest1 extends Object +{ +java.lang.String var = "test"; +Fun1 method(java.lang.String toAppend) +{ +return (String text) -> { +return toAppend; +}; +} +LambdaTest1 LambdaTest1() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH B = Fun1< ? super java.lang.String, ? super String >), (TPH AH = Fun1< ? super java.lang.String, ? super String >), (TPH A = java.lang.String), (TPH AG = java.lang.String), (TPH AF = Fun1< java.lang.String, ? super String >)] + +SourceFile DEBUG [Typeinference] class LambdaTest1 extends Object +{ +java.lang.String var = "test"; +Fun1 method(java.lang.String toAppend) +{ +return (String text) -> { +return toAppend; +}; +} +LambdaTest1 LambdaTest1() +{ +} +} + diff --git a/test/plugindevelopment/TypeInsertSetEqualTest.jav b/test/plugindevelopment/TypeInsertSetEqualTest.jav new file mode 100644 index 000000000..cf9cf8bae --- /dev/null +++ b/test/plugindevelopment/TypeInsertSetEqualTest.jav @@ -0,0 +1,10 @@ +import java.util.Vector; + +class ImportTest{ +Vector var; +var2; +methode(){ + var.add(var2); +} + +} \ No newline at end of file diff --git a/test/plugindevelopment/TypeInsertSetEqualTest.java b/test/plugindevelopment/TypeInsertSetEqualTest.java new file mode 100644 index 000000000..836aa2b06 --- /dev/null +++ b/test/plugindevelopment/TypeInsertSetEqualTest.java @@ -0,0 +1,48 @@ +package plugindevelopment; + +import java.io.File; +import java.io.IOException; +import java.util.Vector; + +import junit.framework.TestCase; +import mycompiler.MyCompiler; +import mycompiler.MyCompilerAPI; +import mycompiler.myparser.JavaParser.yyException; +import mycompiler.mytypereconstruction.TypeinferenceResultSet; + +import org.junit.Test; + +import typinferenz.TypeInsertSet; + +public class TypeInsertSetEqualTest { + + + private static final String TEST_FILE = "TypeInsertSetEqualTest.jav"; + + @Test + public void run(){ + String inferedSource = ""; + MyCompilerAPI compiler = MyCompiler.getAPI(); + try { + compiler.parse(new File(TypeInsertTester.rootDirectory + TEST_FILE)); + Vector results = compiler.typeReconstruction(); + //TestCase.assertTrue("Es darf nicht mehr als eine Lösungsmöglichkeit geben und nicht "+results.size(), results.size()==1); + Vector insertSets = new Vector(); + for(TypeinferenceResultSet result : results){ + TypeInsertSet point = result.getTypeInsertionPoints(); + if(!insertSets.contains(point))insertSets.add(point); + //TestCase.assertTrue("Es muss mindestens ein TypeInsertSet vorhanden sein", points.size()>0); + + } + if(insertSets.size()!=1){ + TestCase.fail("Es darf nur ein TypeInsertSet geben und nicht "+insertSets.size()); + } + + } catch (IOException | yyException e) { + e.printStackTrace(); + TestCase.fail(); + } + + } + +} diff --git a/test/plugindevelopment/TypeInsertTests/IntTest.jav b/test/plugindevelopment/TypeInsertTests/IntTest.jav new file mode 100644 index 000000000..305772949 --- /dev/null +++ b/test/plugindevelopment/TypeInsertTests/IntTest.jav @@ -0,0 +1,6 @@ +class IntTest{ + var; + int methode(){ + return var; + } +} diff --git a/test/plugindevelopment/TypeInsertTests/IntTest.java b/test/plugindevelopment/TypeInsertTests/IntTest.java new file mode 100644 index 000000000..8020e6673 --- /dev/null +++ b/test/plugindevelopment/TypeInsertTests/IntTest.java @@ -0,0 +1,18 @@ +package plugindevelopment.TypeInsertTests; + +import java.util.Vector; + +import org.junit.Test; + +public class IntTest { + + private static final String TEST_FILE = "IntTest.jav"; + + @Test + public void run(){ + Vector mustContain = new Vector(); + mustContain.add("int var"); + MultipleTypesInsertTester.test(this.TEST_FILE, mustContain); + } + +} From 2151c4550b6ed314e022e84800ab530ae82d9621 Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Tue, 10 Jun 2014 20:23:01 +0200 Subject: [PATCH 72/79] Backup --- src/mycompiler/SourceFile.java | 9 +++-- src/mycompiler/mystatement/DoubleLiteral.java | 9 +++-- test/plugindevelopment/MartinTestCases/Id.jav | 3 ++ .../MartinTestCases/MatrixVectorMul.jav | 14 +++++++ .../MartinTestCases/Matrix_lambda.jav | 5 +++ .../MartinTestCases/MethodId.jav | 6 +++ .../MartinTestCases/MethodIntegerUse.jav | 8 ++++ .../MartinTestCases/MethodUse.jav | 8 ++++ .../plugindevelopment/MartinTestCases/OL3.jav | 9 +++++ .../MartinTestCases/Plus1.jav | 3 ++ .../MartinTestCases/Plus1_Float_Double.jav | 3 ++ .../MartinTestCases/Tester.java | 4 ++ .../jav/Lambda_usecases/Fehler Report | 37 +++++++++++++++++++ .../jav/Lambda_usecases/Id.jav | 3 ++ .../jav/Lambda_usecases/MatrixVectorMul.jav | 14 +++++++ .../jav/Lambda_usecases/Matrix_lambda.jav | 5 +++ .../jav/Lambda_usecases/MethodId.jav | 6 +++ .../jav/Lambda_usecases/MethodIntegerUse.jav | 8 ++++ .../jav/Lambda_usecases/MethodUse.jav | 8 ++++ .../jav/Lambda_usecases/OL.jav | 19 ++++++++++ .../jav/Lambda_usecases/Plus1.jav | 3 ++ .../Lambda_usecases/Plus1_Float_Double.jav | 3 ++ 22 files changed, 179 insertions(+), 8 deletions(-) create mode 100644 test/plugindevelopment/MartinTestCases/Id.jav create mode 100644 test/plugindevelopment/MartinTestCases/MatrixVectorMul.jav create mode 100644 test/plugindevelopment/MartinTestCases/Matrix_lambda.jav create mode 100644 test/plugindevelopment/MartinTestCases/MethodId.jav create mode 100644 test/plugindevelopment/MartinTestCases/MethodIntegerUse.jav create mode 100644 test/plugindevelopment/MartinTestCases/MethodUse.jav create mode 100644 test/plugindevelopment/MartinTestCases/OL3.jav create mode 100644 test/plugindevelopment/MartinTestCases/Plus1.jav create mode 100644 test/plugindevelopment/MartinTestCases/Plus1_Float_Double.jav create mode 100644 test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/Fehler Report create mode 100644 test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/Id.jav create mode 100644 test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/MatrixVectorMul.jav create mode 100644 test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/Matrix_lambda.jav create mode 100644 test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/MethodId.jav create mode 100644 test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/MethodIntegerUse.jav create mode 100644 test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/MethodUse.jav create mode 100644 test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/OL.jav create mode 100644 test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/Plus1.jav create mode 100644 test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/Plus1_Float_Double.jav diff --git a/src/mycompiler/SourceFile.java b/src/mycompiler/SourceFile.java index e77d56a55..56cf5fabc 100755 --- a/src/mycompiler/SourceFile.java +++ b/src/mycompiler/SourceFile.java @@ -690,6 +690,7 @@ public class SourceFile ////////////////////////////// // Unifizierung der Constraints: ////////////////////////////// + boolean unifyFail = true; for(Vector constraints : xConstraints){ //Alle durch das Karthesische Produkt entstandenen Möglichkeiten durchgehen: Vector> result = new Vector>(); @@ -785,6 +786,7 @@ public class SourceFile for(Class klasse : this.KlassenVektor){ //Der Unifikationsalgorithmus kann wiederum auch mehrere Lösungen errechnen, diese werden im folgenden durchlaufen: for(Vector resultSet : result){ + unifyFail = false; //Ein Unifiziertes Ergebnis ist entstanden (es kann auch leer sein, das bedeutet nur, dass die Constraints mindestens in einem Fall Sinn ergaben) //Add Result set as a new ReconstructionResult to ret: TypeinferenceResultSet reconstructionResult = new TypeinferenceResultSet(klasse, constraints, new ResultSet(resultSet)); ret.add(reconstructionResult); @@ -795,11 +797,10 @@ public class SourceFile } } - - } - - + if(unifyFail){ + if(!this.KlassenVektor.isEmpty())throw new TypeinferenceException("Fehler in Typinferierung", this.KlassenVektor.firstElement()); + } return ret; /* // HOTI: Nur zur Info.Ich habe den Loglevel auf Info geschaltet, damit diff --git a/src/mycompiler/mystatement/DoubleLiteral.java b/src/mycompiler/mystatement/DoubleLiteral.java index 766234dea..7a80f1c13 100755 --- a/src/mycompiler/mystatement/DoubleLiteral.java +++ b/src/mycompiler/mystatement/DoubleLiteral.java @@ -205,14 +205,15 @@ public class DoubleLiteral extends Literal @Override public ConstraintsSet TYPEExpr(TypeAssumptions assumptions) { - // TODO Auto-generated method stub - return null; + this.setType(assumptions.getTypeFor(new RefType("Double",this.getOffset()))); + return new ConstraintsSet(); } @Override public JavaCodeResult printJavaCode(ResultSet resultSet) { - // TODO Auto-generated method stub - return null; + JavaCodeResult ret = new JavaCodeResult(); + ret.attach(""+this.Double); + return ret; } @Override public Vector getChildren() { diff --git a/test/plugindevelopment/MartinTestCases/Id.jav b/test/plugindevelopment/MartinTestCases/Id.jav new file mode 100644 index 000000000..d2293b4b8 --- /dev/null +++ b/test/plugindevelopment/MartinTestCases/Id.jav @@ -0,0 +1,3 @@ +class Id { + Fun1 op = (x) -> x; + } \ No newline at end of file diff --git a/test/plugindevelopment/MartinTestCases/MatrixVectorMul.jav b/test/plugindevelopment/MartinTestCases/MatrixVectorMul.jav new file mode 100644 index 000000000..5aa6ee451 --- /dev/null +++ b/test/plugindevelopment/MartinTestCases/MatrixVectorMul.jav @@ -0,0 +1,14 @@ +import java.util.Vector; + +class Matrix extends Vector> { + + mvmul(Vector v) { + i; + ele; + v.add(1); + while (i < v.size()) { + + ele = 5 + v.elementAt(i); + } + } +} diff --git a/test/plugindevelopment/MartinTestCases/Matrix_lambda.jav b/test/plugindevelopment/MartinTestCases/Matrix_lambda.jav new file mode 100644 index 000000000..293f776e4 --- /dev/null +++ b/test/plugindevelopment/MartinTestCases/Matrix_lambda.jav @@ -0,0 +1,5 @@ +import java.util.Vector; + +class Matrix extends Vector> { + op = (Matrix m) -> (f) -> f.apply(this, m); +} \ No newline at end of file diff --git a/test/plugindevelopment/MartinTestCases/MethodId.jav b/test/plugindevelopment/MartinTestCases/MethodId.jav new file mode 100644 index 000000000..f8f44dec3 --- /dev/null +++ b/test/plugindevelopment/MartinTestCases/MethodId.jav @@ -0,0 +1,6 @@ +class MethodId { + + US m (UR x) { + return x; + } + } \ No newline at end of file diff --git a/test/plugindevelopment/MartinTestCases/MethodIntegerUse.jav b/test/plugindevelopment/MartinTestCases/MethodIntegerUse.jav new file mode 100644 index 000000000..11f2c06bc --- /dev/null +++ b/test/plugindevelopment/MartinTestCases/MethodIntegerUse.jav @@ -0,0 +1,8 @@ +class MethodIntegerUse { + Fun1 op = (x) -> m(x); + + + Integer m (Integer x) { + return x; + } + } \ No newline at end of file diff --git a/test/plugindevelopment/MartinTestCases/MethodUse.jav b/test/plugindevelopment/MartinTestCases/MethodUse.jav new file mode 100644 index 000000000..1349b7ff7 --- /dev/null +++ b/test/plugindevelopment/MartinTestCases/MethodUse.jav @@ -0,0 +1,8 @@ +class MethodUse { + Fun1 op = (x) -> m(x); + + + AP m (AO x) { + return x; + } + } \ No newline at end of file diff --git a/test/plugindevelopment/MartinTestCases/OL3.jav b/test/plugindevelopment/MartinTestCases/OL3.jav new file mode 100644 index 000000000..0ccd6da1b --- /dev/null +++ b/test/plugindevelopment/MartinTestCases/OL3.jav @@ -0,0 +1,9 @@ +class Test{ + String main(){ + return m(()->{return "Test";}); + } + String m(p){ + return p.apply(); + } + void m(p){} +} diff --git a/test/plugindevelopment/MartinTestCases/Plus1.jav b/test/plugindevelopment/MartinTestCases/Plus1.jav new file mode 100644 index 000000000..6b0ca749a --- /dev/null +++ b/test/plugindevelopment/MartinTestCases/Plus1.jav @@ -0,0 +1,3 @@ +class Plus1 { + Fun1 op = (x) -> x+1; + } \ No newline at end of file diff --git a/test/plugindevelopment/MartinTestCases/Plus1_Float_Double.jav b/test/plugindevelopment/MartinTestCases/Plus1_Float_Double.jav new file mode 100644 index 000000000..75c3baad7 --- /dev/null +++ b/test/plugindevelopment/MartinTestCases/Plus1_Float_Double.jav @@ -0,0 +1,3 @@ +class Plus1_Float_Double { + op = (x) -> x+1.0; + } \ No newline at end of file diff --git a/test/plugindevelopment/MartinTestCases/Tester.java b/test/plugindevelopment/MartinTestCases/Tester.java index 92aea9e30..98769837c 100644 --- a/test/plugindevelopment/MartinTestCases/Tester.java +++ b/test/plugindevelopment/MartinTestCases/Tester.java @@ -52,11 +52,15 @@ public class Tester extends TypeInsertTester{ @Test public void runTests(){ Vector testFiles = new Vector(); + //testFiles.add("OL3.jav"); + testFiles.add("Plus1_Float_Double.jav"); + /* testFiles.add("AchimTest1.jav"); testFiles.add("MatrixWhile.jav"); //testFiles.add("BoundedType1.jav"); testFiles.add("BoundedType2.jav"); testFiles.add("BoundedType.jav"); + testFiles.add("OL2.jav"); testFiles.add("OL.jav"); testFiles.add("Simple.jav"); diff --git a/test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/Fehler Report b/test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/Fehler Report new file mode 100644 index 000000000..246508723 --- /dev/null +++ b/test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/Fehler Report @@ -0,0 +1,37 @@ +Allgemeine Probleme: + +- Argument von lambda-Aussdrücken hat falsche Typvar: Könnte das darin liegen, + dass die Typvar auch in der abstrakten Syntax gelöscht wird? + +- unnötige constraints entfernen + +- Textmarker werden, beim speichern nicht gelöscht, es wird einfach der neue + Text hinzugefügt + +Dateien: + +- Id.jav: funktioniert + +- Matrix_lambda.jav: es bleiben TPH im Typ stehen. + TPH IM müsste irgend Supertyp von Matrix (this) sein. + +- MethodId.jav: funktioniert; + +- MethodIntegerUse.jav: funktioniert; + +- MethodUse.jav: funktioniert; + +- OL.jav: + * java.lang.Float funktioniert als Return-Typ nicht: Parseerror + * wenn man beim ersten m einen Typ auswählt wird der vom zweiten m eingetragen + warum? + In der zweiten Klasse kann man nach dem eintragen nichts mehr auswählen + * Wenn man in der zweiten Klassen einen Typ auswählt kann man in der ersten + nichts mehr auswählen. Was wird eigetragen? + +- Plus1_Float_Double.jav: Syntax-Error und Nullpointer-Exception + +- Plus1.jav: funktioniert; Frage: gibt es keinen anderen Typ mit +1? + + + diff --git a/test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/Id.jav b/test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/Id.jav new file mode 100644 index 000000000..d2293b4b8 --- /dev/null +++ b/test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/Id.jav @@ -0,0 +1,3 @@ +class Id { + Fun1 op = (x) -> x; + } \ No newline at end of file diff --git a/test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/MatrixVectorMul.jav b/test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/MatrixVectorMul.jav new file mode 100644 index 000000000..5aa6ee451 --- /dev/null +++ b/test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/MatrixVectorMul.jav @@ -0,0 +1,14 @@ +import java.util.Vector; + +class Matrix extends Vector> { + + mvmul(Vector v) { + i; + ele; + v.add(1); + while (i < v.size()) { + + ele = 5 + v.elementAt(i); + } + } +} diff --git a/test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/Matrix_lambda.jav b/test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/Matrix_lambda.jav new file mode 100644 index 000000000..f9d2f4e06 --- /dev/null +++ b/test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/Matrix_lambda.jav @@ -0,0 +1,5 @@ +import java.util.Vector; + +class Matrix extends Vector> { + Fun1>, Matrix> op = (Matrix m) -> (f) -> f.apply(this, m); +} \ No newline at end of file diff --git a/test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/MethodId.jav b/test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/MethodId.jav new file mode 100644 index 000000000..f8f44dec3 --- /dev/null +++ b/test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/MethodId.jav @@ -0,0 +1,6 @@ +class MethodId { + + US m (UR x) { + return x; + } + } \ No newline at end of file diff --git a/test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/MethodIntegerUse.jav b/test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/MethodIntegerUse.jav new file mode 100644 index 000000000..11f2c06bc --- /dev/null +++ b/test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/MethodIntegerUse.jav @@ -0,0 +1,8 @@ +class MethodIntegerUse { + Fun1 op = (x) -> m(x); + + + Integer m (Integer x) { + return x; + } + } \ No newline at end of file diff --git a/test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/MethodUse.jav b/test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/MethodUse.jav new file mode 100644 index 000000000..1349b7ff7 --- /dev/null +++ b/test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/MethodUse.jav @@ -0,0 +1,8 @@ +class MethodUse { + Fun1 op = (x) -> m(x); + + + AP m (AO x) { + return x; + } + } \ No newline at end of file diff --git a/test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/OL.jav b/test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/OL.jav new file mode 100644 index 000000000..65b5f88f3 --- /dev/null +++ b/test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/OL.jav @@ -0,0 +1,19 @@ + +class OL { + + java.lang.Float m(java.lang.Float x) { return x + x; } + + java.lang.Boolean m(java.lang.Boolean x) {return x || x; } +} + + + +class Main { + + main(x) { + ol; + ol = new OL(); + return ol.m(x); + } + +} diff --git a/test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/Plus1.jav b/test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/Plus1.jav new file mode 100644 index 000000000..6b0ca749a --- /dev/null +++ b/test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/Plus1.jav @@ -0,0 +1,3 @@ +class Plus1 { + Fun1 op = (x) -> x+1; + } \ No newline at end of file diff --git a/test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/Plus1_Float_Double.jav b/test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/Plus1_Float_Double.jav new file mode 100644 index 000000000..75c3baad7 --- /dev/null +++ b/test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/Plus1_Float_Double.jav @@ -0,0 +1,3 @@ +class Plus1_Float_Double { + op = (x) -> x+1.0; + } \ No newline at end of file From 5979835783df25350213aad0b36c7c8fff4df4c2 Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Wed, 18 Jun 2014 09:06:08 +0200 Subject: [PATCH 73/79] =?UTF-8?q?GenericVarAssumption=20eingef=C3=BChrt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/mycompiler/SyntaxTreeNode.java | 2 +- src/mycompiler/myclass/Method.java | 11 +++- src/mycompiler/mytype/GenericTypeVar.java | 17 ++++++ src/typinferenz/TypeInsertSet.java | 23 ++++++- src/typinferenz/assumptions/Assumption.java | 6 ++ .../assumptions/GenericVarAssumption.java | 24 ++++++++ .../assumptions/TypeAssumptions.java | 21 ++++++- test/parser/GeneralParserTest.java | 1 + test/parser/GenericFieldVarTest.jav | 3 + .../InsertSingleTypeTest.java | 60 +++++++++++++++++++ .../SingleTypeInsertTest.jav | 3 + .../TypeInsertTests/LambdaTest10.jav | 9 +++ .../TypeInsertTests/LambdaTest10.java | 18 ++++++ 13 files changed, 190 insertions(+), 8 deletions(-) create mode 100644 src/typinferenz/assumptions/GenericVarAssumption.java create mode 100644 test/parser/GenericFieldVarTest.jav create mode 100644 test/plugindevelopment/InsertSingleTypeTest.java create mode 100644 test/plugindevelopment/SingleTypeInsertTest.jav create mode 100644 test/plugindevelopment/TypeInsertTests/LambdaTest10.jav create mode 100644 test/plugindevelopment/TypeInsertTests/LambdaTest10.java diff --git a/src/mycompiler/SyntaxTreeNode.java b/src/mycompiler/SyntaxTreeNode.java index 162fe915c..1c8c6e2bd 100644 --- a/src/mycompiler/SyntaxTreeNode.java +++ b/src/mycompiler/SyntaxTreeNode.java @@ -16,7 +16,7 @@ import mycompiler.mytype.Pair; import mycompiler.mytype.Type; import mycompiler.mytype.TypePlaceholder; -public abstract class SyntaxTreeNode { +public abstract class SyntaxTreeNode{ protected SyntaxTreeNode parent; diff --git a/src/mycompiler/myclass/Method.java b/src/mycompiler/myclass/Method.java index e3def173f..75221dbe4 100755 --- a/src/mycompiler/myclass/Method.java +++ b/src/mycompiler/myclass/Method.java @@ -546,6 +546,14 @@ public class Method extends Field implements IItemWithOffset, TypeInsertable public ConstraintsSet TYPE(TypeAssumptions ass) { + ConstraintsSet ret = new ConstraintsSet(); + TypeAssumptions localAss = new TypeAssumptions(); + localAss.add(ass); //Die globalen Assumptions anhängen + //Generische Parameterdeklarationen den Assumptions anfügen: + for(GenericTypeVar gtv : this.genericMethodParameters){ + ret.add(gtv.TYPE(localAss)); + } + //TypeCheck, falls es sich um einen RefType handelt: if(this.returntype!=null && (this.returntype instanceof RefType)&& !(this.returntype instanceof mycompiler.mytype.Void)){//Sonderfall der Methode: Ihr Typ darf Void definiert werden. @@ -554,9 +562,6 @@ public class Method extends Field implements IItemWithOffset, TypeInsertable if(replaceType == null)throw new TypeinferenceException("Der Typ "+this.getType().getName()+" ist nicht korrekt",this); this.returntype = replaceType; } - ConstraintsSet ret = new ConstraintsSet(); - TypeAssumptions localAss = new TypeAssumptions(); - localAss.add(ass); //Die globalen Assumptions anhängen //Die Parameter zu den Assumptions hinzufügen: if(this.parameterlist!=null)for(FormalParameter param : this.parameterlist){ diff --git a/src/mycompiler/mytype/GenericTypeVar.java b/src/mycompiler/mytype/GenericTypeVar.java index 98a1053a7..b72373045 100755 --- a/src/mycompiler/mytype/GenericTypeVar.java +++ b/src/mycompiler/mytype/GenericTypeVar.java @@ -14,12 +14,18 @@ import java.util.Vector; + + + import mycompiler.mytypereconstruction.replacementlistener.CReplaceTypeEvent; import mycompiler.mytypereconstruction.replacementlistener.ITypeReplacementListener; +import typinferenz.ConstraintsSet; import typinferenz.JavaCodeResult; import typinferenz.ResultSet; +import typinferenz.SingleConstraint; import typinferenz.TypeInsertPoint; import typinferenz.TypeInsertable; +import typinferenz.assumptions.TypeAssumptions; // ino.class.GenericTypeVar.26505.description type=javadoc @@ -36,6 +42,7 @@ public class GenericTypeVar extends Type { Type genericTypeVar; Vector extendVars = new Vector(); + private Pair genericConstraint; /** * Eine Registry f�r alle Generic-Instanzen, die vor der Bytecode-Generierung durch * Ihre Superklasse ersetzt werden m�ssen. Siehe "Type Erasure" in Sun Spezifikation. @@ -54,6 +61,9 @@ public class GenericTypeVar extends Type super(offset); genericTypeVar = genericTypeVarExtendsVar.TA1; if(genericTypeVarExtendsVar.TA2!=null)this.extendVars.add(genericTypeVarExtendsVar.TA2); + else{ + this.genericConstraint = genericTypeVarExtendsVar; + } this.name = genericTypeVar.toString(); } @@ -182,6 +192,13 @@ public class GenericTypeVar extends Type return this.name; } + public ConstraintsSet TYPE(TypeAssumptions ass){ + ConstraintsSet ret = new ConstraintsSet(); + if(this.genericConstraint != null)ret.add(new SingleConstraint(this.genericConstraint.TA1, this.genericConstraint.TA2)); + ass.addGenericVarAssumption(this); + return ret; + } + } // ino.end diff --git a/src/typinferenz/TypeInsertSet.java b/src/typinferenz/TypeInsertSet.java index 76ca85a58..edf4cb800 100644 --- a/src/typinferenz/TypeInsertSet.java +++ b/src/typinferenz/TypeInsertSet.java @@ -17,6 +17,7 @@ import mycompiler.mytype.TypePlaceholder; * Diese müssen gemeinsam eingesetzt werden. * Das TypeInsertSet löst zudem Abhängigkeiten auf. Wird eine Generische Variable eingesetzt, * müssen alle mit ihr in Verbindung stehenden Typen ebenfalls eingesetzt werden. + * TODO: Es müssen eigentlich nur die generischen Variablendeklarationen eingesetzt werden. * @author janulrich * */ @@ -30,8 +31,6 @@ public class TypeInsertSet { /** * Fügt einen TypeInsertPoint dem TypeInsertSet hinzu. - * Dabei werden alle involvierten TPHs berechnet und zurückgeliefert. - * Die von diesen TPHs abhängigen Typen müssen anschließend ebenfalls dem TypeInsertSet angefügt werden. * @param typeInsertPoint * @return */ @@ -46,6 +45,26 @@ public class TypeInsertSet { if(!this.genericTypeInsertPoints.contains(typeInsertPoint))this.genericTypeInsertPoints.add(typeInsertPoint); } + /** + * Fügt nur einen einzelnen TypeInsertPoint in fileContent ein. + * @param tip + * @param fileContent + * @return + */ + public String insertType(TypeInsertPoint tip, String fileContent){ + TypeInsertSet tis = new TypeInsertSet(); + int additionalOffset = 0; + String ret = fileContent; + JavaCodeResult unresolvedTPHs = tip.insertType(ret, additionalOffset); + for(TypePlaceholder tph : unresolvedTPHs.getUnresolvedTPH()){ + GenericTypeInsertPoint genericTIP = new GenericTypeInsertPoint((TypeInsertable)tip.getGenericTypeVarInsertNode(),tph,tip.getResultSet()); + tis.add(genericTIP); + } + tis.add(tip); + + return tis.insertAllTypes(fileContent); + } + /** * Fügt alle Typen dieses TypeInsertSets in den übergebenen Quellcode ein * TODO: Beim Einsetzen eines Typs alle Abhängigkeiten auflösen. Benutze Generische Variablen müssen an allen Punkte eingesetzt werden diff --git a/src/typinferenz/assumptions/Assumption.java b/src/typinferenz/assumptions/Assumption.java index 8e92c5e89..d370d85f3 100644 --- a/src/typinferenz/assumptions/Assumption.java +++ b/src/typinferenz/assumptions/Assumption.java @@ -9,6 +9,12 @@ public class Assumption { private TypeInsertable typable; + /** + * Wird dieser Konstruktor benutzt müssen alle Methoden der Klasse Assumption überschrieben werden. + */ + protected Assumption(){ + } + public Assumption(TypeInsertable ass){ this.typable = ass; } diff --git a/src/typinferenz/assumptions/GenericVarAssumption.java b/src/typinferenz/assumptions/GenericVarAssumption.java new file mode 100644 index 000000000..be5a01cbd --- /dev/null +++ b/src/typinferenz/assumptions/GenericVarAssumption.java @@ -0,0 +1,24 @@ +package typinferenz.assumptions; + +import mycompiler.mystatement.LocalVarDecl; +import mycompiler.mytype.GenericTypeVar; +import mycompiler.mytype.RefType; +import mycompiler.mytype.Type; + +public class GenericVarAssumption extends Assumption{ + + private GenericTypeVar genericVar; + + public GenericVarAssumption(GenericTypeVar genericVar){ + super(); + this.genericVar = genericVar; + } + + public Type getAssumedType() { + return new RefType(genericVar.getTypePlaceHolder().getName(), -1); + } + + public String getIdentifier(){ + return genericVar.getTypePlaceHolder().getName(); + } +} diff --git a/src/typinferenz/assumptions/TypeAssumptions.java b/src/typinferenz/assumptions/TypeAssumptions.java index bbd5292a3..adbcf8506 100755 --- a/src/typinferenz/assumptions/TypeAssumptions.java +++ b/src/typinferenz/assumptions/TypeAssumptions.java @@ -52,6 +52,7 @@ public class TypeAssumptions { private Vector fieldAssumptions = new Vector(); private Vector localVarAssumptions = new Vector(); private Vector parameterAssumptions = new Vector(); + private Vector genericVarAssumptions = new Vector(); private Vector classAssumptions = new Vector(); /** @@ -165,7 +166,11 @@ public class TypeAssumptions { for(LocalVarAssumption ass : this.localVarAssumptions){ if(ass.getIdentifier().equals(variableName))return ass.getAssumedType(); } - + //Ebenso wie die Generischen Variablen: + for(GenericVarAssumption ass : this.genericVarAssumptions){ + + } + //und zuletzt die Felder der Klasse in dessen Namensraum sich dieses AssumptionSet befindet. if(inScope!=null){ for(FieldAssumption ass : this.getAssumptionsFor(inScope.getName())){ @@ -218,6 +223,7 @@ public class TypeAssumptions { for(Assumption f : this.fieldAssumptions)ret.add(f); for(Assumption f : this.parameterAssumptions)ret.add(f); for(Assumption f : this.constructorAssumptions)ret.add(f); + for(Assumption f : this.genericVarAssumptions)ret.add(f); return ret; } @@ -233,6 +239,7 @@ public class TypeAssumptions { if(ass instanceof LocalVarAssumption)if(!this.localVarAssumptions.contains(ass))this.localVarAssumptions.add((LocalVarAssumption)ass);//this.localVarAssumptions.add((LocalVarAssumption)ass);// if(ass instanceof ParameterAssumption)if(!this.parameterAssumptions.contains(ass))this.parameterAssumptions.add((ParameterAssumption)ass);//this.parameterAssumptions.add((ParameterAssumption)ass); if(ass instanceof FieldAssumption)if(!this.fieldAssumptions.contains(ass))this.fieldAssumptions.add((FieldAssumption)ass);//this.fieldAssumptions.add((FieldAssumption)ass); + if(ass instanceof GenericVarAssumption)if(!this.genericVarAssumptions.contains(ass))this.genericVarAssumptions.add((GenericVarAssumption)ass); } @@ -273,6 +280,7 @@ public class TypeAssumptions { ret += "FieldVar Assumptions:\n" + this.fieldAssumptions.toString() + "\n"; ret += "LocalVar Assumptions:\n" + this.localVarAssumptions.toString() + "\n"; ret += "Parameter Assumptions:\n" + this.parameterAssumptions.toString() + "\n"; + ret += "Generic Var Assumptions:\n" + this.genericVarAssumptions.toString() + "\n"; ret += "Konstruktor Assumptions:\n" + this.constructorAssumptions.toString() + "\n"; ret += "Class Assumptions:\n" + this.classAssumptions.toString() + "\n"; //return assumptions.toString(); @@ -287,7 +295,6 @@ public class TypeAssumptions { * @return null, falls der Typ nicht vorhanden ist. */ public Type getTypeFor(RefType t){ - //TODO: Die Parameterliste noch kontrollieren: (hier könnte es Constraints geben: "? extends String") //Alle bekannten Klassen nach diesem Typ durchsuchen: String typName = t.getName(); String[] names = typName.split("[.]"); @@ -308,6 +315,11 @@ public class TypeAssumptions { return ret; } } + //Auch die generischen Variablen durchsuchen: + for(GenericVarAssumption ass : this.genericVarAssumptions){ + if(ass.getIdentifier().equals(t.getName()))return ass.getAssumedType(); + } + return null; } @@ -335,6 +347,11 @@ public class TypeAssumptions { return null; } + public void addGenericVarAssumption( + GenericTypeVar genericTypeVar) { + this.genericVarAssumptions.add(new GenericVarAssumption(genericTypeVar)); + } + /** * Prüft einen Typ auf das vorhandensein in den BasicAssumptions. * Dabei werden alle Konstruktoren nach diesem Typ durchsucht. Denn jede Klasse hat einen Konstruktor und der muss in den TypeAssumptions vorhanden sein. diff --git a/test/parser/GeneralParserTest.java b/test/parser/GeneralParserTest.java index 596cbea73..3349d324c 100644 --- a/test/parser/GeneralParserTest.java +++ b/test/parser/GeneralParserTest.java @@ -31,6 +31,7 @@ public class GeneralParserTest{ filenames.add("FieldInitializationTest.jav"); filenames.add("ImportTest.jav"); filenames.add("BoundedParameter.jav"); + filenames.add("GenericFieldVarTest.jav"); MyCompilerAPI compiler = MyCompiler.getAPI(); try{ for(String filename : filenames) diff --git a/test/parser/GenericFieldVarTest.jav b/test/parser/GenericFieldVarTest.jav new file mode 100644 index 000000000..a47b41eb0 --- /dev/null +++ b/test/parser/GenericFieldVarTest.jav @@ -0,0 +1,3 @@ +class Test{ + A var; +} diff --git a/test/plugindevelopment/InsertSingleTypeTest.java b/test/plugindevelopment/InsertSingleTypeTest.java new file mode 100644 index 000000000..0c6ae47ce --- /dev/null +++ b/test/plugindevelopment/InsertSingleTypeTest.java @@ -0,0 +1,60 @@ +package plugindevelopment; + +import java.io.File; +import java.io.IOException; +import java.nio.ByteBuffer; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.util.Vector; + +import org.junit.Test; + +import junit.framework.TestCase; +import mycompiler.MyCompiler; +import mycompiler.MyCompilerAPI; +import mycompiler.myparser.JavaParser.yyException; +import mycompiler.mytypereconstruction.TypeinferenceResultSet; +import typinferenz.TypeInsertPoint; +import typinferenz.TypeInsertSet; + +public class InsertSingleTypeTest { + private static final String testFile = "SingleTypeInsertTest.jav"; + + @Test + public void test1(){ + TypeinferenceResultSet res = test(testFile); + TypeInsertPoint p = res.getTypeInsertionPoints().points.firstElement(); + try { + System.out.println(res.getTypeInsertionPoints().insertType(p, this.getFileContent(rootDirectory + testFile))); + } catch (IOException e) { + TestCase.fail(); + e.printStackTrace(); + } + } + + static final String rootDirectory = System.getProperty("user.dir")+"/test/plugindevelopment/"; + + public static TypeinferenceResultSet test(String sourceFileToInfere){ + String inferedSource = ""; + MyCompilerAPI compiler = MyCompiler.getAPI(); + try { + compiler.parse(new File(rootDirectory + sourceFileToInfere)); + Vector results = compiler.typeReconstruction(); + TestCase.assertTrue("Es darf nicht mehr als eine Lösungsmöglichkeit geben und nicht "+results.size(), results.size()==1); + return results.firstElement(); + } catch (IOException | yyException e) { + e.printStackTrace(); + TestCase.fail(); + return null; + } + } + + //Source: https://stackoverflow.com/questions/326390/how-to-create-a-java-string-from-the-contents-of-a-file + //PS: benötigt Java 7 + public static String getFileContent(String path)throws IOException + { + byte[] encoded = Files.readAllBytes(Paths.get(path)); + return StandardCharsets.UTF_8.decode(ByteBuffer.wrap(encoded)).toString(); + } +} diff --git a/test/plugindevelopment/SingleTypeInsertTest.jav b/test/plugindevelopment/SingleTypeInsertTest.jav new file mode 100644 index 000000000..8039f8972 --- /dev/null +++ b/test/plugindevelopment/SingleTypeInsertTest.jav @@ -0,0 +1,3 @@ +class Test{ +var; +} \ No newline at end of file diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest10.jav b/test/plugindevelopment/TypeInsertTests/LambdaTest10.jav new file mode 100644 index 000000000..f1787ac46 --- /dev/null +++ b/test/plugindevelopment/TypeInsertTests/LambdaTest10.jav @@ -0,0 +1,9 @@ +class Test{ + +m; + + CT methode(){ +return m; +} + +} \ No newline at end of file diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest10.java b/test/plugindevelopment/TypeInsertTests/LambdaTest10.java new file mode 100644 index 000000000..ef9af4c80 --- /dev/null +++ b/test/plugindevelopment/TypeInsertTests/LambdaTest10.java @@ -0,0 +1,18 @@ +package plugindevelopment.TypeInsertTests; + +import java.util.Vector; + +import org.junit.Test; + +public class LambdaTest10 { + + private static final String TEST_FILE = "LambdaTest10.jav"; + + @Test + public void run(){ + Vector mustContain = new Vector(); + //mustContain.add("A a"); + MultipleTypesInsertTester.test(this.TEST_FILE, mustContain); + } + +} From 05f4dbbff3201d3a62fca3d9a4450166c878604f Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Wed, 18 Jun 2014 11:30:14 +0200 Subject: [PATCH 74/79] =?UTF-8?q?GenericVarAssumption=20eingef=C3=BChrt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/mycompiler/myclass/Class.java | 19 ++++++++----------- src/mycompiler/myclass/FieldDeclaration.java | 3 +++ src/mycompiler/myclass/Method.java | 8 ++++++-- .../mytype/BoundedGenericTypeVar.java | 1 + src/mycompiler/mytype/GenericTypeVar.java | 3 +-- src/mycompiler/mytype/Type.java | 13 +++++++++++++ src/mycompiler/mytype/Void.java | 11 +++++++++++ src/typinferenz/SingleConstraint.java | 4 ++-- .../assumptions/GenericVarAssumption.java | 4 ++-- .../assumptions/TypeAssumptions.java | 12 +++++++++--- .../TypeInsertTests/LambdaTest10.jav | 2 +- .../TypeInsertTests/MutlitpleTestCases.java | 1 + 12 files changed, 58 insertions(+), 23 deletions(-) diff --git a/src/mycompiler/myclass/Class.java b/src/mycompiler/myclass/Class.java index 0d4f868ee..fcefae16d 100755 --- a/src/mycompiler/myclass/Class.java +++ b/src/mycompiler/myclass/Class.java @@ -652,6 +652,10 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface, IItemWit //Globale Assumptions anfügen: assumptions.add(globalAssumptions); + for(GenericTypeVar gparam : this.genericClassParameters){ + gparam.TYPE(assumptions); //Constraints für die Generischen Variablen erstellen und diese dem AssumptionsSet hinzufügen + } + typinferenzLog.debug("Erstellte Assumptions: "+assumptions); /* //Generiere Liste mit Expressions, welche zur Initialisierung von Feldern verwendet werden. @@ -1210,7 +1214,7 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface, IItemWit * Die berechneten Variablen werden anschließend in die this.genericTypeVars eingesetzt. Dabei werden alte genericTypeVars überschrieben. * @param tphs : Alle übriggebliebenen TypePLaceholder */ - public void createGenericTypeVars(Vector tphs){ + private void createGenericTypeVars(Vector tphs){ this.genericClassParameters = new Vector(); for(TypePlaceholder tph : tphs){ GenericTypeVar toAdd = new GenericTypeVar(tph,this.getOffset()); @@ -1222,7 +1226,7 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface, IItemWit * Errechnet die Generischen Parameter der Klasse für diese Klasse. * Die berechneten Variablen werden anschließend in die this.genericTypeVars eingesetzt. Dabei werden alte genericTypeVars überschrieben. * @param reconstructionResult - */ + public void createGenericTypeVars(TypeinferenceResultSet reconstructionResult){ this.genericClassParameters = new Vector(); for(Pair pair : reconstructionResult.getUnifiedConstraints()){ @@ -1231,14 +1235,6 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface, IItemWit Type ta2=reconstructionResult.getUnifiedConstraints().getTypeEqualTo(pair.TA2); this.genericClassParameters.add(new GenericTypeVar(new Pair(ta1,ta2),this.getOffset())); } - /* - // Auf SuperWildcardTypes überprüfen: - ArrayList wildcardTypes = pair.TA2.getSuperWildcardTypes(); - wildcardTypes.addAll(pair.TA1.getSuperWildcardTypes()); - for(SuperWildcardType wildcardType : wildcardTypes){ - this.genericClassParameters.add(new GenericTypeVar(new Pair(TypePlaceholder.fresh(), wildcardType.getContainedType()))); - } - */ } for(Pair pair : reconstructionResult.getConstraints()){ @@ -1250,7 +1246,8 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface, IItemWit } } } - + */ + public int getOffset(){ //TODO: richtiges Offset: return 0; diff --git a/src/mycompiler/myclass/FieldDeclaration.java b/src/mycompiler/myclass/FieldDeclaration.java index c96ef69c6..667e9dfb8 100644 --- a/src/mycompiler/myclass/FieldDeclaration.java +++ b/src/mycompiler/myclass/FieldDeclaration.java @@ -137,12 +137,15 @@ public class FieldDeclaration extends Field{ */ //TypeCheck, falls es sich um einen RefType handelt: + this.getType().checkType(publicAssumptions, this); + /* if(this.getType()!=null && (this.getType() instanceof RefType)){ Type replaceType = null; replaceType = publicAssumptions.getTypeFor((RefType)this.getType()); if(replaceType == null)throw new TypeinferenceException("Der Typ "+this.getType().getName()+" ist nicht korrekt",this); this.setType(replaceType); } + */ SingleConstraint c1 = new SingleConstraint(this.getType(), this.getType()); ret.add(c1); //Damit die TypVariable des Felds in den Constraints auftaucht diff --git a/src/mycompiler/myclass/Method.java b/src/mycompiler/myclass/Method.java index 75221dbe4..165cad11f 100755 --- a/src/mycompiler/myclass/Method.java +++ b/src/mycompiler/myclass/Method.java @@ -555,6 +555,8 @@ public class Method extends Field implements IItemWithOffset, TypeInsertable } //TypeCheck, falls es sich um einen RefType handelt: + this.returntype = this.returntype.checkType(localAss, this); + /* if(this.returntype!=null && (this.returntype instanceof RefType)&& !(this.returntype instanceof mycompiler.mytype.Void)){//Sonderfall der Methode: Ihr Typ darf Void definiert werden. Type replaceType = null; @@ -562,10 +564,12 @@ public class Method extends Field implements IItemWithOffset, TypeInsertable if(replaceType == null)throw new TypeinferenceException("Der Typ "+this.getType().getName()+" ist nicht korrekt",this); this.returntype = replaceType; } + */ //Die Parameter zu den Assumptions hinzufügen: if(this.parameterlist!=null)for(FormalParameter param : this.parameterlist){ - + param.setType(param.getType().checkType(localAss, this)); + /* if(param.getType() instanceof RefType) { Type replaceType = null; @@ -574,7 +578,7 @@ public class Method extends Field implements IItemWithOffset, TypeInsertable throw new TypeinferenceException("Der Typ "+param.getType().getName()+" ist nicht korrekt",param); param.setType(replaceType); } - + */ localAss.addAssumption(new ParameterAssumption(param)); } diff --git a/src/mycompiler/mytype/BoundedGenericTypeVar.java b/src/mycompiler/mytype/BoundedGenericTypeVar.java index a2d8566af..5bd4f0819 100755 --- a/src/mycompiler/mytype/BoundedGenericTypeVar.java +++ b/src/mycompiler/mytype/BoundedGenericTypeVar.java @@ -50,6 +50,7 @@ public class BoundedGenericTypeVar extends GenericTypeVar // ino.end // ino.method.BoundedGenericTypeVar.29409.body { + //TODO: Dieser Konstruktor muss this.genericConstraint setzen super(s, offset); if(bounds != null)for(Type t : bounds){ if(t!=null)this.extendVars.add(t); diff --git a/src/mycompiler/mytype/GenericTypeVar.java b/src/mycompiler/mytype/GenericTypeVar.java index b72373045..30aa00b33 100755 --- a/src/mycompiler/mytype/GenericTypeVar.java +++ b/src/mycompiler/mytype/GenericTypeVar.java @@ -42,7 +42,7 @@ public class GenericTypeVar extends Type { Type genericTypeVar; Vector extendVars = new Vector(); - private Pair genericConstraint; + protected Pair genericConstraint; /** * Eine Registry f�r alle Generic-Instanzen, die vor der Bytecode-Generierung durch * Ihre Superklasse ersetzt werden m�ssen. Siehe "Type Erasure" in Sun Spezifikation. @@ -202,4 +202,3 @@ public class GenericTypeVar extends Type } // ino.end - diff --git a/src/mycompiler/mytype/Type.java b/src/mycompiler/mytype/Type.java index ba7cdca4c..81f6efa59 100755 --- a/src/mycompiler/mytype/Type.java +++ b/src/mycompiler/mytype/Type.java @@ -7,6 +7,8 @@ import java.util.Vector; import typinferenz.JavaCodeResult; import typinferenz.ResultSet; +import typinferenz.assumptions.TypeAssumptions; +import typinferenz.exceptions.TypeinferenceException; import mycompiler.IItemWithOffset; import mycompiler.SyntaxTreeNode; import mycompiler.mybytecode.JVMCode; @@ -278,5 +280,16 @@ public class Type implements IItemWithOffset return false; } + /** + * Prüft ob der Typ in den Assumptions ass vorhanden ist. + * Dabei kann eine neue Instanz eines Typs entstehen, welche von der Methode zurückgegeben wird. + * @param ass - Die Assumptions für den jeweiligen Kontext in dem sich der Typ befindet. + */ + public Type checkType(TypeAssumptions ass, IItemWithOffset parent){ + Type t = ass.getTypeFor(this); + if(t==null)throw new TypeinferenceException("Der Typ "+this.getName()+" ist nicht korrekt", parent); + return t; + } + } // ino.end diff --git a/src/mycompiler/mytype/Void.java b/src/mycompiler/mytype/Void.java index 00c817780..61426af73 100755 --- a/src/mycompiler/mytype/Void.java +++ b/src/mycompiler/mytype/Void.java @@ -1,5 +1,11 @@ // ino.module.Void.8679.package package mycompiler.mytype; + +import mycompiler.IItemWithOffset; +import mycompiler.myclass.Method; +import typinferenz.assumptions.TypeAssumptions; +import typinferenz.exceptions.TypeinferenceException; + // ino.end // ino.class.Void.26857.declaration public class Void extends RefType @@ -61,5 +67,10 @@ public class Void extends RefType return new Void(getOffset()); } // ino.end + + @Override + public Type checkType(TypeAssumptions ass, IItemWithOffset parent){ + return this; + } } // ino.end diff --git a/src/typinferenz/SingleConstraint.java b/src/typinferenz/SingleConstraint.java index 5dc0f984f..431f2da65 100755 --- a/src/typinferenz/SingleConstraint.java +++ b/src/typinferenz/SingleConstraint.java @@ -55,8 +55,8 @@ public class SingleConstraint extends UndConstraint{ if(p1 instanceof RefType)((RefType)p1).GTV2TPH(); if(p2 instanceof RefType)((RefType)p2).GTV2TPH(); - if((p1 instanceof GenericTypeVar))p1 = ((GenericTypeVar)p1).getTypePlaceHolder(); - if((p2 instanceof GenericTypeVar))p2 = ((GenericTypeVar)p2).getTypePlaceHolder(); + if((p1 instanceof GenericTypeVar))p1 = ((GenericTypeVar)p1).getTypePlaceHolder();//throw new DebugException("GenericTypeVar sind in den Constraints nicht erlaubt");// + if((p2 instanceof GenericTypeVar))p2 = ((GenericTypeVar)p2).getTypePlaceHolder();//throw new DebugException("GenericTypeVar sind in den Constraints nicht erlaubt");// // BaseTypes werden in RefTypes umgewandelt. Constraints dürfen nur RefTypes oder TypePlaceholder enthalten, da sonst der Unify-Algorithmus nicht funktioniert. if(!(p1 instanceof RefType) && !(p1 instanceof TypePlaceholder) && !(p1 instanceof GenericTypeVar))p1 = new RefType(p1); diff --git a/src/typinferenz/assumptions/GenericVarAssumption.java b/src/typinferenz/assumptions/GenericVarAssumption.java index be5a01cbd..3b525e411 100644 --- a/src/typinferenz/assumptions/GenericVarAssumption.java +++ b/src/typinferenz/assumptions/GenericVarAssumption.java @@ -15,10 +15,10 @@ public class GenericVarAssumption extends Assumption{ } public Type getAssumedType() { - return new RefType(genericVar.getTypePlaceHolder().getName(), -1); + return new RefType(this.getIdentifier(), -1); } public String getIdentifier(){ - return genericVar.getTypePlaceHolder().getName(); + return genericVar.getName(); } } diff --git a/src/typinferenz/assumptions/TypeAssumptions.java b/src/typinferenz/assumptions/TypeAssumptions.java index adbcf8506..a7e0795d2 100755 --- a/src/typinferenz/assumptions/TypeAssumptions.java +++ b/src/typinferenz/assumptions/TypeAssumptions.java @@ -2,6 +2,7 @@ package typinferenz.assumptions; import java.util.Iterator; +import mycompiler.IItemWithOffset; import mycompiler.myclass.Class; import java.util.Vector; @@ -294,7 +295,11 @@ public class TypeAssumptions { * @param t * @return null, falls der Typ nicht vorhanden ist. */ - public Type getTypeFor(RefType t){ + public Type getTypeFor(Type t){ + + if(t instanceof TypePlaceholder) + return t; //Handelt es sich um einen TypePlaceholder kann dieser nicht in den Assumptions vorkommen. + //Alle bekannten Klassen nach diesem Typ durchsuchen: String typName = t.getName(); String[] names = typName.split("[.]"); @@ -309,9 +314,10 @@ public class TypeAssumptions { }else for(int i = names.length-1; i>-1;i--){ if(!names[i].equals(assNames[i]))match = false; } - if(match){ + if(match && t instanceof RefType){ + RefType tr = (RefType)t; RefType ret = ass.getAssumedClass().getType(); //Dadurch erhält der RefType den vollen Namen (bsp. java.lang.Integer) - ret.set_ParaList(t.get_ParaList()); + ret.set_ParaList(tr.get_ParaList()); return ret; } } diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest10.jav b/test/plugindevelopment/TypeInsertTests/LambdaTest10.jav index f1787ac46..a1e40a2d7 100644 --- a/test/plugindevelopment/TypeInsertTests/LambdaTest10.jav +++ b/test/plugindevelopment/TypeInsertTests/LambdaTest10.jav @@ -2,7 +2,7 @@ class Test{ m; - CT methode(){ + CT methode(){ return m; } diff --git a/test/plugindevelopment/TypeInsertTests/MutlitpleTestCases.java b/test/plugindevelopment/TypeInsertTests/MutlitpleTestCases.java index 2650b5a3d..82fa17a8c 100644 --- a/test/plugindevelopment/TypeInsertTests/MutlitpleTestCases.java +++ b/test/plugindevelopment/TypeInsertTests/MutlitpleTestCases.java @@ -9,6 +9,7 @@ public class MutlitpleTestCases { private static final String TEST_FILE = "Test1.jav"; private static final String TEST_FILE2 = "Test2.jav"; + @Test public void test1(){ Vector mustContain = new Vector(); From 863f8ec2ec85ad52756786dc2be1e2af62dfe8d4 Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Wed, 18 Jun 2014 11:53:39 +0200 Subject: [PATCH 75/79] =?UTF-8?q?Problem=20mit=20Generischen=20Variabeln?= =?UTF-8?q?=20in=20Klassendeklarationen=20gel=C3=B6st?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/mycompiler/myclass/Class.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mycompiler/myclass/Class.java b/src/mycompiler/myclass/Class.java index fcefae16d..3f8efa0b9 100755 --- a/src/mycompiler/myclass/Class.java +++ b/src/mycompiler/myclass/Class.java @@ -652,8 +652,8 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface, IItemWit //Globale Assumptions anfügen: assumptions.add(globalAssumptions); - for(GenericTypeVar gparam : this.genericClassParameters){ - gparam.TYPE(assumptions); //Constraints für die Generischen Variablen erstellen und diese dem AssumptionsSet hinzufügen + for(Type gparam : this.paralist){ + if(gparam instanceof GenericTypeVar)((GenericTypeVar)gparam).TYPE(assumptions); //Constraints für die Generischen Variablen erstellen und diese dem AssumptionsSet hinzufügen } typinferenzLog.debug("Erstellte Assumptions: "+assumptions); From 400069573670d9caf9e91c4d39ea224ce1c52f3a Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Wed, 18 Jun 2014 13:37:17 +0200 Subject: [PATCH 76/79] BoundedGenerics werden nun auch mit einbezogen --- src/mycompiler/myclass/Class.java | 10 +++++++--- src/mycompiler/mytype/BaseType.java | 11 +++++++++++ src/mycompiler/mytype/BoundedGenericTypeVar.java | 1 - src/mycompiler/mytype/GenericTypeVar.java | 7 ++++++- .../assumptions/GenericVarAssumption.java | 2 +- .../TypeInsertTests/BoundedGenericTest.jav | 6 ++++++ .../TypeInsertTests/BoundedGenericsTest.java | 16 ++++++++++++++++ .../TypeInsertTests/GenericTypeVarTest.java | 4 ++-- 8 files changed, 49 insertions(+), 8 deletions(-) create mode 100644 test/plugindevelopment/TypeInsertTests/BoundedGenericTest.jav create mode 100644 test/plugindevelopment/TypeInsertTests/BoundedGenericsTest.java diff --git a/src/mycompiler/myclass/Class.java b/src/mycompiler/myclass/Class.java index 3f8efa0b9..9c1aed6f4 100755 --- a/src/mycompiler/myclass/Class.java +++ b/src/mycompiler/myclass/Class.java @@ -651,9 +651,11 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface, IItemWit TypeAssumptions assumptions = this.getPrivateFieldAssumptions(); //Globale Assumptions anfügen: assumptions.add(globalAssumptions); - + + ConstraintsSet oderConstraints = new ConstraintsSet(); + for(Type gparam : this.paralist){ - if(gparam instanceof GenericTypeVar)((GenericTypeVar)gparam).TYPE(assumptions); //Constraints für die Generischen Variablen erstellen und diese dem AssumptionsSet hinzufügen + if(gparam instanceof GenericTypeVar)oderConstraints.add(((GenericTypeVar)gparam).TYPE(assumptions)); //Constraints für die Generischen Variablen erstellen und diese dem AssumptionsSet hinzufügen } typinferenzLog.debug("Erstellte Assumptions: "+assumptions); @@ -671,7 +673,7 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface, IItemWit //ConstraintsSet oderConstraints = this.TYPE(this.getMethodList(), fieldInitializers, assumptions); - ConstraintsSet oderConstraints = new ConstraintsSet(); + for(Field f:this.getFields()){ oderConstraints.add(f.TYPE(assumptions)); } @@ -1259,10 +1261,12 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface, IItemWit * @return */ public RefType getType() { + /* Vector parameter = new Vector(); for(Type param : this.get_ParaList()){ parameter.add(((GenericTypeVar)param).getTypePlaceHolder());//(TypePlaceholder.fresh()); //Hier ist kein ReplacementListener notwendig. Der Typ soll nie eingesetzt werden. Der TPH wird nur gebraucht, damit das Unifizieren funktioniert. } + */ return new RefType(this.getName(), this.get_ParaList(), 0); } diff --git a/src/mycompiler/mytype/BaseType.java b/src/mycompiler/mytype/BaseType.java index ad606c5ce..21c0c6f9e 100755 --- a/src/mycompiler/mytype/BaseType.java +++ b/src/mycompiler/mytype/BaseType.java @@ -1,5 +1,9 @@ // ino.module.BaseType.8667.package package mycompiler.mytype; + +import mycompiler.IItemWithOffset; +import typinferenz.assumptions.TypeAssumptions; + // ino.end // ino.class.BaseType.26435.declaration public abstract class BaseType extends Type @@ -76,5 +80,12 @@ public abstract class BaseType extends Type public void setArray(boolean IsArray) { this.IsArray = IsArray; } + + @Override + public Type checkType(TypeAssumptions ass, IItemWithOffset parent) { + return this; //Die Base-Types müssen nicht nachgeschlagen werden. + } + + } // ino.end diff --git a/src/mycompiler/mytype/BoundedGenericTypeVar.java b/src/mycompiler/mytype/BoundedGenericTypeVar.java index 5bd4f0819..a2d8566af 100755 --- a/src/mycompiler/mytype/BoundedGenericTypeVar.java +++ b/src/mycompiler/mytype/BoundedGenericTypeVar.java @@ -50,7 +50,6 @@ public class BoundedGenericTypeVar extends GenericTypeVar // ino.end // ino.method.BoundedGenericTypeVar.29409.body { - //TODO: Dieser Konstruktor muss this.genericConstraint setzen super(s, offset); if(bounds != null)for(Type t : bounds){ if(t!=null)this.extendVars.add(t); diff --git a/src/mycompiler/mytype/GenericTypeVar.java b/src/mycompiler/mytype/GenericTypeVar.java index 30aa00b33..e228ee660 100755 --- a/src/mycompiler/mytype/GenericTypeVar.java +++ b/src/mycompiler/mytype/GenericTypeVar.java @@ -194,8 +194,13 @@ public class GenericTypeVar extends Type public ConstraintsSet TYPE(TypeAssumptions ass){ ConstraintsSet ret = new ConstraintsSet(); - if(this.genericConstraint != null)ret.add(new SingleConstraint(this.genericConstraint.TA1, this.genericConstraint.TA2)); ass.addGenericVarAssumption(this); + //if(this.genericConstraint != null)ret.add(new SingleConstraint(this.genericConstraint.TA1, this.genericConstraint.TA2)); + if(this.extendVars != null){ + for(Type ev : this.extendVars){ + ret.add(new SingleConstraint(ass.getTypeFor(this), ass.getTypeFor(ev))); + } + } return ret; } diff --git a/src/typinferenz/assumptions/GenericVarAssumption.java b/src/typinferenz/assumptions/GenericVarAssumption.java index 3b525e411..2cc2a4655 100644 --- a/src/typinferenz/assumptions/GenericVarAssumption.java +++ b/src/typinferenz/assumptions/GenericVarAssumption.java @@ -15,7 +15,7 @@ public class GenericVarAssumption extends Assumption{ } public Type getAssumedType() { - return new RefType(this.getIdentifier(), -1); + return genericVar;//new RefType(this.getIdentifier(), -1); } public String getIdentifier(){ diff --git a/test/plugindevelopment/TypeInsertTests/BoundedGenericTest.jav b/test/plugindevelopment/TypeInsertTests/BoundedGenericTest.jav new file mode 100644 index 000000000..a3991d785 --- /dev/null +++ b/test/plugindevelopment/TypeInsertTests/BoundedGenericTest.jav @@ -0,0 +1,6 @@ +class BoundedGenericTest{ + var; + B methode(){ + return var; + } +} \ No newline at end of file diff --git a/test/plugindevelopment/TypeInsertTests/BoundedGenericsTest.java b/test/plugindevelopment/TypeInsertTests/BoundedGenericsTest.java new file mode 100644 index 000000000..f0c5094ab --- /dev/null +++ b/test/plugindevelopment/TypeInsertTests/BoundedGenericsTest.java @@ -0,0 +1,16 @@ +package plugindevelopment.TypeInsertTests; + +import java.util.Vector; + +import org.junit.Test; + +public class BoundedGenericsTest { + private static final String TEST_FILE = "BoundedGenericTest.jav"; + + @Test + public void run(){ + Vector mustContain = new Vector(); + mustContain.add("var"); + MultipleTypesInsertTester.test(this.TEST_FILE, mustContain); + } +} diff --git a/test/plugindevelopment/TypeInsertTests/GenericTypeVarTest.java b/test/plugindevelopment/TypeInsertTests/GenericTypeVarTest.java index 8166cf86f..46e1c93db 100644 --- a/test/plugindevelopment/TypeInsertTests/GenericTypeVarTest.java +++ b/test/plugindevelopment/TypeInsertTests/GenericTypeVarTest.java @@ -8,14 +8,14 @@ public class GenericTypeVarTest { private static final String TEST_FILE = "GenericTypeVarTest.jav"; private static final String TEST_FILE2 = "GenericTypeVarTest2.jav"; - /* + @Test public void run(){ Vector mustContain = new Vector(); mustContain.add("String methode"); MultipleTypesInsertTester.test(this.TEST_FILE, mustContain); } - */ + @Test public void run2(){ Vector mustContain = new Vector(); From 370bb8913b6809cc036102e8bf13f5b8bd5d80ff Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Wed, 18 Jun 2014 14:06:23 +0200 Subject: [PATCH 77/79] TODOS bereinigt --- src/typinferenz/TypeInsertSet.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/typinferenz/TypeInsertSet.java b/src/typinferenz/TypeInsertSet.java index edf4cb800..6f329e7f7 100644 --- a/src/typinferenz/TypeInsertSet.java +++ b/src/typinferenz/TypeInsertSet.java @@ -18,6 +18,7 @@ import mycompiler.mytype.TypePlaceholder; * Das TypeInsertSet löst zudem Abhängigkeiten auf. Wird eine Generische Variable eingesetzt, * müssen alle mit ihr in Verbindung stehenden Typen ebenfalls eingesetzt werden. * TODO: Es müssen eigentlich nur die generischen Variablendeklarationen eingesetzt werden. + * TODO: Einsetzen von generischen Variablen in eine bereits vorhanden Parameterliste funktioniert nicht. * @author janulrich * */ @@ -67,7 +68,6 @@ public class TypeInsertSet { /** * Fügt alle Typen dieses TypeInsertSets in den übergebenen Quellcode ein - * TODO: Beim Einsetzen eines Typs alle Abhängigkeiten auflösen. Benutze Generische Variablen müssen an allen Punkte eingesetzt werden * @param fileContent * @return */ From 1f55b81b02146656a9031ad0453c52ac4e754af1 Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Thu, 19 Jun 2014 19:40:13 +0200 Subject: [PATCH 78/79] =?UTF-8?q?=C3=84nderungen=20am=20TypeInsertSet.=20M?= =?UTF-8?q?omentan=20werden=20keine=20Generics=20eingesetzt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/mycompiler/SyntaxTreeNode.java | 6 +- src/mycompiler/myclass/Class.java | 3 +- src/mycompiler/myclass/Field.java | 2 +- src/mycompiler/myclass/FormalParameter.java | 5 +- src/mycompiler/myclass/Method.java | 2 +- .../mystatement/LambdaParameter.java | 2 +- src/mycompiler/mystatement/LocalVarDecl.java | 3 +- src/mycompiler/mytype/GenericTypeVar.java | 3 +- src/mycompiler/mytype/TypePlaceholder.java | 4 +- .../TypeinferenceResultSet.java | 7 +- src/typinferenz/FunNMethod.java | 1 + src/typinferenz/GenericTypeInsertPoint.java | 18 ++++- src/typinferenz/TypeInsertable.java | 1 + .../{ => typedeployment}/TypeInsertPoint.java | 20 ++--- .../{ => typedeployment}/TypeInsertSet.java | 76 +++++++++++++++++-- .../InsertSingleTypeTest.java | 4 +- .../MartinTestCases/Tester.java | 2 +- test/plugindevelopment/TRMEqualTest.java | 6 +- .../TypeInsertSetEqualTest.java | 2 +- test/plugindevelopment/TypeInsertTester.java | 4 +- .../TypeInsertTests/BoundedGenericsTest.java | 2 +- .../GenericParaListInsertTest.jav | 3 + .../GenericParaListInsertTest.java | 16 ++++ .../MultipleTypesInsertTester.java | 2 +- .../OverloadingInsertTest.java | 2 +- 25 files changed, 149 insertions(+), 47 deletions(-) rename src/typinferenz/{ => typedeployment}/TypeInsertPoint.java (88%) rename src/typinferenz/{ => typedeployment}/TypeInsertSet.java (70%) create mode 100644 test/plugindevelopment/TypeInsertTests/GenericParaListInsertTest.jav create mode 100644 test/plugindevelopment/TypeInsertTests/GenericParaListInsertTest.java diff --git a/src/mycompiler/SyntaxTreeNode.java b/src/mycompiler/SyntaxTreeNode.java index 1c8c6e2bd..378fa8142 100644 --- a/src/mycompiler/SyntaxTreeNode.java +++ b/src/mycompiler/SyntaxTreeNode.java @@ -4,11 +4,11 @@ import java.util.Vector; import typinferenz.GenericTypeInsertPoint; import typinferenz.ResultSet; -import typinferenz.TypeInsertPoint; -import typinferenz.TypeInsertSet; import typinferenz.TypeInsertable; import typinferenz.exceptions.DebugException; import typinferenz.exceptions.TypeinferenceException; +import typinferenz.typedeployment.TypeInsertPoint; +import typinferenz.typedeployment.TypeInsertSet; import mycompiler.myclass.Class; import mycompiler.myclass.Generic; import mycompiler.mytype.GenericTypeVar; @@ -86,6 +86,7 @@ public abstract class SyntaxTreeNode{ tip = that.createTypeInsertPoint((TypePlaceholder) t, result); insertSet.add(tip);//ret.addAll(((TypePlaceholder)t).getTypeInsertPoints(result)); } + /* //Für den Fall, dass dieser Knoten Generische Variablen halten kann. if(that instanceof Generic && that.getOffset()>=0){ //Alle unresolvedTPHs ermitteln und GenericTypeVarInsertPoints bilden: @@ -102,6 +103,7 @@ public abstract class SyntaxTreeNode{ } } } + */ } diff --git a/src/mycompiler/myclass/Class.java b/src/mycompiler/myclass/Class.java index 9c1aed6f4..4f87df8c5 100755 --- a/src/mycompiler/myclass/Class.java +++ b/src/mycompiler/myclass/Class.java @@ -63,18 +63,19 @@ import org.apache.log4j.Logger; + import sun.reflect.generics.reflectiveObjects.NotImplementedException; import typinferenz.ConstraintsSet; import typinferenz.JavaCodeResult; import typinferenz.OderConstraint; import typinferenz.ResultSet; -import typinferenz.TypeInsertPoint; import typinferenz.Typeable; import typinferenz.UndConstraint; import typinferenz.FunN; import typinferenz.assumptions.ClassAssumption; import typinferenz.assumptions.TypeAssumptions; import typinferenz.exceptions.TypeinferenceException; +import typinferenz.typedeployment.TypeInsertPoint; import typinferenz.*; diff --git a/src/mycompiler/myclass/Field.java b/src/mycompiler/myclass/Field.java index 8f5690a55..234864039 100644 --- a/src/mycompiler/myclass/Field.java +++ b/src/mycompiler/myclass/Field.java @@ -13,10 +13,10 @@ import mycompiler.mytypereconstruction.replacementlistener.CReplaceTypeEvent; import typinferenz.ConstraintsSet; import typinferenz.JavaCodeResult; import typinferenz.ResultSet; -import typinferenz.TypeInsertPoint; import typinferenz.Typeable; import typinferenz.TypeInsertable; import typinferenz.assumptions.TypeAssumptions; +import typinferenz.typedeployment.TypeInsertPoint; public abstract class Field extends SyntaxTreeNode implements TypeInsertable, Typeable, Generic{ diff --git a/src/mycompiler/myclass/FormalParameter.java b/src/mycompiler/myclass/FormalParameter.java index a9d99ff61..f30a394c6 100755 --- a/src/mycompiler/myclass/FormalParameter.java +++ b/src/mycompiler/myclass/FormalParameter.java @@ -28,14 +28,15 @@ import org.apache.log4j.Logger; + import sun.reflect.generics.reflectiveObjects.NotImplementedException; import typinferenz.JavaCodeResult; import typinferenz.ResultSet; -import typinferenz.TypeInsertPoint; -import typinferenz.TypeInsertSet; import typinferenz.Typeable; import typinferenz.TypeInsertable; import typinferenz.exceptions.TypeinferenceException; +import typinferenz.typedeployment.TypeInsertPoint; +import typinferenz.typedeployment.TypeInsertSet; // ino.class.FormalParameter.23391.declaration public class FormalParameter extends SyntaxTreeNode implements ITypeReplacementListener, Typeable, TypeInsertable diff --git a/src/mycompiler/myclass/Method.java b/src/mycompiler/myclass/Method.java index 165cad11f..961dc25a5 100755 --- a/src/mycompiler/myclass/Method.java +++ b/src/mycompiler/myclass/Method.java @@ -36,12 +36,12 @@ import typinferenz.JavaCodeResult; import typinferenz.SingleConstraint; import typinferenz.ConstraintsSet; import typinferenz.ResultSet; -import typinferenz.TypeInsertPoint; import typinferenz.TypeInsertable; import typinferenz.assumptions.MethodAssumption; import typinferenz.assumptions.ParameterAssumption; import typinferenz.assumptions.TypeAssumptions; import typinferenz.exceptions.TypeinferenceException; +import typinferenz.typedeployment.TypeInsertPoint; diff --git a/src/mycompiler/mystatement/LambdaParameter.java b/src/mycompiler/mystatement/LambdaParameter.java index 46a116d83..4dad882ae 100644 --- a/src/mycompiler/mystatement/LambdaParameter.java +++ b/src/mycompiler/mystatement/LambdaParameter.java @@ -1,7 +1,7 @@ package mycompiler.mystatement; import typinferenz.ResultSet; -import typinferenz.TypeInsertPoint; +import typinferenz.typedeployment.TypeInsertPoint; import mycompiler.myclass.DeclId; import mycompiler.myclass.FormalParameter; import mycompiler.mytype.Type; diff --git a/src/mycompiler/mystatement/LocalVarDecl.java b/src/mycompiler/mystatement/LocalVarDecl.java index f42e172c9..487c5657a 100755 --- a/src/mycompiler/mystatement/LocalVarDecl.java +++ b/src/mycompiler/mystatement/LocalVarDecl.java @@ -41,15 +41,16 @@ import org.apache.log4j.Logger; + import typinferenz.ConstraintsSet; import typinferenz.FreshTypeVariable; import typinferenz.JavaCodeResult; import typinferenz.ResultSet; -import typinferenz.TypeInsertPoint; import typinferenz.TypeInsertable; import typinferenz.assumptions.LocalVarAssumption; import typinferenz.assumptions.TypeAssumptions; import typinferenz.exceptions.TypeinferenceException; +import typinferenz.typedeployment.TypeInsertPoint; diff --git a/src/mycompiler/mytype/GenericTypeVar.java b/src/mycompiler/mytype/GenericTypeVar.java index e228ee660..6d2feccc8 100755 --- a/src/mycompiler/mytype/GenericTypeVar.java +++ b/src/mycompiler/mytype/GenericTypeVar.java @@ -17,15 +17,16 @@ import java.util.Vector; + import mycompiler.mytypereconstruction.replacementlistener.CReplaceTypeEvent; import mycompiler.mytypereconstruction.replacementlistener.ITypeReplacementListener; import typinferenz.ConstraintsSet; import typinferenz.JavaCodeResult; import typinferenz.ResultSet; import typinferenz.SingleConstraint; -import typinferenz.TypeInsertPoint; import typinferenz.TypeInsertable; import typinferenz.assumptions.TypeAssumptions; +import typinferenz.typedeployment.TypeInsertPoint; // ino.class.GenericTypeVar.26505.description type=javadoc diff --git a/src/mycompiler/mytype/TypePlaceholder.java b/src/mycompiler/mytype/TypePlaceholder.java index 852758169..a443aea67 100755 --- a/src/mycompiler/mytype/TypePlaceholder.java +++ b/src/mycompiler/mytype/TypePlaceholder.java @@ -10,9 +10,9 @@ import java.util.logging.Logger; import typinferenz.JavaCodeResult; import typinferenz.ResultSet; -import typinferenz.TypeInsertPoint; -import typinferenz.TypeInsertSet; import typinferenz.TypeInsertable; +import typinferenz.typedeployment.TypeInsertPoint; +import typinferenz.typedeployment.TypeInsertSet; import mycompiler.MyCompiler; import mycompiler.mytypereconstruction.replacementlistener.CReplaceTypeEvent; import mycompiler.mytypereconstruction.replacementlistener.IReplaceTypeEventProvider; diff --git a/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java b/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java index ee5a04619..51575b459 100755 --- a/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java +++ b/src/mycompiler/mytypereconstruction/TypeinferenceResultSet.java @@ -9,10 +9,10 @@ import java.util.Vector; import typinferenz.ConstraintsSet; import typinferenz.ResultSet; -import typinferenz.TypeInsertPoint; -import typinferenz.TypeInsertSet; import typinferenz.assumptions.TypeAssumptions; import typinferenz.exceptions.TypeinferenceException; +import typinferenz.typedeployment.TypeInsertPoint; +import typinferenz.typedeployment.TypeInsertSet; import mycompiler.mytype.GenericTypeVar; import mycompiler.mytype.Pair; import mycompiler.mytype.RefType; @@ -73,7 +73,6 @@ public class TypeinferenceResultSet public Vector getConstraints() { return this.constraints; } - /** * @author Andreas Stadelmeier, a10023 @@ -114,7 +113,7 @@ public class TypeinferenceResultSet * @return */ public TypeInsertSet getTypeInsertionPoints(){ - TypeInsertSet ret = new TypeInsertSet(); + TypeInsertSet ret = new TypeInsertSet(this.unifiedConstraints); this.ownerOfResultSet.addTypeInsertPoints(ret,this.unifiedConstraints); diff --git a/src/typinferenz/FunNMethod.java b/src/typinferenz/FunNMethod.java index 7da2b3df2..269a58ab7 100644 --- a/src/typinferenz/FunNMethod.java +++ b/src/typinferenz/FunNMethod.java @@ -2,6 +2,7 @@ package typinferenz; import java.util.Vector; +import typinferenz.typedeployment.TypeInsertPoint; import mycompiler.mytype.*; import mycompiler.myclass.*; import mycompiler.mytype.TypePlaceholder; diff --git a/src/typinferenz/GenericTypeInsertPoint.java b/src/typinferenz/GenericTypeInsertPoint.java index d2dce726c..8aed5e8e5 100644 --- a/src/typinferenz/GenericTypeInsertPoint.java +++ b/src/typinferenz/GenericTypeInsertPoint.java @@ -4,6 +4,7 @@ import java.util.Iterator; import java.util.Vector; import typinferenz.exceptions.DebugException; +import typinferenz.typedeployment.TypeInsertPoint; import mycompiler.IItemWithOffset; import mycompiler.SyntaxTreeNode; import mycompiler.mytype.GenericTypeVar; @@ -19,6 +20,7 @@ import mycompiler.mytype.TypePlaceholder; */ public class GenericTypeInsertPoint extends TypeInsertPoint { + private Vector genericPairs = new Vector(); public GenericTypeInsertPoint(TypeInsertPoint p) { @@ -100,9 +102,10 @@ public class GenericTypeInsertPoint extends TypeInsertPoint { } @Override - public IItemWithOffset getInsertNode(){ + public TypeInsertable getInsertNode(){ return super.getGenericTypeVarInsertNode(); } + /** * Versucht den GenericTypeInsertPoint mit dem bergebenenen p2 zusam * basierend auf ihren insertPoints. @@ -121,4 +124,17 @@ public class GenericTypeInsertPoint extends TypeInsertPoint { return ret; } + @Override + public JavaCodeResult insertType(String fileContent, int additionalOffset) { + //TODO: Es kann sein, dass eine Methode bereits Generische Variablen hat, diese müssen dann an diese Liste angefügt werden. + return super.insertType(fileContent, additionalOffset); + } + + public boolean associatedWith(TypeInsertPoint tip, ResultSet resultSet) { + if(!(tip.point instanceof TypePlaceholder))return false; + Vector tphs = new Vector<>(); + tphs.add((TypePlaceholder)tip.point); + resultSet.getConstraintsFor(tphs); + return false; + } } diff --git a/src/typinferenz/TypeInsertable.java b/src/typinferenz/TypeInsertable.java index c7d9fe084..ca93a49e6 100644 --- a/src/typinferenz/TypeInsertable.java +++ b/src/typinferenz/TypeInsertable.java @@ -1,5 +1,6 @@ package typinferenz; +import typinferenz.typedeployment.TypeInsertPoint; import mycompiler.IItemWithOffset; import mycompiler.mytype.TypePlaceholder; import mycompiler.mytypereconstruction.replacementlistener.ITypeReplacementListener; diff --git a/src/typinferenz/TypeInsertPoint.java b/src/typinferenz/typedeployment/TypeInsertPoint.java similarity index 88% rename from src/typinferenz/TypeInsertPoint.java rename to src/typinferenz/typedeployment/TypeInsertPoint.java index 7ac41981c..33741cd9a 100644 --- a/src/typinferenz/TypeInsertPoint.java +++ b/src/typinferenz/typedeployment/TypeInsertPoint.java @@ -1,7 +1,10 @@ -package typinferenz; +package typinferenz.typedeployment; import java.util.Vector; +import typinferenz.JavaCodeResult; +import typinferenz.ResultSet; +import typinferenz.TypeInsertable; import typinferenz.exceptions.DebugException; import mycompiler.myclass.*; import mycompiler.myclass.Class; @@ -18,9 +21,9 @@ import mycompiler.mytypereconstruction.replacementlistener.ITypeReplacementListe */ public class TypeInsertPoint implements Comparable{ - protected IItemWithOffset point; - protected Type type; - protected ResultSet resultSet; + public TypeInsertable point; + public Type type; + public ResultSet resultSet; /** * Dieser Konstruktor erstellt einen TypInsertPoint @@ -29,7 +32,7 @@ public class TypeInsertPoint implements Comparable{ * @param resultSet * @param generics - die generischen Parameter des einzusetzenden Typs */ - public TypeInsertPoint(IItemWithOffset insertPoint, Type insertType, ResultSet resultSet){ + public TypeInsertPoint(TypeInsertable insertPoint, Type insertType, ResultSet resultSet){ this.point = insertPoint; this.type = insertType; this.resultSet = resultSet; @@ -106,10 +109,7 @@ public class TypeInsertPoint implements Comparable{ return resultSet; } - public IItemWithOffset getGenericTypeVarInsertNode() { - if(! (this.point instanceof SyntaxTreeNode)){ - throw new DebugException("Ein IItemWithOffset muss immer auch ein SyntaxTreeNode sein"); - } + public TypeInsertable getGenericTypeVarInsertNode() { SyntaxTreeNode ret = (SyntaxTreeNode)this.point; while(!(ret instanceof Field || ret instanceof Class)){ ret = ret.getParent(); @@ -117,7 +117,7 @@ public class TypeInsertPoint implements Comparable{ throw new DebugException(this.getInsertNode().toString()+" hat kein Feld oder Klasse als Elternelement"); } } - return (IItemWithOffset)ret; + return (TypeInsertable) ret; } } diff --git a/src/typinferenz/TypeInsertSet.java b/src/typinferenz/typedeployment/TypeInsertSet.java similarity index 70% rename from src/typinferenz/TypeInsertSet.java rename to src/typinferenz/typedeployment/TypeInsertSet.java index 6f329e7f7..de4132928 100644 --- a/src/typinferenz/TypeInsertSet.java +++ b/src/typinferenz/typedeployment/TypeInsertSet.java @@ -1,10 +1,14 @@ -package typinferenz; +package typinferenz.typedeployment; import java.util.Collections; import java.util.HashMap; import java.util.Iterator; import java.util.Vector; +import typinferenz.GenericTypeInsertPoint; +import typinferenz.JavaCodeResult; +import typinferenz.ResultSet; +import typinferenz.TypeInsertable; import mycompiler.IItemWithOffset; import mycompiler.SyntaxTreeNode; import mycompiler.mytype.GenericTypeVar; @@ -26,8 +30,10 @@ public class TypeInsertSet { public Vector points = new Vector(); private Vector genericTypeInsertPoints = new Vector(); + private ResultSet resultSet; - public TypeInsertSet() { + public TypeInsertSet(ResultSet resultSet) { + this.resultSet = resultSet; } /** @@ -53,26 +59,56 @@ public class TypeInsertSet { * @return */ public String insertType(TypeInsertPoint tip, String fileContent){ - TypeInsertSet tis = new TypeInsertSet(); + TypePatchJob tpj = new TypePatchJob(); int additionalOffset = 0; String ret = fileContent; JavaCodeResult unresolvedTPHs = tip.insertType(ret, additionalOffset); for(TypePlaceholder tph : unresolvedTPHs.getUnresolvedTPH()){ - GenericTypeInsertPoint genericTIP = new GenericTypeInsertPoint((TypeInsertable)tip.getGenericTypeVarInsertNode(),tph,tip.getResultSet()); - tis.add(genericTIP); + GenericTypeInsertPoint genericTIP = new GenericTypeInsertPoint(tip.getGenericTypeVarInsertNode(),tph,tip.getResultSet()); + tpj.add(genericTIP); } - tis.add(tip); + tpj.add(tip); - return tis.insertAllTypes(fileContent); + return tpj.run(fileContent); } + /** + * Fügt einen einzelnen TypeInsertPoint einem TypePatchJob hinzu + * @param tip + * @param tpj + */ + public void insertType(TypeInsertPoint tip, TypePatchJob tpj){ + for(GenericTypeInsertPoint gip : this.genericTypeInsertPoints){ + if(gip.associatedWith(tip, this.resultSet)){ + tpj.add(gip); + } + } + tpj.add(tip); + } + + /* + * Der Plan: + * SyntaxTreeNode generiert die TypeInsertPoints. + * Beim Einsetzen eines TIP werden die ebenfalls von den SyntaxTreeNodes berechneten GenericInsertPoints durchsucht nach den Punkten + * die mit dem einzusetzenden TIP zusammenhängen. + * Das funktioniert mithilfe des ResultSets. Denn es müssen alle Constraints mit einbezogen werden, da der Unify + * Algorithmus als Ergebnis nur die zu einem RefType aufgelösten TPHs ausgibt. + * + */ + /** * Fügt alle Typen dieses TypeInsertSets in den übergebenen Quellcode ein * @param fileContent * @return */ public String insertAllTypes(String fileContent) { - + //TODO: Das hier kann nicht funktionieren. Nach jedem einsetzen eines TIP muss momentan neu geparst werden + TypePatchJob tpj = new TypePatchJob(); + for(TypeInsertPoint tip : this.points){ + this.insertType(tip, tpj); + } + return tpj.run(fileContent); + /* int additionalOffset = 0; String ret = fileContent; @@ -105,6 +141,7 @@ public class TypeInsertSet { additionalOffset += p.getInsertLength(); } return ret; + */ } /** @@ -166,3 +203,26 @@ public class TypeInsertSet { } } + +/** + * Stellt eine Reihe von TypeInsertions dar + */ +class TypePatchJob{ + private Vector points = new Vector<>(); + void add(TypeInsertPoint tip){ + points.add(tip); + } + String run(String fileContent){ + //sortieren (nach dem Offset der InsertPoints): + Collections.sort(points); + int additionalOffset = 0; + for(TypeInsertPoint p : points){ + //Zuerst den Typ einsetzen + JavaCodeResult insertCode = p.insertType(fileContent, additionalOffset); + fileContent = insertCode.toString(); + //Dann Additional Offset korrigieren: + additionalOffset += p.getInsertLength(); + } + return fileContent; + } +} diff --git a/test/plugindevelopment/InsertSingleTypeTest.java b/test/plugindevelopment/InsertSingleTypeTest.java index 0c6ae47ce..0a524771a 100644 --- a/test/plugindevelopment/InsertSingleTypeTest.java +++ b/test/plugindevelopment/InsertSingleTypeTest.java @@ -15,8 +15,8 @@ import mycompiler.MyCompiler; import mycompiler.MyCompilerAPI; import mycompiler.myparser.JavaParser.yyException; import mycompiler.mytypereconstruction.TypeinferenceResultSet; -import typinferenz.TypeInsertPoint; -import typinferenz.TypeInsertSet; +import typinferenz.typedeployment.TypeInsertPoint; +import typinferenz.typedeployment.TypeInsertSet; public class InsertSingleTypeTest { private static final String testFile = "SingleTypeInsertTest.jav"; diff --git a/test/plugindevelopment/MartinTestCases/Tester.java b/test/plugindevelopment/MartinTestCases/Tester.java index 98769837c..2f9778e06 100644 --- a/test/plugindevelopment/MartinTestCases/Tester.java +++ b/test/plugindevelopment/MartinTestCases/Tester.java @@ -13,7 +13,7 @@ import mycompiler.MyCompiler; import mycompiler.MyCompilerAPI; import mycompiler.myparser.JavaParser.yyException; import mycompiler.mytypereconstruction.TypeinferenceResultSet; -import typinferenz.TypeInsertSet; +import typinferenz.typedeployment.TypeInsertSet; public class Tester extends TypeInsertTester{ diff --git a/test/plugindevelopment/TRMEqualTest.java b/test/plugindevelopment/TRMEqualTest.java index b3ae20d60..0dd52a0f5 100644 --- a/test/plugindevelopment/TRMEqualTest.java +++ b/test/plugindevelopment/TRMEqualTest.java @@ -21,9 +21,9 @@ import mycompiler.mytype.TypePlaceholder; import mycompiler.mytypereconstruction.TypeinferenceResultSet; import mycompiler.mytypereconstruction.replacementlistener.CReplaceTypeEvent; import typinferenz.ResultSet; -import typinferenz.TypeInsertPoint; -import typinferenz.TypeInsertSet; import typinferenz.TypeInsertable; +import typinferenz.typedeployment.TypeInsertPoint; +import typinferenz.typedeployment.TypeInsertSet; public class TRMEqualTest { Vector replaceSet = new Vector(); @@ -56,7 +56,7 @@ public class TRMEqualTest { resultContent.add(pair); ResultSet resultSet = new ResultSet(resultContent); Vector tphs = tph.getTypeInsertPoints(resultSet); - TypeInsertSet toAdd = new TypeInsertSet(); + TypeInsertSet toAdd = new TypeInsertSet(resultSet); for(TypeInsertPoint tip : tphs){ toAdd.add(tip); } diff --git a/test/plugindevelopment/TypeInsertSetEqualTest.java b/test/plugindevelopment/TypeInsertSetEqualTest.java index 836aa2b06..592a9f1e2 100644 --- a/test/plugindevelopment/TypeInsertSetEqualTest.java +++ b/test/plugindevelopment/TypeInsertSetEqualTest.java @@ -12,7 +12,7 @@ import mycompiler.mytypereconstruction.TypeinferenceResultSet; import org.junit.Test; -import typinferenz.TypeInsertSet; +import typinferenz.typedeployment.TypeInsertSet; public class TypeInsertSetEqualTest { diff --git a/test/plugindevelopment/TypeInsertTester.java b/test/plugindevelopment/TypeInsertTester.java index 781fbd735..f1129eac2 100644 --- a/test/plugindevelopment/TypeInsertTester.java +++ b/test/plugindevelopment/TypeInsertTester.java @@ -17,8 +17,8 @@ import org.apache.log4j.Logger; import org.apache.log4j.PatternLayout; import org.apache.log4j.SimpleLayout; -import typinferenz.TypeInsertPoint; -import typinferenz.TypeInsertSet; +import typinferenz.typedeployment.TypeInsertPoint; +import typinferenz.typedeployment.TypeInsertSet; import junit.framework.TestCase; import mycompiler.MyCompiler; import mycompiler.MyCompilerAPI; diff --git a/test/plugindevelopment/TypeInsertTests/BoundedGenericsTest.java b/test/plugindevelopment/TypeInsertTests/BoundedGenericsTest.java index f0c5094ab..6e2c772c8 100644 --- a/test/plugindevelopment/TypeInsertTests/BoundedGenericsTest.java +++ b/test/plugindevelopment/TypeInsertTests/BoundedGenericsTest.java @@ -10,7 +10,7 @@ public class BoundedGenericsTest { @Test public void run(){ Vector mustContain = new Vector(); - mustContain.add("var"); + mustContain.add("java.lang.String var"); MultipleTypesInsertTester.test(this.TEST_FILE, mustContain); } } diff --git a/test/plugindevelopment/TypeInsertTests/GenericParaListInsertTest.jav b/test/plugindevelopment/TypeInsertTests/GenericParaListInsertTest.jav new file mode 100644 index 000000000..e3c98b2b3 --- /dev/null +++ b/test/plugindevelopment/TypeInsertTests/GenericParaListInsertTest.jav @@ -0,0 +1,3 @@ +class GenericParaListInsertTest{ +methode(a){return a;} +} \ No newline at end of file diff --git a/test/plugindevelopment/TypeInsertTests/GenericParaListInsertTest.java b/test/plugindevelopment/TypeInsertTests/GenericParaListInsertTest.java new file mode 100644 index 000000000..d88ca52cc --- /dev/null +++ b/test/plugindevelopment/TypeInsertTests/GenericParaListInsertTest.java @@ -0,0 +1,16 @@ +package plugindevelopment.TypeInsertTests; + +import java.util.Vector; + +import org.junit.Test; + +public class GenericParaListInsertTest { + private static final String TEST_FILE = "GenericParaListInsertTest.jav"; + + @Test + public void run(){ + Vector mustContain = new Vector(); + mustContain.add("<"); //Es muss eine Parameterliste generiert werden. + MultipleTypesInsertTester.test(this.TEST_FILE, mustContain); + } +} diff --git a/test/plugindevelopment/TypeInsertTests/MultipleTypesInsertTester.java b/test/plugindevelopment/TypeInsertTests/MultipleTypesInsertTester.java index 593cd0bc9..16229e7b1 100644 --- a/test/plugindevelopment/TypeInsertTests/MultipleTypesInsertTester.java +++ b/test/plugindevelopment/TypeInsertTests/MultipleTypesInsertTester.java @@ -10,7 +10,7 @@ import mycompiler.MyCompiler; import mycompiler.MyCompilerAPI; import mycompiler.myparser.JavaParser.yyException; import mycompiler.mytypereconstruction.TypeinferenceResultSet; -import typinferenz.TypeInsertSet; +import typinferenz.typedeployment.TypeInsertSet; public class MultipleTypesInsertTester extends TypeInsertTester{ diff --git a/test/plugindevelopment/TypeInsertTests/OverloadingInsertTest.java b/test/plugindevelopment/TypeInsertTests/OverloadingInsertTest.java index 1347e703d..77e3ea9d9 100644 --- a/test/plugindevelopment/TypeInsertTests/OverloadingInsertTest.java +++ b/test/plugindevelopment/TypeInsertTests/OverloadingInsertTest.java @@ -12,7 +12,7 @@ import mycompiler.mytypereconstruction.TypeinferenceResultSet; import org.junit.Test; -import typinferenz.TypeInsertSet; +import typinferenz.typedeployment.TypeInsertSet; public class OverloadingInsertTest { private static final String TEST_FILE = "OverloadingInsertTest.jav"; From eec8e4d1a8b6a16b6844cf0613ce4892e740480f Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Fri, 20 Jun 2014 11:18:45 +0200 Subject: [PATCH 79/79] =?UTF-8?q?Generics=20werden=20eingesetzt.=20Unvolls?= =?UTF-8?q?t=C3=A4ndiger=20Zustand?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/mycompiler/SyntaxTreeNode.java | 6 ++++-- src/typinferenz/GenericTypeInsertPoint.java | 17 ++++++++++++----- .../typedeployment/TypeInsertSet.java | 18 +++++++++--------- test/plugindevelopment/TRMEqualTest.java | 2 +- 4 files changed, 26 insertions(+), 17 deletions(-) diff --git a/src/mycompiler/SyntaxTreeNode.java b/src/mycompiler/SyntaxTreeNode.java index 378fa8142..1b5cab308 100644 --- a/src/mycompiler/SyntaxTreeNode.java +++ b/src/mycompiler/SyntaxTreeNode.java @@ -86,15 +86,17 @@ public abstract class SyntaxTreeNode{ tip = that.createTypeInsertPoint((TypePlaceholder) t, result); insertSet.add(tip);//ret.addAll(((TypePlaceholder)t).getTypeInsertPoints(result)); } - /* + //Für den Fall, dass dieser Knoten Generische Variablen halten kann. if(that instanceof Generic && that.getOffset()>=0){ //Alle unresolvedTPHs ermitteln und GenericTypeVarInsertPoints bilden: Vector uTPHs = insertSet.getUnresolvedTPHs(); + /* for(TypePlaceholder tph : uTPHs){//GenericInsertPoints für diese TPHs bilden: GenericTypeInsertPoint genericTIP = new GenericTypeInsertPoint(that,tph,result); insertSet.add(genericTIP); } + */ if(uTPHs.size()>0){//Nur wenn es auch unresolvedTPHs gibt: Vector gPairs = result.getConstraintsFor(uTPHs); if(gPairs.size()>0){ @@ -103,7 +105,7 @@ public abstract class SyntaxTreeNode{ } } } - */ + } diff --git a/src/typinferenz/GenericTypeInsertPoint.java b/src/typinferenz/GenericTypeInsertPoint.java index 8aed5e8e5..0ca14fd76 100644 --- a/src/typinferenz/GenericTypeInsertPoint.java +++ b/src/typinferenz/GenericTypeInsertPoint.java @@ -127,14 +127,21 @@ public class GenericTypeInsertPoint extends TypeInsertPoint { @Override public JavaCodeResult insertType(String fileContent, int additionalOffset) { //TODO: Es kann sein, dass eine Methode bereits Generische Variablen hat, diese müssen dann an diese Liste angefügt werden. - return super.insertType(fileContent, additionalOffset); + + return super.insertType(fileContent, additionalOffset); } public boolean associatedWith(TypeInsertPoint tip, ResultSet resultSet) { - if(!(tip.point instanceof TypePlaceholder))return false; - Vector tphs = new Vector<>(); - tphs.add((TypePlaceholder)tip.point); - resultSet.getConstraintsFor(tphs); + if((tip.type instanceof TypePlaceholder)){ + Vector tphs = new Vector<>(); + tphs.add((TypePlaceholder)tip.type); + for(Pair p : resultSet.getConstraintsFor(tphs)){ + if(p.TA1.equals(this.type))return true; + if(p.TA2.equals(this.type))return true; + if(this.genericPairs.contains(p))return true; + } + } + return false; } } diff --git a/src/typinferenz/typedeployment/TypeInsertSet.java b/src/typinferenz/typedeployment/TypeInsertSet.java index de4132928..91e30e65d 100644 --- a/src/typinferenz/typedeployment/TypeInsertSet.java +++ b/src/typinferenz/typedeployment/TypeInsertSet.java @@ -16,6 +16,14 @@ import mycompiler.mytype.Pair; import mycompiler.mytype.RefType; import mycompiler.mytype.TypePlaceholder; +/* + * Der Plan: + * SyntaxTreeNode generiert die TypeInsertPoints. + * Beim Einsetzen eines TIP werden die ebenfalls von den SyntaxTreeNodes berechneten GenericInsertPoints durchsucht nach den Punkten + * die mit dem einzusetzenden TIP zusammenhängen. + * Das funktioniert mithilfe des ResultSets. Denn es müssen alle Constraints mit einbezogen werden, da der Unify + * Algorithmus als Ergebnis nur die zu einem RefType aufgelösten TPHs ausgibt. + */ /** * Bündelt ein Set von TypeInsertPoints, die alle zu einem TypePlaceholder gehören. * Diese müssen gemeinsam eingesetzt werden. @@ -86,15 +94,7 @@ public class TypeInsertSet { tpj.add(tip); } - /* - * Der Plan: - * SyntaxTreeNode generiert die TypeInsertPoints. - * Beim Einsetzen eines TIP werden die ebenfalls von den SyntaxTreeNodes berechneten GenericInsertPoints durchsucht nach den Punkten - * die mit dem einzusetzenden TIP zusammenhängen. - * Das funktioniert mithilfe des ResultSets. Denn es müssen alle Constraints mit einbezogen werden, da der Unify - * Algorithmus als Ergebnis nur die zu einem RefType aufgelösten TPHs ausgibt. - * - */ + /** * Fügt alle Typen dieses TypeInsertSets in den übergebenen Quellcode ein diff --git a/test/plugindevelopment/TRMEqualTest.java b/test/plugindevelopment/TRMEqualTest.java index 0dd52a0f5..c10221f27 100644 --- a/test/plugindevelopment/TRMEqualTest.java +++ b/test/plugindevelopment/TRMEqualTest.java @@ -48,8 +48,8 @@ public class TRMEqualTest { addTestNode("Typ1"); assertTrue("Nach dem Anfügen des selben Typs wie zuvor muss das Set immer noch 2 Element enthalten. Und nicht "+replaceSet.size(),replaceSet.size()==2); } + private void addTestNode(String type){ - Vector resultContent = new Vector(); Pair pair = new Pair(tph,new RefType(type,0)); pair.SetOperator(PairOperator.Equal);