From 6ce9f4415e915af7deda3f980b8ce4cac63af942 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Pl=C3=BCmicke?= Date: Thu, 18 Oct 2018 23:47:38 +0200 Subject: [PATCH 01/31] modified: ../../src/de/dhbwstuttgart/core/JavaTXCompiler.java modified: ../../src/de/dhbwstuttgart/typeinference/constraints/ConstraintSet.java --- src/de/dhbwstuttgart/core/JavaTXCompiler.java | 155 ++++++++++++++++++ .../constraints/ConstraintSet.java | 18 ++ 2 files changed, 173 insertions(+) diff --git a/src/de/dhbwstuttgart/core/JavaTXCompiler.java b/src/de/dhbwstuttgart/core/JavaTXCompiler.java index c09c90b01..7884b85fb 100644 --- a/src/de/dhbwstuttgart/core/JavaTXCompiler.java +++ b/src/de/dhbwstuttgart/core/JavaTXCompiler.java @@ -215,6 +215,118 @@ public class JavaTXCompiler { new ResultSet(UnifyTypeFactory.convert(unifyPairs, generateTPHMap(cons))))).collect(Collectors.toList()); } + + public List typeInferenceNew() throws ClassNotFoundException { + List allClasses = new ArrayList<>();//environment.getAllAvailableClasses(); + //Alle Importierten Klassen in allen geparsten Sourcefiles kommen ins FC + for(SourceFile sf : this.sourceFiles.values()) { + allClasses.addAll(getAvailableClasses(sf)); + allClasses.addAll(sf.getClasses()); + } + + final ConstraintSet cons = getConstraints(); + + FiniteClosure finiteClosure = UnifyTypeFactory.generateFC(allClasses); + System.out.println(finiteClosure); + ConstraintSet unifyCons = UnifyTypeFactory.convert(cons); + + TypeUnify unify = new TypeUnify(); + Set> results = new HashSet<>(); + try { + FileWriter logFile = new FileWriter(new File(System.getProperty("user.dir")+"/test/logFiles/"+"log")); + logFile.write("FC:\\" + finiteClosure.toString()+"\n"); + for(SourceFile sf : this.sourceFiles.values()) { + logFile.write(ASTTypePrinter.print(sf)); + } + logFile.flush(); + Set>> cardProd = unifyCons.cartesianProduct(); + for (List> xCons : cardProd ){ + Set xConsSet = new HashSet<>(); + for (Constraint constraint : xCons) { + xConsSet.addAll(constraint); + } + //.collect(Collectors.toCollection(ArrayList::new)))) + System.out.println(xConsSet); + Set paraTypeVarNames = allClasses.stream().map(x -> x.getMethods().stream().map(y -> y.getParameterList().getFormalparalist() + .stream().filter(z -> z.getType() instanceof TypePlaceholder) + .map(z -> ((TypePlaceholder)z.getType()).getName()).collect(Collectors.toCollection(HashSet::new))) + .reduce(new HashSet(), (a,b) -> { a.addAll(b); return a;}, (a,b) -> { a.addAll(b); return a;} ) ) + .reduce(new HashSet(), (a,b) -> { a.addAll(b); return a;} ); + + Set returnTypeVarNames = allClasses.stream().map(x -> x.getMethods().stream().filter(y -> y.getReturnType() instanceof TypePlaceholder) + .map(z -> ((TypePlaceholder)z.getReturnType()).getName()).collect(Collectors.toCollection(HashSet::new))).reduce((a,b) -> { a.addAll(b); return a;} ).get(); + + Set fieldTypeVarNames = allClasses.stream().map(x -> x.getFieldDecl().stream().filter(y -> y.getReturnType() instanceof TypePlaceholder) + .map(z -> ((TypePlaceholder)z.getReturnType()).getName()).collect(Collectors.toCollection(HashSet::new))).reduce((a,b) -> { a.addAll(b); return a;} ).get(); + + returnTypeVarNames.addAll(fieldTypeVarNames); + + unifyCons = unifyCons.map(x -> { + //Hier muss ueberlegt werden, ob + //1. alle Argument- und Retuntyp-Variablen in allen UnifyPairs + // mit disableWildcardtable() werden. + //2. alle Typvariablen mit Argument- oder Retuntyp-Variablen + //in Beziehung auch auf disableWildcardtable() gesetzt werden muessen + //PL 2018-04-23 + if ((x.getLhsType() instanceof PlaceholderType)) { + if (paraTypeVarNames.contains(x.getLhsType().getName())) { + ((PlaceholderType)x.getLhsType()).setVariance((byte)1); + ((PlaceholderType)x.getLhsType()).disableWildcardtable(); + } + if (returnTypeVarNames.contains(x.getLhsType().getName())) { + ((PlaceholderType)x.getLhsType()).setVariance((byte)-1); + ((PlaceholderType)x.getLhsType()).disableWildcardtable(); + } + } + if ((x.getRhsType() instanceof PlaceholderType)) { + if (paraTypeVarNames.contains(x.getRhsType().getName())) { + ((PlaceholderType)x.getRhsType()).setVariance((byte)1); + ((PlaceholderType)x.getRhsType()).disableWildcardtable(); + } + if (returnTypeVarNames.contains(x.getRhsType().getName())) { + ((PlaceholderType)x.getRhsType()).setVariance((byte)-1); + ((PlaceholderType)x.getRhsType()).disableWildcardtable(); + } + } + return x;//HIER DIE JEWEILS RECHT BZW. LINKE SEITE AUF GLEICHE VARIANZ SETZEN WIE DIE JEWEILS ANDERE SEITE + }).map( y -> { + if ((y.getLhsType() instanceof PlaceholderType) && (y.getRhsType() instanceof PlaceholderType)) { + if (((PlaceholderType)y.getLhsType()).getVariance() != 0 && ((PlaceholderType)y.getRhsType()).getVariance() == 0) { + ((PlaceholderType)y.getRhsType()).setVariance(((PlaceholderType)y.getLhsType()).getVariance()); + } + if (((PlaceholderType)y.getLhsType()).getVariance() == 0 && ((PlaceholderType)y.getRhsType()).getVariance() != 0) { + ((PlaceholderType)y.getLhsType()).setVariance(((PlaceholderType)y.getRhsType()).getVariance()); + } + } + return y; } ); + varianceInheritanceConstrainSet(unifyCons); + Set> result = unify.unifySequential(xConsSet, finiteClosure, logFile, log); + //Set> result = unify.unify(xConsSet, finiteClosure); + System.out.println("RESULT: " + result); + logFile.write("RES: " + result.toString()+"\n"); + logFile.flush(); + results.addAll(result); + } + + results = results.stream().map(x -> { + Optional> res = new RuleSet().subst(x.stream().map(y -> { + if (y.getPairOp() == PairOperator.SMALLERDOTWC) y.setPairOp(PairOperator.EQUALSDOT); + return y; //alle Paare a <.? b erden durch a =. b ersetzt + }).collect(Collectors.toCollection(HashSet::new))); + if (res.isPresent()) {//wenn subst ein Erg liefert wurde was veraendert + return new TypeUnifyTask().applyTypeUnificationRules(res.get(), finiteClosure); + } + else return x; //wenn nichts veraendert wurde wird x zurueckgegeben + }).collect(Collectors.toCollection(HashSet::new)); + System.out.println("RESULT Final: " + results); + logFile.write("RES_FINAL: " + results.toString()+"\n"); + logFile.flush(); + } + catch (IOException e) { } + return results.stream().map((unifyPairs -> + new ResultSet(UnifyTypeFactory.convert(unifyPairs, generateTPHMap(cons))))).collect(Collectors.toList()); + } + /** * Vererbt alle Variancen * @param eq The set of constraints @@ -245,6 +357,49 @@ public class JavaTXCompiler { phSetVariance.removeIf(x -> (x.getVariance() == 0 || usedTPH.contains(x))); } } + + /** + * Vererbt alle Variancen + * @param eq The set of constraints + */ + private void varianceInheritanceConstrainSet(ConstraintSet cons) { + Set eq = cons.getAll(); + Set usedTPH = new HashSet<>(); + Set phSet = eq.stream().map(x -> { + Set pair = new HashSet<>(); + if (x.getLhsType() instanceof PlaceholderType) pair.add((PlaceholderType)x.getLhsType()); + if (x.getRhsType() instanceof PlaceholderType) pair.add((PlaceholderType)x.getRhsType()); + return pair; + }).reduce(new HashSet<>(), (a,b) -> { a.addAll(b); return a;} , (c,d) -> { c.addAll(d); return c;}); + + ArrayList phSetVariance = new ArrayList<>(phSet); + phSetVariance.removeIf(x -> (x.getVariance() == 0)); + while(!phSetVariance.isEmpty()) { + PlaceholderType a = phSetVariance.remove(0); + usedTPH.add(a); + //HashMap ht = new HashMap<>(); + //ht.put(a, a.getVariance()); + //ConstraintSet eq1 = cons; + //eq1.removeIf(x -> !(x.getLhsType() instanceof PlaceholderType && ((PlaceholderType)x.getLhsType()).equals(a))); + //durch if-Abfrage im foreach geloest + cons.forEach(x -> { + if (x.getLhsType() instanceof PlaceholderType && ((PlaceholderType)x.getLhsType()).equals(a)) { + x.getRhsType().accept(new distributeVariance(), a.getVariance()); + } + }); + //` eq1 = new HashSet<>(eq); + //eq1.removeIf(x -> !(x.getRhsType() instanceof PlaceholderType && ((PlaceholderType)x.getRhsType()).equals(a))); + //durch if-Abfrage im foreach geloest + cons.forEach(x -> { + if (x.getRhsType() instanceof PlaceholderType && ((PlaceholderType)x.getRhsType()).equals(a)) { + x.getLhsType().accept(new distributeVariance(), a.getVariance()); + } + }); + //phSetVariance = new ArrayList<>(phSet); macht vermutlich keinen Sinn PL 2018-10-18 + //phSetVariance.removeIf(x -> (x.getVariance() == 0 || usedTPH.contains(x))); + } + } + private Map generateTPHMap(ConstraintSet constraints) { HashMap ret = new HashMap<>(); diff --git a/src/de/dhbwstuttgart/typeinference/constraints/ConstraintSet.java b/src/de/dhbwstuttgart/typeinference/constraints/ConstraintSet.java index 01356fe9a..09984d28c 100644 --- a/src/de/dhbwstuttgart/typeinference/constraints/ConstraintSet.java +++ b/src/de/dhbwstuttgart/typeinference/constraints/ConstraintSet.java @@ -5,6 +5,7 @@ import de.dhbwstuttgart.typeinference.unify.GuavaSetOperations; import de.dhbwstuttgart.typeinference.unify.model.UnifyPair; import java.util.*; +import java.util.function.Consumer; import java.util.function.Function; import java.util.stream.Collectors; @@ -52,4 +53,21 @@ public class ConstraintSet { ret.oderConstraints = newOder; return ret; } + + public void forEach (Consumer c) { + undConstraints.stream().forEach(c); + for(Set> oderConstraint : oderConstraints){ + oderConstraint.parallelStream().forEach((Constraint as) -> + as.stream().forEach(c)); + } + } + + public Set getAll () { + Set ret = new HashSet<>(); + ret.addAll(undConstraints); + for(Set> oderConstraint : oderConstraints){ + oderConstraint.parallelStream().forEach((Constraint as) -> ret.addAll(as)); + } + return ret; + } } From 6a87f443e4b5989a37296737d30097930b066a90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Pl=C3=BCmicke?= Date: Fri, 19 Oct 2018 13:08:37 +0200 Subject: [PATCH 02/31] modified: ../../src/de/dhbwstuttgart/core/JavaTXCompiler.java modified: ../../src/de/dhbwstuttgart/typeinference/constraints/ConstraintSet.java modified: ../../src/de/dhbwstuttgart/typeinference/unify/TypeUnify.java modified: ../../src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java --- src/de/dhbwstuttgart/core/JavaTXCompiler.java | 122 ++++---- .../constraints/ConstraintSet.java | 8 + .../typeinference/unify/TypeUnify.java | 8 + .../typeinference/unify/TypeUnifyTask.java | 269 +++++++++++++++++- 4 files changed, 343 insertions(+), 64 deletions(-) diff --git a/src/de/dhbwstuttgart/core/JavaTXCompiler.java b/src/de/dhbwstuttgart/core/JavaTXCompiler.java index 7884b85fb..f984d8c8d 100644 --- a/src/de/dhbwstuttgart/core/JavaTXCompiler.java +++ b/src/de/dhbwstuttgart/core/JavaTXCompiler.java @@ -239,75 +239,69 @@ public class JavaTXCompiler { logFile.write(ASTTypePrinter.print(sf)); } logFile.flush(); - Set>> cardProd = unifyCons.cartesianProduct(); - for (List> xCons : cardProd ){ - Set xConsSet = new HashSet<>(); - for (Constraint constraint : xCons) { - xConsSet.addAll(constraint); - } - //.collect(Collectors.toCollection(ArrayList::new)))) - System.out.println(xConsSet); - Set paraTypeVarNames = allClasses.stream().map(x -> x.getMethods().stream().map(y -> y.getParameterList().getFormalparalist() - .stream().filter(z -> z.getType() instanceof TypePlaceholder) - .map(z -> ((TypePlaceholder)z.getType()).getName()).collect(Collectors.toCollection(HashSet::new))) - .reduce(new HashSet(), (a,b) -> { a.addAll(b); return a;}, (a,b) -> { a.addAll(b); return a;} ) ) - .reduce(new HashSet(), (a,b) -> { a.addAll(b); return a;} ); - Set returnTypeVarNames = allClasses.stream().map(x -> x.getMethods().stream().filter(y -> y.getReturnType() instanceof TypePlaceholder) + Set paraTypeVarNames = allClasses.stream().map(x -> x.getMethods().stream().map(y -> y.getParameterList().getFormalparalist() + .stream().filter(z -> z.getType() instanceof TypePlaceholder) + .map(z -> ((TypePlaceholder)z.getType()).getName()).collect(Collectors.toCollection(HashSet::new))) + .reduce(new HashSet(), (a,b) -> { a.addAll(b); return a;}, (a,b) -> { a.addAll(b); return a;} ) ) + .reduce(new HashSet(), (a,b) -> { a.addAll(b); return a;} ); + + Set returnTypeVarNames = allClasses.stream().map(x -> x.getMethods().stream().filter(y -> y.getReturnType() instanceof TypePlaceholder) .map(z -> ((TypePlaceholder)z.getReturnType()).getName()).collect(Collectors.toCollection(HashSet::new))).reduce((a,b) -> { a.addAll(b); return a;} ).get(); - Set fieldTypeVarNames = allClasses.stream().map(x -> x.getFieldDecl().stream().filter(y -> y.getReturnType() instanceof TypePlaceholder) + Set fieldTypeVarNames = allClasses.stream().map(x -> x.getFieldDecl().stream().filter(y -> y.getReturnType() instanceof TypePlaceholder) .map(z -> ((TypePlaceholder)z.getReturnType()).getName()).collect(Collectors.toCollection(HashSet::new))).reduce((a,b) -> { a.addAll(b); return a;} ).get(); - returnTypeVarNames.addAll(fieldTypeVarNames); + returnTypeVarNames.addAll(fieldTypeVarNames); - unifyCons = unifyCons.map(x -> { - //Hier muss ueberlegt werden, ob - //1. alle Argument- und Retuntyp-Variablen in allen UnifyPairs - // mit disableWildcardtable() werden. - //2. alle Typvariablen mit Argument- oder Retuntyp-Variablen - //in Beziehung auch auf disableWildcardtable() gesetzt werden muessen - //PL 2018-04-23 - if ((x.getLhsType() instanceof PlaceholderType)) { - if (paraTypeVarNames.contains(x.getLhsType().getName())) { - ((PlaceholderType)x.getLhsType()).setVariance((byte)1); - ((PlaceholderType)x.getLhsType()).disableWildcardtable(); - } - if (returnTypeVarNames.contains(x.getLhsType().getName())) { - ((PlaceholderType)x.getLhsType()).setVariance((byte)-1); - ((PlaceholderType)x.getLhsType()).disableWildcardtable(); - } + unifyCons = unifyCons.map(x -> { + //Hier muss ueberlegt werden, ob + //1. alle Argument- und Retuntyp-Variablen in allen UnifyPairs + // mit disableWildcardtable() werden. + //2. alle Typvariablen mit Argument- oder Retuntyp-Variablen + //in Beziehung auch auf disableWildcardtable() gesetzt werden muessen + //PL 2018-04-23 + if ((x.getLhsType() instanceof PlaceholderType)) { + if (paraTypeVarNames.contains(x.getLhsType().getName())) { + ((PlaceholderType)x.getLhsType()).setVariance((byte)1); + ((PlaceholderType)x.getLhsType()).disableWildcardtable(); } - if ((x.getRhsType() instanceof PlaceholderType)) { - if (paraTypeVarNames.contains(x.getRhsType().getName())) { - ((PlaceholderType)x.getRhsType()).setVariance((byte)1); - ((PlaceholderType)x.getRhsType()).disableWildcardtable(); - } - if (returnTypeVarNames.contains(x.getRhsType().getName())) { - ((PlaceholderType)x.getRhsType()).setVariance((byte)-1); - ((PlaceholderType)x.getRhsType()).disableWildcardtable(); - } + if (returnTypeVarNames.contains(x.getLhsType().getName())) { + ((PlaceholderType)x.getLhsType()).setVariance((byte)-1); + ((PlaceholderType)x.getLhsType()).disableWildcardtable(); } - return x;//HIER DIE JEWEILS RECHT BZW. LINKE SEITE AUF GLEICHE VARIANZ SETZEN WIE DIE JEWEILS ANDERE SEITE - }).map( y -> { - if ((y.getLhsType() instanceof PlaceholderType) && (y.getRhsType() instanceof PlaceholderType)) { - if (((PlaceholderType)y.getLhsType()).getVariance() != 0 && ((PlaceholderType)y.getRhsType()).getVariance() == 0) { - ((PlaceholderType)y.getRhsType()).setVariance(((PlaceholderType)y.getLhsType()).getVariance()); - } - if (((PlaceholderType)y.getLhsType()).getVariance() == 0 && ((PlaceholderType)y.getRhsType()).getVariance() != 0) { - ((PlaceholderType)y.getLhsType()).setVariance(((PlaceholderType)y.getRhsType()).getVariance()); - } - } - return y; } ); - varianceInheritanceConstrainSet(unifyCons); - Set> result = unify.unifySequential(xConsSet, finiteClosure, logFile, log); - //Set> result = unify.unify(xConsSet, finiteClosure); - System.out.println("RESULT: " + result); - logFile.write("RES: " + result.toString()+"\n"); - logFile.flush(); - results.addAll(result); - } - + } + if ((x.getRhsType() instanceof PlaceholderType)) { + if (paraTypeVarNames.contains(x.getRhsType().getName())) { + ((PlaceholderType)x.getRhsType()).setVariance((byte)1); + ((PlaceholderType)x.getRhsType()).disableWildcardtable(); + } + if (returnTypeVarNames.contains(x.getRhsType().getName())) { + ((PlaceholderType)x.getRhsType()).setVariance((byte)-1); + ((PlaceholderType)x.getRhsType()).disableWildcardtable(); + } + } + return x;//HIER DIE JEWEILS RECHT BZW. LINKE SEITE AUF GLEICHE VARIANZ SETZEN WIE DIE JEWEILS ANDERE SEITE + }).map( y -> { + if ((y.getLhsType() instanceof PlaceholderType) && (y.getRhsType() instanceof PlaceholderType)) { + if (((PlaceholderType)y.getLhsType()).getVariance() != 0 && ((PlaceholderType)y.getRhsType()).getVariance() == 0) { + ((PlaceholderType)y.getRhsType()).setVariance(((PlaceholderType)y.getLhsType()).getVariance()); + } + if (((PlaceholderType)y.getLhsType()).getVariance() == 0 && ((PlaceholderType)y.getRhsType()).getVariance() != 0) { + ((PlaceholderType)y.getLhsType()).setVariance(((PlaceholderType)y.getRhsType()).getVariance()); + } + } + return y; } ); + varianceInheritanceConstrainSet(unifyCons); + //Set> result = unify.unifySequential(xConsSet, finiteClosure, logFile, log); + //Set> result = unify.unify(xConsSet, finiteClosure); + Set> result = unify.unifyOderConstraints(unifyCons.getUndConstraints(), unifyCons.getOderConstraints(), finiteClosure, logFile, log); + System.out.println("RESULT: " + result); + logFile.write("RES: " + result.toString()+"\n"); + logFile.flush(); + results.addAll(result); + + results = results.stream().map(x -> { Optional> res = new RuleSet().subst(x.stream().map(y -> { if (y.getPairOp() == PairOperator.SMALLERDOTWC) y.setPairOp(PairOperator.EQUALSDOT); @@ -328,7 +322,8 @@ public class JavaTXCompiler { } /** - * Vererbt alle Variancen + * Vererbt alle Variancen bei Paaren (a <. theta) oder (Theta <. a) + * wenn a eine Variance !=0 hat auf alle Typvariablen in Theta. * @param eq The set of constraints */ private void varianceInheritance(Set eq) { @@ -359,7 +354,8 @@ public class JavaTXCompiler { } /** - * Vererbt alle Variancen + * Vererbt alle Variancen bei Paaren (a <. theta) oder (Theta <. a) + * wenn a eine Variance !=0 hat auf alle Typvariablen in Theta. * @param eq The set of constraints */ private void varianceInheritanceConstrainSet(ConstraintSet cons) { diff --git a/src/de/dhbwstuttgart/typeinference/constraints/ConstraintSet.java b/src/de/dhbwstuttgart/typeinference/constraints/ConstraintSet.java index 09984d28c..4d1f076f3 100644 --- a/src/de/dhbwstuttgart/typeinference/constraints/ConstraintSet.java +++ b/src/de/dhbwstuttgart/typeinference/constraints/ConstraintSet.java @@ -70,4 +70,12 @@ public class ConstraintSet { } return ret; } + + public List>> getOderConstraints() { + return oderConstraints; + } + + public Set getUndConstraints() { + return undConstraints; + } } diff --git a/src/de/dhbwstuttgart/typeinference/unify/TypeUnify.java b/src/de/dhbwstuttgart/typeinference/unify/TypeUnify.java index fa190cb7f..d2428defc 100644 --- a/src/de/dhbwstuttgart/typeinference/unify/TypeUnify.java +++ b/src/de/dhbwstuttgart/typeinference/unify/TypeUnify.java @@ -1,9 +1,11 @@ package de.dhbwstuttgart.typeinference.unify; import java.io.FileWriter; +import java.util.List; import java.util.Set; import java.util.concurrent.ForkJoinPool; +import de.dhbwstuttgart.typeinference.constraints.Constraint; import de.dhbwstuttgart.typeinference.unify.interfaces.IFiniteClosure; import de.dhbwstuttgart.typeinference.unify.model.UnifyPair; @@ -21,5 +23,11 @@ public class TypeUnify { Set> res = unifyTask.compute(); return res; } + + public Set> unifyOderConstraints(Set undConstrains, List>> oderConstraints, IFiniteClosure fc, FileWriter logFile, Boolean log) { + TypeUnifyTask unifyTask = new TypeUnifyTask(undConstrains, oderConstraints, fc, false, logFile, log); + Set> res = unifyTask.compute(); + return res; + } } diff --git a/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java b/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java index 7864ece1b..7af531e6e 100644 --- a/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java +++ b/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java @@ -18,6 +18,7 @@ import java.util.function.BinaryOperator; import java.util.stream.Collectors; import java.util.stream.Stream; +import de.dhbwstuttgart.typeinference.constraints.Constraint; import de.dhbwstuttgart.typeinference.unify.interfaces.IFiniteClosure; import de.dhbwstuttgart.typeinference.unify.interfaces.IRuleSet; import de.dhbwstuttgart.typeinference.unify.interfaces.ISetOperations; @@ -71,7 +72,9 @@ public class TypeUnifyTask extends RecursiveTask>> { */ protected IRuleSet rules; - protected Set eq; + protected Set eq; //und-constraints + + protected List>> oderConstraints; protected IFiniteClosure fc; @@ -101,6 +104,25 @@ public class TypeUnifyTask extends RecursiveTask>> { rules = new RuleSet(logFile); } + public TypeUnifyTask(Set eq, List>> oderConstraints, IFiniteClosure fc, boolean parallel, FileWriter logFile, Boolean log) { + this.eq = eq; + //this.oderConstraints = oderConstraints.stream().map(x -> x.stream().map(y -> new HashSet<>(y)).collect(Collectors.toSet(HashSet::new))).collect(Collectors.toList(ArrayList::new)); + this.oderConstraints = oderConstraints.stream().map(x -> { + Set> ret = new HashSet<>(); + for (Constraint y : x) { + ret.add(new HashSet<>(y)); + } + return ret; + }).collect(Collectors.toCollection(ArrayList::new)); + + //x.stream().map(y -> new HashSet<>(y)).collect(Collectors.toSet(HashSet::new))).collect(Collectors.toList(ArrayList::new)); + this.fc = fc; + this.oup = new OrderingUnifyPair(fc); + this.parallel = parallel; + this.logFile = logFile; + this.log = log; + rules = new RuleSet(logFile); + } /** * Vererbt alle Variancen @@ -141,6 +163,251 @@ public class TypeUnifyTask extends RecursiveTask>> { else return res; } + protected Set> computeNew() { + Set> fstElems = new HashSet<>(); + fstElems.add(eq); + Set> res = computeCartesianRecursiveOderConstraints(fstElems, oderConstraints, fc, parallel); + if (isUndefinedPairSetSet(res)) { return new HashSet<>(); } + else return res; + } + + public Set> computeCartesianRecursiveOderConstraints(Set> fstElems, List>> topLevelSets, IFiniteClosure fc, boolean parallel) { + //ArrayList>> remainingSets = new ArrayList<>(topLevelSets); + fstElems.addAll(topLevelSets.stream() + .filter(x -> x.size()==1) + .map(y -> y.stream().findFirst().get()) + .collect(Collectors.toCollection(HashSet::new))); + ArrayList>> remainingSets = topLevelSets.stream() + .filter(x -> x.size()>1) + .collect(Collectors.toCollection(ArrayList::new)); + if (remainingSets.isEmpty()) {//Alle Elemente sind 1-elementig + Set eq = new HashSet<>(); + fstElems.stream().forEach(x -> eq.addAll(x)); + Set> result = unify(eq, fc, parallel); + return result; + } + Set> nextSet = remainingSets.remove(0); + writeLog("nextSet: " + nextSet.toString()); + List> nextSetasList =new ArrayList<>(nextSet); + try { + //List> + //nextSetasList = oup.sortedCopy(nextSet);//new ArrayList<>(nextSet); + } + catch (java.lang.IllegalArgumentException e) { + System.out.print(""); + } + Set> result = new HashSet<>(); + int variance = 0; + Optional xi = nextSetasList.stream().map(x -> x.stream().filter(y -> y.getLhsType() instanceof PlaceholderType) + .filter(z -> ((PlaceholderType)z.getLhsType()).getVariance() != 0) + .map(c -> ((PlaceholderType)c.getLhsType()).getVariance()) + .reduce((a,b)-> {if (a==b) return a; else return 0; })) + .filter(d -> d.isPresent()) + .map(e -> e.get()) + .findAny(); + if (xi.isPresent()) { + variance = xi.get(); + } + //if (variance == 1 && nextSetasList.size() > 1) { + // List> al = new ArrayList<>(nextSetasList.size()); + // for (int ii = 0; ii < nextSetasList.size();ii++) { + // al.add(0,nextSetasList.get(ii)); + // } + // nextSetasList = al; + //} + //Set a = nextSetasListIt.next(); + /*if (nextSetasList.size()>1) {zu loeschen + if (nextSetasList.iterator().next().iterator().next().getLhsType().getName().equals("D")) + System.out.print(""); + if (variance == 1) { + a_next = oup.max(nextSetasList.iterator()); + } + else if (variance == -1) { + a_next = oup.min(nextSetasList.iterator()); + } + else if (variance == 0) { + a_next = nextSetasList.iterator().next(); + } + } + else { + a_next = nextSetasList.iterator().next(); + } + */ + if (!nextSetasList.iterator().hasNext()) + System.out.print(""); + if (nextSetasList.iterator().next().stream().filter(x -> x.getLhsType().getName().equals("D")).findFirst().isPresent() && nextSetasList.size()>1) + System.out.print(""); + writeLog("nextSetasList: " + nextSetasList.toString()); + while (nextSetasList.size() > 0) { //(nextSetasList.size() != 0) { + Set a = null; + if (variance == 1) { + a = oup.max(nextSetasList.iterator()); + nextSetasList.remove(a); + } + else if (variance == -1) { + a = oup.min(nextSetasList.iterator()); + nextSetasList.remove(a); + } + else if (variance == 0) { + a = nextSetasList.remove(0); + } + //writeLog("nextSet: " + nextSetasList.toString()+ "\n"); + //nextSetasList.remove(a); + /* zu loeschen + if (nextSetasList.size() > 0) { + if (nextSetasList.size()>1) { + if (variance == 1) { + a_next = oup.max(nextSetasList.iterator()); + } + else if (variance == -1) { + a_next = oup.min(nextSetasList.iterator()); + } + else { + a_next = nextSetasList.iterator().next(); + } + } + else { + a_next = nextSetasList.iterator().next(); + } + } + */ + //PL 2018-03-01 + //TODO: 1. Maximum und Minimum unterscheiden + //TODO: 2. compare noch für alle Elmemente die nicht X =. ty sind erweitern + //for(Set a : newSet) { + i++; + Set> elems = new HashSet>(fstElems); + elems.add(a); + if (remainingSets.isEmpty()) { + writeLog("Vor unify Aufruf: " + eq.toString()); + Set eq = new HashSet<>(); + fstElems.stream().forEach(x -> eq.addAll(x)); + Set> res = unify(eq, fc, parallel); + if (!isUndefinedPairSetSet(res) && isUndefinedPairSetSet(result)) { + //wenn korrektes Ergebnis gefunden alle Fehlerfaelle loeschen + result = res; + } + else { + if ((isUndefinedPairSetSet(res) && isUndefinedPairSetSet(result)) + || (!isUndefinedPairSetSet(res) && !isUndefinedPairSetSet(result)) + || result.isEmpty()) { + //alle Fehlerfaelle und alle korrekten Ergebnis jeweils adden + result.addAll(res); + } + //else { + //wenn Korrekte Ergebnisse da und Feherfälle dazukommen Fehlerfälle ignorieren + // if (isUndefinedPairSetSet(res) && !isUndefinedPairSetSet(result)) { + // result = result; + // } + //} + } + + + /* auskommentiert um alle Max und min Betrachtung auszuschalten ANFANG */ + if (!result.isEmpty() && !isUndefinedPairSetSet(res)) { + if (nextSetasList.iterator().hasNext() && nextSetasList.iterator().next().stream().filter(x -> x.getLhsType().getName().equals("B")).findFirst().isPresent() && nextSetasList.size()>1) + System.out.print(""); + Iterator> nextSetasListIt = new ArrayList>(nextSetasList).iterator(); + if (variance == 1) { + System.out.println(""); + while (nextSetasListIt.hasNext()) { + Set a_next = nextSetasListIt.next(); + if (a.equals(a_next) || + (oup.compare(a, a_next) == 1)) { + nextSetasList.remove(a_next); + } + else { + System.out.println(""); + } + } + } + else { if (variance == -1) { + System.out.println(""); + while (nextSetasListIt.hasNext()) { + Set a_next = nextSetasListIt.next(); + if (a.equals(a_next) || + (oup.compare(a, a_next) == -1)) { + nextSetasList.remove(0); + } + else { + System.out.println(""); + } + } + } + else if (variance == 0) { + break; + }} + } + /* auskommentiert um alle Max und min Betrachtung auszuschalten ENDE */ + + if (isUndefinedPairSetSet(res)) { + int nofstred= 0; + Set abhSubst = res.stream() + .map(b -> + b.stream() + .map(x -> x.getAllSubstitutions()) + .reduce((y,z) -> { y.addAll(z); return y;}).get()) + .reduce((y,z) -> { y.addAll(z); return y;}).get(); + Set b = a;//effective final a + Set durchschnitt = abhSubst.stream() + .filter(x -> b.contains(x)) + //.filter(y -> abhSubst.contains(y)) + .collect(Collectors.toCollection(HashSet::new)); + //Set vars = durchschnitt.stream().map(x -> (PlaceholderType)x.getLhsType()).collect(Collectors.toCollection(HashSet::new)); + int len = nextSetasList.size(); + Set undefRes = res.stream().reduce((y,z) -> { y.addAll(z); return y;}).get(); //flatten aller undef results + Set, UnifyPair>> reducedUndefResSubstGroundedBasePair = undefRes.stream() + .map(x -> { Set su = x.getAllSubstitutions(); //alle benutzten Substitutionen + su.add(x.getGroundBasePair()); // urspruengliches Paar + su.removeAll(durchschnitt); //alle aktuell genänderten Paare entfernen + return new Pair<>(su, x.getGroundBasePair());}) + .collect(Collectors.toCollection(HashSet::new)); + if (res.size() > 1) { + System.out.println(); + } + nextSetasList = nextSetasList.stream().filter(x -> { + //Boolean ret = false; + //for (PlaceholderType var : vars) { + // ret = ret || x.stream().map(b -> b.getLhsType().equals(var)).reduce((c,d) -> c || d).get(); + //} + return (!x.containsAll(durchschnitt)); + })//.filter(y -> couldBecorrect(reducedUndefResSubstGroundedBasePair, y)) //fuer testzwecke auskommentiert um nofstred zu bestimmen PL 2018-10-10 + .collect(Collectors.toCollection(ArrayList::new)); + nofstred = nextSetasList.size(); + //NOCH NICHT korrekt PL 2018-10-12 + //nextSetasList = nextSetasList.stream().filter(y -> couldBecorrect(reducedUndefResSubstGroundedBasePair, y)) + // .collect(Collectors.toCollection(ArrayList::new)); + writeLog("res (undef): " + res.toString()); + writeLog("abhSubst: " + abhSubst.toString()); + writeLog("a: " + a.toString()); + writeLog("Durchschnitt: " + durchschnitt.toString()); + writeLog("nextSet: " + nextSet.toString()); + writeLog("nextSetasList: " + nextSetasList.toString()); + writeLog("Number first erased Elements (undef): " + (len - nofstred)); + writeLog("Number second erased Elements (undef): " + (nofstred- nextSetasList.size())); + writeLog("Number erased Elements (undef): " + (len - nextSetasList.size())); + noAllErasedElements = noAllErasedElements + (len - nextSetasList.size()); + writeLog("Number of all erased Elements (undef): " + noAllErasedElements.toString()); + noBacktracking++; + writeLog("Number of Backtracking: " + noBacktracking); + System.out.println(""); + } + //if (nextSetasList.size() == 0 && isUndefinedPairSetSet(result) && nextSet.size() > 1) { + // return result; + //} + //else { + // result.removeIf(y -> isUndefinedPairSet(y)); + //} + //else result.stream().filter(y -> !isUndefinedPairSet(y)); + } + else {//duerfte gar nicht mehr vorkommen PL 2018-04-03 + result.addAll(computeCartesianRecursive(elems, remainingSets, eq, fc, parallel)); + } + return result; + } + } + + /** * Computes all principal type unifiers for a set of constraints. * @param eq The set of constraints From 225f380735ab78f71e05334c707dd0c599e62ccb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Pl=C3=BCmicke?= Date: Fri, 19 Oct 2018 16:09:59 +0200 Subject: [PATCH 03/31] modified: src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java letzte Version bevor computeCartesianRecursiveOderConstraints aktiviert wird --- src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java b/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java index 7af531e6e..4ed9f8fbc 100644 --- a/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java +++ b/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java @@ -399,12 +399,13 @@ public class TypeUnifyTask extends RecursiveTask>> { // result.removeIf(y -> isUndefinedPairSet(y)); //} //else result.stream().filter(y -> !isUndefinedPairSet(y)); - } + } // End of if (remainingSets.isEmpty()) else {//duerfte gar nicht mehr vorkommen PL 2018-04-03 result.addAll(computeCartesianRecursive(elems, remainingSets, eq, fc, parallel)); } return result; - } + } // End of while (nextSetasList.size() > 0) + return null; //kann nicht erreicht werden, da der Fall bei dem nextSet == empty bereits am Anfang abgefangen wird } From 6dce7058a00dde7125213a5e0bbb16fe5acbb8c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Pl=C3=BCmicke?= Date: Fri, 19 Oct 2018 16:24:00 +0200 Subject: [PATCH 04/31] modified: src/de/dhbwstuttgart/core/JavaTXCompiler.java typeInference <-> typeInferenceOld modified: src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java compute <-> computeOld --- src/de/dhbwstuttgart/core/JavaTXCompiler.java | 74 ++++++++++--------- .../typeinference/unify/TypeUnifyTask.java | 9 ++- 2 files changed, 43 insertions(+), 40 deletions(-) diff --git a/src/de/dhbwstuttgart/core/JavaTXCompiler.java b/src/de/dhbwstuttgart/core/JavaTXCompiler.java index f984d8c8d..74bb67c60 100644 --- a/src/de/dhbwstuttgart/core/JavaTXCompiler.java +++ b/src/de/dhbwstuttgart/core/JavaTXCompiler.java @@ -103,7 +103,7 @@ public class JavaTXCompiler { return new ArrayList<>(allClasses); } - public List typeInference() throws ClassNotFoundException { + public List typeInferenceOld() throws ClassNotFoundException { List allClasses = new ArrayList<>();//environment.getAllAvailableClasses(); //Alle Importierten Klassen in allen geparsten Sourcefiles kommen ins FC for(SourceFile sf : this.sourceFiles.values()) { @@ -215,8 +215,41 @@ public class JavaTXCompiler { new ResultSet(UnifyTypeFactory.convert(unifyPairs, generateTPHMap(cons))))).collect(Collectors.toList()); } + /** + * Vererbt alle Variancen bei Paaren (a <. theta) oder (Theta <. a) + * wenn a eine Variance !=0 hat auf alle Typvariablen in Theta. + * @param eq The set of constraints + */ + private void varianceInheritance(Set eq) { + Set usedTPH = new HashSet<>(); + Set phSet = eq.stream().map(x -> { + Set pair = new HashSet<>(); + if (x.getLhsType() instanceof PlaceholderType) pair.add((PlaceholderType)x.getLhsType()); + if (x.getRhsType() instanceof PlaceholderType) pair.add((PlaceholderType)x.getRhsType()); + return pair; + }).reduce(new HashSet<>(), (a,b) -> { a.addAll(b); return a;} , (c,d) -> { c.addAll(d); return c;}); + + ArrayList phSetVariance = new ArrayList<>(phSet); + phSetVariance.removeIf(x -> (x.getVariance() == 0)); + while(!phSetVariance.isEmpty()) { + PlaceholderType a = phSetVariance.remove(0); + usedTPH.add(a); + //HashMap ht = new HashMap<>(); + //ht.put(a, a.getVariance()); + Set eq1 = new HashSet<>(eq); + eq1.removeIf(x -> !(x.getLhsType() instanceof PlaceholderType && ((PlaceholderType)x.getLhsType()).equals(a))); + eq1.stream().forEach(x -> { x.getRhsType().accept(new distributeVariance(), a.getVariance());}); + eq1 = new HashSet<>(eq); + eq1.removeIf(x -> !(x.getRhsType() instanceof PlaceholderType && ((PlaceholderType)x.getRhsType()).equals(a))); + eq1.stream().forEach(x -> { x.getLhsType().accept(new distributeVariance(), a.getVariance());}); + phSetVariance = new ArrayList<>(phSet); + phSetVariance.removeIf(x -> (x.getVariance() == 0 || usedTPH.contains(x))); + } + } + - public List typeInferenceNew() throws ClassNotFoundException { + + public List typeInference() throws ClassNotFoundException { List allClasses = new ArrayList<>();//environment.getAllAvailableClasses(); //Alle Importierten Klassen in allen geparsten Sourcefiles kommen ins FC for(SourceFile sf : this.sourceFiles.values()) { @@ -292,7 +325,7 @@ public class JavaTXCompiler { } } return y; } ); - varianceInheritanceConstrainSet(unifyCons); + varianceInheritanceConstraintSet(unifyCons); //Set> result = unify.unifySequential(xConsSet, finiteClosure, logFile, log); //Set> result = unify.unify(xConsSet, finiteClosure); Set> result = unify.unifyOderConstraints(unifyCons.getUndConstraints(), unifyCons.getOderConstraints(), finiteClosure, logFile, log); @@ -321,44 +354,13 @@ public class JavaTXCompiler { new ResultSet(UnifyTypeFactory.convert(unifyPairs, generateTPHMap(cons))))).collect(Collectors.toList()); } - /** - * Vererbt alle Variancen bei Paaren (a <. theta) oder (Theta <. a) - * wenn a eine Variance !=0 hat auf alle Typvariablen in Theta. - * @param eq The set of constraints - */ - private void varianceInheritance(Set eq) { - Set usedTPH = new HashSet<>(); - Set phSet = eq.stream().map(x -> { - Set pair = new HashSet<>(); - if (x.getLhsType() instanceof PlaceholderType) pair.add((PlaceholderType)x.getLhsType()); - if (x.getRhsType() instanceof PlaceholderType) pair.add((PlaceholderType)x.getRhsType()); - return pair; - }).reduce(new HashSet<>(), (a,b) -> { a.addAll(b); return a;} , (c,d) -> { c.addAll(d); return c;}); - - ArrayList phSetVariance = new ArrayList<>(phSet); - phSetVariance.removeIf(x -> (x.getVariance() == 0)); - while(!phSetVariance.isEmpty()) { - PlaceholderType a = phSetVariance.remove(0); - usedTPH.add(a); - //HashMap ht = new HashMap<>(); - //ht.put(a, a.getVariance()); - Set eq1 = new HashSet<>(eq); - eq1.removeIf(x -> !(x.getLhsType() instanceof PlaceholderType && ((PlaceholderType)x.getLhsType()).equals(a))); - eq1.stream().forEach(x -> { x.getRhsType().accept(new distributeVariance(), a.getVariance());}); - eq1 = new HashSet<>(eq); - eq1.removeIf(x -> !(x.getRhsType() instanceof PlaceholderType && ((PlaceholderType)x.getRhsType()).equals(a))); - eq1.stream().forEach(x -> { x.getLhsType().accept(new distributeVariance(), a.getVariance());}); - phSetVariance = new ArrayList<>(phSet); - phSetVariance.removeIf(x -> (x.getVariance() == 0 || usedTPH.contains(x))); - } - } - + /** * Vererbt alle Variancen bei Paaren (a <. theta) oder (Theta <. a) * wenn a eine Variance !=0 hat auf alle Typvariablen in Theta. * @param eq The set of constraints */ - private void varianceInheritanceConstrainSet(ConstraintSet cons) { + private void varianceInheritanceConstraintSet(ConstraintSet cons) { Set eq = cons.getAll(); Set usedTPH = new HashSet<>(); Set phSet = eq.stream().map(x -> { diff --git a/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java b/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java index 4ed9f8fbc..24900e58a 100644 --- a/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java +++ b/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java @@ -156,14 +156,15 @@ public class TypeUnifyTask extends RecursiveTask>> { } } */ - @Override - protected Set> compute() { + + protected Set> computeOld() { Set> res = unify(eq, fc, parallel); if (isUndefinedPairSetSet(res)) { return new HashSet<>(); } else return res; } - protected Set> computeNew() { + @Override + protected Set> compute() { Set> fstElems = new HashSet<>(); fstElems.add(eq); Set> res = computeCartesianRecursiveOderConstraints(fstElems, oderConstraints, fc, parallel); @@ -401,7 +402,7 @@ public class TypeUnifyTask extends RecursiveTask>> { //else result.stream().filter(y -> !isUndefinedPairSet(y)); } // End of if (remainingSets.isEmpty()) else {//duerfte gar nicht mehr vorkommen PL 2018-04-03 - result.addAll(computeCartesianRecursive(elems, remainingSets, eq, fc, parallel)); + result.addAll(computeCartesianRecursiveOderConstraints(elems, remainingSets, fc, parallel)); } return result; } // End of while (nextSetasList.size() > 0) From 141194c983db65f8c7ca3a5ea708d6d1e4828aae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Pl=C3=BCmicke?= Date: Fri, 19 Oct 2018 17:36:23 +0200 Subject: [PATCH 05/31] modified: ../../src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java erste version mit computeCartesianRecursiveOderConstraints aktiviert Fehler bei durchschnitt leer wird Element geloescht. --- src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java b/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java index 24900e58a..94487f9c6 100644 --- a/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java +++ b/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java @@ -371,7 +371,7 @@ public class TypeUnifyTask extends RecursiveTask>> { //for (PlaceholderType var : vars) { // ret = ret || x.stream().map(b -> b.getLhsType().equals(var)).reduce((c,d) -> c || d).get(); //} - return (!x.containsAll(durchschnitt)); + return (!x.containsAll(durchschnitt));//Was passiert wenn durchschnitt leer ist?? })//.filter(y -> couldBecorrect(reducedUndefResSubstGroundedBasePair, y)) //fuer testzwecke auskommentiert um nofstred zu bestimmen PL 2018-10-10 .collect(Collectors.toCollection(ArrayList::new)); nofstred = nextSetasList.size(); From d7e59ecdc7899b964ff1dcb0473d403d310d73d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Pl=C3=BCmicke?= Date: Sat, 20 Oct 2018 17:42:44 +0200 Subject: [PATCH 06/31] modified: ../../src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java Erste Version mit Recursiv oder modified: ../bytecode/javFiles/Matrix.jav --- .../typeinference/unify/TypeUnifyTask.java | 26 +++++++++++++------ test/bytecode/javFiles/Matrix.jav | 2 +- 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java b/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java index 94487f9c6..866c16639 100644 --- a/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java +++ b/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java @@ -88,6 +88,8 @@ public class TypeUnifyTask extends RecursiveTask>> { Integer noAllErasedElements = 0; + static Integer noou = 0; + static int noBacktracking; public TypeUnifyTask() { @@ -279,11 +281,20 @@ public class TypeUnifyTask extends RecursiveTask>> { i++; Set> elems = new HashSet>(fstElems); elems.add(a); + Set> res = new HashSet<>(); if (remainingSets.isEmpty()) { + noou++; writeLog("Vor unify Aufruf: " + eq.toString()); + writeLog("No of Unify " + noou); + System.out.println(noou); Set eq = new HashSet<>(); fstElems.stream().forEach(x -> eq.addAll(x)); - Set> res = unify(eq, fc, parallel); + res = unify(eq, fc, parallel); + } + else {//duerfte gar nicht mehr vorkommen PL 2018-04-03 + res = computeCartesianRecursiveOderConstraints(elems, remainingSets, fc, parallel); + + } if (!isUndefinedPairSetSet(res) && isUndefinedPairSetSet(result)) { //wenn korrektes Ergebnis gefunden alle Fehlerfaelle loeschen result = res; @@ -301,7 +312,9 @@ public class TypeUnifyTask extends RecursiveTask>> { // result = result; // } //} - } + } + + /* auskommentiert um alle Max und min Betrachtung auszuschalten ANFANG */ @@ -400,13 +413,10 @@ public class TypeUnifyTask extends RecursiveTask>> { // result.removeIf(y -> isUndefinedPairSet(y)); //} //else result.stream().filter(y -> !isUndefinedPairSet(y)); - } // End of if (remainingSets.isEmpty()) - else {//duerfte gar nicht mehr vorkommen PL 2018-04-03 - result.addAll(computeCartesianRecursiveOderConstraints(elems, remainingSets, fc, parallel)); - } - return result; + + } // End of while (nextSetasList.size() > 0) - return null; //kann nicht erreicht werden, da der Fall bei dem nextSet == empty bereits am Anfang abgefangen wird + return result; } diff --git a/test/bytecode/javFiles/Matrix.jav b/test/bytecode/javFiles/Matrix.jav index 6eae34288..b3857744d 100644 --- a/test/bytecode/javFiles/Matrix.jav +++ b/test/bytecode/javFiles/Matrix.jav @@ -18,7 +18,7 @@ public class Matrix extends Vector> { } } - Matrix mul(java.util.Vector> m) { + mul(m) { var ret = new Matrix(); var i = 0; while(i < size()) { From e6d8b92ffacdb7c64a8c2a2c00977c1d298b7bc4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Pl=C3=BCmicke?= Date: Wed, 24 Oct 2018 14:05:20 +0200 Subject: [PATCH 07/31] modified: ../../src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java kleine Fehler --- src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java b/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java index 866c16639..f969baffb 100644 --- a/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java +++ b/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java @@ -288,7 +288,7 @@ public class TypeUnifyTask extends RecursiveTask>> { writeLog("No of Unify " + noou); System.out.println(noou); Set eq = new HashSet<>(); - fstElems.stream().forEach(x -> eq.addAll(x)); + elems.stream().forEach(x -> eq.addAll(x)); res = unify(eq, fc, parallel); } else {//duerfte gar nicht mehr vorkommen PL 2018-04-03 @@ -349,7 +349,7 @@ public class TypeUnifyTask extends RecursiveTask>> { } } else if (variance == 0) { - break; + //break; }} } /* auskommentiert um alle Max und min Betrachtung auszuschalten ENDE */ From d08708878fb769e4b6383380204b9525a47293ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Pl=C3=BCmicke?= Date: Mon, 5 Nov 2018 23:28:08 +0100 Subject: [PATCH 08/31] modified: ../../src/de/dhbwstuttgart/core/JavaTXCompiler.java Variance distribut korrigiert modified: ../../src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java Fehler im computeCartesianRecursiveOderConstraints beseitigt modified: ../bytecode/javFiles/Matrix.jav --- src/de/dhbwstuttgart/core/JavaTXCompiler.java | 32 ++++++++++++------- .../typeinference/unify/TypeUnifyTask.java | 2 ++ test/bytecode/javFiles/Matrix.jav | 4 +-- 3 files changed, 24 insertions(+), 14 deletions(-) diff --git a/src/de/dhbwstuttgart/core/JavaTXCompiler.java b/src/de/dhbwstuttgart/core/JavaTXCompiler.java index 74bb67c60..212dafad6 100644 --- a/src/de/dhbwstuttgart/core/JavaTXCompiler.java +++ b/src/de/dhbwstuttgart/core/JavaTXCompiler.java @@ -315,17 +315,24 @@ public class JavaTXCompiler { } } return x;//HIER DIE JEWEILS RECHT BZW. LINKE SEITE AUF GLEICHE VARIANZ SETZEN WIE DIE JEWEILS ANDERE SEITE - }).map( y -> { - if ((y.getLhsType() instanceof PlaceholderType) && (y.getRhsType() instanceof PlaceholderType)) { - if (((PlaceholderType)y.getLhsType()).getVariance() != 0 && ((PlaceholderType)y.getRhsType()).getVariance() == 0) { - ((PlaceholderType)y.getRhsType()).setVariance(((PlaceholderType)y.getLhsType()).getVariance()); - } - if (((PlaceholderType)y.getLhsType()).getVariance() == 0 && ((PlaceholderType)y.getRhsType()).getVariance() != 0) { - ((PlaceholderType)y.getLhsType()).setVariance(((PlaceholderType)y.getRhsType()).getVariance()); - } - } - return y; } ); - varianceInheritanceConstraintSet(unifyCons); + }); + Set varianceTPHold; + Set varianceTPH = new HashSet<>(); + do { //PL 2018-11-05 Huellenbildung Variance auf alle TPHs der Terme auf der jeweiligen + //anderen Seite übertragen + varianceTPHold = new HashSet<>(varianceTPH); + varianceTPH = varianceInheritanceConstraintSet(unifyCons); + unifyCons.map( y -> { + if ((y.getLhsType() instanceof PlaceholderType) && (y.getRhsType() instanceof PlaceholderType)) { + if (((PlaceholderType)y.getLhsType()).getVariance() != 0 && ((PlaceholderType)y.getRhsType()).getVariance() == 0) { + ((PlaceholderType)y.getRhsType()).setVariance(((PlaceholderType)y.getLhsType()).getVariance()); + } + if (((PlaceholderType)y.getLhsType()).getVariance() == 0 && ((PlaceholderType)y.getRhsType()).getVariance() != 0) { + ((PlaceholderType)y.getLhsType()).setVariance(((PlaceholderType)y.getRhsType()).getVariance()); + } + } + return y; } ); } + while (!varianceTPHold.equals(varianceTPH)); //Set> result = unify.unifySequential(xConsSet, finiteClosure, logFile, log); //Set> result = unify.unify(xConsSet, finiteClosure); Set> result = unify.unifyOderConstraints(unifyCons.getUndConstraints(), unifyCons.getOderConstraints(), finiteClosure, logFile, log); @@ -360,7 +367,7 @@ public class JavaTXCompiler { * wenn a eine Variance !=0 hat auf alle Typvariablen in Theta. * @param eq The set of constraints */ - private void varianceInheritanceConstraintSet(ConstraintSet cons) { + private Set varianceInheritanceConstraintSet(ConstraintSet cons) { Set eq = cons.getAll(); Set usedTPH = new HashSet<>(); Set phSet = eq.stream().map(x -> { @@ -396,6 +403,7 @@ public class JavaTXCompiler { //phSetVariance = new ArrayList<>(phSet); macht vermutlich keinen Sinn PL 2018-10-18 //phSetVariance.removeIf(x -> (x.getVariance() == 0 || usedTPH.contains(x))); } + return usedTPH; } diff --git a/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java b/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java index f969baffb..6a2ef3959 100644 --- a/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java +++ b/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java @@ -354,6 +354,7 @@ public class TypeUnifyTask extends RecursiveTask>> { } /* auskommentiert um alle Max und min Betrachtung auszuschalten ENDE */ + /* PL 2018-11-05 wird falsch weil es auf der obersten Ebene ist. if (isUndefinedPairSetSet(res)) { int nofstred= 0; Set abhSubst = res.stream() @@ -406,6 +407,7 @@ public class TypeUnifyTask extends RecursiveTask>> { writeLog("Number of Backtracking: " + noBacktracking); System.out.println(""); } + */ //if (nextSetasList.size() == 0 && isUndefinedPairSetSet(result) && nextSet.size() > 1) { // return result; //} diff --git a/test/bytecode/javFiles/Matrix.jav b/test/bytecode/javFiles/Matrix.jav index f2073b26d..295051617 100644 --- a/test/bytecode/javFiles/Matrix.jav +++ b/test/bytecode/javFiles/Matrix.jav @@ -1,8 +1,8 @@ import java.util.Vector; import java.lang.Integer; -//import java.lang.Float; +import java.lang.Float; //import java.lang.Byte; -import java.lang.Boolean; +//import java.lang.Boolean; public class Matrix extends Vector> { From fc3331d810923399be4f1ed81217a192a01d66bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Pl=C3=BCmicke?= Date: Tue, 6 Nov 2018 23:35:57 +0100 Subject: [PATCH 09/31] modified: src/de/dhbwstuttgart/typeinference/typeAlgo/TYPEStmt.java modified: src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java OderConstraints in Unify integriert --- .../typeinference/typeAlgo/TYPEStmt.java | 3 +- .../typeinference/unify/TypeUnifyTask.java | 83 ++++++++++++++----- 2 files changed, 65 insertions(+), 21 deletions(-) diff --git a/src/de/dhbwstuttgart/typeinference/typeAlgo/TYPEStmt.java b/src/de/dhbwstuttgart/typeinference/typeAlgo/TYPEStmt.java index 609600cd1..df57fa5ec 100644 --- a/src/de/dhbwstuttgart/typeinference/typeAlgo/TYPEStmt.java +++ b/src/de/dhbwstuttgart/typeinference/typeAlgo/TYPEStmt.java @@ -228,7 +228,8 @@ public class TYPEStmt implements StatementVisitor{ binary.operation.equals(BinaryExpr.Operator.ADD)|| binary.operation.equals(BinaryExpr.Operator.SUB)){ Set> numericAdditionOrStringConcatenation = new HashSet<>(); - + - Auf importierte Typen einschraenken + - pruefen, ob die Typen richtig bestimmt werden. //Zuerst der Fall für Numerische AusdrücPairOpnumericeratorke, das sind Mul, Mod und Div immer: //see: https://docs.oracle.com/javase/specs/jls/se7/html/jls-15.html#jls-15.17 //Expression muss zu Numeric Convertierbar sein. also von Numeric erben diff --git a/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java b/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java index 6a2ef3959..5ee0a27d3 100644 --- a/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java +++ b/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java @@ -159,12 +159,20 @@ public class TypeUnifyTask extends RecursiveTask>> { } */ - protected Set> computeOld() { - Set> res = unify(eq, fc, parallel); + protected Set> compute() { + Set neweq = new HashSet<>(eq); + /* 1-elementige Oder-Constraints werden in und-Constraints umgewandelt */ + oderConstraints.stream() + .filter(x -> x.size()==1) + .map(y -> y.stream().findFirst().get()).forEach(x -> neweq.addAll(x)); + ArrayList>> remainingOderconstraints = oderConstraints.stream() + .filter(x -> x.size()>1) + .collect(Collectors.toCollection(ArrayList::new)); + Set> res = unify(neweq, remainingOderconstraints, fc, parallel); if (isUndefinedPairSetSet(res)) { return new HashSet<>(); } else return res; } - +/* @Override protected Set> compute() { Set> fstElems = new HashSet<>(); @@ -173,7 +181,9 @@ public class TypeUnifyTask extends RecursiveTask>> { if (isUndefinedPairSetSet(res)) { return new HashSet<>(); } else return res; } - +*/ + + public Set> computeCartesianRecursiveOderConstraints(Set> fstElems, List>> topLevelSets, IFiniteClosure fc, boolean parallel) { //ArrayList>> remainingSets = new ArrayList<>(topLevelSets); fstElems.addAll(topLevelSets.stream() @@ -186,7 +196,7 @@ public class TypeUnifyTask extends RecursiveTask>> { if (remainingSets.isEmpty()) {//Alle Elemente sind 1-elementig Set eq = new HashSet<>(); fstElems.stream().forEach(x -> eq.addAll(x)); - Set> result = unify(eq, fc, parallel); + Set> result = unify(eq, new ArrayList<>(), fc, parallel); return result; } Set> nextSet = remainingSets.remove(0); @@ -289,7 +299,7 @@ public class TypeUnifyTask extends RecursiveTask>> { System.out.println(noou); Set eq = new HashSet<>(); elems.stream().forEach(x -> eq.addAll(x)); - res = unify(eq, fc, parallel); + res = unify(eq, new ArrayList<>(), fc, parallel); } else {//duerfte gar nicht mehr vorkommen PL 2018-04-03 res = computeCartesianRecursiveOderConstraints(elems, remainingSets, fc, parallel); @@ -428,18 +438,21 @@ public class TypeUnifyTask extends RecursiveTask>> { * @param fc The finite closure * @return The set of all principal type unifiers */ - protected Set> unify(Set eq, IFiniteClosure fc, boolean parallel) { + protected Set> unify(Set eq, List>> oderConstraints, IFiniteClosure fc, boolean parallel) { //Set aas = eq.stream().filter(x -> x.getLhsType().getName().equals("AA") //&& x.getPairOp().equals(PairOperator.SMALLERDOT) // ).collect(Collectors.toCollection(HashSet::new)); //writeLog(nOfUnify.toString() + " AA: " + aas.toString()); //if (aas.isEmpty()) { // System.out.println(""); //} + + //.collect(Collectors.toCollection(HashSet::new))); /* * Step 1: Repeated application of reduce, adapt, erase, swap */ nOfUnify++; writeLog(nOfUnify.toString() + " Unifikation: " + eq.toString()); + writeLog(nOfUnify.toString() + " Oderconstraints: " + oderConstraints.toString()); //eq = eq.stream().map(x -> {x.setVariance((byte)-1); return x;}).collect(Collectors.toCollection(HashSet::new)); /* @@ -505,7 +518,7 @@ public class TypeUnifyTask extends RecursiveTask>> { Set undefinedPairs = new HashSet<>(); if (printtag) System.out.println("eq2s " + eq2s); //writeLog("BufferSet: " + bufferSet.toString()+"\n"); - Set>>> secondLevelSets = calculatePairSets(eq2s, fc, undefinedPairs); + Set>>> secondLevelSets = calculatePairSets(eq2s, oderConstraints, fc, undefinedPairs); //PL 2017-09-20: Im calculatePairSets wird möglicherweise O .< java.lang.Integer //nicht ausgewertet Faculty Beispiel im 1. Schritt //PL 2017-10-03 geloest, muesste noch mit FCs mit kleineren @@ -561,12 +574,12 @@ public class TypeUnifyTask extends RecursiveTask>> { //Aufruf von computeCartesianRecursive ANFANG - return computeCartesianRecursive(new HashSet<>(), new ArrayList<>(topLevelSets), eq, fc, parallel); + return computeCartesianRecursive(new HashSet<>(), new ArrayList<>(topLevelSets), eq, oderConstraints, fc, parallel); } - Set> unify2(Set> setToFlatten, Set eq, IFiniteClosure fc, boolean parallel) { + Set> unify2(Set> setToFlatten, Set eq, List>> oderConstraints, IFiniteClosure fc, boolean parallel) { //Aufruf von computeCartesianRecursive ENDE //keine Ahnung woher das kommt @@ -634,12 +647,12 @@ public class TypeUnifyTask extends RecursiveTask>> { eqPrimePrimeSet.add(eqPrime); } else if(eqPrimePrime.isPresent()) { - Set> unifyres = unify(eqPrimePrime.get(), fc, false); + Set> unifyres = unify(eqPrimePrime.get(), oderConstraints, fc, false); eqPrimePrimeSet.addAll(unifyres); } else { - Set> unifyres = unify(eqPrime, fc, false); + Set> unifyres = unify(eqPrime, oderConstraints, fc, false); eqPrimePrimeSet.addAll(unifyres); @@ -668,7 +681,7 @@ public class TypeUnifyTask extends RecursiveTask>> { - Set> computeCartesianRecursive(Set> fstElems, ArrayList>> topLevelSets, Set eq, IFiniteClosure fc, boolean parallel) { + Set> computeCartesianRecursive(Set> fstElems, ArrayList>> topLevelSets, Set eq, List>> oderConstraints, IFiniteClosure fc, boolean parallel) { //ArrayList>> remainingSets = new ArrayList<>(topLevelSets); fstElems.addAll(topLevelSets.stream() .filter(x -> x.size()==1) @@ -678,7 +691,7 @@ public class TypeUnifyTask extends RecursiveTask>> { .filter(x -> x.size()>1) .collect(Collectors.toCollection(ArrayList::new)); if (remainingSets.isEmpty()) {//Alle Elemente sind 1-elementig - Set> result = unify2(fstElems, eq, fc, parallel); + Set> result = unify2(fstElems, eq, oderConstraints, fc, parallel); return result; } Set> nextSet = remainingSets.remove(0); @@ -775,7 +788,7 @@ public class TypeUnifyTask extends RecursiveTask>> { elems.add(a); //if (remainingSets.isEmpty()) {//muss immer gegeben sein, weil nur 1 Element der topLevelSets mehr als ein Elemet enthaelt //writeLog("Vor unify2 Aufruf: " + eq.toString()); - Set> res = unify2(elems, eq, fc, parallel); + Set> res = unify2(elems, eq, oderConstraints, fc, parallel); if (!isUndefinedPairSetSet(res) && isUndefinedPairSetSet(result)) { //wenn korrektes Ergebnis gefunden alle Fehlerfaelle loeschen result = res; @@ -1174,15 +1187,17 @@ public class TypeUnifyTask extends RecursiveTask>> { * from the pairs that matched the case. Each generated set contains singleton sets or sets with few elements * (as in case 1 where sigma is added to the innermost set). */ - protected Set>>> calculatePairSets(Set eq2s, IFiniteClosure fc, Set undefined) { - List>>> result = new ArrayList<>(8); + protected Set>>> calculatePairSets(Set eq2s, List>> oderConstraints, IFiniteClosure fc, Set undefined) { + List>>> result = new ArrayList<>(9); - // Init all 8 cases - for(int i = 0; i < 8; i++) + // Init all 8 cases + 9. Case: oderConstraints + for(int i = 0; i < 9; i++) result.add(new HashSet<>()); + ArrayList eq2sprime = new ArrayList<>(eq2s); Iterator eq2sprimeit = eq2sprime.iterator(); ArrayList eq2sAsList = new ArrayList<>(); + Boolean first = true; while(eq2sprimeit.hasNext()) {// alle mit Variance != 0 nach vorne schieben UnifyPair up = eq2sprimeit.next(); if ((up.getLhsType() instanceof PlaceholderType && ((PlaceholderType)up.getLhsType()).getVariance() != 0) @@ -1191,8 +1206,36 @@ public class TypeUnifyTask extends RecursiveTask>> { eq2s.remove(up); } } + if (eq2sAsList.isEmpty()) { + List>> oderConstraintsVariance = oderConstraints.stream() //Alle Elemente rauswerfen, die Variance 0 haben oder keine TPH in LHS oder RHS sind + .filter(x -> x.stream() + .filter(y -> + y.stream().filter(z -> ((z.getLhsType() instanceof PlaceholderType) + && (((PlaceholderType)(z.getLhsType())).getVariance() != 0)) + || ((z.getRhsType() instanceof PlaceholderType) + && (((PlaceholderType)(z.getRhsType())).getVariance() != 0)) + ).findFirst().isPresent() + ).findFirst().isPresent()).collect(Collectors.toList()); + if (!oderConstraintsVariance.isEmpty()) { + Set> ret = oderConstraintsVariance.get(0); + oderConstraints.remove(ret); + result.get(8).add(ret); + first = false; + } + } + eq2sAsList.addAll(eq2s); - Boolean first = true; + + if (eq2sAsList.isEmpty() && first) {//Alle eq2s sind empty und alle oderConstraints mit Variance != 0 sind bearbeitet + if (!oderConstraints.isEmpty()) { + result.get(8).add(oderConstraints.remove(0)); + first = false; + } + } + + - Bei allen die Abhaengigkeit der Elemente aus eq2sAsList als evtl. als Substitution + hinzufuegen + for(UnifyPair pair : eq2sAsList) { PairOperator pairOp = pair.getPairOp(); UnifyType lhsType = pair.getLhsType(); From 0a9e325f547a8b961134e60230392ed551170005 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Pl=C3=BCmicke?= Date: Wed, 7 Nov 2018 17:49:12 +0100 Subject: [PATCH 10/31] modified: ../../src/de/dhbwstuttgart/core/JavaTXCompiler.java modified: ../../src/de/dhbwstuttgart/typeinference/typeAlgo/TYPEStmt.java modified: ../../src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java modified: ../../src/de/dhbwstuttgart/typeinference/unify/model/UnifyPair.java --- src/de/dhbwstuttgart/core/JavaTXCompiler.java | 11 +++-- .../typeinference/typeAlgo/TYPEStmt.java | 10 ++++- .../typeinference/unify/TypeUnifyTask.java | 40 ++++++++++++------- .../typeinference/unify/model/UnifyPair.java | 9 +++++ 4 files changed, 51 insertions(+), 19 deletions(-) diff --git a/src/de/dhbwstuttgart/core/JavaTXCompiler.java b/src/de/dhbwstuttgart/core/JavaTXCompiler.java index 212dafad6..5387e2a11 100644 --- a/src/de/dhbwstuttgart/core/JavaTXCompiler.java +++ b/src/de/dhbwstuttgart/core/JavaTXCompiler.java @@ -318,6 +318,9 @@ public class JavaTXCompiler { }); Set varianceTPHold; Set varianceTPH = new HashSet<>(); + varianceTPH = varianceInheritanceConstraintSet(unifyCons); + + /* PL 2018-11-07 wird in varianceInheritanceConstraintSet erledigt do { //PL 2018-11-05 Huellenbildung Variance auf alle TPHs der Terme auf der jeweiligen //anderen Seite übertragen varianceTPHold = new HashSet<>(varianceTPH); @@ -332,7 +335,9 @@ public class JavaTXCompiler { } } return y; } ); } - while (!varianceTPHold.equals(varianceTPH)); + while (!varianceTPHold.equals(varianceTPH)); + */ + //Set> result = unify.unifySequential(xConsSet, finiteClosure, logFile, log); //Set> result = unify.unify(xConsSet, finiteClosure); Set> result = unify.unifyOderConstraints(unifyCons.getUndConstraints(), unifyCons.getOderConstraints(), finiteClosure, logFile, log); @@ -400,8 +405,8 @@ public class JavaTXCompiler { x.getLhsType().accept(new distributeVariance(), a.getVariance()); } }); - //phSetVariance = new ArrayList<>(phSet); macht vermutlich keinen Sinn PL 2018-10-18 - //phSetVariance.removeIf(x -> (x.getVariance() == 0 || usedTPH.contains(x))); + phSetVariance = new ArrayList<>(phSet); //macht vermutlich keinen Sinn PL 2018-10-18, doch, es koennen neue TPHs mit Variancen dazugekommen sein PL 2018-11-07 + phSetVariance.removeIf(x -> (x.getVariance() == 0 || usedTPH.contains(x))); } return usedTPH; } diff --git a/src/de/dhbwstuttgart/typeinference/typeAlgo/TYPEStmt.java b/src/de/dhbwstuttgart/typeinference/typeAlgo/TYPEStmt.java index df57fa5ec..e06669505 100644 --- a/src/de/dhbwstuttgart/typeinference/typeAlgo/TYPEStmt.java +++ b/src/de/dhbwstuttgart/typeinference/typeAlgo/TYPEStmt.java @@ -228,8 +228,14 @@ public class TYPEStmt implements StatementVisitor{ binary.operation.equals(BinaryExpr.Operator.ADD)|| binary.operation.equals(BinaryExpr.Operator.SUB)){ Set> numericAdditionOrStringConcatenation = new HashSet<>(); - - Auf importierte Typen einschraenken - - pruefen, ob die Typen richtig bestimmt werden. + +// TODO PL 2018-11-06 + + // Auf importierte Typen einschraenken + // pruefen, ob Typen richtig bestimmt werden. + + + //Zuerst der Fall für Numerische AusdrücPairOpnumericeratorke, das sind Mul, Mod und Div immer: //see: https://docs.oracle.com/javase/specs/jls/se7/html/jls-15.html#jls-15.17 //Expression muss zu Numeric Convertierbar sein. also von Numeric erben diff --git a/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java b/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java index 5ee0a27d3..aabd27927 100644 --- a/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java +++ b/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java @@ -74,7 +74,7 @@ public class TypeUnifyTask extends RecursiveTask>> { protected Set eq; //und-constraints - protected List>> oderConstraints; + protected List>> oderConstraintsField; protected IFiniteClosure fc; @@ -109,7 +109,7 @@ public class TypeUnifyTask extends RecursiveTask>> { public TypeUnifyTask(Set eq, List>> oderConstraints, IFiniteClosure fc, boolean parallel, FileWriter logFile, Boolean log) { this.eq = eq; //this.oderConstraints = oderConstraints.stream().map(x -> x.stream().map(y -> new HashSet<>(y)).collect(Collectors.toSet(HashSet::new))).collect(Collectors.toList(ArrayList::new)); - this.oderConstraints = oderConstraints.stream().map(x -> { + this.oderConstraintsField = oderConstraints.stream().map(x -> { Set> ret = new HashSet<>(); for (Constraint y : x) { ret.add(new HashSet<>(y)); @@ -162,10 +162,10 @@ public class TypeUnifyTask extends RecursiveTask>> { protected Set> compute() { Set neweq = new HashSet<>(eq); /* 1-elementige Oder-Constraints werden in und-Constraints umgewandelt */ - oderConstraints.stream() + oderConstraintsField.stream() .filter(x -> x.size()==1) .map(y -> y.stream().findFirst().get()).forEach(x -> neweq.addAll(x)); - ArrayList>> remainingOderconstraints = oderConstraints.stream() + ArrayList>> remainingOderconstraints = oderConstraintsField.stream() .filter(x -> x.size()>1) .collect(Collectors.toCollection(ArrayList::new)); Set> res = unify(neweq, remainingOderconstraints, fc, parallel); @@ -518,7 +518,8 @@ public class TypeUnifyTask extends RecursiveTask>> { Set undefinedPairs = new HashSet<>(); if (printtag) System.out.println("eq2s " + eq2s); //writeLog("BufferSet: " + bufferSet.toString()+"\n"); - Set>>> secondLevelSets = calculatePairSets(eq2s, oderConstraints, fc, undefinedPairs); + List>> oderConstraintsOutput = new ArrayList<>(oderConstraints); + Set>>> secondLevelSets = calculatePairSets(eq2s, oderConstraints, fc, undefinedPairs, oderConstraintsOutput); //PL 2017-09-20: Im calculatePairSets wird möglicherweise O .< java.lang.Integer //nicht ausgewertet Faculty Beispiel im 1. Schritt //PL 2017-10-03 geloest, muesste noch mit FCs mit kleineren @@ -574,7 +575,7 @@ public class TypeUnifyTask extends RecursiveTask>> { //Aufruf von computeCartesianRecursive ANFANG - return computeCartesianRecursive(new HashSet<>(), new ArrayList<>(topLevelSets), eq, oderConstraints, fc, parallel); + return computeCartesianRecursive(new HashSet<>(), new ArrayList<>(topLevelSets), eq, oderConstraintsOutput, fc, parallel); } @@ -859,6 +860,14 @@ public class TypeUnifyTask extends RecursiveTask>> { .map(x -> x.getAllSubstitutions()) .reduce((y,z) -> { y.addAll(z); return y;}).get()) .reduce((y,z) -> { y.addAll(z); return y;}).get(); + abhSubst.addAll( + res.stream() + .map(b -> + b.stream() + .map(x -> x.getAllBases()) + .reduce((y,z) -> { y.addAll(z); return y;}).get()) + .reduce((y,z) -> { y.addAll(z); return y;}).get() + ); Set b = a;//effective final a Set durchschnitt = abhSubst.stream() .filter(x -> b.contains(x)) @@ -1187,7 +1196,7 @@ public class TypeUnifyTask extends RecursiveTask>> { * from the pairs that matched the case. Each generated set contains singleton sets or sets with few elements * (as in case 1 where sigma is added to the innermost set). */ - protected Set>>> calculatePairSets(Set eq2s, List>> oderConstraints, IFiniteClosure fc, Set undefined) { + protected Set>>> calculatePairSets(Set eq2s, List>> oderConstraintsInput, IFiniteClosure fc, Set undefined, List>> oderConstraintsOutput) { List>>> result = new ArrayList<>(9); // Init all 8 cases + 9. Case: oderConstraints @@ -1207,7 +1216,7 @@ public class TypeUnifyTask extends RecursiveTask>> { } } if (eq2sAsList.isEmpty()) { - List>> oderConstraintsVariance = oderConstraints.stream() //Alle Elemente rauswerfen, die Variance 0 haben oder keine TPH in LHS oder RHS sind + List>> oderConstraintsVariance = oderConstraintsOutput.stream() //Alle Elemente rauswerfen, die Variance 0 haben oder keine TPH in LHS oder RHS sind .filter(x -> x.stream() .filter(y -> y.stream().filter(z -> ((z.getLhsType() instanceof PlaceholderType) @@ -1218,7 +1227,7 @@ public class TypeUnifyTask extends RecursiveTask>> { ).findFirst().isPresent()).collect(Collectors.toList()); if (!oderConstraintsVariance.isEmpty()) { Set> ret = oderConstraintsVariance.get(0); - oderConstraints.remove(ret); + oderConstraintsOutput.remove(ret); result.get(8).add(ret); first = false; } @@ -1227,15 +1236,15 @@ public class TypeUnifyTask extends RecursiveTask>> { eq2sAsList.addAll(eq2s); if (eq2sAsList.isEmpty() && first) {//Alle eq2s sind empty und alle oderConstraints mit Variance != 0 sind bearbeitet - if (!oderConstraints.isEmpty()) { - result.get(8).add(oderConstraints.remove(0)); + if (!oderConstraintsOutput.isEmpty()) { + result.get(8).add(oderConstraintsOutput.remove(0)); first = false; } } - - - Bei allen die Abhaengigkeit der Elemente aus eq2sAsList als evtl. als Substitution + /* + Bei allen die Abhaengigkeit der Elemente aus eq2sAsList als evtl. als Substitution hinzufuegen - + */ for(UnifyPair pair : eq2sAsList) { PairOperator pairOp = pair.getPairOp(); UnifyType lhsType = pair.getLhsType(); @@ -1245,6 +1254,9 @@ public class TypeUnifyTask extends RecursiveTask>> { if (((pairOp == PairOperator.SMALLERDOT) || (pairOp == PairOperator.SMALLERNEQDOT)) && lhsType instanceof PlaceholderType) { //System.out.println(pair); if (first) { //writeLog(pair.toString()+"\n"); + if (((PlaceholderType)(pair.getLhsType())).getName().equals("AR")) { + System.out.println("AR"); + } Set> x1 = unifyCase1(pair, fc); if (pairOp == PairOperator.SMALLERNEQDOT) { Set remElem = new HashSet<>(); diff --git a/src/de/dhbwstuttgart/typeinference/unify/model/UnifyPair.java b/src/de/dhbwstuttgart/typeinference/unify/model/UnifyPair.java index d69138a72..729f7f4a6 100644 --- a/src/de/dhbwstuttgart/typeinference/unify/model/UnifyPair.java +++ b/src/de/dhbwstuttgart/typeinference/unify/model/UnifyPair.java @@ -152,6 +152,15 @@ public class UnifyPair { return ret; } + public Set getAllBases () { + Set ret = new HashSet<>(); + if (basePair != null) { + ret.add(getBasePair()); + ret.addAll(basePair.getAllBases()); + } + return ret; + } + public UnifyPair getGroundBasePair () { if (basePair == null) { return this; From 3ce60eec8d87b7b1369cef70399438f5feb5e78d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Pl=C3=BCmicke?= Date: Mon, 12 Nov 2018 11:55:37 +0100 Subject: [PATCH 11/31] modified: ../../src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java Rekursionstife dokumentieten eingefuegt. --- .../typeinference/unify/TypeUnifyTask.java | 33 +++++++++++-------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java b/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java index aabd27927..bb36c5b41 100644 --- a/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java +++ b/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java @@ -168,7 +168,7 @@ public class TypeUnifyTask extends RecursiveTask>> { ArrayList>> remainingOderconstraints = oderConstraintsField.stream() .filter(x -> x.size()>1) .collect(Collectors.toCollection(ArrayList::new)); - Set> res = unify(neweq, remainingOderconstraints, fc, parallel); + Set> res = unify(neweq, remainingOderconstraints, fc, parallel, 0); if (isUndefinedPairSetSet(res)) { return new HashSet<>(); } else return res; } @@ -184,7 +184,7 @@ public class TypeUnifyTask extends RecursiveTask>> { */ - public Set> computeCartesianRecursiveOderConstraints(Set> fstElems, List>> topLevelSets, IFiniteClosure fc, boolean parallel) { + public Set> computeCartesianRecursiveOderConstraints(Set> fstElems, List>> topLevelSets, IFiniteClosure fc, boolean parallel, int rekTiefe) { //ArrayList>> remainingSets = new ArrayList<>(topLevelSets); fstElems.addAll(topLevelSets.stream() .filter(x -> x.size()==1) @@ -196,7 +196,7 @@ public class TypeUnifyTask extends RecursiveTask>> { if (remainingSets.isEmpty()) {//Alle Elemente sind 1-elementig Set eq = new HashSet<>(); fstElems.stream().forEach(x -> eq.addAll(x)); - Set> result = unify(eq, new ArrayList<>(), fc, parallel); + Set> result = unify(eq, new ArrayList<>(), fc, parallel, rekTiefe); return result; } Set> nextSet = remainingSets.remove(0); @@ -299,10 +299,10 @@ public class TypeUnifyTask extends RecursiveTask>> { System.out.println(noou); Set eq = new HashSet<>(); elems.stream().forEach(x -> eq.addAll(x)); - res = unify(eq, new ArrayList<>(), fc, parallel); + res = unify(eq, new ArrayList<>(), fc, parallel, rekTiefe); } else {//duerfte gar nicht mehr vorkommen PL 2018-04-03 - res = computeCartesianRecursiveOderConstraints(elems, remainingSets, fc, parallel); + res = computeCartesianRecursiveOderConstraints(elems, remainingSets, fc, parallel, rekTiefe); } if (!isUndefinedPairSetSet(res) && isUndefinedPairSetSet(result)) { @@ -438,7 +438,7 @@ public class TypeUnifyTask extends RecursiveTask>> { * @param fc The finite closure * @return The set of all principal type unifiers */ - protected Set> unify(Set eq, List>> oderConstraints, IFiniteClosure fc, boolean parallel) { + protected Set> unify(Set eq, List>> oderConstraints, IFiniteClosure fc, boolean parallel, int rekTiefe) { //Set aas = eq.stream().filter(x -> x.getLhsType().getName().equals("AA") //&& x.getPairOp().equals(PairOperator.SMALLERDOT) // ).collect(Collectors.toCollection(HashSet::new)); //writeLog(nOfUnify.toString() + " AA: " + aas.toString()); @@ -450,6 +450,7 @@ public class TypeUnifyTask extends RecursiveTask>> { /* * Step 1: Repeated application of reduce, adapt, erase, swap */ + rekTiefe++; nOfUnify++; writeLog(nOfUnify.toString() + " Unifikation: " + eq.toString()); writeLog(nOfUnify.toString() + " Oderconstraints: " + oderConstraints.toString()); @@ -575,12 +576,12 @@ public class TypeUnifyTask extends RecursiveTask>> { //Aufruf von computeCartesianRecursive ANFANG - return computeCartesianRecursive(new HashSet<>(), new ArrayList<>(topLevelSets), eq, oderConstraintsOutput, fc, parallel); + return computeCartesianRecursive(new HashSet<>(), new ArrayList<>(topLevelSets), eq, oderConstraintsOutput, fc, parallel, rekTiefe); } - Set> unify2(Set> setToFlatten, Set eq, List>> oderConstraints, IFiniteClosure fc, boolean parallel) { + Set> unify2(Set> setToFlatten, Set eq, List>> oderConstraints, IFiniteClosure fc, boolean parallel, int rekTiefe) { //Aufruf von computeCartesianRecursive ENDE //keine Ahnung woher das kommt @@ -648,12 +649,12 @@ public class TypeUnifyTask extends RecursiveTask>> { eqPrimePrimeSet.add(eqPrime); } else if(eqPrimePrime.isPresent()) { - Set> unifyres = unify(eqPrimePrime.get(), oderConstraints, fc, false); + Set> unifyres = unify(eqPrimePrime.get(), oderConstraints, fc, false, rekTiefe); eqPrimePrimeSet.addAll(unifyres); } else { - Set> unifyres = unify(eqPrime, oderConstraints, fc, false); + Set> unifyres = unify(eqPrime, oderConstraints, fc, false, rekTiefe); eqPrimePrimeSet.addAll(unifyres); @@ -682,7 +683,7 @@ public class TypeUnifyTask extends RecursiveTask>> { - Set> computeCartesianRecursive(Set> fstElems, ArrayList>> topLevelSets, Set eq, List>> oderConstraints, IFiniteClosure fc, boolean parallel) { + Set> computeCartesianRecursive(Set> fstElems, ArrayList>> topLevelSets, Set eq, List>> oderConstraints, IFiniteClosure fc, boolean parallel, int rekTiefe) { //ArrayList>> remainingSets = new ArrayList<>(topLevelSets); fstElems.addAll(topLevelSets.stream() .filter(x -> x.size()==1) @@ -692,7 +693,7 @@ public class TypeUnifyTask extends RecursiveTask>> { .filter(x -> x.size()>1) .collect(Collectors.toCollection(ArrayList::new)); if (remainingSets.isEmpty()) {//Alle Elemente sind 1-elementig - Set> result = unify2(fstElems, eq, oderConstraints, fc, parallel); + Set> result = unify2(fstElems, eq, oderConstraints, fc, parallel, rekTiefe); return result; } Set> nextSet = remainingSets.remove(0); @@ -786,10 +787,11 @@ public class TypeUnifyTask extends RecursiveTask>> { //for(Set a : newSet) { i++; Set> elems = new HashSet>(fstElems); + writeLog("a1: " + rekTiefe + " "+ a.toString()+ "\n"); elems.add(a); //if (remainingSets.isEmpty()) {//muss immer gegeben sein, weil nur 1 Element der topLevelSets mehr als ein Elemet enthaelt //writeLog("Vor unify2 Aufruf: " + eq.toString()); - Set> res = unify2(elems, eq, oderConstraints, fc, parallel); + Set> res = unify2(elems, eq, oderConstraints, fc, parallel, rekTiefe); if (!isUndefinedPairSetSet(res) && isUndefinedPairSetSet(result)) { //wenn korrektes Ergebnis gefunden alle Fehlerfaelle loeschen result = res; @@ -899,7 +901,7 @@ public class TypeUnifyTask extends RecursiveTask>> { // .collect(Collectors.toCollection(ArrayList::new)); writeLog("res (undef): " + res.toString()); writeLog("abhSubst: " + abhSubst.toString()); - writeLog("a: " + a.toString()); + writeLog("a2: " + rekTiefe + " " + a.toString()); writeLog("Durchschnitt: " + durchschnitt.toString()); writeLog("nextSet: " + nextSet.toString()); writeLog("nextSetasList: " + nextSetasList.toString()); @@ -919,7 +921,10 @@ public class TypeUnifyTask extends RecursiveTask>> { // result.removeIf(y -> isUndefinedPairSet(y)); //} //else result.stream().filter(y -> !isUndefinedPairSet(y)); + writeLog("res: " + res.toString()); } + + writeLog("Return computeCR: " + result.toString()); return result; } From e72310278da7f13bb74eee66c344dbded9d9ce77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Pl=C3=BCmicke?= Date: Mon, 12 Nov 2018 17:57:51 +0100 Subject: [PATCH 12/31] modified: ../../src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java modified: ../../src/de/dhbwstuttgart/typeinference/unify/model/UnifyPair.java Oder-Constraints als Subsitutions zu den Substitutions der UnifyPairs hinzugefuegt. --- .../dhbwstuttgart/typeinference/unify/TypeUnifyTask.java | 9 ++++++++- .../typeinference/unify/model/UnifyPair.java | 4 ++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java b/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java index bb36c5b41..fa84a8d9e 100644 --- a/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java +++ b/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java @@ -1233,6 +1233,9 @@ public class TypeUnifyTask extends RecursiveTask>> { if (!oderConstraintsVariance.isEmpty()) { Set> ret = oderConstraintsVariance.get(0); oderConstraintsOutput.remove(ret); + //Set retFlat = new HashSet<>(); + //ret.stream().forEach(x -> retFlat.addAll(x)); + ret.stream().forEach(x -> x.stream().forEach(y -> y.addSubstitutions(x))); result.get(8).add(ret); first = false; } @@ -1242,7 +1245,11 @@ public class TypeUnifyTask extends RecursiveTask>> { if (eq2sAsList.isEmpty() && first) {//Alle eq2s sind empty und alle oderConstraints mit Variance != 0 sind bearbeitet if (!oderConstraintsOutput.isEmpty()) { - result.get(8).add(oderConstraintsOutput.remove(0)); + Set> ret = oderConstraintsOutput.remove(0); + //Set retFlat = new HashSet<>(); + //ret.stream().forEach(x -> retFlat.addAll(x)); + ret.stream().forEach(x -> x.stream().forEach(y -> y.addSubstitutions(x))); + result.get(8).add(ret); first = false; } } diff --git a/src/de/dhbwstuttgart/typeinference/unify/model/UnifyPair.java b/src/de/dhbwstuttgart/typeinference/unify/model/UnifyPair.java index 729f7f4a6..57b4e61ed 100644 --- a/src/de/dhbwstuttgart/typeinference/unify/model/UnifyPair.java +++ b/src/de/dhbwstuttgart/typeinference/unify/model/UnifyPair.java @@ -121,6 +121,10 @@ public class UnifyPair { pairOp = po; } + public void addSubstitutions(Set sup) { + substitution.addAll(sup); + } + public byte getVariance() { return variance; } From 74ad081e78efebe81fecc6e60adb478669c8fc81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Pl=C3=BCmicke?= Date: Tue, 13 Nov 2018 14:28:33 +0100 Subject: [PATCH 13/31] modified: JavaTXCompiler.java wieder das aus uniy-test hinkopiert --- src/de/dhbwstuttgart/core/JavaTXCompiler.java | 27 +++++++------------ 1 file changed, 10 insertions(+), 17 deletions(-) diff --git a/src/de/dhbwstuttgart/core/JavaTXCompiler.java b/src/de/dhbwstuttgart/core/JavaTXCompiler.java index f0dcf69db..5387e2a11 100644 --- a/src/de/dhbwstuttgart/core/JavaTXCompiler.java +++ b/src/de/dhbwstuttgart/core/JavaTXCompiler.java @@ -176,10 +176,7 @@ public class JavaTXCompiler { } } return x;//HIER DIE JEWEILS RECHT BZW. LINKE SEITE AUF GLEICHE VARIANZ SETZEN WIE DIE JEWEILS ANDERE SEITE - }) - /* PL 2018-11-07 wird in varianceInheritance erledigt - .map( y -> { - + }).map( y -> { if ((y.getLhsType() instanceof PlaceholderType) && (y.getRhsType() instanceof PlaceholderType)) { if (((PlaceholderType)y.getLhsType()).getVariance() != 0 && ((PlaceholderType)y.getRhsType()).getVariance() == 0) { ((PlaceholderType)y.getRhsType()).setVariance(((PlaceholderType)y.getLhsType()).getVariance()); @@ -189,20 +186,16 @@ public class JavaTXCompiler { } } return y; } ) - */ .collect(Collectors.toCollection(HashSet::new)); - varianceInheritance(xConsSet); - - - - Set> result = unify.unifySequential(xConsSet, finiteClosure, logFile, log); - //Set> result = unify.unify(xConsSet, finiteClosure); - System.out.println("RESULT: " + result); - logFile.write("RES: " + result.toString()+"\n"); - logFile.flush(); - results.addAll(result); + varianceInheritance(xConsSet); + Set> result = unify.unifySequential(xConsSet, finiteClosure, logFile, log); + //Set> result = unify.unify(xConsSet, finiteClosure); + System.out.println("RESULT: " + result); + logFile.write("RES: " + result.toString()+"\n"); + logFile.flush(); + results.addAll(result); } - + results = results.stream().map(x -> { Optional> res = new RuleSet().subst(x.stream().map(y -> { if (y.getPairOp() == PairOperator.SMALLERDOTWC) y.setPairOp(PairOperator.EQUALSDOT); @@ -227,7 +220,7 @@ public class JavaTXCompiler { * wenn a eine Variance !=0 hat auf alle Typvariablen in Theta. * @param eq The set of constraints */ - private void varianceInheritance(Set eq) { + private void varianceInheritance(Set eq) { Set usedTPH = new HashSet<>(); Set phSet = eq.stream().map(x -> { Set pair = new HashSet<>(); From 07c679a598d248d1e430c5728cbade0913681a29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Pl=C3=BCmicke?= Date: Tue, 13 Nov 2018 16:08:07 +0100 Subject: [PATCH 14/31] modified: ../../src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java Variance =2 eingefuehrt, wenn Variancen einer Menge unterschiedlich sind (Oer-Constraints) modified: ../bytecode/MatrixOpTest.java wieder zum Ausfuehren eingeschaltet --- src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java | 4 ++-- test/bytecode/MatrixOpTest.java | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java b/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java index fa84a8d9e..fbf354d0e 100644 --- a/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java +++ b/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java @@ -711,7 +711,7 @@ public class TypeUnifyTask extends RecursiveTask>> { Optional xi = nextSetasList.stream().map(x -> x.stream().filter(y -> y.getLhsType() instanceof PlaceholderType) .filter(z -> ((PlaceholderType)z.getLhsType()).getVariance() != 0) .map(c -> ((PlaceholderType)c.getLhsType()).getVariance()) - .reduce((a,b)-> {if (a==b) return a; else return 0; })) + .reduce((a,b)-> {if (a==b) return a; else return 2; })) //2 kommt insbesondere bei Oder-Constraints vor .filter(d -> d.isPresent()) .map(e -> e.get()) .findAny(); @@ -758,7 +758,7 @@ public class TypeUnifyTask extends RecursiveTask>> { a = oup.min(nextSetasList.iterator()); nextSetasList.remove(a); } - else if (variance == 0) { + else if (variance == 0 || variance == 2) { a = nextSetasList.remove(0); } //writeLog("nextSet: " + nextSetasList.toString()+ "\n"); diff --git a/test/bytecode/MatrixOpTest.java b/test/bytecode/MatrixOpTest.java index 8fe538aaf..178aa43e5 100644 --- a/test/bytecode/MatrixOpTest.java +++ b/test/bytecode/MatrixOpTest.java @@ -32,9 +32,9 @@ public class MatrixOpTest { fileToTest = new File(path); compiler = new JavaTXCompiler(fileToTest); pathToClassFile = System.getProperty("user.dir")+"/testBytecode/generatedBC/"; -// compiler.generateBytecode(pathToClassFile); -// loader = new URLClassLoader(new URL[] {new URL("file://"+pathToClassFile)}); -// classToTest = loader.loadClass("MatrixOP"); + compiler.generateBytecode(pathToClassFile); + loader = new URLClassLoader(new URL[] {new URL("file://"+pathToClassFile)}); + classToTest = loader.loadClass("MatrixOP"); /* Vector> vv = new Vector>(); Vector v1 = new Vector (); From 22751535905dfec180d25697d75ed9bd6ac6a846 Mon Sep 17 00:00:00 2001 From: Fayez Abu Alia Date: Wed, 14 Nov 2018 13:26:37 +0100 Subject: [PATCH 15/31] bug gefixt methodCall in MatrixOP --- src/de/dhbwstuttgart/bytecode/BytecodeGenMethod.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/de/dhbwstuttgart/bytecode/BytecodeGenMethod.java b/src/de/dhbwstuttgart/bytecode/BytecodeGenMethod.java index 3da49bcae..11b4b9a33 100644 --- a/src/de/dhbwstuttgart/bytecode/BytecodeGenMethod.java +++ b/src/de/dhbwstuttgart/bytecode/BytecodeGenMethod.java @@ -110,7 +110,7 @@ public class BytecodeGenMethod implements StatementVisitor { } public BytecodeGenMethod(LambdaExpression lambdaExpression, ResultSet resultSet, MethodVisitor mv, - int indexOfFirstParamLam, boolean isInterface, HashMap classFiles, String path, int lamCounter) { + int indexOfFirstParamLam, boolean isInterface, HashMap classFiles, String path, int lamCounter,SourceFile sf) { this.resultSet = resultSet; this.mv = mv; @@ -118,6 +118,7 @@ public class BytecodeGenMethod implements StatementVisitor { this.classFiles = classFiles; this.path = path; this.lamCounter = lamCounter; + this.sf = sf; Iterator itr = lambdaExpression.params.iterator(); int i = indexOfFirstParamLam; while (itr.hasNext()) { @@ -567,7 +568,7 @@ public class BytecodeGenMethod implements StatementVisitor { methodName, arg3.toString(), null, null); new BytecodeGenMethod(lambdaExpression, this.resultSet, mvLambdaBody, indexOfFirstParamLam, isInterface, - classFiles,this.path, lamCounter); + classFiles,this.path, lamCounter,sf); mvLambdaBody.visitMaxs(0, 0); mvLambdaBody.visitEnd(); From f8d3263d24d002b0de544f7ca33f9f6488bb7a29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Pl=C3=BCmicke?= Date: Fri, 21 Dec 2018 15:27:29 +0100 Subject: [PATCH 16/31] Pfadumstellung --- pom.xml | 370 +- .../parser/antlr/Java8BaseListener.java | 2895 --- .../parser/antlr/Java8Lexer.java | 593 - .../parser/antlr/Java8Listener.java | 2390 -- .../parser/antlr/Java8Parser.java | 18764 ---------------- .../parser/antlr/UnifyResultBaseListener.java | 159 - .../asp/parser/antlr/UnifyResultLexer.java | 134 - .../asp/parser/antlr/UnifyResultListener.java | 110 - .../asp/parser/antlr/UnifyResultParser.java | 639 - .../antlr => main/antlr4/java8}/Java8.g4 | 0 .../antlr => main/antlr4/java8}/Java8.tokens | 0 .../antlr4/java8}/Java8Lexer.tokens | 0 .../antlr => main/antlr4/sat}/UnifyResult.g4 | 0 .../antlr4/sat}/UnifyResult.tokens | 0 .../antlr4/sat}/UnifyResultLexer.tokens | 0 .../java}/de/dhbwstuttgart/.DS_Store | Bin .../de/dhbwstuttgart/bytecode/AStatement.java | 0 .../dhbwstuttgart/bytecode/ArgumentExpr.java | 0 .../bytecode/ArgumentVisitor.java | 0 .../de/dhbwstuttgart/bytecode/AssignStmt.java | 0 .../dhbwstuttgart/bytecode/BytecodeGen.java | 0 .../bytecode/BytecodeGenMethod.java | 0 .../de/dhbwstuttgart/bytecode/IStatement.java | 0 .../dhbwstuttgart/bytecode/IfStatement.java | 0 .../de/dhbwstuttgart/bytecode/LoopStmt.java | 0 .../de/dhbwstuttgart/bytecode/ReturnStmt.java | 0 .../dhbwstuttgart/bytecode/TPHExtractor.java | 0 .../bytecode/constraint/EqualConstraint.java | 0 .../constraint/ExtendsConstraint.java | 0 .../bytecode/constraint/TPHConstraint.java | 0 .../descriptor/DescriptorToString.java | 0 .../descriptor/DescriptorVisitor.java | 0 .../bytecode/descriptor/TypeToDescriptor.java | 0 .../bytecode/signature/Signature.java | 0 .../bytecode/signature/TypeToSignature.java | 0 .../bytecode/signature/TypeToString.java | 0 .../bytecode/utilities/KindOfLambda.java | 0 .../bytecode/utilities/Lambda.java | 0 .../bytecode/utilities/MethodAndTPH.java | 0 .../utilities/MethodFromMethodCall.java | 0 .../bytecode/utilities/NormalConstructor.java | 0 .../bytecode/utilities/NormalMethod.java | 0 .../bytecode/utilities/SamMethod.java | 0 .../bytecode/utilities/Simplify.java | 0 .../dhbwstuttgart/core/ConsoleInterface.java | 0 .../dhbwstuttgart/core/IItemWithOffset.java | 0 .../de/dhbwstuttgart/core/JavaTXCompiler.java | 0 .../environment/CompilationEnvironment.java | 0 .../environment/PackageCrawler.java | 0 .../exceptions/DebugException.java | 0 .../exceptions/NotImplementedException.java | 0 .../dhbwstuttgart/exceptions/ParserError.java | 0 .../exceptions/TypeinferenceException.java | 0 .../de/dhbwstuttgart/parser/JavaTXParser.java | 0 .../de/dhbwstuttgart/parser/NullToken.java | 0 .../SyntaxTreeGenerator/AssignToLocal.java | 0 .../SyntaxTreeGenerator/FCGenerator.java | 0 .../SyntaxTreeGenerator/GenericContext.java | 0 .../StatementGenerator.java | 0 .../SyntaxTreeGenerator/SyntacticSugar.java | 0 .../SyntaxTreeGenerator.java | 0 .../SyntaxTreeGenerator/TypeGenerator.java | 0 .../java}/de/dhbwstuttgart/parser/TODO | 0 .../de/dhbwstuttgart/parser/notes/GetNames | 0 .../java}/de/dhbwstuttgart/parser/notes/TODO | 0 .../de/dhbwstuttgart/parser/notes/questions | 0 .../java}/de/dhbwstuttgart/parser/parse_tree | 0 .../parser/scope/GatherNames.java | 0 .../parser/scope/GenericsRegistry.java | 0 .../parser/scope/JavaClassName.java | 0 .../parser/scope/JavaClassRegistry.java | 0 .../java}/de/dhbwstuttgart/sat/CNF/CNF.java | 0 .../de/dhbwstuttgart/sat/CNF/Writer.java | 0 .../sat/asp/ASPStringConverter.java | 0 .../de/dhbwstuttgart/sat/asp/Clingo.java | 0 .../sat/asp/model/ASPGencayRule.java | 0 .../dhbwstuttgart/sat/asp/model/ASPRule.java | 0 .../sat/asp/parser/ASPParser.java | 0 .../sat/asp/parser/model/ParsedType.java | 0 .../sat/asp/writer/ASPFactory.java | 0 .../sat/asp/writer/ASPGencayFactory.java | 0 .../sat/asp/writer/ASPStatement.java | 0 .../sat/asp/writer/ASPWriter.java | 0 .../dhbwstuttgart/syntaxtree/ASTVisitor.java | 0 .../syntaxtree/AbstractASTWalker.java | 0 .../syntaxtree/ClassOrInterface.java | 0 .../dhbwstuttgart/syntaxtree/Constructor.java | 0 .../syntaxtree/ExceptionList.java | 0 .../de/dhbwstuttgart/syntaxtree/Field.java | 0 .../syntaxtree/FieldDeclaration.java | 0 .../syntaxtree/FormalParameter.java | 0 .../syntaxtree/GenericDeclarationList.java | 0 .../syntaxtree/GenericTypeVar.java | 0 .../de/dhbwstuttgart/syntaxtree/Method.java | 0 .../syntaxtree/ParameterList.java | 0 .../dhbwstuttgart/syntaxtree/SourceFile.java | 0 .../syntaxtree/StatementVisitor.java | 0 .../syntaxtree/SyntaxTreeNode.java | 0 .../dhbwstuttgart/syntaxtree/TypeScope.java | 0 .../syntaxtree/factory/ASTFactory.java | 0 .../syntaxtree/factory/NameGenerator.java | 0 .../factory/PrimitiveMethodsGenerator.java | 0 .../syntaxtree/factory/UnifyTypeFactory.java | 0 .../syntaxtree/statement/ArgumentList.java | 0 .../syntaxtree/statement/Assign.java | 0 .../syntaxtree/statement/AssignLeftSide.java | 0 .../syntaxtree/statement/AssignToField.java | 0 .../syntaxtree/statement/BinaryExpr.java | 0 .../syntaxtree/statement/Block.java | 0 .../syntaxtree/statement/CastExpr.java | 0 .../syntaxtree/statement/DoStmt.java | 0 .../syntaxtree/statement/EmptyStmt.java | 0 .../syntaxtree/statement/Expression.java | 0 .../statement/ExpressionReceiver.java | 0 .../syntaxtree/statement/FieldVar.java | 0 .../syntaxtree/statement/ForStmt.java | 0 .../syntaxtree/statement/IfStmt.java | 0 .../syntaxtree/statement/InstanceOf.java | 0 .../statement/JavaInternalExpression.java | 0 .../statement/LambdaExpression.java | 0 .../syntaxtree/statement/Literal.java | 0 .../syntaxtree/statement/LocalVar.java | 0 .../syntaxtree/statement/LocalVarDecl.java | 0 .../syntaxtree/statement/MethodCall.java | 0 .../syntaxtree/statement/NewArray.java | 0 .../syntaxtree/statement/NewClass.java | 0 .../syntaxtree/statement/Receiver.java | 0 .../syntaxtree/statement/Return.java | 0 .../syntaxtree/statement/ReturnVoid.java | 0 .../syntaxtree/statement/Statement.java | 0 .../syntaxtree/statement/StaticClassName.java | 0 .../syntaxtree/statement/Super.java | 0 .../syntaxtree/statement/SuperCall.java | 0 .../syntaxtree/statement/This.java | 0 .../syntaxtree/statement/ThisCall.java | 0 .../statement/TypableStatement.java | 0 .../syntaxtree/statement/UnaryExpr.java | 0 .../syntaxtree/statement/WhileStmt.java | 0 .../syntaxtree/type/ExtendsWildcardType.java | 0 .../dhbwstuttgart/syntaxtree/type/FunN.java | 0 .../syntaxtree/type/GenericRefType.java | 0 .../syntaxtree/type/RefType.java | 0 .../type/RefTypeOrTPHOrWildcardOrGeneric.java | 0 .../syntaxtree/type/SuperWildcardType.java | 0 .../syntaxtree/type/TypePlaceholder.java | 0 .../syntaxtree/type/TypeVisitor.java | 0 .../dhbwstuttgart/syntaxtree/type/Void.java | 0 .../syntaxtree/type/WildcardType.java | 0 .../syntaxtree/visual/ASTPrinter.java | 0 .../syntaxtree/visual/ASTTypePrinter.java | 0 .../syntaxtree/visual/OutputGenerator.java | 0 .../visual/ResultSetOutputGenerator.java | 0 .../syntaxtree/visual/ResultSetPrinter.java | 0 .../visual/TypeOutputGenerator.java | 0 .../typedeployment/TypeInsert.java | 0 .../typedeployment/TypeInsertFactory.java | 0 .../typedeployment/TypeInsertPlacer.java | 0 .../typedeployment/TypeInsertPoint.java | 0 .../typeinference/assumptions/Assumption.java | 0 .../assumptions/FieldAssumption.java | 0 .../typeinference/assumptions/FunNClass.java | 0 .../assumptions/MethodAssumption.java | 0 .../TypeInferenceBlockInformation.java | 0 .../assumptions/TypeInferenceInformation.java | 0 .../assumptions/TypeScopeContainer.java | 0 .../typeinference/constraints/Constraint.java | 0 .../constraints/ConstraintSet.java | 0 .../constraints/GenericsResolver.java | 0 .../typeinference/constraints/Pair.java | 0 .../result/GenericInsertPair.java | 0 .../typeinference/result/PairTPHEqualTPH.java | 0 .../PairTPHequalRefTypeOrWildcardType.java | 0 .../result/PairTPHsmallerTPH.java | 0 .../typeinference/result/ResolvedType.java | 0 .../typeinference/result/ResultPair.java | 0 .../result/ResultPairVisitor.java | 0 .../typeinference/result/ResultSet.java | 0 .../result/ResultSetVisitor.java | 0 .../typeAlgo/GenericsResolverSameName.java | 0 .../typeinference/typeAlgo/TYPE.java | 0 .../typeinference/typeAlgo/TYPEStmt.java | 0 .../unify/GuavaSetOperations.java | 0 .../unify/MartelliMontanariUnify.java | 0 .../typeinference/unify/Match.java | 0 .../typeinference/unify/RuleSet.java | 0 .../typeinference/unify/TypeUnify.java | 0 .../typeinference/unify/TypeUnifyTask.java | 0 .../unify/Unifikationsalgorithmus.java | 0 .../unify/distributeVariance.java | 0 .../typeinference/unify/freshPlaceholder.java | 0 .../unify/interfaces/IFiniteClosure.java | 0 .../unify/interfaces/IMatch.java | 0 .../unify/interfaces/IRuleSet.java | 0 .../unify/interfaces/ISetOperations.java | 0 .../unify/interfaces/IUnify.java | 0 .../unify/interfaces/UnifyTypeVisitor.java | 0 .../unify/model/ExtendsType.java | 0 .../unify/model/FiniteClosure.java | 0 .../typeinference/unify/model/FunNType.java | 0 .../typeinference/unify/model/Node.java | 0 .../unify/model/OrderingUnifyPair.java | 0 .../typeinference/unify/model/Pair.java | 0 .../unify/model/PairOperator.java | 0 .../unify/model/PlaceholderType.java | 0 .../unify/model/ReferenceType.java | 0 .../typeinference/unify/model/SuperType.java | 0 .../typeinference/unify/model/TypeParams.java | 0 .../typeinference/unify/model/Unifier.java | 0 .../typeinference/unify/model/UnifyPair.java | 0 .../typeinference/unify/model/UnifyType.java | 0 .../unify/model/WildcardType.java | 0 .../unify/visitUnifyTypeVisitor.java | 0 {test => src/test/java}/asp/ClingoTest.java | 0 .../test/java}/asp/UnifyWithoutWildcards.java | 0 .../test/java}/asp/gencay/GeneratorTest.java | 0 .../test/java}/asp/typeinference/ASPTest.java | 0 .../java}/asp/typeinference/GenericsTest.java | 0 .../java}/asp/typeinference/VectorTest.java | 0 .../asp/unifywithoutwildcards/ASPTests.java | 0 .../test/java}/astfactory/ASTFactoryTest.java | 0 .../test/java}/bytecode/BinaryTest.java | 0 {test => src/test/java}/bytecode/FacTest.java | 0 .../test/java}/bytecode/FacultyTest.java | 0 .../test/java}/bytecode/FieldTest.java | 0 .../test/java}/bytecode/FieldTph.java | 0 .../test/java}/bytecode/FieldTph2Test.java | 0 .../test/java}/bytecode/FunOLTest.java | 0 {test => src/test/java}/bytecode/GenTest.java | 0 .../test/java}/bytecode/GreaterEqualTest.java | 0 .../test/java}/bytecode/GreaterThanTest.java | 0 .../java}/bytecode/LambdaCapturetest.java | 0 .../test/java}/bytecode/LambdaTest.java | 0 .../test/java}/bytecode/LambdaVoidTest.java | 0 .../test/java}/bytecode/LessEqualTest.java | 0 .../test/java}/bytecode/LessThanTest.java | 0 .../test/java}/bytecode/MatrixOpTest.java | 0 .../test/java}/bytecode/MatrixTest.java | 0 .../test/java}/bytecode/MergeTest.java | 0 {test => src/test/java}/bytecode/OLTest.java | 0 {test => src/test/java}/bytecode/OpTest.java | 0 .../bytecode/OverloadingSortingTest.java | 0 .../test/java}/bytecode/OverloadingTest.java | 0 .../test/java}/bytecode/PlusTest.java | 0 .../test/java}/bytecode/PostIncTest.java | 0 .../test/java}/bytecode/PreIncTest.java | 0 .../test/java}/bytecode/RelOpsTest.java | 0 .../test/java}/bytecode/SortingTest.java | 0 .../test/java}/bytecode/SubMatTest.java | 0 .../test/java}/bytecode/Tph2Test.java | 0 .../test/java}/bytecode/Tph3Test.java | 0 .../test/java}/bytecode/Tph5Test.java | 0 {test => src/test/java}/bytecode/TphTest.java | 0 .../test/java}/bytecode/WhileTest.java | 0 {test => src/test/java}/bytecode/YTest.java | 0 .../test/java}/bytecode/applyLambdaTest.java | 2 +- .../bytecode/simplifyalgo/CycleTest.java | 0 .../bytecode/simplifyalgo/SameLeftSide.java | 0 .../bytecode/simplifyalgo/SimpleCycle.java | 0 .../finiteClosure/SuperInterfacesTest.java | 0 {test => src/test/java}/logFiles/.gitignore | 0 {test => src/test/java}/parser/AntlrTest.jav | 0 .../test/java}/parser/BoundedParameter.jav | 0 {test => src/test/java}/parser/CastTest.jav | 0 .../test/java}/parser/ExtendsTest.jav | 0 .../test/java}/parser/FeatherWeightJava.jav | 0 .../java}/parser/FieldInitializationTest.jav | 0 .../test/java}/parser/FieldVarTest.jav | 0 .../test/java}/parser/GeneralParserTest.java | 0 .../test/java}/parser/GenericFieldVarTest.jav | 0 {test => src/test/java}/parser/ImportTest.jav | 0 .../test/java}/parser/ImportTest2.jav | 0 .../test/java}/parser/ImportTestGeneric.jav | 0 {test => src/test/java}/parser/NewTest.jav | 0 .../test/java}/parser/OpratorTest.jav | 0 .../test/java}/parser/PackageNameTest.jav | 0 .../test/java}/parser/StatementsTest.jav | 0 .../test/java}/parser/StructuralTypes.jav | 0 {test => src/test/java}/parser/WhileTest.jav | 0 .../typeinference/JavaTXCompilerTest.java | 0 .../java}/typeinference/Meth_GenTest.java | 0 .../test/java}/typeinference/UnifyTest.java | 0 .../test/java}/visualisation/ToString.java | 0 .../bytecode/javFiles/AssignToLit.jav | 0 .../bytecode/javFiles/BinaryInMeth.jav | 0 .../resources}/bytecode/javFiles/DuMethod.jav | 0 .../bytecode/javFiles/EmptyMethod.jav | 0 .../resources}/bytecode/javFiles/Example.jav | 0 .../bytecode/javFiles/Exceptions.jav | 0 .../test/resources}/bytecode/javFiles/Fac.jav | 0 .../resources}/bytecode/javFiles/Faculty.jav | 0 .../resources}/bytecode/javFiles/Faculty2.jav | 0 .../resources}/bytecode/javFiles/Field.jav | 0 .../resources}/bytecode/javFiles/FieldTph.jav | 0 .../bytecode/javFiles/FieldTph2.jav | 0 .../test/resources}/bytecode/javFiles/For.jav | 0 .../resources}/bytecode/javFiles/FunOL.jav | 0 .../test/resources}/bytecode/javFiles/Gen.jav | 0 .../resources}/bytecode/javFiles/Generics.jav | 0 .../bytecode/javFiles/Generics2.jav | 0 .../bytecode/javFiles/GreaterEqual.jav | 0 .../bytecode/javFiles/GreaterThan.jav | 0 .../resources}/bytecode/javFiles/IfTest.jav | 0 .../resources}/bytecode/javFiles/Import.jav | 0 .../bytecode/javFiles/Interface1.jav | 0 .../bytecode/javFiles/LamRunnable.jav | 0 .../resources}/bytecode/javFiles/Lambda.jav | 0 .../resources}/bytecode/javFiles/Lambda2.jav | 0 .../resources}/bytecode/javFiles/Lambda3.jav | 0 .../resources}/bytecode/javFiles/Lambda4.jav | 0 .../bytecode/javFiles/LambdaCapture.jav | 0 .../bytecode/javFiles/LambdaVoid.jav | 0 .../bytecode/javFiles/LessEqual.jav | 0 .../resources}/bytecode/javFiles/LessThan.jav | 0 .../resources}/bytecode/javFiles/Matrix.jav | 0 .../resources}/bytecode/javFiles/MatrixOP.jav | 0 .../resources}/bytecode/javFiles/Merge.jav | 0 .../resources}/bytecode/javFiles/Methods.jav | 0 .../test/resources}/bytecode/javFiles/OL.jav | 0 .../test/resources}/bytecode/javFiles/Op.jav | 0 .../test/resources}/bytecode/javFiles/Op2.jav | 0 .../bytecode/javFiles/OverlaodGen.jav | 0 .../bytecode/javFiles/Overloading.jav | 0 .../resources}/bytecode/javFiles/Plus.jav | 0 .../bytecode/javFiles/PostIncDec.jav | 0 .../resources}/bytecode/javFiles/PreInc.jav | 0 .../bytecode/javFiles/RecursiveMeth.jav | 0 .../resources}/bytecode/javFiles/RelOps.jav | 0 .../bytecode/javFiles/ReturnMethod.jav | 0 .../resources}/bytecode/javFiles/Sorting.jav | 0 .../resources}/bytecode/javFiles/StaticM.jav | 0 .../bytecode/javFiles/SubMatrix.jav | 0 .../test/resources}/bytecode/javFiles/Tph.jav | 0 .../resources}/bytecode/javFiles/Tph2.jav | 0 .../resources}/bytecode/javFiles/Tph3.jav | 0 .../resources}/bytecode/javFiles/Tph4.jav | 0 .../resources}/bytecode/javFiles/Tph5.jav | 0 .../bytecode/javFiles/VectorAdd.jav | 0 .../resources}/bytecode/javFiles/VoidMeth.jav | 0 .../test/resources}/bytecode/javFiles/WC.jav | 0 .../resources}/bytecode/javFiles/While.jav | 0 .../test/resources}/bytecode/javFiles/Y.jav | 0 .../bytecode/javFiles/applyLambda.jav | 0 .../test/resources}/javFiles/AddLong.jav | 0 .../test/resources}/javFiles/EmptyClass.jav | 0 .../test/resources}/javFiles/EmptyMethod.jav | 0 .../test/resources}/javFiles/Expressions.jav | 0 .../test/resources}/javFiles/FC_Matrix.jav | 0 .../test/resources}/javFiles/Faculty.jav | 0 .../test/resources}/javFiles/FacultyIf.jav | 0 .../test/resources}/javFiles/FacultyTyped.jav | 0 .../test/resources}/javFiles/Fields.jav | 0 .../test/resources}/javFiles/Generics.jav | 0 .../test/resources}/javFiles/IfTest.jav | 0 .../test/resources}/javFiles/Import.jav | 0 .../test/resources}/javFiles/Lambda.jav | 0 .../test/resources}/javFiles/Lambda2.jav | 0 .../test/resources}/javFiles/Lambda3.jav | 0 .../test/resources}/javFiles/LambdaField.jav | 0 .../resources}/javFiles/LambdaRunnable.jav | 0 .../resources}/javFiles/ListenerOverload.jav | 0 .../test/resources}/javFiles/Matrix.jav | 0 .../test/resources}/javFiles/Meth_Gen.jav | 0 .../javFiles/MethodCallGenerics.jav | 0 .../test/resources}/javFiles/Methods.jav | 0 .../test/resources}/javFiles/MethodsEasy.jav | 0 {test => src/test/resources}/javFiles/Op1.jav | 0 .../test/resources}/javFiles/Package.jav | 0 .../test/resources}/javFiles/Sorting.jav | 0 .../test/resources}/javFiles/Subclass.jav | 0 .../test/resources}/javFiles/Superclass.jav | 0 .../test/resources}/javFiles/Vector.jav | 0 {test => src/test/resources}/javFiles/fc.jav | 0 .../test/resources}/javFiles/mathStruc.jav | 0 .../test/resources}/javFiles/test.jav | 0 .../test/resources}/javFiles/test1.jav | 0 {test => src/test/resources}/log4jTesting.xml | 0 .../testBytecode}/generatedBC/.gitignore | 0 .../testBytecode}/manually/Fac1.java | 0 .../testBytecode}/manually/Fac2.java | 0 .../testBytecode}/manually/LamAssign.java | 0 .../manually/LamAssignWithM.java | 0 .../manually/LamWithAnField.java | 0 .../testBytecode}/manually/LamWithField.java | 0 .../testBytecode}/manually/ReturnM1.java | 0 testBytecode/Field.java | 6 - testBytecode/Import.java | 8 - testBytecode/Lam1.java | 10 - testBytecode/LamRun.java | 8 - testBytecode/MethFieldVar.java | 38 - testBytecode/Subclass.java | 6 - testBytecode/SuperTest.java | 14 - testBytecode/Superclass.java | 6 - testBytecode/TestMyTest.java | 11 - testBytecode/public | 1 - testBytecode/testF.java | 5 - testBytecode/testTets.java | 5 - testBytecode/testTetsF.java | 5 - 397 files changed, 187 insertions(+), 25992 deletions(-) delete mode 100644 src/de/dhbwstuttgart/parser/antlr/Java8BaseListener.java delete mode 100644 src/de/dhbwstuttgart/parser/antlr/Java8Lexer.java delete mode 100644 src/de/dhbwstuttgart/parser/antlr/Java8Listener.java delete mode 100644 src/de/dhbwstuttgart/parser/antlr/Java8Parser.java delete mode 100644 src/de/dhbwstuttgart/sat/asp/parser/antlr/UnifyResultBaseListener.java delete mode 100644 src/de/dhbwstuttgart/sat/asp/parser/antlr/UnifyResultLexer.java delete mode 100644 src/de/dhbwstuttgart/sat/asp/parser/antlr/UnifyResultListener.java delete mode 100644 src/de/dhbwstuttgart/sat/asp/parser/antlr/UnifyResultParser.java rename src/{de/dhbwstuttgart/parser/antlr => main/antlr4/java8}/Java8.g4 (100%) rename src/{de/dhbwstuttgart/parser/antlr => main/antlr4/java8}/Java8.tokens (100%) rename src/{de/dhbwstuttgart/parser/antlr => main/antlr4/java8}/Java8Lexer.tokens (100%) rename src/{de/dhbwstuttgart/sat/asp/parser/antlr => main/antlr4/sat}/UnifyResult.g4 (100%) rename src/{de/dhbwstuttgart/sat/asp/parser/antlr => main/antlr4/sat}/UnifyResult.tokens (100%) rename src/{de/dhbwstuttgart/sat/asp/parser/antlr => main/antlr4/sat}/UnifyResultLexer.tokens (100%) rename src/{ => main/java}/de/dhbwstuttgart/.DS_Store (100%) rename src/{ => main/java}/de/dhbwstuttgart/bytecode/AStatement.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/bytecode/ArgumentExpr.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/bytecode/ArgumentVisitor.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/bytecode/AssignStmt.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/bytecode/BytecodeGen.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/bytecode/BytecodeGenMethod.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/bytecode/IStatement.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/bytecode/IfStatement.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/bytecode/LoopStmt.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/bytecode/ReturnStmt.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/bytecode/TPHExtractor.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/bytecode/constraint/EqualConstraint.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/bytecode/constraint/ExtendsConstraint.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/bytecode/constraint/TPHConstraint.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/bytecode/descriptor/DescriptorToString.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/bytecode/descriptor/DescriptorVisitor.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/bytecode/descriptor/TypeToDescriptor.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/bytecode/signature/Signature.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/bytecode/signature/TypeToSignature.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/bytecode/signature/TypeToString.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/bytecode/utilities/KindOfLambda.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/bytecode/utilities/Lambda.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/bytecode/utilities/MethodAndTPH.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/bytecode/utilities/MethodFromMethodCall.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/bytecode/utilities/NormalConstructor.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/bytecode/utilities/NormalMethod.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/bytecode/utilities/SamMethod.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/bytecode/utilities/Simplify.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/core/ConsoleInterface.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/core/IItemWithOffset.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/core/JavaTXCompiler.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/environment/CompilationEnvironment.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/environment/PackageCrawler.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/exceptions/DebugException.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/exceptions/NotImplementedException.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/exceptions/ParserError.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/exceptions/TypeinferenceException.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/parser/JavaTXParser.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/parser/NullToken.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/parser/SyntaxTreeGenerator/AssignToLocal.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/parser/SyntaxTreeGenerator/FCGenerator.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/parser/SyntaxTreeGenerator/GenericContext.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/parser/SyntaxTreeGenerator/StatementGenerator.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/parser/SyntaxTreeGenerator/SyntacticSugar.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/parser/SyntaxTreeGenerator/SyntaxTreeGenerator.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/parser/SyntaxTreeGenerator/TypeGenerator.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/parser/TODO (100%) rename src/{ => main/java}/de/dhbwstuttgart/parser/notes/GetNames (100%) rename src/{ => main/java}/de/dhbwstuttgart/parser/notes/TODO (100%) rename src/{ => main/java}/de/dhbwstuttgart/parser/notes/questions (100%) rename src/{ => main/java}/de/dhbwstuttgart/parser/parse_tree (100%) rename src/{ => main/java}/de/dhbwstuttgart/parser/scope/GatherNames.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/parser/scope/GenericsRegistry.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/parser/scope/JavaClassName.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/parser/scope/JavaClassRegistry.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/sat/CNF/CNF.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/sat/CNF/Writer.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/sat/asp/ASPStringConverter.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/sat/asp/Clingo.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/sat/asp/model/ASPGencayRule.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/sat/asp/model/ASPRule.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/sat/asp/parser/ASPParser.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/sat/asp/parser/model/ParsedType.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/sat/asp/writer/ASPFactory.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/sat/asp/writer/ASPGencayFactory.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/sat/asp/writer/ASPStatement.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/sat/asp/writer/ASPWriter.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/ASTVisitor.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/AbstractASTWalker.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/ClassOrInterface.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/Constructor.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/ExceptionList.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/Field.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/FieldDeclaration.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/FormalParameter.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/GenericDeclarationList.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/GenericTypeVar.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/Method.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/ParameterList.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/SourceFile.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/StatementVisitor.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/SyntaxTreeNode.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/TypeScope.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/factory/ASTFactory.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/factory/NameGenerator.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/factory/PrimitiveMethodsGenerator.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/factory/UnifyTypeFactory.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/statement/ArgumentList.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/statement/Assign.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/statement/AssignLeftSide.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/statement/AssignToField.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/statement/BinaryExpr.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/statement/Block.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/statement/CastExpr.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/statement/DoStmt.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/statement/EmptyStmt.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/statement/Expression.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/statement/ExpressionReceiver.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/statement/FieldVar.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/statement/ForStmt.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/statement/IfStmt.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/statement/InstanceOf.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/statement/JavaInternalExpression.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/statement/LambdaExpression.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/statement/Literal.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/statement/LocalVar.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/statement/LocalVarDecl.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/statement/MethodCall.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/statement/NewArray.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/statement/NewClass.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/statement/Receiver.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/statement/Return.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/statement/ReturnVoid.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/statement/Statement.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/statement/StaticClassName.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/statement/Super.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/statement/SuperCall.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/statement/This.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/statement/ThisCall.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/statement/TypableStatement.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/statement/UnaryExpr.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/statement/WhileStmt.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/type/ExtendsWildcardType.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/type/FunN.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/type/GenericRefType.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/type/RefType.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/type/RefTypeOrTPHOrWildcardOrGeneric.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/type/SuperWildcardType.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/type/TypePlaceholder.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/type/TypeVisitor.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/type/Void.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/type/WildcardType.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/visual/ASTPrinter.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/visual/ASTTypePrinter.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/visual/OutputGenerator.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/visual/ResultSetOutputGenerator.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/visual/ResultSetPrinter.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/syntaxtree/visual/TypeOutputGenerator.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/typedeployment/TypeInsert.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/typedeployment/TypeInsertFactory.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/typedeployment/TypeInsertPlacer.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/typedeployment/TypeInsertPoint.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/typeinference/assumptions/Assumption.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/typeinference/assumptions/FieldAssumption.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/typeinference/assumptions/FunNClass.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/typeinference/assumptions/MethodAssumption.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/typeinference/assumptions/TypeInferenceBlockInformation.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/typeinference/assumptions/TypeInferenceInformation.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/typeinference/assumptions/TypeScopeContainer.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/typeinference/constraints/Constraint.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/typeinference/constraints/ConstraintSet.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/typeinference/constraints/GenericsResolver.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/typeinference/constraints/Pair.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/typeinference/result/GenericInsertPair.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/typeinference/result/PairTPHEqualTPH.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/typeinference/result/PairTPHequalRefTypeOrWildcardType.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/typeinference/result/PairTPHsmallerTPH.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/typeinference/result/ResolvedType.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/typeinference/result/ResultPair.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/typeinference/result/ResultPairVisitor.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/typeinference/result/ResultSet.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/typeinference/result/ResultSetVisitor.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/typeinference/typeAlgo/GenericsResolverSameName.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/typeinference/typeAlgo/TYPE.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/typeinference/typeAlgo/TYPEStmt.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/typeinference/unify/GuavaSetOperations.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/typeinference/unify/MartelliMontanariUnify.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/typeinference/unify/Match.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/typeinference/unify/RuleSet.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/typeinference/unify/TypeUnify.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/typeinference/unify/Unifikationsalgorithmus.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/typeinference/unify/distributeVariance.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/typeinference/unify/freshPlaceholder.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/typeinference/unify/interfaces/IFiniteClosure.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/typeinference/unify/interfaces/IMatch.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/typeinference/unify/interfaces/IRuleSet.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/typeinference/unify/interfaces/ISetOperations.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/typeinference/unify/interfaces/IUnify.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/typeinference/unify/interfaces/UnifyTypeVisitor.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/typeinference/unify/model/ExtendsType.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/typeinference/unify/model/FiniteClosure.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/typeinference/unify/model/FunNType.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/typeinference/unify/model/Node.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/typeinference/unify/model/OrderingUnifyPair.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/typeinference/unify/model/Pair.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/typeinference/unify/model/PairOperator.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/typeinference/unify/model/PlaceholderType.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/typeinference/unify/model/ReferenceType.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/typeinference/unify/model/SuperType.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/typeinference/unify/model/TypeParams.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/typeinference/unify/model/Unifier.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/typeinference/unify/model/UnifyPair.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/typeinference/unify/model/UnifyType.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/typeinference/unify/model/WildcardType.java (100%) rename src/{ => main/java}/de/dhbwstuttgart/typeinference/unify/visitUnifyTypeVisitor.java (100%) rename {test => src/test/java}/asp/ClingoTest.java (100%) rename {test => src/test/java}/asp/UnifyWithoutWildcards.java (100%) rename {test => src/test/java}/asp/gencay/GeneratorTest.java (100%) rename {test => src/test/java}/asp/typeinference/ASPTest.java (100%) rename {test => src/test/java}/asp/typeinference/GenericsTest.java (100%) rename {test => src/test/java}/asp/typeinference/VectorTest.java (100%) rename {test => src/test/java}/asp/unifywithoutwildcards/ASPTests.java (100%) rename {test => src/test/java}/astfactory/ASTFactoryTest.java (100%) rename {test => src/test/java}/bytecode/BinaryTest.java (100%) rename {test => src/test/java}/bytecode/FacTest.java (100%) rename {test => src/test/java}/bytecode/FacultyTest.java (100%) rename {test => src/test/java}/bytecode/FieldTest.java (100%) rename {test => src/test/java}/bytecode/FieldTph.java (100%) rename {test => src/test/java}/bytecode/FieldTph2Test.java (100%) rename {test => src/test/java}/bytecode/FunOLTest.java (100%) rename {test => src/test/java}/bytecode/GenTest.java (100%) rename {test => src/test/java}/bytecode/GreaterEqualTest.java (100%) rename {test => src/test/java}/bytecode/GreaterThanTest.java (100%) rename {test => src/test/java}/bytecode/LambdaCapturetest.java (100%) rename {test => src/test/java}/bytecode/LambdaTest.java (100%) rename {test => src/test/java}/bytecode/LambdaVoidTest.java (100%) rename {test => src/test/java}/bytecode/LessEqualTest.java (100%) rename {test => src/test/java}/bytecode/LessThanTest.java (100%) rename {test => src/test/java}/bytecode/MatrixOpTest.java (100%) rename {test => src/test/java}/bytecode/MatrixTest.java (100%) rename {test => src/test/java}/bytecode/MergeTest.java (100%) rename {test => src/test/java}/bytecode/OLTest.java (100%) rename {test => src/test/java}/bytecode/OpTest.java (100%) rename {test => src/test/java}/bytecode/OverloadingSortingTest.java (100%) rename {test => src/test/java}/bytecode/OverloadingTest.java (100%) rename {test => src/test/java}/bytecode/PlusTest.java (100%) rename {test => src/test/java}/bytecode/PostIncTest.java (100%) rename {test => src/test/java}/bytecode/PreIncTest.java (100%) rename {test => src/test/java}/bytecode/RelOpsTest.java (100%) rename {test => src/test/java}/bytecode/SortingTest.java (100%) rename {test => src/test/java}/bytecode/SubMatTest.java (100%) rename {test => src/test/java}/bytecode/Tph2Test.java (100%) rename {test => src/test/java}/bytecode/Tph3Test.java (100%) rename {test => src/test/java}/bytecode/Tph5Test.java (100%) rename {test => src/test/java}/bytecode/TphTest.java (100%) rename {test => src/test/java}/bytecode/WhileTest.java (100%) rename {test => src/test/java}/bytecode/YTest.java (100%) rename {test => src/test/java}/bytecode/applyLambdaTest.java (92%) rename {test => src/test/java}/bytecode/simplifyalgo/CycleTest.java (100%) rename {test => src/test/java}/bytecode/simplifyalgo/SameLeftSide.java (100%) rename {test => src/test/java}/bytecode/simplifyalgo/SimpleCycle.java (100%) rename {test => src/test/java}/finiteClosure/SuperInterfacesTest.java (100%) rename {test => src/test/java}/logFiles/.gitignore (100%) rename {test => src/test/java}/parser/AntlrTest.jav (100%) rename {test => src/test/java}/parser/BoundedParameter.jav (100%) rename {test => src/test/java}/parser/CastTest.jav (100%) rename {test => src/test/java}/parser/ExtendsTest.jav (100%) rename {test => src/test/java}/parser/FeatherWeightJava.jav (100%) rename {test => src/test/java}/parser/FieldInitializationTest.jav (100%) rename {test => src/test/java}/parser/FieldVarTest.jav (100%) rename {test => src/test/java}/parser/GeneralParserTest.java (100%) rename {test => src/test/java}/parser/GenericFieldVarTest.jav (100%) rename {test => src/test/java}/parser/ImportTest.jav (100%) rename {test => src/test/java}/parser/ImportTest2.jav (100%) rename {test => src/test/java}/parser/ImportTestGeneric.jav (100%) rename {test => src/test/java}/parser/NewTest.jav (100%) rename {test => src/test/java}/parser/OpratorTest.jav (100%) rename {test => src/test/java}/parser/PackageNameTest.jav (100%) rename {test => src/test/java}/parser/StatementsTest.jav (100%) rename {test => src/test/java}/parser/StructuralTypes.jav (100%) rename {test => src/test/java}/parser/WhileTest.jav (100%) rename {test => src/test/java}/typeinference/JavaTXCompilerTest.java (100%) rename {test => src/test/java}/typeinference/Meth_GenTest.java (100%) rename {test => src/test/java}/typeinference/UnifyTest.java (100%) rename {test => src/test/java}/visualisation/ToString.java (100%) rename {test => src/test/resources}/bytecode/javFiles/AssignToLit.jav (100%) rename {test => src/test/resources}/bytecode/javFiles/BinaryInMeth.jav (100%) rename {test => src/test/resources}/bytecode/javFiles/DuMethod.jav (100%) rename {test => src/test/resources}/bytecode/javFiles/EmptyMethod.jav (100%) rename {test => src/test/resources}/bytecode/javFiles/Example.jav (100%) rename {test => src/test/resources}/bytecode/javFiles/Exceptions.jav (100%) rename {test => src/test/resources}/bytecode/javFiles/Fac.jav (100%) rename {test => src/test/resources}/bytecode/javFiles/Faculty.jav (100%) rename {test => src/test/resources}/bytecode/javFiles/Faculty2.jav (100%) rename {test => src/test/resources}/bytecode/javFiles/Field.jav (100%) rename {test => src/test/resources}/bytecode/javFiles/FieldTph.jav (100%) rename {test => src/test/resources}/bytecode/javFiles/FieldTph2.jav (100%) rename {test => src/test/resources}/bytecode/javFiles/For.jav (100%) rename {test => src/test/resources}/bytecode/javFiles/FunOL.jav (100%) rename {test => src/test/resources}/bytecode/javFiles/Gen.jav (100%) rename {test => src/test/resources}/bytecode/javFiles/Generics.jav (100%) rename {test => src/test/resources}/bytecode/javFiles/Generics2.jav (100%) rename {test => src/test/resources}/bytecode/javFiles/GreaterEqual.jav (100%) rename {test => src/test/resources}/bytecode/javFiles/GreaterThan.jav (100%) rename {test => src/test/resources}/bytecode/javFiles/IfTest.jav (100%) rename {test => src/test/resources}/bytecode/javFiles/Import.jav (100%) rename {test => src/test/resources}/bytecode/javFiles/Interface1.jav (100%) rename {test => src/test/resources}/bytecode/javFiles/LamRunnable.jav (100%) rename {test => src/test/resources}/bytecode/javFiles/Lambda.jav (100%) rename {test => src/test/resources}/bytecode/javFiles/Lambda2.jav (100%) rename {test => src/test/resources}/bytecode/javFiles/Lambda3.jav (100%) rename {test => src/test/resources}/bytecode/javFiles/Lambda4.jav (100%) rename {test => src/test/resources}/bytecode/javFiles/LambdaCapture.jav (100%) rename {test => src/test/resources}/bytecode/javFiles/LambdaVoid.jav (100%) rename {test => src/test/resources}/bytecode/javFiles/LessEqual.jav (100%) rename {test => src/test/resources}/bytecode/javFiles/LessThan.jav (100%) rename {test => src/test/resources}/bytecode/javFiles/Matrix.jav (100%) rename {test => src/test/resources}/bytecode/javFiles/MatrixOP.jav (100%) rename {test => src/test/resources}/bytecode/javFiles/Merge.jav (100%) rename {test => src/test/resources}/bytecode/javFiles/Methods.jav (100%) rename {test => src/test/resources}/bytecode/javFiles/OL.jav (100%) rename {test => src/test/resources}/bytecode/javFiles/Op.jav (100%) rename {test => src/test/resources}/bytecode/javFiles/Op2.jav (100%) rename {test => src/test/resources}/bytecode/javFiles/OverlaodGen.jav (100%) rename {test => src/test/resources}/bytecode/javFiles/Overloading.jav (100%) rename {test => src/test/resources}/bytecode/javFiles/Plus.jav (100%) rename {test => src/test/resources}/bytecode/javFiles/PostIncDec.jav (100%) rename {test => src/test/resources}/bytecode/javFiles/PreInc.jav (100%) rename {test => src/test/resources}/bytecode/javFiles/RecursiveMeth.jav (100%) rename {test => src/test/resources}/bytecode/javFiles/RelOps.jav (100%) rename {test => src/test/resources}/bytecode/javFiles/ReturnMethod.jav (100%) rename {test => src/test/resources}/bytecode/javFiles/Sorting.jav (100%) rename {test => src/test/resources}/bytecode/javFiles/StaticM.jav (100%) rename {test => src/test/resources}/bytecode/javFiles/SubMatrix.jav (100%) rename {test => src/test/resources}/bytecode/javFiles/Tph.jav (100%) rename {test => src/test/resources}/bytecode/javFiles/Tph2.jav (100%) rename {test => src/test/resources}/bytecode/javFiles/Tph3.jav (100%) rename {test => src/test/resources}/bytecode/javFiles/Tph4.jav (100%) rename {test => src/test/resources}/bytecode/javFiles/Tph5.jav (100%) rename {test => src/test/resources}/bytecode/javFiles/VectorAdd.jav (100%) rename {test => src/test/resources}/bytecode/javFiles/VoidMeth.jav (100%) rename {test => src/test/resources}/bytecode/javFiles/WC.jav (100%) rename {test => src/test/resources}/bytecode/javFiles/While.jav (100%) rename {test => src/test/resources}/bytecode/javFiles/Y.jav (100%) rename {test => src/test/resources}/bytecode/javFiles/applyLambda.jav (100%) rename {test => src/test/resources}/javFiles/AddLong.jav (100%) rename {test => src/test/resources}/javFiles/EmptyClass.jav (100%) rename {test => src/test/resources}/javFiles/EmptyMethod.jav (100%) rename {test => src/test/resources}/javFiles/Expressions.jav (100%) rename {test => src/test/resources}/javFiles/FC_Matrix.jav (100%) rename {test => src/test/resources}/javFiles/Faculty.jav (100%) rename {test => src/test/resources}/javFiles/FacultyIf.jav (100%) rename {test => src/test/resources}/javFiles/FacultyTyped.jav (100%) rename {test => src/test/resources}/javFiles/Fields.jav (100%) rename {test => src/test/resources}/javFiles/Generics.jav (100%) rename {test => src/test/resources}/javFiles/IfTest.jav (100%) rename {test => src/test/resources}/javFiles/Import.jav (100%) rename {test => src/test/resources}/javFiles/Lambda.jav (100%) rename {test => src/test/resources}/javFiles/Lambda2.jav (100%) rename {test => src/test/resources}/javFiles/Lambda3.jav (100%) rename {test => src/test/resources}/javFiles/LambdaField.jav (100%) rename {test => src/test/resources}/javFiles/LambdaRunnable.jav (100%) rename {test => src/test/resources}/javFiles/ListenerOverload.jav (100%) rename {test => src/test/resources}/javFiles/Matrix.jav (100%) rename {test => src/test/resources}/javFiles/Meth_Gen.jav (100%) rename {test => src/test/resources}/javFiles/MethodCallGenerics.jav (100%) rename {test => src/test/resources}/javFiles/Methods.jav (100%) rename {test => src/test/resources}/javFiles/MethodsEasy.jav (100%) rename {test => src/test/resources}/javFiles/Op1.jav (100%) rename {test => src/test/resources}/javFiles/Package.jav (100%) rename {test => src/test/resources}/javFiles/Sorting.jav (100%) rename {test => src/test/resources}/javFiles/Subclass.jav (100%) rename {test => src/test/resources}/javFiles/Superclass.jav (100%) rename {test => src/test/resources}/javFiles/Vector.jav (100%) rename {test => src/test/resources}/javFiles/fc.jav (100%) rename {test => src/test/resources}/javFiles/mathStruc.jav (100%) rename {test => src/test/resources}/javFiles/test.jav (100%) rename {test => src/test/resources}/javFiles/test1.jav (100%) rename {test => src/test/resources}/log4jTesting.xml (100%) rename {testBytecode => src/test/resources/testBytecode}/generatedBC/.gitignore (100%) rename {testBytecode => src/test/resources/testBytecode}/manually/Fac1.java (100%) rename {testBytecode => src/test/resources/testBytecode}/manually/Fac2.java (100%) rename {testBytecode => src/test/resources/testBytecode}/manually/LamAssign.java (100%) rename {testBytecode => src/test/resources/testBytecode}/manually/LamAssignWithM.java (100%) rename {testBytecode => src/test/resources/testBytecode}/manually/LamWithAnField.java (100%) rename {testBytecode => src/test/resources/testBytecode}/manually/LamWithField.java (100%) rename {testBytecode => src/test/resources/testBytecode}/manually/ReturnM1.java (100%) delete mode 100644 testBytecode/Field.java delete mode 100644 testBytecode/Import.java delete mode 100644 testBytecode/Lam1.java delete mode 100644 testBytecode/LamRun.java delete mode 100644 testBytecode/MethFieldVar.java delete mode 100644 testBytecode/Subclass.java delete mode 100644 testBytecode/SuperTest.java delete mode 100644 testBytecode/Superclass.java delete mode 100644 testBytecode/TestMyTest.java delete mode 100644 testBytecode/public delete mode 100644 testBytecode/testF.java delete mode 100644 testBytecode/testTets.java delete mode 100644 testBytecode/testTetsF.java diff --git a/pom.xml b/pom.xml index 84a39dd32..3c15eec5c 100644 --- a/pom.xml +++ b/pom.xml @@ -1,189 +1,191 @@ - - - 4.0.0 - de.dhbwstuttgart - JavaTXcompiler - jar - - 0.1 - JavaTXcompiler - http://maven.apache.org - - - junit - junit - 4.0 - test - - - org.antlr - antlr4 - 4.7 - - - commons-io - commons-io - 2.6 - - -com.google.guava - guava - 22.0 - - - org.reflections - reflections - 0.9.11 - - - - org.ow2.asm - asm - 7.0 - - - - + 4.0.0 + de.dhbwstuttgart + JavaTXcompiler + jar - - target - target/classes - ${project.artifactId}-${project.version} - target/test-classes - src/ - test/ - - - org.antlr - antlr4-maven-plugin - 4.7 - - - antlr - - antlr4 - - - src/de/dhbwstuttgart/parser/antlr/ - src/de/dhbwstuttgart/parser/antlr/ - -package de.dhbwstuttgart.parser.antlr - - - - aspParser - - antlr4 - - - src/de/dhbwstuttgart/sat/asp/parser/antlr/ - src/de/dhbwstuttgart/sat/asp/parser/antlr/ - - -package - de.dhbwstuttgart.sat.asp.parser.antlr - - - + 0.1 + JavaTXcompiler + http://maven.apache.org + + + org.antlr + antlr4 + 4.7 + + + commons-io + commons-io + 2.6 + + + com.google.guava + guava + 22.0 + + + org.reflections + reflections + 0.9.11 + + + + org.ow2.asm + asm + 7.0 + + + junit + junit + 4.0 + + + + + - - - - maven-assembly-plugin - - - package - - single - - - - - - jar-with-dependencies - - - - - org.reficio - p2-maven-plugin - 1.1.2-SNAPSHOT - - - default-cli - - - - - - de.dhbwstuttgart:JavaTXcompiler:0.1 - - org.reflections:reflections:0.9.11 - com.google.guava:guava:22.0 - javax.annotation:javax.annotation-api:1.3.1 - org.glassfish:javax.annotation:3.1.1 - - - - - - - org.eclipse.tycho - tycho-p2-repository-plugin - ${tycho.version} - - - package - - archive-repository - - - - - - org.apache.maven.plugins - maven-compiler-plugin - - 9 - 9 - - - - - - - reficio - http://repo.reficio.org/maven/ - - - - - maven-repository - file:///${project.basedir}/target - - - - 1.8 - 1.8 - 0.23.0 - - - - maven-repository - MyCo Internal Repository - file:///${project.basedir}/maven-repository/ - - + + target + target/classes + ${project.artifactId}-${project.version} + target/test-classes + src/ + test/ + + + org.antlr + antlr4-maven-plugin + 4.7 + + + antlr + + antlr4 + + + src/main/antlr4/java8 + ${project.basedir}/target/generated-sources/antlr4/de/dhbwstuttgart/parser/antlr + + -package + de.dhbwstuttgart.parser.antlr + + + + + aspParser + + antlr4 + + + src/main/antlr4/sat + ${project.basedir}/target/generated-sources/antlr4/de/dhbwstuttgart/sat/asp/parser/antlr/ + + -package + de.dhbwstuttgart.sat.asp.parser.antlr + + + + + + + + maven-assembly-plugin + + + package + + single + + + + + + jar-with-dependencies + + + + + org.reficio + p2-maven-plugin + 1.1.2-SNAPSHOT + + + default-cli + + + + + + de.dhbwstuttgart:JavaTXcompiler:0.1 + + + org.reflections:reflections:0.9.11 + + + com.google.guava:guava:22.0 + + + javax.annotation:javax.annotation-api:1.3.1 + + + org.glassfish:javax.annotation:3.1.1 + + + + + + + + org.eclipse.tycho + tycho-p2-repository-plugin + ${tycho.version} + + + package + + archive-repository + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + + ${project.basedir}/src/test/resources/testBytecode/generatedBC/*.java + + + + + + + + reficio + http://repo.reficio.org/maven/ + + + + + maven-repository + file:///${project.basedir}/target + + + + 1.8 + 1.8 + 0.23.0 + + + + maven-repository + MyCo Internal Repository + file:///${project.basedir}/maven-repository/ + + diff --git a/src/de/dhbwstuttgart/parser/antlr/Java8BaseListener.java b/src/de/dhbwstuttgart/parser/antlr/Java8BaseListener.java deleted file mode 100644 index 1c94febcb..000000000 --- a/src/de/dhbwstuttgart/parser/antlr/Java8BaseListener.java +++ /dev/null @@ -1,2895 +0,0 @@ -// Generated from Java8.g4 by ANTLR 4.7 -package de.dhbwstuttgart.parser.antlr; - -import org.antlr.v4.runtime.ParserRuleContext; -import org.antlr.v4.runtime.tree.ErrorNode; -import org.antlr.v4.runtime.tree.TerminalNode; - -/** - * This class provides an empty implementation of {@link Java8Listener}, - * which can be extended to create a listener which only needs to handle a subset - * of the available methods. - */ -public class Java8BaseListener implements Java8Listener { - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterLiteral(Java8Parser.LiteralContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitLiteral(Java8Parser.LiteralContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterType(Java8Parser.TypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitType(Java8Parser.TypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterPrimitiveType(Java8Parser.PrimitiveTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitPrimitiveType(Java8Parser.PrimitiveTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterNumericType(Java8Parser.NumericTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitNumericType(Java8Parser.NumericTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterIntegralType(Java8Parser.IntegralTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitIntegralType(Java8Parser.IntegralTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterFloatingPointType(Java8Parser.FloatingPointTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitFloatingPointType(Java8Parser.FloatingPointTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterReferenceType(Java8Parser.ReferenceTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitReferenceType(Java8Parser.ReferenceTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterClassOrInterfaceType(Java8Parser.ClassOrInterfaceTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitClassOrInterfaceType(Java8Parser.ClassOrInterfaceTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterClassType(Java8Parser.ClassTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitClassType(Java8Parser.ClassTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterClassType_lf_classOrInterfaceType(Java8Parser.ClassType_lf_classOrInterfaceTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitClassType_lf_classOrInterfaceType(Java8Parser.ClassType_lf_classOrInterfaceTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterClassType_lfno_classOrInterfaceType(Java8Parser.ClassType_lfno_classOrInterfaceTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitClassType_lfno_classOrInterfaceType(Java8Parser.ClassType_lfno_classOrInterfaceTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterInterfaceType(Java8Parser.InterfaceTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitInterfaceType(Java8Parser.InterfaceTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterInterfaceType_lf_classOrInterfaceType(Java8Parser.InterfaceType_lf_classOrInterfaceTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitInterfaceType_lf_classOrInterfaceType(Java8Parser.InterfaceType_lf_classOrInterfaceTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterInterfaceType_lfno_classOrInterfaceType(Java8Parser.InterfaceType_lfno_classOrInterfaceTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitInterfaceType_lfno_classOrInterfaceType(Java8Parser.InterfaceType_lfno_classOrInterfaceTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterTypeVariable(Java8Parser.TypeVariableContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitTypeVariable(Java8Parser.TypeVariableContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterArrayType(Java8Parser.ArrayTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitArrayType(Java8Parser.ArrayTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterDims(Java8Parser.DimsContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitDims(Java8Parser.DimsContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterTypeParameter(Java8Parser.TypeParameterContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitTypeParameter(Java8Parser.TypeParameterContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterTypeParameterModifier(Java8Parser.TypeParameterModifierContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitTypeParameterModifier(Java8Parser.TypeParameterModifierContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterTypeBound(Java8Parser.TypeBoundContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitTypeBound(Java8Parser.TypeBoundContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterAdditionalBound(Java8Parser.AdditionalBoundContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitAdditionalBound(Java8Parser.AdditionalBoundContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterTypeArguments(Java8Parser.TypeArgumentsContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitTypeArguments(Java8Parser.TypeArgumentsContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterTypeArgumentList(Java8Parser.TypeArgumentListContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitTypeArgumentList(Java8Parser.TypeArgumentListContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterTypeArgument(Java8Parser.TypeArgumentContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitTypeArgument(Java8Parser.TypeArgumentContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterWildcard(Java8Parser.WildcardContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitWildcard(Java8Parser.WildcardContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterWildcardBounds(Java8Parser.WildcardBoundsContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitWildcardBounds(Java8Parser.WildcardBoundsContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterPackageName(Java8Parser.PackageNameContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitPackageName(Java8Parser.PackageNameContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterTypeName(Java8Parser.TypeNameContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitTypeName(Java8Parser.TypeNameContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterPackageOrTypeName(Java8Parser.PackageOrTypeNameContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitPackageOrTypeName(Java8Parser.PackageOrTypeNameContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterExpressionName(Java8Parser.ExpressionNameContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitExpressionName(Java8Parser.ExpressionNameContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterMethodName(Java8Parser.MethodNameContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitMethodName(Java8Parser.MethodNameContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterAmbiguousName(Java8Parser.AmbiguousNameContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitAmbiguousName(Java8Parser.AmbiguousNameContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterCompilationUnit(Java8Parser.CompilationUnitContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitCompilationUnit(Java8Parser.CompilationUnitContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterPackageDeclaration(Java8Parser.PackageDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitPackageDeclaration(Java8Parser.PackageDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterPackageModifier(Java8Parser.PackageModifierContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitPackageModifier(Java8Parser.PackageModifierContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterImportDeclaration(Java8Parser.ImportDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitImportDeclaration(Java8Parser.ImportDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterSingleTypeImportDeclaration(Java8Parser.SingleTypeImportDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitSingleTypeImportDeclaration(Java8Parser.SingleTypeImportDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterTypeImportOnDemandDeclaration(Java8Parser.TypeImportOnDemandDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitTypeImportOnDemandDeclaration(Java8Parser.TypeImportOnDemandDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterSingleStaticImportDeclaration(Java8Parser.SingleStaticImportDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitSingleStaticImportDeclaration(Java8Parser.SingleStaticImportDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterStaticImportOnDemandDeclaration(Java8Parser.StaticImportOnDemandDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitStaticImportOnDemandDeclaration(Java8Parser.StaticImportOnDemandDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterTypeDeclaration(Java8Parser.TypeDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitTypeDeclaration(Java8Parser.TypeDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterClassDeclaration(Java8Parser.ClassDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitClassDeclaration(Java8Parser.ClassDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterNormalClassDeclaration(Java8Parser.NormalClassDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitNormalClassDeclaration(Java8Parser.NormalClassDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterClassModifier(Java8Parser.ClassModifierContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitClassModifier(Java8Parser.ClassModifierContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterTypeParameters(Java8Parser.TypeParametersContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitTypeParameters(Java8Parser.TypeParametersContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterTypeParameterList(Java8Parser.TypeParameterListContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitTypeParameterList(Java8Parser.TypeParameterListContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterSuperclass(Java8Parser.SuperclassContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitSuperclass(Java8Parser.SuperclassContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterSuperinterfaces(Java8Parser.SuperinterfacesContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitSuperinterfaces(Java8Parser.SuperinterfacesContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterInterfaceTypeList(Java8Parser.InterfaceTypeListContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitInterfaceTypeList(Java8Parser.InterfaceTypeListContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterClassBody(Java8Parser.ClassBodyContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitClassBody(Java8Parser.ClassBodyContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterClassBodyDeclaration(Java8Parser.ClassBodyDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitClassBodyDeclaration(Java8Parser.ClassBodyDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterClassMemberDeclaration(Java8Parser.ClassMemberDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitClassMemberDeclaration(Java8Parser.ClassMemberDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterFieldDeclaration(Java8Parser.FieldDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitFieldDeclaration(Java8Parser.FieldDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterFieldModifier(Java8Parser.FieldModifierContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitFieldModifier(Java8Parser.FieldModifierContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterVariableDeclaratorList(Java8Parser.VariableDeclaratorListContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitVariableDeclaratorList(Java8Parser.VariableDeclaratorListContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterVariableDeclarator(Java8Parser.VariableDeclaratorContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitVariableDeclarator(Java8Parser.VariableDeclaratorContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterVariableDeclaratorId(Java8Parser.VariableDeclaratorIdContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitVariableDeclaratorId(Java8Parser.VariableDeclaratorIdContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterVariableInitializer(Java8Parser.VariableInitializerContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitVariableInitializer(Java8Parser.VariableInitializerContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterUnannType(Java8Parser.UnannTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitUnannType(Java8Parser.UnannTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterUnannPrimitiveType(Java8Parser.UnannPrimitiveTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitUnannPrimitiveType(Java8Parser.UnannPrimitiveTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterUnannReferenceType(Java8Parser.UnannReferenceTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitUnannReferenceType(Java8Parser.UnannReferenceTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterUnannClassOrInterfaceType(Java8Parser.UnannClassOrInterfaceTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitUnannClassOrInterfaceType(Java8Parser.UnannClassOrInterfaceTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterUnannClassType(Java8Parser.UnannClassTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitUnannClassType(Java8Parser.UnannClassTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterUnannClassType_lf_unannClassOrInterfaceType(Java8Parser.UnannClassType_lf_unannClassOrInterfaceTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitUnannClassType_lf_unannClassOrInterfaceType(Java8Parser.UnannClassType_lf_unannClassOrInterfaceTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterUnannClassType_lfno_unannClassOrInterfaceType(Java8Parser.UnannClassType_lfno_unannClassOrInterfaceTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitUnannClassType_lfno_unannClassOrInterfaceType(Java8Parser.UnannClassType_lfno_unannClassOrInterfaceTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterUnannInterfaceType(Java8Parser.UnannInterfaceTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitUnannInterfaceType(Java8Parser.UnannInterfaceTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterUnannInterfaceType_lf_unannClassOrInterfaceType(Java8Parser.UnannInterfaceType_lf_unannClassOrInterfaceTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitUnannInterfaceType_lf_unannClassOrInterfaceType(Java8Parser.UnannInterfaceType_lf_unannClassOrInterfaceTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterUnannInterfaceType_lfno_unannClassOrInterfaceType(Java8Parser.UnannInterfaceType_lfno_unannClassOrInterfaceTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitUnannInterfaceType_lfno_unannClassOrInterfaceType(Java8Parser.UnannInterfaceType_lfno_unannClassOrInterfaceTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterUnannTypeVariable(Java8Parser.UnannTypeVariableContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitUnannTypeVariable(Java8Parser.UnannTypeVariableContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterUnannArrayType(Java8Parser.UnannArrayTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitUnannArrayType(Java8Parser.UnannArrayTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterMethodDeclaration(Java8Parser.MethodDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitMethodDeclaration(Java8Parser.MethodDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterMethodModifier(Java8Parser.MethodModifierContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitMethodModifier(Java8Parser.MethodModifierContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterMethodHeader(Java8Parser.MethodHeaderContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitMethodHeader(Java8Parser.MethodHeaderContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterResult(Java8Parser.ResultContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitResult(Java8Parser.ResultContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterMethodDeclarator(Java8Parser.MethodDeclaratorContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitMethodDeclarator(Java8Parser.MethodDeclaratorContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterFormalParameterList(Java8Parser.FormalParameterListContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitFormalParameterList(Java8Parser.FormalParameterListContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterFormalParameters(Java8Parser.FormalParametersContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitFormalParameters(Java8Parser.FormalParametersContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterFormalParameter(Java8Parser.FormalParameterContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitFormalParameter(Java8Parser.FormalParameterContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterVariableModifier(Java8Parser.VariableModifierContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitVariableModifier(Java8Parser.VariableModifierContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterLastFormalParameter(Java8Parser.LastFormalParameterContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitLastFormalParameter(Java8Parser.LastFormalParameterContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterReceiverParameter(Java8Parser.ReceiverParameterContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitReceiverParameter(Java8Parser.ReceiverParameterContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterThrows_(Java8Parser.Throws_Context ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitThrows_(Java8Parser.Throws_Context ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterExceptionTypeList(Java8Parser.ExceptionTypeListContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitExceptionTypeList(Java8Parser.ExceptionTypeListContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterExceptionType(Java8Parser.ExceptionTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitExceptionType(Java8Parser.ExceptionTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterMethodBody(Java8Parser.MethodBodyContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitMethodBody(Java8Parser.MethodBodyContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterInstanceInitializer(Java8Parser.InstanceInitializerContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitInstanceInitializer(Java8Parser.InstanceInitializerContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterStaticInitializer(Java8Parser.StaticInitializerContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitStaticInitializer(Java8Parser.StaticInitializerContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterConstructorDeclaration(Java8Parser.ConstructorDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitConstructorDeclaration(Java8Parser.ConstructorDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterConstructorModifier(Java8Parser.ConstructorModifierContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitConstructorModifier(Java8Parser.ConstructorModifierContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterConstructorDeclarator(Java8Parser.ConstructorDeclaratorContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitConstructorDeclarator(Java8Parser.ConstructorDeclaratorContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterSimpleTypeName(Java8Parser.SimpleTypeNameContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitSimpleTypeName(Java8Parser.SimpleTypeNameContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterConstructorBody(Java8Parser.ConstructorBodyContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitConstructorBody(Java8Parser.ConstructorBodyContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterExplicitConstructorInvocation(Java8Parser.ExplicitConstructorInvocationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitExplicitConstructorInvocation(Java8Parser.ExplicitConstructorInvocationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterEnumDeclaration(Java8Parser.EnumDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitEnumDeclaration(Java8Parser.EnumDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterEnumBody(Java8Parser.EnumBodyContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitEnumBody(Java8Parser.EnumBodyContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterEnumConstantList(Java8Parser.EnumConstantListContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitEnumConstantList(Java8Parser.EnumConstantListContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterEnumConstant(Java8Parser.EnumConstantContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitEnumConstant(Java8Parser.EnumConstantContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterEnumConstantModifier(Java8Parser.EnumConstantModifierContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitEnumConstantModifier(Java8Parser.EnumConstantModifierContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterEnumBodyDeclarations(Java8Parser.EnumBodyDeclarationsContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitEnumBodyDeclarations(Java8Parser.EnumBodyDeclarationsContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterInterfaceDeclaration(Java8Parser.InterfaceDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitInterfaceDeclaration(Java8Parser.InterfaceDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterNormalInterfaceDeclaration(Java8Parser.NormalInterfaceDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitNormalInterfaceDeclaration(Java8Parser.NormalInterfaceDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterInterfaceModifier(Java8Parser.InterfaceModifierContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitInterfaceModifier(Java8Parser.InterfaceModifierContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterExtendsInterfaces(Java8Parser.ExtendsInterfacesContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitExtendsInterfaces(Java8Parser.ExtendsInterfacesContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterInterfaceBody(Java8Parser.InterfaceBodyContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitInterfaceBody(Java8Parser.InterfaceBodyContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterInterfaceMemberDeclaration(Java8Parser.InterfaceMemberDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitInterfaceMemberDeclaration(Java8Parser.InterfaceMemberDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterConstantDeclaration(Java8Parser.ConstantDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitConstantDeclaration(Java8Parser.ConstantDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterConstantModifier(Java8Parser.ConstantModifierContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitConstantModifier(Java8Parser.ConstantModifierContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterInterfaceMethodDeclaration(Java8Parser.InterfaceMethodDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitInterfaceMethodDeclaration(Java8Parser.InterfaceMethodDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterInterfaceMethodModifier(Java8Parser.InterfaceMethodModifierContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitInterfaceMethodModifier(Java8Parser.InterfaceMethodModifierContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterAnnotationTypeDeclaration(Java8Parser.AnnotationTypeDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitAnnotationTypeDeclaration(Java8Parser.AnnotationTypeDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterAnnotationTypeBody(Java8Parser.AnnotationTypeBodyContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitAnnotationTypeBody(Java8Parser.AnnotationTypeBodyContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterAnnotationTypeMemberDeclaration(Java8Parser.AnnotationTypeMemberDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitAnnotationTypeMemberDeclaration(Java8Parser.AnnotationTypeMemberDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterAnnotationTypeElementDeclaration(Java8Parser.AnnotationTypeElementDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitAnnotationTypeElementDeclaration(Java8Parser.AnnotationTypeElementDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterAnnotationTypeElementModifier(Java8Parser.AnnotationTypeElementModifierContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitAnnotationTypeElementModifier(Java8Parser.AnnotationTypeElementModifierContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterDefaultValue(Java8Parser.DefaultValueContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitDefaultValue(Java8Parser.DefaultValueContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterAnnotation(Java8Parser.AnnotationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitAnnotation(Java8Parser.AnnotationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterNormalAnnotation(Java8Parser.NormalAnnotationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitNormalAnnotation(Java8Parser.NormalAnnotationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterElementValuePairList(Java8Parser.ElementValuePairListContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitElementValuePairList(Java8Parser.ElementValuePairListContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterElementValuePair(Java8Parser.ElementValuePairContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitElementValuePair(Java8Parser.ElementValuePairContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterElementValue(Java8Parser.ElementValueContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitElementValue(Java8Parser.ElementValueContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterElementValueArrayInitializer(Java8Parser.ElementValueArrayInitializerContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitElementValueArrayInitializer(Java8Parser.ElementValueArrayInitializerContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterElementValueList(Java8Parser.ElementValueListContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitElementValueList(Java8Parser.ElementValueListContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterMarkerAnnotation(Java8Parser.MarkerAnnotationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitMarkerAnnotation(Java8Parser.MarkerAnnotationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterSingleElementAnnotation(Java8Parser.SingleElementAnnotationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitSingleElementAnnotation(Java8Parser.SingleElementAnnotationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterArrayInitializer(Java8Parser.ArrayInitializerContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitArrayInitializer(Java8Parser.ArrayInitializerContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterVariableInitializerList(Java8Parser.VariableInitializerListContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitVariableInitializerList(Java8Parser.VariableInitializerListContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterBlock(Java8Parser.BlockContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitBlock(Java8Parser.BlockContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterBlockStatements(Java8Parser.BlockStatementsContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitBlockStatements(Java8Parser.BlockStatementsContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterBlockStatement(Java8Parser.BlockStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitBlockStatement(Java8Parser.BlockStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterLocalVariableDeclarationStatement(Java8Parser.LocalVariableDeclarationStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitLocalVariableDeclarationStatement(Java8Parser.LocalVariableDeclarationStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterUnannTypeOrAuto(Java8Parser.UnannTypeOrAutoContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitUnannTypeOrAuto(Java8Parser.UnannTypeOrAutoContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterLocalVariableDeclaration(Java8Parser.LocalVariableDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitLocalVariableDeclaration(Java8Parser.LocalVariableDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterStatement(Java8Parser.StatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitStatement(Java8Parser.StatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterStatementNoShortIf(Java8Parser.StatementNoShortIfContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitStatementNoShortIf(Java8Parser.StatementNoShortIfContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterStatementWithoutTrailingSubstatement(Java8Parser.StatementWithoutTrailingSubstatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitStatementWithoutTrailingSubstatement(Java8Parser.StatementWithoutTrailingSubstatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterEmptyStatement(Java8Parser.EmptyStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitEmptyStatement(Java8Parser.EmptyStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterLabeledStatement(Java8Parser.LabeledStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitLabeledStatement(Java8Parser.LabeledStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterLabeledStatementNoShortIf(Java8Parser.LabeledStatementNoShortIfContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitLabeledStatementNoShortIf(Java8Parser.LabeledStatementNoShortIfContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterExpressionStatement(Java8Parser.ExpressionStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitExpressionStatement(Java8Parser.ExpressionStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterStatementExpression(Java8Parser.StatementExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitStatementExpression(Java8Parser.StatementExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterIfThenStatement(Java8Parser.IfThenStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitIfThenStatement(Java8Parser.IfThenStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterIfThenElseStatement(Java8Parser.IfThenElseStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitIfThenElseStatement(Java8Parser.IfThenElseStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterIfThenElseStatementNoShortIf(Java8Parser.IfThenElseStatementNoShortIfContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitIfThenElseStatementNoShortIf(Java8Parser.IfThenElseStatementNoShortIfContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterAssertStatement(Java8Parser.AssertStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitAssertStatement(Java8Parser.AssertStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterSwitchStatement(Java8Parser.SwitchStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitSwitchStatement(Java8Parser.SwitchStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterSwitchBlock(Java8Parser.SwitchBlockContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitSwitchBlock(Java8Parser.SwitchBlockContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterSwitchBlockStatementGroup(Java8Parser.SwitchBlockStatementGroupContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitSwitchBlockStatementGroup(Java8Parser.SwitchBlockStatementGroupContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterSwitchLabels(Java8Parser.SwitchLabelsContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitSwitchLabels(Java8Parser.SwitchLabelsContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterSwitchLabel(Java8Parser.SwitchLabelContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitSwitchLabel(Java8Parser.SwitchLabelContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterEnumConstantName(Java8Parser.EnumConstantNameContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitEnumConstantName(Java8Parser.EnumConstantNameContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterWhileStatement(Java8Parser.WhileStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitWhileStatement(Java8Parser.WhileStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterWhileStatementNoShortIf(Java8Parser.WhileStatementNoShortIfContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitWhileStatementNoShortIf(Java8Parser.WhileStatementNoShortIfContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterDoStatement(Java8Parser.DoStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitDoStatement(Java8Parser.DoStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterForStatement(Java8Parser.ForStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitForStatement(Java8Parser.ForStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterForStatementNoShortIf(Java8Parser.ForStatementNoShortIfContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitForStatementNoShortIf(Java8Parser.ForStatementNoShortIfContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterBasicForStatement(Java8Parser.BasicForStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitBasicForStatement(Java8Parser.BasicForStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterBasicForStatementNoShortIf(Java8Parser.BasicForStatementNoShortIfContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitBasicForStatementNoShortIf(Java8Parser.BasicForStatementNoShortIfContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterForInit(Java8Parser.ForInitContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitForInit(Java8Parser.ForInitContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterForUpdate(Java8Parser.ForUpdateContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitForUpdate(Java8Parser.ForUpdateContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterStatementExpressionList(Java8Parser.StatementExpressionListContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitStatementExpressionList(Java8Parser.StatementExpressionListContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterEnhancedForStatement(Java8Parser.EnhancedForStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitEnhancedForStatement(Java8Parser.EnhancedForStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterEnhancedForStatementNoShortIf(Java8Parser.EnhancedForStatementNoShortIfContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitEnhancedForStatementNoShortIf(Java8Parser.EnhancedForStatementNoShortIfContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterBreakStatement(Java8Parser.BreakStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitBreakStatement(Java8Parser.BreakStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterContinueStatement(Java8Parser.ContinueStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitContinueStatement(Java8Parser.ContinueStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterReturnStatement(Java8Parser.ReturnStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitReturnStatement(Java8Parser.ReturnStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterThrowStatement(Java8Parser.ThrowStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitThrowStatement(Java8Parser.ThrowStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterSynchronizedStatement(Java8Parser.SynchronizedStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitSynchronizedStatement(Java8Parser.SynchronizedStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterTryStatement(Java8Parser.TryStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitTryStatement(Java8Parser.TryStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterCatches(Java8Parser.CatchesContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitCatches(Java8Parser.CatchesContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterCatchClause(Java8Parser.CatchClauseContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitCatchClause(Java8Parser.CatchClauseContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterCatchFormalParameter(Java8Parser.CatchFormalParameterContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitCatchFormalParameter(Java8Parser.CatchFormalParameterContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterCatchType(Java8Parser.CatchTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitCatchType(Java8Parser.CatchTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterFinally_(Java8Parser.Finally_Context ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitFinally_(Java8Parser.Finally_Context ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterTryWithResourcesStatement(Java8Parser.TryWithResourcesStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitTryWithResourcesStatement(Java8Parser.TryWithResourcesStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterResourceSpecification(Java8Parser.ResourceSpecificationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitResourceSpecification(Java8Parser.ResourceSpecificationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterResourceList(Java8Parser.ResourceListContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitResourceList(Java8Parser.ResourceListContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterResource(Java8Parser.ResourceContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitResource(Java8Parser.ResourceContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterPrimary(Java8Parser.PrimaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitPrimary(Java8Parser.PrimaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterPrimaryNoNewArray(Java8Parser.PrimaryNoNewArrayContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitPrimaryNoNewArray(Java8Parser.PrimaryNoNewArrayContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterPrimaryNoNewArray_lf_arrayAccess(Java8Parser.PrimaryNoNewArray_lf_arrayAccessContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitPrimaryNoNewArray_lf_arrayAccess(Java8Parser.PrimaryNoNewArray_lf_arrayAccessContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterPrimaryNoNewArray_lfno_arrayAccess(Java8Parser.PrimaryNoNewArray_lfno_arrayAccessContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitPrimaryNoNewArray_lfno_arrayAccess(Java8Parser.PrimaryNoNewArray_lfno_arrayAccessContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterPrimaryNoNewArray_lf_primary(Java8Parser.PrimaryNoNewArray_lf_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitPrimaryNoNewArray_lf_primary(Java8Parser.PrimaryNoNewArray_lf_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterPrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary(Java8Parser.PrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitPrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary(Java8Parser.PrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterPrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary(Java8Parser.PrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitPrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary(Java8Parser.PrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterPrimaryNoNewArray_lfno_primary(Java8Parser.PrimaryNoNewArray_lfno_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitPrimaryNoNewArray_lfno_primary(Java8Parser.PrimaryNoNewArray_lfno_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterPrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary(Java8Parser.PrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitPrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary(Java8Parser.PrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterPrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary(Java8Parser.PrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitPrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary(Java8Parser.PrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterClassInstanceCreationExpression(Java8Parser.ClassInstanceCreationExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitClassInstanceCreationExpression(Java8Parser.ClassInstanceCreationExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterClassInstanceCreationExpression_lf_primary(Java8Parser.ClassInstanceCreationExpression_lf_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitClassInstanceCreationExpression_lf_primary(Java8Parser.ClassInstanceCreationExpression_lf_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterClassInstanceCreationExpression_lfno_primary(Java8Parser.ClassInstanceCreationExpression_lfno_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitClassInstanceCreationExpression_lfno_primary(Java8Parser.ClassInstanceCreationExpression_lfno_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterTypeArgumentsOrDiamond(Java8Parser.TypeArgumentsOrDiamondContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitTypeArgumentsOrDiamond(Java8Parser.TypeArgumentsOrDiamondContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterFieldAccess(Java8Parser.FieldAccessContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitFieldAccess(Java8Parser.FieldAccessContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterFieldAccess_lf_primary(Java8Parser.FieldAccess_lf_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitFieldAccess_lf_primary(Java8Parser.FieldAccess_lf_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterFieldAccess_lfno_primary(Java8Parser.FieldAccess_lfno_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitFieldAccess_lfno_primary(Java8Parser.FieldAccess_lfno_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterArrayAccess(Java8Parser.ArrayAccessContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitArrayAccess(Java8Parser.ArrayAccessContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterArrayAccess_lf_primary(Java8Parser.ArrayAccess_lf_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitArrayAccess_lf_primary(Java8Parser.ArrayAccess_lf_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterArrayAccess_lfno_primary(Java8Parser.ArrayAccess_lfno_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitArrayAccess_lfno_primary(Java8Parser.ArrayAccess_lfno_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterMethodInvocation(Java8Parser.MethodInvocationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitMethodInvocation(Java8Parser.MethodInvocationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterMethodInvocation_lf_primary(Java8Parser.MethodInvocation_lf_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitMethodInvocation_lf_primary(Java8Parser.MethodInvocation_lf_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterMethodInvocation_lfno_primary(Java8Parser.MethodInvocation_lfno_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitMethodInvocation_lfno_primary(Java8Parser.MethodInvocation_lfno_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterArgumentList(Java8Parser.ArgumentListContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitArgumentList(Java8Parser.ArgumentListContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterMethodReference(Java8Parser.MethodReferenceContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitMethodReference(Java8Parser.MethodReferenceContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterMethodReference_lf_primary(Java8Parser.MethodReference_lf_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitMethodReference_lf_primary(Java8Parser.MethodReference_lf_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterMethodReference_lfno_primary(Java8Parser.MethodReference_lfno_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitMethodReference_lfno_primary(Java8Parser.MethodReference_lfno_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterArrayCreationExpression(Java8Parser.ArrayCreationExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitArrayCreationExpression(Java8Parser.ArrayCreationExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterDimExprs(Java8Parser.DimExprsContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitDimExprs(Java8Parser.DimExprsContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterDimExpr(Java8Parser.DimExprContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitDimExpr(Java8Parser.DimExprContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterConstantExpression(Java8Parser.ConstantExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitConstantExpression(Java8Parser.ConstantExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterExpression(Java8Parser.ExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitExpression(Java8Parser.ExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterLambdaExpression(Java8Parser.LambdaExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitLambdaExpression(Java8Parser.LambdaExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterLambdaParameters(Java8Parser.LambdaParametersContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitLambdaParameters(Java8Parser.LambdaParametersContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterInferredFormalParameterList(Java8Parser.InferredFormalParameterListContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitInferredFormalParameterList(Java8Parser.InferredFormalParameterListContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterLambdaBody(Java8Parser.LambdaBodyContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitLambdaBody(Java8Parser.LambdaBodyContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterAssignmentExpression(Java8Parser.AssignmentExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitAssignmentExpression(Java8Parser.AssignmentExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterAssignment(Java8Parser.AssignmentContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitAssignment(Java8Parser.AssignmentContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterLeftHandSide(Java8Parser.LeftHandSideContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitLeftHandSide(Java8Parser.LeftHandSideContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterAssignmentOperator(Java8Parser.AssignmentOperatorContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitAssignmentOperator(Java8Parser.AssignmentOperatorContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterConditionalExpression(Java8Parser.ConditionalExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitConditionalExpression(Java8Parser.ConditionalExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterConditionalOrExpression(Java8Parser.ConditionalOrExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitConditionalOrExpression(Java8Parser.ConditionalOrExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterConditionalAndExpression(Java8Parser.ConditionalAndExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitConditionalAndExpression(Java8Parser.ConditionalAndExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterInclusiveOrExpression(Java8Parser.InclusiveOrExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitInclusiveOrExpression(Java8Parser.InclusiveOrExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterExclusiveOrExpression(Java8Parser.ExclusiveOrExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitExclusiveOrExpression(Java8Parser.ExclusiveOrExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterAndExpression(Java8Parser.AndExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitAndExpression(Java8Parser.AndExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterEqualityExpression(Java8Parser.EqualityExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitEqualityExpression(Java8Parser.EqualityExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterRelationalExpression(Java8Parser.RelationalExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitRelationalExpression(Java8Parser.RelationalExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterShiftExpression(Java8Parser.ShiftExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitShiftExpression(Java8Parser.ShiftExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterAdditiveExpression(Java8Parser.AdditiveExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitAdditiveExpression(Java8Parser.AdditiveExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterMultiplicativeExpression(Java8Parser.MultiplicativeExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitMultiplicativeExpression(Java8Parser.MultiplicativeExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterUnaryExpression(Java8Parser.UnaryExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitUnaryExpression(Java8Parser.UnaryExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterPreIncrementExpression(Java8Parser.PreIncrementExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitPreIncrementExpression(Java8Parser.PreIncrementExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterPreDecrementExpression(Java8Parser.PreDecrementExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitPreDecrementExpression(Java8Parser.PreDecrementExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterUnaryExpressionNotPlusMinus(Java8Parser.UnaryExpressionNotPlusMinusContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitUnaryExpressionNotPlusMinus(Java8Parser.UnaryExpressionNotPlusMinusContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterPostfixExpression(Java8Parser.PostfixExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitPostfixExpression(Java8Parser.PostfixExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterPostIncrementExpression(Java8Parser.PostIncrementExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitPostIncrementExpression(Java8Parser.PostIncrementExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterPostIncrementExpression_lf_postfixExpression(Java8Parser.PostIncrementExpression_lf_postfixExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitPostIncrementExpression_lf_postfixExpression(Java8Parser.PostIncrementExpression_lf_postfixExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterPostDecrementExpression(Java8Parser.PostDecrementExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitPostDecrementExpression(Java8Parser.PostDecrementExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterPostDecrementExpression_lf_postfixExpression(Java8Parser.PostDecrementExpression_lf_postfixExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitPostDecrementExpression_lf_postfixExpression(Java8Parser.PostDecrementExpression_lf_postfixExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterCastExpression(Java8Parser.CastExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitCastExpression(Java8Parser.CastExpressionContext ctx) { } - - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterEveryRule(ParserRuleContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitEveryRule(ParserRuleContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void visitTerminal(TerminalNode node) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void visitErrorNode(ErrorNode node) { } -} \ No newline at end of file diff --git a/src/de/dhbwstuttgart/parser/antlr/Java8Lexer.java b/src/de/dhbwstuttgart/parser/antlr/Java8Lexer.java deleted file mode 100644 index 9c2e22c40..000000000 --- a/src/de/dhbwstuttgart/parser/antlr/Java8Lexer.java +++ /dev/null @@ -1,593 +0,0 @@ -// Generated from Java8.g4 by ANTLR 4.7 -package de.dhbwstuttgart.parser.antlr; -import org.antlr.v4.runtime.Lexer; -import org.antlr.v4.runtime.CharStream; -import org.antlr.v4.runtime.Token; -import org.antlr.v4.runtime.TokenStream; -import org.antlr.v4.runtime.*; -import org.antlr.v4.runtime.atn.*; -import org.antlr.v4.runtime.dfa.DFA; -import org.antlr.v4.runtime.misc.*; - -@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) -public class Java8Lexer extends Lexer { - static { RuntimeMetaData.checkVersion("4.7", RuntimeMetaData.VERSION); } - - protected static final DFA[] _decisionToDFA; - protected static final PredictionContextCache _sharedContextCache = - new PredictionContextCache(); - public static final int - T__0=1, ABSTRACT=2, ASSERT=3, BOOLEAN=4, BREAK=5, BYTE=6, CASE=7, CATCH=8, - CHAR=9, CLASS=10, CONST=11, CONTINUE=12, DEFAULT=13, DO=14, DOUBLE=15, - ELSE=16, ENUM=17, EXTENDS=18, FINAL=19, FINALLY=20, FLOAT=21, FOR=22, - IF=23, GOTO=24, IMPLEMENTS=25, IMPORT=26, INSTANCEOF=27, INT=28, INTERFACE=29, - LONG=30, NATIVE=31, NEW=32, PACKAGE=33, PRIVATE=34, PROTECTED=35, PUBLIC=36, - RETURN=37, SHORT=38, STATIC=39, STRICTFP=40, SUPER=41, SWITCH=42, SYNCHRONIZED=43, - THIS=44, THROW=45, THROWS=46, TRANSIENT=47, TRY=48, VOID=49, VOLATILE=50, - WHILE=51, IntegerLiteral=52, FloatingPointLiteral=53, BooleanLiteral=54, - CharacterLiteral=55, StringLiteral=56, NullLiteral=57, LPAREN=58, RPAREN=59, - LBRACE=60, RBRACE=61, LBRACK=62, RBRACK=63, SEMI=64, COMMA=65, DOT=66, - ASSIGN=67, GT=68, LT=69, BANG=70, TILDE=71, QUESTION=72, COLON=73, EQUAL=74, - LE=75, GE=76, NOTEQUAL=77, AND=78, OR=79, INC=80, DEC=81, ADD=82, SUB=83, - MUL=84, DIV=85, BITAND=86, BITOR=87, CARET=88, MOD=89, ARROW=90, COLONCOLON=91, - ADD_ASSIGN=92, SUB_ASSIGN=93, MUL_ASSIGN=94, DIV_ASSIGN=95, AND_ASSIGN=96, - OR_ASSIGN=97, XOR_ASSIGN=98, MOD_ASSIGN=99, LSHIFT_ASSIGN=100, RSHIFT_ASSIGN=101, - URSHIFT_ASSIGN=102, Identifier=103, AT=104, ELLIPSIS=105, WS=106, COMMENT=107, - LINE_COMMENT=108; - public static String[] channelNames = { - "DEFAULT_TOKEN_CHANNEL", "HIDDEN" - }; - - public static String[] modeNames = { - "DEFAULT_MODE" - }; - - public static final String[] ruleNames = { - "T__0", "ABSTRACT", "ASSERT", "BOOLEAN", "BREAK", "BYTE", "CASE", "CATCH", - "CHAR", "CLASS", "CONST", "CONTINUE", "DEFAULT", "DO", "DOUBLE", "ELSE", - "ENUM", "EXTENDS", "FINAL", "FINALLY", "FLOAT", "FOR", "IF", "GOTO", "IMPLEMENTS", - "IMPORT", "INSTANCEOF", "INT", "INTERFACE", "LONG", "NATIVE", "NEW", "PACKAGE", - "PRIVATE", "PROTECTED", "PUBLIC", "RETURN", "SHORT", "STATIC", "STRICTFP", - "SUPER", "SWITCH", "SYNCHRONIZED", "THIS", "THROW", "THROWS", "TRANSIENT", - "TRY", "VOID", "VOLATILE", "WHILE", "IntegerLiteral", "DecimalIntegerLiteral", - "HexIntegerLiteral", "OctalIntegerLiteral", "BinaryIntegerLiteral", "IntegerTypeSuffix", - "DecimalNumeral", "Digits", "Digit", "NonZeroDigit", "DigitsAndUnderscores", - "DigitOrUnderscore", "Underscores", "HexNumeral", "HexDigits", "HexDigit", - "HexDigitsAndUnderscores", "HexDigitOrUnderscore", "OctalNumeral", "OctalDigits", - "OctalDigit", "OctalDigitsAndUnderscores", "OctalDigitOrUnderscore", "BinaryNumeral", - "BinaryDigits", "BinaryDigit", "BinaryDigitsAndUnderscores", "BinaryDigitOrUnderscore", - "FloatingPointLiteral", "DecimalFloatingPointLiteral", "ExponentPart", - "ExponentIndicator", "SignedInteger", "Sign", "FloatTypeSuffix", "HexadecimalFloatingPointLiteral", - "HexSignificand", "BinaryExponent", "BinaryExponentIndicator", "BooleanLiteral", - "CharacterLiteral", "SingleCharacter", "StringLiteral", "StringCharacters", - "StringCharacter", "EscapeSequence", "OctalEscape", "ZeroToThree", "UnicodeEscape", - "NullLiteral", "LPAREN", "RPAREN", "LBRACE", "RBRACE", "LBRACK", "RBRACK", - "SEMI", "COMMA", "DOT", "ASSIGN", "GT", "LT", "BANG", "TILDE", "QUESTION", - "COLON", "EQUAL", "LE", "GE", "NOTEQUAL", "AND", "OR", "INC", "DEC", "ADD", - "SUB", "MUL", "DIV", "BITAND", "BITOR", "CARET", "MOD", "ARROW", "COLONCOLON", - "ADD_ASSIGN", "SUB_ASSIGN", "MUL_ASSIGN", "DIV_ASSIGN", "AND_ASSIGN", - "OR_ASSIGN", "XOR_ASSIGN", "MOD_ASSIGN", "LSHIFT_ASSIGN", "RSHIFT_ASSIGN", - "URSHIFT_ASSIGN", "Identifier", "JavaLetter", "JavaLetterOrDigit", "AT", - "ELLIPSIS", "WS", "COMMENT", "LINE_COMMENT" - }; - - private static final String[] _LITERAL_NAMES = { - null, "'var'", "'abstract'", "'assert'", "'boolean'", "'break'", "'byte'", - "'case'", "'catch'", "'char'", "'class'", "'const'", "'continue'", "'default'", - "'do'", "'double'", "'else'", "'enum'", "'extends'", "'final'", "'finally'", - "'float'", "'for'", "'if'", "'goto'", "'implements'", "'import'", "'instanceof'", - "'int'", "'interface'", "'long'", "'native'", "'new'", "'package'", "'private'", - "'protected'", "'public'", "'return'", "'short'", "'static'", "'strictfp'", - "'super'", "'switch'", "'synchronized'", "'this'", "'throw'", "'throws'", - "'transient'", "'try'", "'void'", "'volatile'", "'while'", null, null, - null, null, null, "'null'", "'('", "')'", "'{'", "'}'", "'['", "']'", - "';'", "','", "'.'", "'='", "'>'", "'<'", "'!'", "'~'", "'?'", "':'", - "'=='", "'<='", "'>='", "'!='", "'&&'", "'||'", "'++'", "'--'", "'+'", - "'-'", "'*'", "'/'", "'&'", "'|'", "'^'", "'%'", "'->'", "'::'", "'+='", - "'-='", "'*='", "'/='", "'&='", "'|='", "'^='", "'%='", "'<<='", "'>>='", - "'>>>='", null, "'@'", "'...'" - }; - private static final String[] _SYMBOLIC_NAMES = { - null, null, "ABSTRACT", "ASSERT", "BOOLEAN", "BREAK", "BYTE", "CASE", - "CATCH", "CHAR", "CLASS", "CONST", "CONTINUE", "DEFAULT", "DO", "DOUBLE", - "ELSE", "ENUM", "EXTENDS", "FINAL", "FINALLY", "FLOAT", "FOR", "IF", "GOTO", - "IMPLEMENTS", "IMPORT", "INSTANCEOF", "INT", "INTERFACE", "LONG", "NATIVE", - "NEW", "PACKAGE", "PRIVATE", "PROTECTED", "PUBLIC", "RETURN", "SHORT", - "STATIC", "STRICTFP", "SUPER", "SWITCH", "SYNCHRONIZED", "THIS", "THROW", - "THROWS", "TRANSIENT", "TRY", "VOID", "VOLATILE", "WHILE", "IntegerLiteral", - "FloatingPointLiteral", "BooleanLiteral", "CharacterLiteral", "StringLiteral", - "NullLiteral", "LPAREN", "RPAREN", "LBRACE", "RBRACE", "LBRACK", "RBRACK", - "SEMI", "COMMA", "DOT", "ASSIGN", "GT", "LT", "BANG", "TILDE", "QUESTION", - "COLON", "EQUAL", "LE", "GE", "NOTEQUAL", "AND", "OR", "INC", "DEC", "ADD", - "SUB", "MUL", "DIV", "BITAND", "BITOR", "CARET", "MOD", "ARROW", "COLONCOLON", - "ADD_ASSIGN", "SUB_ASSIGN", "MUL_ASSIGN", "DIV_ASSIGN", "AND_ASSIGN", - "OR_ASSIGN", "XOR_ASSIGN", "MOD_ASSIGN", "LSHIFT_ASSIGN", "RSHIFT_ASSIGN", - "URSHIFT_ASSIGN", "Identifier", "AT", "ELLIPSIS", "WS", "COMMENT", "LINE_COMMENT" - }; - public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); - - /** - * @deprecated Use {@link #VOCABULARY} instead. - */ - @Deprecated - public static final String[] tokenNames; - static { - tokenNames = new String[_SYMBOLIC_NAMES.length]; - for (int i = 0; i < tokenNames.length; i++) { - tokenNames[i] = VOCABULARY.getLiteralName(i); - if (tokenNames[i] == null) { - tokenNames[i] = VOCABULARY.getSymbolicName(i); - } - - if (tokenNames[i] == null) { - tokenNames[i] = ""; - } - } - } - - @Override - @Deprecated - public String[] getTokenNames() { - return tokenNames; - } - - @Override - - public Vocabulary getVocabulary() { - return VOCABULARY; - } - - - public Java8Lexer(CharStream input) { - super(input); - _interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); - } - - @Override - public String getGrammarFileName() { return "Java8.g4"; } - - @Override - public String[] getRuleNames() { return ruleNames; } - - @Override - public String getSerializedATN() { return _serializedATN; } - - @Override - public String[] getChannelNames() { return channelNames; } - - @Override - public String[] getModeNames() { return modeNames; } - - @Override - public ATN getATN() { return _ATN; } - - @Override - public boolean sempred(RuleContext _localctx, int ruleIndex, int predIndex) { - switch (ruleIndex) { - case 147: - return JavaLetter_sempred((RuleContext)_localctx, predIndex); - case 148: - return JavaLetterOrDigit_sempred((RuleContext)_localctx, predIndex); - } - return true; - } - private boolean JavaLetter_sempred(RuleContext _localctx, int predIndex) { - switch (predIndex) { - case 0: - return Character.isJavaIdentifierStart(_input.LA(-1)); - case 1: - return Character.isJavaIdentifierStart(Character.toCodePoint((char)_input.LA(-2), (char)_input.LA(-1))); - } - return true; - } - private boolean JavaLetterOrDigit_sempred(RuleContext _localctx, int predIndex) { - switch (predIndex) { - case 2: - return Character.isJavaIdentifierPart(_input.LA(-1)); - case 3: - return Character.isJavaIdentifierPart(Character.toCodePoint((char)_input.LA(-2), (char)_input.LA(-1))); - } - return true; - } - - public static final String _serializedATN = - "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2n\u044e\b\1\4\2\t"+ - "\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13"+ - "\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+ - "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+ - "\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t \4!"+ - "\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\4"+ - ",\t,\4-\t-\4.\t.\4/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64\t"+ - "\64\4\65\t\65\4\66\t\66\4\67\t\67\48\t8\49\t9\4:\t:\4;\t;\4<\t<\4=\t="+ - "\4>\t>\4?\t?\4@\t@\4A\tA\4B\tB\4C\tC\4D\tD\4E\tE\4F\tF\4G\tG\4H\tH\4I"+ - "\tI\4J\tJ\4K\tK\4L\tL\4M\tM\4N\tN\4O\tO\4P\tP\4Q\tQ\4R\tR\4S\tS\4T\tT"+ - "\4U\tU\4V\tV\4W\tW\4X\tX\4Y\tY\4Z\tZ\4[\t[\4\\\t\\\4]\t]\4^\t^\4_\t_\4"+ - "`\t`\4a\ta\4b\tb\4c\tc\4d\td\4e\te\4f\tf\4g\tg\4h\th\4i\ti\4j\tj\4k\t"+ - "k\4l\tl\4m\tm\4n\tn\4o\to\4p\tp\4q\tq\4r\tr\4s\ts\4t\tt\4u\tu\4v\tv\4"+ - "w\tw\4x\tx\4y\ty\4z\tz\4{\t{\4|\t|\4}\t}\4~\t~\4\177\t\177\4\u0080\t\u0080"+ - "\4\u0081\t\u0081\4\u0082\t\u0082\4\u0083\t\u0083\4\u0084\t\u0084\4\u0085"+ - "\t\u0085\4\u0086\t\u0086\4\u0087\t\u0087\4\u0088\t\u0088\4\u0089\t\u0089"+ - "\4\u008a\t\u008a\4\u008b\t\u008b\4\u008c\t\u008c\4\u008d\t\u008d\4\u008e"+ - "\t\u008e\4\u008f\t\u008f\4\u0090\t\u0090\4\u0091\t\u0091\4\u0092\t\u0092"+ - "\4\u0093\t\u0093\4\u0094\t\u0094\4\u0095\t\u0095\4\u0096\t\u0096\4\u0097"+ - "\t\u0097\4\u0098\t\u0098\4\u0099\t\u0099\4\u009a\t\u009a\4\u009b\t\u009b"+ - "\3\2\3\2\3\2\3\2\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\4\3\4\3\4\3\4\3"+ - "\4\3\4\3\4\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\6\3\6\3\6\3\6\3\6\3\6\3\7"+ - "\3\7\3\7\3\7\3\7\3\b\3\b\3\b\3\b\3\b\3\t\3\t\3\t\3\t\3\t\3\t\3\n\3\n\3"+ - "\n\3\n\3\n\3\13\3\13\3\13\3\13\3\13\3\13\3\f\3\f\3\f\3\f\3\f\3\f\3\r\3"+ - "\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\16"+ - "\3\17\3\17\3\17\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\21\3\21\3\21\3\21"+ - "\3\21\3\22\3\22\3\22\3\22\3\22\3\23\3\23\3\23\3\23\3\23\3\23\3\23\3\23"+ - "\3\24\3\24\3\24\3\24\3\24\3\24\3\25\3\25\3\25\3\25\3\25\3\25\3\25\3\25"+ - "\3\26\3\26\3\26\3\26\3\26\3\26\3\27\3\27\3\27\3\27\3\30\3\30\3\30\3\31"+ - "\3\31\3\31\3\31\3\31\3\32\3\32\3\32\3\32\3\32\3\32\3\32\3\32\3\32\3\32"+ - "\3\32\3\33\3\33\3\33\3\33\3\33\3\33\3\33\3\34\3\34\3\34\3\34\3\34\3\34"+ - "\3\34\3\34\3\34\3\34\3\34\3\35\3\35\3\35\3\35\3\36\3\36\3\36\3\36\3\36"+ - "\3\36\3\36\3\36\3\36\3\36\3\37\3\37\3\37\3\37\3\37\3 \3 \3 \3 \3 \3 \3"+ - " \3!\3!\3!\3!\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3#\3#\3#\3#\3#\3#\3#\3#"+ - "\3$\3$\3$\3$\3$\3$\3$\3$\3$\3$\3%\3%\3%\3%\3%\3%\3%\3&\3&\3&\3&\3&\3&"+ - "\3&\3\'\3\'\3\'\3\'\3\'\3\'\3(\3(\3(\3(\3(\3(\3(\3)\3)\3)\3)\3)\3)\3)"+ - "\3)\3)\3*\3*\3*\3*\3*\3*\3+\3+\3+\3+\3+\3+\3+\3,\3,\3,\3,\3,\3,\3,\3,"+ - "\3,\3,\3,\3,\3,\3-\3-\3-\3-\3-\3.\3.\3.\3.\3.\3.\3/\3/\3/\3/\3/\3/\3/"+ - "\3\60\3\60\3\60\3\60\3\60\3\60\3\60\3\60\3\60\3\60\3\61\3\61\3\61\3\61"+ - "\3\62\3\62\3\62\3\62\3\62\3\63\3\63\3\63\3\63\3\63\3\63\3\63\3\63\3\63"+ - "\3\64\3\64\3\64\3\64\3\64\3\64\3\65\3\65\3\65\3\65\5\65\u0293\n\65\3\66"+ - "\3\66\5\66\u0297\n\66\3\67\3\67\5\67\u029b\n\67\38\38\58\u029f\n8\39\3"+ - "9\59\u02a3\n9\3:\3:\3;\3;\3;\5;\u02aa\n;\3;\3;\3;\5;\u02af\n;\5;\u02b1"+ - "\n;\3<\3<\5<\u02b5\n<\3<\5<\u02b8\n<\3=\3=\5=\u02bc\n=\3>\3>\3?\6?\u02c1"+ - "\n?\r?\16?\u02c2\3@\3@\5@\u02c7\n@\3A\6A\u02ca\nA\rA\16A\u02cb\3B\3B\3"+ - "B\3B\3C\3C\5C\u02d4\nC\3C\5C\u02d7\nC\3D\3D\3E\6E\u02dc\nE\rE\16E\u02dd"+ - "\3F\3F\5F\u02e2\nF\3G\3G\5G\u02e6\nG\3G\3G\3H\3H\5H\u02ec\nH\3H\5H\u02ef"+ - "\nH\3I\3I\3J\6J\u02f4\nJ\rJ\16J\u02f5\3K\3K\5K\u02fa\nK\3L\3L\3L\3L\3"+ - "M\3M\5M\u0302\nM\3M\5M\u0305\nM\3N\3N\3O\6O\u030a\nO\rO\16O\u030b\3P\3"+ - "P\5P\u0310\nP\3Q\3Q\5Q\u0314\nQ\3R\3R\3R\5R\u0319\nR\3R\5R\u031c\nR\3"+ - "R\5R\u031f\nR\3R\3R\3R\5R\u0324\nR\3R\5R\u0327\nR\3R\3R\3R\5R\u032c\n"+ - "R\3R\3R\3R\5R\u0331\nR\3S\3S\3S\3T\3T\3U\5U\u0339\nU\3U\3U\3V\3V\3W\3"+ - "W\3X\3X\3X\5X\u0344\nX\3Y\3Y\5Y\u0348\nY\3Y\3Y\3Y\5Y\u034d\nY\3Y\3Y\5"+ - "Y\u0351\nY\3Z\3Z\3Z\3[\3[\3\\\3\\\3\\\3\\\3\\\3\\\3\\\3\\\3\\\5\\\u0361"+ - "\n\\\3]\3]\3]\3]\3]\3]\3]\3]\5]\u036b\n]\3^\3^\3_\3_\5_\u0371\n_\3_\3"+ - "_\3`\6`\u0376\n`\r`\16`\u0377\3a\3a\5a\u037c\na\3b\3b\3b\3b\5b\u0382\n"+ - "b\3c\3c\3c\3c\3c\3c\3c\3c\3c\3c\3c\5c\u038f\nc\3d\3d\3e\3e\3e\3e\3e\3"+ - "e\3e\3f\3f\3f\3f\3f\3g\3g\3h\3h\3i\3i\3j\3j\3k\3k\3l\3l\3m\3m\3n\3n\3"+ - "o\3o\3p\3p\3q\3q\3r\3r\3s\3s\3t\3t\3u\3u\3v\3v\3w\3w\3w\3x\3x\3x\3y\3"+ - "y\3y\3z\3z\3z\3{\3{\3{\3|\3|\3|\3}\3}\3}\3~\3~\3~\3\177\3\177\3\u0080"+ - "\3\u0080\3\u0081\3\u0081\3\u0082\3\u0082\3\u0083\3\u0083\3\u0084\3\u0084"+ - "\3\u0085\3\u0085\3\u0086\3\u0086\3\u0087\3\u0087\3\u0087\3\u0088\3\u0088"+ - "\3\u0088\3\u0089\3\u0089\3\u0089\3\u008a\3\u008a\3\u008a\3\u008b\3\u008b"+ - "\3\u008b\3\u008c\3\u008c\3\u008c\3\u008d\3\u008d\3\u008d\3\u008e\3\u008e"+ - "\3\u008e\3\u008f\3\u008f\3\u008f\3\u0090\3\u0090\3\u0090\3\u0091\3\u0091"+ - "\3\u0091\3\u0091\3\u0092\3\u0092\3\u0092\3\u0092\3\u0093\3\u0093\3\u0093"+ - "\3\u0093\3\u0093\3\u0094\3\u0094\7\u0094\u0414\n\u0094\f\u0094\16\u0094"+ - "\u0417\13\u0094\3\u0095\3\u0095\3\u0095\3\u0095\3\u0095\3\u0095\5\u0095"+ - "\u041f\n\u0095\3\u0096\3\u0096\3\u0096\3\u0096\3\u0096\3\u0096\5\u0096"+ - "\u0427\n\u0096\3\u0097\3\u0097\3\u0098\3\u0098\3\u0098\3\u0098\3\u0099"+ - "\6\u0099\u0430\n\u0099\r\u0099\16\u0099\u0431\3\u0099\3\u0099\3\u009a"+ - "\3\u009a\3\u009a\3\u009a\7\u009a\u043a\n\u009a\f\u009a\16\u009a\u043d"+ - "\13\u009a\3\u009a\3\u009a\3\u009a\3\u009a\3\u009a\3\u009b\3\u009b\3\u009b"+ - "\3\u009b\7\u009b\u0448\n\u009b\f\u009b\16\u009b\u044b\13\u009b\3\u009b"+ - "\3\u009b\3\u043b\2\u009c\3\3\5\4\7\5\t\6\13\7\r\b\17\t\21\n\23\13\25\f"+ - "\27\r\31\16\33\17\35\20\37\21!\22#\23%\24\'\25)\26+\27-\30/\31\61\32\63"+ - "\33\65\34\67\359\36;\37= ?!A\"C#E$G%I&K\'M(O)Q*S+U,W-Y.[/]\60_\61a\62"+ - "c\63e\64g\65i\66k\2m\2o\2q\2s\2u\2w\2y\2{\2}\2\177\2\u0081\2\u0083\2\u0085"+ - "\2\u0087\2\u0089\2\u008b\2\u008d\2\u008f\2\u0091\2\u0093\2\u0095\2\u0097"+ - "\2\u0099\2\u009b\2\u009d\2\u009f\2\u00a1\67\u00a3\2\u00a5\2\u00a7\2\u00a9"+ - "\2\u00ab\2\u00ad\2\u00af\2\u00b1\2\u00b3\2\u00b5\2\u00b78\u00b99\u00bb"+ - "\2\u00bd:\u00bf\2\u00c1\2\u00c3\2\u00c5\2\u00c7\2\u00c9\2\u00cb;\u00cd"+ - "<\u00cf=\u00d1>\u00d3?\u00d5@\u00d7A\u00d9B\u00dbC\u00ddD\u00dfE\u00e1"+ - "F\u00e3G\u00e5H\u00e7I\u00e9J\u00ebK\u00edL\u00efM\u00f1N\u00f3O\u00f5"+ - "P\u00f7Q\u00f9R\u00fbS\u00fdT\u00ffU\u0101V\u0103W\u0105X\u0107Y\u0109"+ - "Z\u010b[\u010d\\\u010f]\u0111^\u0113_\u0115`\u0117a\u0119b\u011bc\u011d"+ - "d\u011fe\u0121f\u0123g\u0125h\u0127i\u0129\2\u012b\2\u012dj\u012fk\u0131"+ - "l\u0133m\u0135n\3\2\30\4\2NNnn\3\2\63;\4\2ZZzz\5\2\62;CHch\3\2\629\4\2"+ - "DDdd\3\2\62\63\4\2GGgg\4\2--//\6\2FFHHffhh\4\2RRrr\4\2))^^\4\2$$^^\n\2"+ - "$$))^^ddhhppttvv\3\2\62\65\6\2&&C\\aac|\4\2\2\u0081\ud802\udc01\3\2\ud802"+ - "\udc01\3\2\udc02\ue001\7\2&&\62;C\\aac|\5\2\13\f\16\17\"\"\4\2\f\f\17"+ - "\17\2\u045c\2\3\3\2\2\2\2\5\3\2\2\2\2\7\3\2\2\2\2\t\3\2\2\2\2\13\3\2\2"+ - "\2\2\r\3\2\2\2\2\17\3\2\2\2\2\21\3\2\2\2\2\23\3\2\2\2\2\25\3\2\2\2\2\27"+ - "\3\2\2\2\2\31\3\2\2\2\2\33\3\2\2\2\2\35\3\2\2\2\2\37\3\2\2\2\2!\3\2\2"+ - "\2\2#\3\2\2\2\2%\3\2\2\2\2\'\3\2\2\2\2)\3\2\2\2\2+\3\2\2\2\2-\3\2\2\2"+ - "\2/\3\2\2\2\2\61\3\2\2\2\2\63\3\2\2\2\2\65\3\2\2\2\2\67\3\2\2\2\29\3\2"+ - "\2\2\2;\3\2\2\2\2=\3\2\2\2\2?\3\2\2\2\2A\3\2\2\2\2C\3\2\2\2\2E\3\2\2\2"+ - "\2G\3\2\2\2\2I\3\2\2\2\2K\3\2\2\2\2M\3\2\2\2\2O\3\2\2\2\2Q\3\2\2\2\2S"+ - "\3\2\2\2\2U\3\2\2\2\2W\3\2\2\2\2Y\3\2\2\2\2[\3\2\2\2\2]\3\2\2\2\2_\3\2"+ - "\2\2\2a\3\2\2\2\2c\3\2\2\2\2e\3\2\2\2\2g\3\2\2\2\2i\3\2\2\2\2\u00a1\3"+ - "\2\2\2\2\u00b7\3\2\2\2\2\u00b9\3\2\2\2\2\u00bd\3\2\2\2\2\u00cb\3\2\2\2"+ - "\2\u00cd\3\2\2\2\2\u00cf\3\2\2\2\2\u00d1\3\2\2\2\2\u00d3\3\2\2\2\2\u00d5"+ - "\3\2\2\2\2\u00d7\3\2\2\2\2\u00d9\3\2\2\2\2\u00db\3\2\2\2\2\u00dd\3\2\2"+ - "\2\2\u00df\3\2\2\2\2\u00e1\3\2\2\2\2\u00e3\3\2\2\2\2\u00e5\3\2\2\2\2\u00e7"+ - "\3\2\2\2\2\u00e9\3\2\2\2\2\u00eb\3\2\2\2\2\u00ed\3\2\2\2\2\u00ef\3\2\2"+ - "\2\2\u00f1\3\2\2\2\2\u00f3\3\2\2\2\2\u00f5\3\2\2\2\2\u00f7\3\2\2\2\2\u00f9"+ - "\3\2\2\2\2\u00fb\3\2\2\2\2\u00fd\3\2\2\2\2\u00ff\3\2\2\2\2\u0101\3\2\2"+ - "\2\2\u0103\3\2\2\2\2\u0105\3\2\2\2\2\u0107\3\2\2\2\2\u0109\3\2\2\2\2\u010b"+ - "\3\2\2\2\2\u010d\3\2\2\2\2\u010f\3\2\2\2\2\u0111\3\2\2\2\2\u0113\3\2\2"+ - "\2\2\u0115\3\2\2\2\2\u0117\3\2\2\2\2\u0119\3\2\2\2\2\u011b\3\2\2\2\2\u011d"+ - "\3\2\2\2\2\u011f\3\2\2\2\2\u0121\3\2\2\2\2\u0123\3\2\2\2\2\u0125\3\2\2"+ - "\2\2\u0127\3\2\2\2\2\u012d\3\2\2\2\2\u012f\3\2\2\2\2\u0131\3\2\2\2\2\u0133"+ - "\3\2\2\2\2\u0135\3\2\2\2\3\u0137\3\2\2\2\5\u013b\3\2\2\2\7\u0144\3\2\2"+ - "\2\t\u014b\3\2\2\2\13\u0153\3\2\2\2\r\u0159\3\2\2\2\17\u015e\3\2\2\2\21"+ - "\u0163\3\2\2\2\23\u0169\3\2\2\2\25\u016e\3\2\2\2\27\u0174\3\2\2\2\31\u017a"+ - "\3\2\2\2\33\u0183\3\2\2\2\35\u018b\3\2\2\2\37\u018e\3\2\2\2!\u0195\3\2"+ - "\2\2#\u019a\3\2\2\2%\u019f\3\2\2\2\'\u01a7\3\2\2\2)\u01ad\3\2\2\2+\u01b5"+ - "\3\2\2\2-\u01bb\3\2\2\2/\u01bf\3\2\2\2\61\u01c2\3\2\2\2\63\u01c7\3\2\2"+ - "\2\65\u01d2\3\2\2\2\67\u01d9\3\2\2\29\u01e4\3\2\2\2;\u01e8\3\2\2\2=\u01f2"+ - "\3\2\2\2?\u01f7\3\2\2\2A\u01fe\3\2\2\2C\u0202\3\2\2\2E\u020a\3\2\2\2G"+ - "\u0212\3\2\2\2I\u021c\3\2\2\2K\u0223\3\2\2\2M\u022a\3\2\2\2O\u0230\3\2"+ - "\2\2Q\u0237\3\2\2\2S\u0240\3\2\2\2U\u0246\3\2\2\2W\u024d\3\2\2\2Y\u025a"+ - "\3\2\2\2[\u025f\3\2\2\2]\u0265\3\2\2\2_\u026c\3\2\2\2a\u0276\3\2\2\2c"+ - "\u027a\3\2\2\2e\u027f\3\2\2\2g\u0288\3\2\2\2i\u0292\3\2\2\2k\u0294\3\2"+ - "\2\2m\u0298\3\2\2\2o\u029c\3\2\2\2q\u02a0\3\2\2\2s\u02a4\3\2\2\2u\u02b0"+ - "\3\2\2\2w\u02b2\3\2\2\2y\u02bb\3\2\2\2{\u02bd\3\2\2\2}\u02c0\3\2\2\2\177"+ - "\u02c6\3\2\2\2\u0081\u02c9\3\2\2\2\u0083\u02cd\3\2\2\2\u0085\u02d1\3\2"+ - "\2\2\u0087\u02d8\3\2\2\2\u0089\u02db\3\2\2\2\u008b\u02e1\3\2\2\2\u008d"+ - "\u02e3\3\2\2\2\u008f\u02e9\3\2\2\2\u0091\u02f0\3\2\2\2\u0093\u02f3\3\2"+ - "\2\2\u0095\u02f9\3\2\2\2\u0097\u02fb\3\2\2\2\u0099\u02ff\3\2\2\2\u009b"+ - "\u0306\3\2\2\2\u009d\u0309\3\2\2\2\u009f\u030f\3\2\2\2\u00a1\u0313\3\2"+ - "\2\2\u00a3\u0330\3\2\2\2\u00a5\u0332\3\2\2\2\u00a7\u0335\3\2\2\2\u00a9"+ - "\u0338\3\2\2\2\u00ab\u033c\3\2\2\2\u00ad\u033e\3\2\2\2\u00af\u0340\3\2"+ - "\2\2\u00b1\u0350\3\2\2\2\u00b3\u0352\3\2\2\2\u00b5\u0355\3\2\2\2\u00b7"+ - "\u0360\3\2\2\2\u00b9\u036a\3\2\2\2\u00bb\u036c\3\2\2\2\u00bd\u036e\3\2"+ - "\2\2\u00bf\u0375\3\2\2\2\u00c1\u037b\3\2\2\2\u00c3\u0381\3\2\2\2\u00c5"+ - "\u038e\3\2\2\2\u00c7\u0390\3\2\2\2\u00c9\u0392\3\2\2\2\u00cb\u0399\3\2"+ - "\2\2\u00cd\u039e\3\2\2\2\u00cf\u03a0\3\2\2\2\u00d1\u03a2\3\2\2\2\u00d3"+ - "\u03a4\3\2\2\2\u00d5\u03a6\3\2\2\2\u00d7\u03a8\3\2\2\2\u00d9\u03aa\3\2"+ - "\2\2\u00db\u03ac\3\2\2\2\u00dd\u03ae\3\2\2\2\u00df\u03b0\3\2\2\2\u00e1"+ - "\u03b2\3\2\2\2\u00e3\u03b4\3\2\2\2\u00e5\u03b6\3\2\2\2\u00e7\u03b8\3\2"+ - "\2\2\u00e9\u03ba\3\2\2\2\u00eb\u03bc\3\2\2\2\u00ed\u03be\3\2\2\2\u00ef"+ - "\u03c1\3\2\2\2\u00f1\u03c4\3\2\2\2\u00f3\u03c7\3\2\2\2\u00f5\u03ca\3\2"+ - "\2\2\u00f7\u03cd\3\2\2\2\u00f9\u03d0\3\2\2\2\u00fb\u03d3\3\2\2\2\u00fd"+ - "\u03d6\3\2\2\2\u00ff\u03d8\3\2\2\2\u0101\u03da\3\2\2\2\u0103\u03dc\3\2"+ - "\2\2\u0105\u03de\3\2\2\2\u0107\u03e0\3\2\2\2\u0109\u03e2\3\2\2\2\u010b"+ - "\u03e4\3\2\2\2\u010d\u03e6\3\2\2\2\u010f\u03e9\3\2\2\2\u0111\u03ec\3\2"+ - "\2\2\u0113\u03ef\3\2\2\2\u0115\u03f2\3\2\2\2\u0117\u03f5\3\2\2\2\u0119"+ - "\u03f8\3\2\2\2\u011b\u03fb\3\2\2\2\u011d\u03fe\3\2\2\2\u011f\u0401\3\2"+ - "\2\2\u0121\u0404\3\2\2\2\u0123\u0408\3\2\2\2\u0125\u040c\3\2\2\2\u0127"+ - "\u0411\3\2\2\2\u0129\u041e\3\2\2\2\u012b\u0426\3\2\2\2\u012d\u0428\3\2"+ - "\2\2\u012f\u042a\3\2\2\2\u0131\u042f\3\2\2\2\u0133\u0435\3\2\2\2\u0135"+ - "\u0443\3\2\2\2\u0137\u0138\7x\2\2\u0138\u0139\7c\2\2\u0139\u013a\7t\2"+ - "\2\u013a\4\3\2\2\2\u013b\u013c\7c\2\2\u013c\u013d\7d\2\2\u013d\u013e\7"+ - "u\2\2\u013e\u013f\7v\2\2\u013f\u0140\7t\2\2\u0140\u0141\7c\2\2\u0141\u0142"+ - "\7e\2\2\u0142\u0143\7v\2\2\u0143\6\3\2\2\2\u0144\u0145\7c\2\2\u0145\u0146"+ - "\7u\2\2\u0146\u0147\7u\2\2\u0147\u0148\7g\2\2\u0148\u0149\7t\2\2\u0149"+ - "\u014a\7v\2\2\u014a\b\3\2\2\2\u014b\u014c\7d\2\2\u014c\u014d\7q\2\2\u014d"+ - "\u014e\7q\2\2\u014e\u014f\7n\2\2\u014f\u0150\7g\2\2\u0150\u0151\7c\2\2"+ - "\u0151\u0152\7p\2\2\u0152\n\3\2\2\2\u0153\u0154\7d\2\2\u0154\u0155\7t"+ - "\2\2\u0155\u0156\7g\2\2\u0156\u0157\7c\2\2\u0157\u0158\7m\2\2\u0158\f"+ - "\3\2\2\2\u0159\u015a\7d\2\2\u015a\u015b\7{\2\2\u015b\u015c\7v\2\2\u015c"+ - "\u015d\7g\2\2\u015d\16\3\2\2\2\u015e\u015f\7e\2\2\u015f\u0160\7c\2\2\u0160"+ - "\u0161\7u\2\2\u0161\u0162\7g\2\2\u0162\20\3\2\2\2\u0163\u0164\7e\2\2\u0164"+ - "\u0165\7c\2\2\u0165\u0166\7v\2\2\u0166\u0167\7e\2\2\u0167\u0168\7j\2\2"+ - "\u0168\22\3\2\2\2\u0169\u016a\7e\2\2\u016a\u016b\7j\2\2\u016b\u016c\7"+ - "c\2\2\u016c\u016d\7t\2\2\u016d\24\3\2\2\2\u016e\u016f\7e\2\2\u016f\u0170"+ - "\7n\2\2\u0170\u0171\7c\2\2\u0171\u0172\7u\2\2\u0172\u0173\7u\2\2\u0173"+ - "\26\3\2\2\2\u0174\u0175\7e\2\2\u0175\u0176\7q\2\2\u0176\u0177\7p\2\2\u0177"+ - "\u0178\7u\2\2\u0178\u0179\7v\2\2\u0179\30\3\2\2\2\u017a\u017b\7e\2\2\u017b"+ - "\u017c\7q\2\2\u017c\u017d\7p\2\2\u017d\u017e\7v\2\2\u017e\u017f\7k\2\2"+ - "\u017f\u0180\7p\2\2\u0180\u0181\7w\2\2\u0181\u0182\7g\2\2\u0182\32\3\2"+ - "\2\2\u0183\u0184\7f\2\2\u0184\u0185\7g\2\2\u0185\u0186\7h\2\2\u0186\u0187"+ - "\7c\2\2\u0187\u0188\7w\2\2\u0188\u0189\7n\2\2\u0189\u018a\7v\2\2\u018a"+ - "\34\3\2\2\2\u018b\u018c\7f\2\2\u018c\u018d\7q\2\2\u018d\36\3\2\2\2\u018e"+ - "\u018f\7f\2\2\u018f\u0190\7q\2\2\u0190\u0191\7w\2\2\u0191\u0192\7d\2\2"+ - "\u0192\u0193\7n\2\2\u0193\u0194\7g\2\2\u0194 \3\2\2\2\u0195\u0196\7g\2"+ - "\2\u0196\u0197\7n\2\2\u0197\u0198\7u\2\2\u0198\u0199\7g\2\2\u0199\"\3"+ - "\2\2\2\u019a\u019b\7g\2\2\u019b\u019c\7p\2\2\u019c\u019d\7w\2\2\u019d"+ - "\u019e\7o\2\2\u019e$\3\2\2\2\u019f\u01a0\7g\2\2\u01a0\u01a1\7z\2\2\u01a1"+ - "\u01a2\7v\2\2\u01a2\u01a3\7g\2\2\u01a3\u01a4\7p\2\2\u01a4\u01a5\7f\2\2"+ - "\u01a5\u01a6\7u\2\2\u01a6&\3\2\2\2\u01a7\u01a8\7h\2\2\u01a8\u01a9\7k\2"+ - "\2\u01a9\u01aa\7p\2\2\u01aa\u01ab\7c\2\2\u01ab\u01ac\7n\2\2\u01ac(\3\2"+ - "\2\2\u01ad\u01ae\7h\2\2\u01ae\u01af\7k\2\2\u01af\u01b0\7p\2\2\u01b0\u01b1"+ - "\7c\2\2\u01b1\u01b2\7n\2\2\u01b2\u01b3\7n\2\2\u01b3\u01b4\7{\2\2\u01b4"+ - "*\3\2\2\2\u01b5\u01b6\7h\2\2\u01b6\u01b7\7n\2\2\u01b7\u01b8\7q\2\2\u01b8"+ - "\u01b9\7c\2\2\u01b9\u01ba\7v\2\2\u01ba,\3\2\2\2\u01bb\u01bc\7h\2\2\u01bc"+ - "\u01bd\7q\2\2\u01bd\u01be\7t\2\2\u01be.\3\2\2\2\u01bf\u01c0\7k\2\2\u01c0"+ - "\u01c1\7h\2\2\u01c1\60\3\2\2\2\u01c2\u01c3\7i\2\2\u01c3\u01c4\7q\2\2\u01c4"+ - "\u01c5\7v\2\2\u01c5\u01c6\7q\2\2\u01c6\62\3\2\2\2\u01c7\u01c8\7k\2\2\u01c8"+ - "\u01c9\7o\2\2\u01c9\u01ca\7r\2\2\u01ca\u01cb\7n\2\2\u01cb\u01cc\7g\2\2"+ - "\u01cc\u01cd\7o\2\2\u01cd\u01ce\7g\2\2\u01ce\u01cf\7p\2\2\u01cf\u01d0"+ - "\7v\2\2\u01d0\u01d1\7u\2\2\u01d1\64\3\2\2\2\u01d2\u01d3\7k\2\2\u01d3\u01d4"+ - "\7o\2\2\u01d4\u01d5\7r\2\2\u01d5\u01d6\7q\2\2\u01d6\u01d7\7t\2\2\u01d7"+ - "\u01d8\7v\2\2\u01d8\66\3\2\2\2\u01d9\u01da\7k\2\2\u01da\u01db\7p\2\2\u01db"+ - "\u01dc\7u\2\2\u01dc\u01dd\7v\2\2\u01dd\u01de\7c\2\2\u01de\u01df\7p\2\2"+ - "\u01df\u01e0\7e\2\2\u01e0\u01e1\7g\2\2\u01e1\u01e2\7q\2\2\u01e2\u01e3"+ - "\7h\2\2\u01e38\3\2\2\2\u01e4\u01e5\7k\2\2\u01e5\u01e6\7p\2\2\u01e6\u01e7"+ - "\7v\2\2\u01e7:\3\2\2\2\u01e8\u01e9\7k\2\2\u01e9\u01ea\7p\2\2\u01ea\u01eb"+ - "\7v\2\2\u01eb\u01ec\7g\2\2\u01ec\u01ed\7t\2\2\u01ed\u01ee\7h\2\2\u01ee"+ - "\u01ef\7c\2\2\u01ef\u01f0\7e\2\2\u01f0\u01f1\7g\2\2\u01f1<\3\2\2\2\u01f2"+ - "\u01f3\7n\2\2\u01f3\u01f4\7q\2\2\u01f4\u01f5\7p\2\2\u01f5\u01f6\7i\2\2"+ - "\u01f6>\3\2\2\2\u01f7\u01f8\7p\2\2\u01f8\u01f9\7c\2\2\u01f9\u01fa\7v\2"+ - "\2\u01fa\u01fb\7k\2\2\u01fb\u01fc\7x\2\2\u01fc\u01fd\7g\2\2\u01fd@\3\2"+ - "\2\2\u01fe\u01ff\7p\2\2\u01ff\u0200\7g\2\2\u0200\u0201\7y\2\2\u0201B\3"+ - "\2\2\2\u0202\u0203\7r\2\2\u0203\u0204\7c\2\2\u0204\u0205\7e\2\2\u0205"+ - "\u0206\7m\2\2\u0206\u0207\7c\2\2\u0207\u0208\7i\2\2\u0208\u0209\7g\2\2"+ - "\u0209D\3\2\2\2\u020a\u020b\7r\2\2\u020b\u020c\7t\2\2\u020c\u020d\7k\2"+ - "\2\u020d\u020e\7x\2\2\u020e\u020f\7c\2\2\u020f\u0210\7v\2\2\u0210\u0211"+ - "\7g\2\2\u0211F\3\2\2\2\u0212\u0213\7r\2\2\u0213\u0214\7t\2\2\u0214\u0215"+ - "\7q\2\2\u0215\u0216\7v\2\2\u0216\u0217\7g\2\2\u0217\u0218\7e\2\2\u0218"+ - "\u0219\7v\2\2\u0219\u021a\7g\2\2\u021a\u021b\7f\2\2\u021bH\3\2\2\2\u021c"+ - "\u021d\7r\2\2\u021d\u021e\7w\2\2\u021e\u021f\7d\2\2\u021f\u0220\7n\2\2"+ - "\u0220\u0221\7k\2\2\u0221\u0222\7e\2\2\u0222J\3\2\2\2\u0223\u0224\7t\2"+ - "\2\u0224\u0225\7g\2\2\u0225\u0226\7v\2\2\u0226\u0227\7w\2\2\u0227\u0228"+ - "\7t\2\2\u0228\u0229\7p\2\2\u0229L\3\2\2\2\u022a\u022b\7u\2\2\u022b\u022c"+ - "\7j\2\2\u022c\u022d\7q\2\2\u022d\u022e\7t\2\2\u022e\u022f\7v\2\2\u022f"+ - "N\3\2\2\2\u0230\u0231\7u\2\2\u0231\u0232\7v\2\2\u0232\u0233\7c\2\2\u0233"+ - "\u0234\7v\2\2\u0234\u0235\7k\2\2\u0235\u0236\7e\2\2\u0236P\3\2\2\2\u0237"+ - "\u0238\7u\2\2\u0238\u0239\7v\2\2\u0239\u023a\7t\2\2\u023a\u023b\7k\2\2"+ - "\u023b\u023c\7e\2\2\u023c\u023d\7v\2\2\u023d\u023e\7h\2\2\u023e\u023f"+ - "\7r\2\2\u023fR\3\2\2\2\u0240\u0241\7u\2\2\u0241\u0242\7w\2\2\u0242\u0243"+ - "\7r\2\2\u0243\u0244\7g\2\2\u0244\u0245\7t\2\2\u0245T\3\2\2\2\u0246\u0247"+ - "\7u\2\2\u0247\u0248\7y\2\2\u0248\u0249\7k\2\2\u0249\u024a\7v\2\2\u024a"+ - "\u024b\7e\2\2\u024b\u024c\7j\2\2\u024cV\3\2\2\2\u024d\u024e\7u\2\2\u024e"+ - "\u024f\7{\2\2\u024f\u0250\7p\2\2\u0250\u0251\7e\2\2\u0251\u0252\7j\2\2"+ - "\u0252\u0253\7t\2\2\u0253\u0254\7q\2\2\u0254\u0255\7p\2\2\u0255\u0256"+ - "\7k\2\2\u0256\u0257\7|\2\2\u0257\u0258\7g\2\2\u0258\u0259\7f\2\2\u0259"+ - "X\3\2\2\2\u025a\u025b\7v\2\2\u025b\u025c\7j\2\2\u025c\u025d\7k\2\2\u025d"+ - "\u025e\7u\2\2\u025eZ\3\2\2\2\u025f\u0260\7v\2\2\u0260\u0261\7j\2\2\u0261"+ - "\u0262\7t\2\2\u0262\u0263\7q\2\2\u0263\u0264\7y\2\2\u0264\\\3\2\2\2\u0265"+ - "\u0266\7v\2\2\u0266\u0267\7j\2\2\u0267\u0268\7t\2\2\u0268\u0269\7q\2\2"+ - "\u0269\u026a\7y\2\2\u026a\u026b\7u\2\2\u026b^\3\2\2\2\u026c\u026d\7v\2"+ - "\2\u026d\u026e\7t\2\2\u026e\u026f\7c\2\2\u026f\u0270\7p\2\2\u0270\u0271"+ - "\7u\2\2\u0271\u0272\7k\2\2\u0272\u0273\7g\2\2\u0273\u0274\7p\2\2\u0274"+ - "\u0275\7v\2\2\u0275`\3\2\2\2\u0276\u0277\7v\2\2\u0277\u0278\7t\2\2\u0278"+ - "\u0279\7{\2\2\u0279b\3\2\2\2\u027a\u027b\7x\2\2\u027b\u027c\7q\2\2\u027c"+ - "\u027d\7k\2\2\u027d\u027e\7f\2\2\u027ed\3\2\2\2\u027f\u0280\7x\2\2\u0280"+ - "\u0281\7q\2\2\u0281\u0282\7n\2\2\u0282\u0283\7c\2\2\u0283\u0284\7v\2\2"+ - "\u0284\u0285\7k\2\2\u0285\u0286\7n\2\2\u0286\u0287\7g\2\2\u0287f\3\2\2"+ - "\2\u0288\u0289\7y\2\2\u0289\u028a\7j\2\2\u028a\u028b\7k\2\2\u028b\u028c"+ - "\7n\2\2\u028c\u028d\7g\2\2\u028dh\3\2\2\2\u028e\u0293\5k\66\2\u028f\u0293"+ - "\5m\67\2\u0290\u0293\5o8\2\u0291\u0293\5q9\2\u0292\u028e\3\2\2\2\u0292"+ - "\u028f\3\2\2\2\u0292\u0290\3\2\2\2\u0292\u0291\3\2\2\2\u0293j\3\2\2\2"+ - "\u0294\u0296\5u;\2\u0295\u0297\5s:\2\u0296\u0295\3\2\2\2\u0296\u0297\3"+ - "\2\2\2\u0297l\3\2\2\2\u0298\u029a\5\u0083B\2\u0299\u029b\5s:\2\u029a\u0299"+ - "\3\2\2\2\u029a\u029b\3\2\2\2\u029bn\3\2\2\2\u029c\u029e\5\u008dG\2\u029d"+ - "\u029f\5s:\2\u029e\u029d\3\2\2\2\u029e\u029f\3\2\2\2\u029fp\3\2\2\2\u02a0"+ - "\u02a2\5\u0097L\2\u02a1\u02a3\5s:\2\u02a2\u02a1\3\2\2\2\u02a2\u02a3\3"+ - "\2\2\2\u02a3r\3\2\2\2\u02a4\u02a5\t\2\2\2\u02a5t\3\2\2\2\u02a6\u02b1\7"+ - "\62\2\2\u02a7\u02ae\5{>\2\u02a8\u02aa\5w<\2\u02a9\u02a8\3\2\2\2\u02a9"+ - "\u02aa\3\2\2\2\u02aa\u02af\3\2\2\2\u02ab\u02ac\5\u0081A\2\u02ac\u02ad"+ - "\5w<\2\u02ad\u02af\3\2\2\2\u02ae\u02a9\3\2\2\2\u02ae\u02ab\3\2\2\2\u02af"+ - "\u02b1\3\2\2\2\u02b0\u02a6\3\2\2\2\u02b0\u02a7\3\2\2\2\u02b1v\3\2\2\2"+ - "\u02b2\u02b7\5y=\2\u02b3\u02b5\5}?\2\u02b4\u02b3\3\2\2\2\u02b4\u02b5\3"+ - "\2\2\2\u02b5\u02b6\3\2\2\2\u02b6\u02b8\5y=\2\u02b7\u02b4\3\2\2\2\u02b7"+ - "\u02b8\3\2\2\2\u02b8x\3\2\2\2\u02b9\u02bc\7\62\2\2\u02ba\u02bc\5{>\2\u02bb"+ - "\u02b9\3\2\2\2\u02bb\u02ba\3\2\2\2\u02bcz\3\2\2\2\u02bd\u02be\t\3\2\2"+ - "\u02be|\3\2\2\2\u02bf\u02c1\5\177@\2\u02c0\u02bf\3\2\2\2\u02c1\u02c2\3"+ - "\2\2\2\u02c2\u02c0\3\2\2\2\u02c2\u02c3\3\2\2\2\u02c3~\3\2\2\2\u02c4\u02c7"+ - "\5y=\2\u02c5\u02c7\7a\2\2\u02c6\u02c4\3\2\2\2\u02c6\u02c5\3\2\2\2\u02c7"+ - "\u0080\3\2\2\2\u02c8\u02ca\7a\2\2\u02c9\u02c8\3\2\2\2\u02ca\u02cb\3\2"+ - "\2\2\u02cb\u02c9\3\2\2\2\u02cb\u02cc\3\2\2\2\u02cc\u0082\3\2\2\2\u02cd"+ - "\u02ce\7\62\2\2\u02ce\u02cf\t\4\2\2\u02cf\u02d0\5\u0085C\2\u02d0\u0084"+ - "\3\2\2\2\u02d1\u02d6\5\u0087D\2\u02d2\u02d4\5\u0089E\2\u02d3\u02d2\3\2"+ - "\2\2\u02d3\u02d4\3\2\2\2\u02d4\u02d5\3\2\2\2\u02d5\u02d7\5\u0087D\2\u02d6"+ - "\u02d3\3\2\2\2\u02d6\u02d7\3\2\2\2\u02d7\u0086\3\2\2\2\u02d8\u02d9\t\5"+ - "\2\2\u02d9\u0088\3\2\2\2\u02da\u02dc\5\u008bF\2\u02db\u02da\3\2\2\2\u02dc"+ - "\u02dd\3\2\2\2\u02dd\u02db\3\2\2\2\u02dd\u02de\3\2\2\2\u02de\u008a\3\2"+ - "\2\2\u02df\u02e2\5\u0087D\2\u02e0\u02e2\7a\2\2\u02e1\u02df\3\2\2\2\u02e1"+ - "\u02e0\3\2\2\2\u02e2\u008c\3\2\2\2\u02e3\u02e5\7\62\2\2\u02e4\u02e6\5"+ - "\u0081A\2\u02e5\u02e4\3\2\2\2\u02e5\u02e6\3\2\2\2\u02e6\u02e7\3\2\2\2"+ - "\u02e7\u02e8\5\u008fH\2\u02e8\u008e\3\2\2\2\u02e9\u02ee\5\u0091I\2\u02ea"+ - "\u02ec\5\u0093J\2\u02eb\u02ea\3\2\2\2\u02eb\u02ec\3\2\2\2\u02ec\u02ed"+ - "\3\2\2\2\u02ed\u02ef\5\u0091I\2\u02ee\u02eb\3\2\2\2\u02ee\u02ef\3\2\2"+ - "\2\u02ef\u0090\3\2\2\2\u02f0\u02f1\t\6\2\2\u02f1\u0092\3\2\2\2\u02f2\u02f4"+ - "\5\u0095K\2\u02f3\u02f2\3\2\2\2\u02f4\u02f5\3\2\2\2\u02f5\u02f3\3\2\2"+ - "\2\u02f5\u02f6\3\2\2\2\u02f6\u0094\3\2\2\2\u02f7\u02fa\5\u0091I\2\u02f8"+ - "\u02fa\7a\2\2\u02f9\u02f7\3\2\2\2\u02f9\u02f8\3\2\2\2\u02fa\u0096\3\2"+ - "\2\2\u02fb\u02fc\7\62\2\2\u02fc\u02fd\t\7\2\2\u02fd\u02fe\5\u0099M\2\u02fe"+ - "\u0098\3\2\2\2\u02ff\u0304\5\u009bN\2\u0300\u0302\5\u009dO\2\u0301\u0300"+ - "\3\2\2\2\u0301\u0302\3\2\2\2\u0302\u0303\3\2\2\2\u0303\u0305\5\u009bN"+ - "\2\u0304\u0301\3\2\2\2\u0304\u0305\3\2\2\2\u0305\u009a\3\2\2\2\u0306\u0307"+ - "\t\b\2\2\u0307\u009c\3\2\2\2\u0308\u030a\5\u009fP\2\u0309\u0308\3\2\2"+ - "\2\u030a\u030b\3\2\2\2\u030b\u0309\3\2\2\2\u030b\u030c\3\2\2\2\u030c\u009e"+ - "\3\2\2\2\u030d\u0310\5\u009bN\2\u030e\u0310\7a\2\2\u030f\u030d\3\2\2\2"+ - "\u030f\u030e\3\2\2\2\u0310\u00a0\3\2\2\2\u0311\u0314\5\u00a3R\2\u0312"+ - "\u0314\5\u00afX\2\u0313\u0311\3\2\2\2\u0313\u0312\3\2\2\2\u0314\u00a2"+ - "\3\2\2\2\u0315\u0316\5w<\2\u0316\u0318\7\60\2\2\u0317\u0319\5w<\2\u0318"+ - "\u0317\3\2\2\2\u0318\u0319\3\2\2\2\u0319\u031b\3\2\2\2\u031a\u031c\5\u00a5"+ - "S\2\u031b\u031a\3\2\2\2\u031b\u031c\3\2\2\2\u031c\u031e\3\2\2\2\u031d"+ - "\u031f\5\u00adW\2\u031e\u031d\3\2\2\2\u031e\u031f\3\2\2\2\u031f\u0331"+ - "\3\2\2\2\u0320\u0321\7\60\2\2\u0321\u0323\5w<\2\u0322\u0324\5\u00a5S\2"+ - "\u0323\u0322\3\2\2\2\u0323\u0324\3\2\2\2\u0324\u0326\3\2\2\2\u0325\u0327"+ - "\5\u00adW\2\u0326\u0325\3\2\2\2\u0326\u0327\3\2\2\2\u0327\u0331\3\2\2"+ - "\2\u0328\u0329\5w<\2\u0329\u032b\5\u00a5S\2\u032a\u032c\5\u00adW\2\u032b"+ - "\u032a\3\2\2\2\u032b\u032c\3\2\2\2\u032c\u0331\3\2\2\2\u032d\u032e\5w"+ - "<\2\u032e\u032f\5\u00adW\2\u032f\u0331\3\2\2\2\u0330\u0315\3\2\2\2\u0330"+ - "\u0320\3\2\2\2\u0330\u0328\3\2\2\2\u0330\u032d\3\2\2\2\u0331\u00a4\3\2"+ - "\2\2\u0332\u0333\5\u00a7T\2\u0333\u0334\5\u00a9U\2\u0334\u00a6\3\2\2\2"+ - "\u0335\u0336\t\t\2\2\u0336\u00a8\3\2\2\2\u0337\u0339\5\u00abV\2\u0338"+ - "\u0337\3\2\2\2\u0338\u0339\3\2\2\2\u0339\u033a\3\2\2\2\u033a\u033b\5w"+ - "<\2\u033b\u00aa\3\2\2\2\u033c\u033d\t\n\2\2\u033d\u00ac\3\2\2\2\u033e"+ - "\u033f\t\13\2\2\u033f\u00ae\3\2\2\2\u0340\u0341\5\u00b1Y\2\u0341\u0343"+ - "\5\u00b3Z\2\u0342\u0344\5\u00adW\2\u0343\u0342\3\2\2\2\u0343\u0344\3\2"+ - "\2\2\u0344\u00b0\3\2\2\2\u0345\u0347\5\u0083B\2\u0346\u0348\7\60\2\2\u0347"+ - "\u0346\3\2\2\2\u0347\u0348\3\2\2\2\u0348\u0351\3\2\2\2\u0349\u034a\7\62"+ - "\2\2\u034a\u034c\t\4\2\2\u034b\u034d\5\u0085C\2\u034c\u034b\3\2\2\2\u034c"+ - "\u034d\3\2\2\2\u034d\u034e\3\2\2\2\u034e\u034f\7\60\2\2\u034f\u0351\5"+ - "\u0085C\2\u0350\u0345\3\2\2\2\u0350\u0349\3\2\2\2\u0351\u00b2\3\2\2\2"+ - "\u0352\u0353\5\u00b5[\2\u0353\u0354\5\u00a9U\2\u0354\u00b4\3\2\2\2\u0355"+ - "\u0356\t\f\2\2\u0356\u00b6\3\2\2\2\u0357\u0358\7v\2\2\u0358\u0359\7t\2"+ - "\2\u0359\u035a\7w\2\2\u035a\u0361\7g\2\2\u035b\u035c\7h\2\2\u035c\u035d"+ - "\7c\2\2\u035d\u035e\7n\2\2\u035e\u035f\7u\2\2\u035f\u0361\7g\2\2\u0360"+ - "\u0357\3\2\2\2\u0360\u035b\3\2\2\2\u0361\u00b8\3\2\2\2\u0362\u0363\7)"+ - "\2\2\u0363\u0364\5\u00bb^\2\u0364\u0365\7)\2\2\u0365\u036b\3\2\2\2\u0366"+ - "\u0367\7)\2\2\u0367\u0368\5\u00c3b\2\u0368\u0369\7)\2\2\u0369\u036b\3"+ - "\2\2\2\u036a\u0362\3\2\2\2\u036a\u0366\3\2\2\2\u036b\u00ba\3\2\2\2\u036c"+ - "\u036d\n\r\2\2\u036d\u00bc\3\2\2\2\u036e\u0370\7$\2\2\u036f\u0371\5\u00bf"+ - "`\2\u0370\u036f\3\2\2\2\u0370\u0371\3\2\2\2\u0371\u0372\3\2\2\2\u0372"+ - "\u0373\7$\2\2\u0373\u00be\3\2\2\2\u0374\u0376\5\u00c1a\2\u0375\u0374\3"+ - "\2\2\2\u0376\u0377\3\2\2\2\u0377\u0375\3\2\2\2\u0377\u0378\3\2\2\2\u0378"+ - "\u00c0\3\2\2\2\u0379\u037c\n\16\2\2\u037a\u037c\5\u00c3b\2\u037b\u0379"+ - "\3\2\2\2\u037b\u037a\3\2\2\2\u037c\u00c2\3\2\2\2\u037d\u037e\7^\2\2\u037e"+ - "\u0382\t\17\2\2\u037f\u0382\5\u00c5c\2\u0380\u0382\5\u00c9e\2\u0381\u037d"+ - "\3\2\2\2\u0381\u037f\3\2\2\2\u0381\u0380\3\2\2\2\u0382\u00c4\3\2\2\2\u0383"+ - "\u0384\7^\2\2\u0384\u038f\5\u0091I\2\u0385\u0386\7^\2\2\u0386\u0387\5"+ - "\u0091I\2\u0387\u0388\5\u0091I\2\u0388\u038f\3\2\2\2\u0389\u038a\7^\2"+ - "\2\u038a\u038b\5\u00c7d\2\u038b\u038c\5\u0091I\2\u038c\u038d\5\u0091I"+ - "\2\u038d\u038f\3\2\2\2\u038e\u0383\3\2\2\2\u038e\u0385\3\2\2\2\u038e\u0389"+ - "\3\2\2\2\u038f\u00c6\3\2\2\2\u0390\u0391\t\20\2\2\u0391\u00c8\3\2\2\2"+ - "\u0392\u0393\7^\2\2\u0393\u0394\7w\2\2\u0394\u0395\5\u0087D\2\u0395\u0396"+ - "\5\u0087D\2\u0396\u0397\5\u0087D\2\u0397\u0398\5\u0087D\2\u0398\u00ca"+ - "\3\2\2\2\u0399\u039a\7p\2\2\u039a\u039b\7w\2\2\u039b\u039c\7n\2\2\u039c"+ - "\u039d\7n\2\2\u039d\u00cc\3\2\2\2\u039e\u039f\7*\2\2\u039f\u00ce\3\2\2"+ - "\2\u03a0\u03a1\7+\2\2\u03a1\u00d0\3\2\2\2\u03a2\u03a3\7}\2\2\u03a3\u00d2"+ - "\3\2\2\2\u03a4\u03a5\7\177\2\2\u03a5\u00d4\3\2\2\2\u03a6\u03a7\7]\2\2"+ - "\u03a7\u00d6\3\2\2\2\u03a8\u03a9\7_\2\2\u03a9\u00d8\3\2\2\2\u03aa\u03ab"+ - "\7=\2\2\u03ab\u00da\3\2\2\2\u03ac\u03ad\7.\2\2\u03ad\u00dc\3\2\2\2\u03ae"+ - "\u03af\7\60\2\2\u03af\u00de\3\2\2\2\u03b0\u03b1\7?\2\2\u03b1\u00e0\3\2"+ - "\2\2\u03b2\u03b3\7@\2\2\u03b3\u00e2\3\2\2\2\u03b4\u03b5\7>\2\2\u03b5\u00e4"+ - "\3\2\2\2\u03b6\u03b7\7#\2\2\u03b7\u00e6\3\2\2\2\u03b8\u03b9\7\u0080\2"+ - "\2\u03b9\u00e8\3\2\2\2\u03ba\u03bb\7A\2\2\u03bb\u00ea\3\2\2\2\u03bc\u03bd"+ - "\7<\2\2\u03bd\u00ec\3\2\2\2\u03be\u03bf\7?\2\2\u03bf\u03c0\7?\2\2\u03c0"+ - "\u00ee\3\2\2\2\u03c1\u03c2\7>\2\2\u03c2\u03c3\7?\2\2\u03c3\u00f0\3\2\2"+ - "\2\u03c4\u03c5\7@\2\2\u03c5\u03c6\7?\2\2\u03c6\u00f2\3\2\2\2\u03c7\u03c8"+ - "\7#\2\2\u03c8\u03c9\7?\2\2\u03c9\u00f4\3\2\2\2\u03ca\u03cb\7(\2\2\u03cb"+ - "\u03cc\7(\2\2\u03cc\u00f6\3\2\2\2\u03cd\u03ce\7~\2\2\u03ce\u03cf\7~\2"+ - "\2\u03cf\u00f8\3\2\2\2\u03d0\u03d1\7-\2\2\u03d1\u03d2\7-\2\2\u03d2\u00fa"+ - "\3\2\2\2\u03d3\u03d4\7/\2\2\u03d4\u03d5\7/\2\2\u03d5\u00fc\3\2\2\2\u03d6"+ - "\u03d7\7-\2\2\u03d7\u00fe\3\2\2\2\u03d8\u03d9\7/\2\2\u03d9\u0100\3\2\2"+ - "\2\u03da\u03db\7,\2\2\u03db\u0102\3\2\2\2\u03dc\u03dd\7\61\2\2\u03dd\u0104"+ - "\3\2\2\2\u03de\u03df\7(\2\2\u03df\u0106\3\2\2\2\u03e0\u03e1\7~\2\2\u03e1"+ - "\u0108\3\2\2\2\u03e2\u03e3\7`\2\2\u03e3\u010a\3\2\2\2\u03e4\u03e5\7\'"+ - "\2\2\u03e5\u010c\3\2\2\2\u03e6\u03e7\7/\2\2\u03e7\u03e8\7@\2\2\u03e8\u010e"+ - "\3\2\2\2\u03e9\u03ea\7<\2\2\u03ea\u03eb\7<\2\2\u03eb\u0110\3\2\2\2\u03ec"+ - "\u03ed\7-\2\2\u03ed\u03ee\7?\2\2\u03ee\u0112\3\2\2\2\u03ef\u03f0\7/\2"+ - "\2\u03f0\u03f1\7?\2\2\u03f1\u0114\3\2\2\2\u03f2\u03f3\7,\2\2\u03f3\u03f4"+ - "\7?\2\2\u03f4\u0116\3\2\2\2\u03f5\u03f6\7\61\2\2\u03f6\u03f7\7?\2\2\u03f7"+ - "\u0118\3\2\2\2\u03f8\u03f9\7(\2\2\u03f9\u03fa\7?\2\2\u03fa\u011a\3\2\2"+ - "\2\u03fb\u03fc\7~\2\2\u03fc\u03fd\7?\2\2\u03fd\u011c\3\2\2\2\u03fe\u03ff"+ - "\7`\2\2\u03ff\u0400\7?\2\2\u0400\u011e\3\2\2\2\u0401\u0402\7\'\2\2\u0402"+ - "\u0403\7?\2\2\u0403\u0120\3\2\2\2\u0404\u0405\7>\2\2\u0405\u0406\7>\2"+ - "\2\u0406\u0407\7?\2\2\u0407\u0122\3\2\2\2\u0408\u0409\7@\2\2\u0409\u040a"+ - "\7@\2\2\u040a\u040b\7?\2\2\u040b\u0124\3\2\2\2\u040c\u040d\7@\2\2\u040d"+ - "\u040e\7@\2\2\u040e\u040f\7@\2\2\u040f\u0410\7?\2\2\u0410\u0126\3\2\2"+ - "\2\u0411\u0415\5\u0129\u0095\2\u0412\u0414\5\u012b\u0096\2\u0413\u0412"+ - "\3\2\2\2\u0414\u0417\3\2\2\2\u0415\u0413\3\2\2\2\u0415\u0416\3\2\2\2\u0416"+ - "\u0128\3\2\2\2\u0417\u0415\3\2\2\2\u0418\u041f\t\21\2\2\u0419\u041a\n"+ - "\22\2\2\u041a\u041f\6\u0095\2\2\u041b\u041c\t\23\2\2\u041c\u041d\t\24"+ - "\2\2\u041d\u041f\6\u0095\3\2\u041e\u0418\3\2\2\2\u041e\u0419\3\2\2\2\u041e"+ - "\u041b\3\2\2\2\u041f\u012a\3\2\2\2\u0420\u0427\t\25\2\2\u0421\u0422\n"+ - "\22\2\2\u0422\u0427\6\u0096\4\2\u0423\u0424\t\23\2\2\u0424\u0425\t\24"+ - "\2\2\u0425\u0427\6\u0096\5\2\u0426\u0420\3\2\2\2\u0426\u0421\3\2\2\2\u0426"+ - "\u0423\3\2\2\2\u0427\u012c\3\2\2\2\u0428\u0429\7B\2\2\u0429\u012e\3\2"+ - "\2\2\u042a\u042b\7\60\2\2\u042b\u042c\7\60\2\2\u042c\u042d\7\60\2\2\u042d"+ - "\u0130\3\2\2\2\u042e\u0430\t\26\2\2\u042f\u042e\3\2\2\2\u0430\u0431\3"+ - "\2\2\2\u0431\u042f\3\2\2\2\u0431\u0432\3\2\2\2\u0432\u0433\3\2\2\2\u0433"+ - "\u0434\b\u0099\2\2\u0434\u0132\3\2\2\2\u0435\u0436\7\61\2\2\u0436\u0437"+ - "\7,\2\2\u0437\u043b\3\2\2\2\u0438\u043a\13\2\2\2\u0439\u0438\3\2\2\2\u043a"+ - "\u043d\3\2\2\2\u043b\u043c\3\2\2\2\u043b\u0439\3\2\2\2\u043c\u043e\3\2"+ - "\2\2\u043d\u043b\3\2\2\2\u043e\u043f\7,\2\2\u043f\u0440\7\61\2\2\u0440"+ - "\u0441\3\2\2\2\u0441\u0442\b\u009a\2\2\u0442\u0134\3\2\2\2\u0443\u0444"+ - "\7\61\2\2\u0444\u0445\7\61\2\2\u0445\u0449\3\2\2\2\u0446\u0448\n\27\2"+ - "\2\u0447\u0446\3\2\2\2\u0448\u044b\3\2\2\2\u0449\u0447\3\2\2\2\u0449\u044a"+ - "\3\2\2\2\u044a\u044c\3\2\2\2\u044b\u0449\3\2\2\2\u044c\u044d\b\u009b\2"+ - "\2\u044d\u0136\3\2\2\28\2\u0292\u0296\u029a\u029e\u02a2\u02a9\u02ae\u02b0"+ - "\u02b4\u02b7\u02bb\u02c2\u02c6\u02cb\u02d3\u02d6\u02dd\u02e1\u02e5\u02eb"+ - "\u02ee\u02f5\u02f9\u0301\u0304\u030b\u030f\u0313\u0318\u031b\u031e\u0323"+ - "\u0326\u032b\u0330\u0338\u0343\u0347\u034c\u0350\u0360\u036a\u0370\u0377"+ - "\u037b\u0381\u038e\u0415\u041e\u0426\u0431\u043b\u0449\3\b\2\2"; - public static final ATN _ATN = - new ATNDeserializer().deserialize(_serializedATN.toCharArray()); - static { - _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; - for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { - _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); - } - } -} \ No newline at end of file diff --git a/src/de/dhbwstuttgart/parser/antlr/Java8Listener.java b/src/de/dhbwstuttgart/parser/antlr/Java8Listener.java deleted file mode 100644 index a875c96f1..000000000 --- a/src/de/dhbwstuttgart/parser/antlr/Java8Listener.java +++ /dev/null @@ -1,2390 +0,0 @@ -// Generated from Java8.g4 by ANTLR 4.7 -package de.dhbwstuttgart.parser.antlr; -import org.antlr.v4.runtime.tree.ParseTreeListener; - -/** - * This interface defines a complete listener for a parse tree produced by - * {@link Java8Parser}. - */ -public interface Java8Listener extends ParseTreeListener { - /** - * Enter a parse tree produced by {@link Java8Parser#literal}. - * @param ctx the parse tree - */ - void enterLiteral(Java8Parser.LiteralContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#literal}. - * @param ctx the parse tree - */ - void exitLiteral(Java8Parser.LiteralContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#type}. - * @param ctx the parse tree - */ - void enterType(Java8Parser.TypeContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#type}. - * @param ctx the parse tree - */ - void exitType(Java8Parser.TypeContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#primitiveType}. - * @param ctx the parse tree - */ - void enterPrimitiveType(Java8Parser.PrimitiveTypeContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#primitiveType}. - * @param ctx the parse tree - */ - void exitPrimitiveType(Java8Parser.PrimitiveTypeContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#numericType}. - * @param ctx the parse tree - */ - void enterNumericType(Java8Parser.NumericTypeContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#numericType}. - * @param ctx the parse tree - */ - void exitNumericType(Java8Parser.NumericTypeContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#integralType}. - * @param ctx the parse tree - */ - void enterIntegralType(Java8Parser.IntegralTypeContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#integralType}. - * @param ctx the parse tree - */ - void exitIntegralType(Java8Parser.IntegralTypeContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#floatingPointType}. - * @param ctx the parse tree - */ - void enterFloatingPointType(Java8Parser.FloatingPointTypeContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#floatingPointType}. - * @param ctx the parse tree - */ - void exitFloatingPointType(Java8Parser.FloatingPointTypeContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#referenceType}. - * @param ctx the parse tree - */ - void enterReferenceType(Java8Parser.ReferenceTypeContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#referenceType}. - * @param ctx the parse tree - */ - void exitReferenceType(Java8Parser.ReferenceTypeContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#classOrInterfaceType}. - * @param ctx the parse tree - */ - void enterClassOrInterfaceType(Java8Parser.ClassOrInterfaceTypeContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#classOrInterfaceType}. - * @param ctx the parse tree - */ - void exitClassOrInterfaceType(Java8Parser.ClassOrInterfaceTypeContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#classType}. - * @param ctx the parse tree - */ - void enterClassType(Java8Parser.ClassTypeContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#classType}. - * @param ctx the parse tree - */ - void exitClassType(Java8Parser.ClassTypeContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#classType_lf_classOrInterfaceType}. - * @param ctx the parse tree - */ - void enterClassType_lf_classOrInterfaceType(Java8Parser.ClassType_lf_classOrInterfaceTypeContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#classType_lf_classOrInterfaceType}. - * @param ctx the parse tree - */ - void exitClassType_lf_classOrInterfaceType(Java8Parser.ClassType_lf_classOrInterfaceTypeContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#classType_lfno_classOrInterfaceType}. - * @param ctx the parse tree - */ - void enterClassType_lfno_classOrInterfaceType(Java8Parser.ClassType_lfno_classOrInterfaceTypeContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#classType_lfno_classOrInterfaceType}. - * @param ctx the parse tree - */ - void exitClassType_lfno_classOrInterfaceType(Java8Parser.ClassType_lfno_classOrInterfaceTypeContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#interfaceType}. - * @param ctx the parse tree - */ - void enterInterfaceType(Java8Parser.InterfaceTypeContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#interfaceType}. - * @param ctx the parse tree - */ - void exitInterfaceType(Java8Parser.InterfaceTypeContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#interfaceType_lf_classOrInterfaceType}. - * @param ctx the parse tree - */ - void enterInterfaceType_lf_classOrInterfaceType(Java8Parser.InterfaceType_lf_classOrInterfaceTypeContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#interfaceType_lf_classOrInterfaceType}. - * @param ctx the parse tree - */ - void exitInterfaceType_lf_classOrInterfaceType(Java8Parser.InterfaceType_lf_classOrInterfaceTypeContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#interfaceType_lfno_classOrInterfaceType}. - * @param ctx the parse tree - */ - void enterInterfaceType_lfno_classOrInterfaceType(Java8Parser.InterfaceType_lfno_classOrInterfaceTypeContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#interfaceType_lfno_classOrInterfaceType}. - * @param ctx the parse tree - */ - void exitInterfaceType_lfno_classOrInterfaceType(Java8Parser.InterfaceType_lfno_classOrInterfaceTypeContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#typeVariable}. - * @param ctx the parse tree - */ - void enterTypeVariable(Java8Parser.TypeVariableContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#typeVariable}. - * @param ctx the parse tree - */ - void exitTypeVariable(Java8Parser.TypeVariableContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#arrayType}. - * @param ctx the parse tree - */ - void enterArrayType(Java8Parser.ArrayTypeContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#arrayType}. - * @param ctx the parse tree - */ - void exitArrayType(Java8Parser.ArrayTypeContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#dims}. - * @param ctx the parse tree - */ - void enterDims(Java8Parser.DimsContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#dims}. - * @param ctx the parse tree - */ - void exitDims(Java8Parser.DimsContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#typeParameter}. - * @param ctx the parse tree - */ - void enterTypeParameter(Java8Parser.TypeParameterContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#typeParameter}. - * @param ctx the parse tree - */ - void exitTypeParameter(Java8Parser.TypeParameterContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#typeParameterModifier}. - * @param ctx the parse tree - */ - void enterTypeParameterModifier(Java8Parser.TypeParameterModifierContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#typeParameterModifier}. - * @param ctx the parse tree - */ - void exitTypeParameterModifier(Java8Parser.TypeParameterModifierContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#typeBound}. - * @param ctx the parse tree - */ - void enterTypeBound(Java8Parser.TypeBoundContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#typeBound}. - * @param ctx the parse tree - */ - void exitTypeBound(Java8Parser.TypeBoundContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#additionalBound}. - * @param ctx the parse tree - */ - void enterAdditionalBound(Java8Parser.AdditionalBoundContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#additionalBound}. - * @param ctx the parse tree - */ - void exitAdditionalBound(Java8Parser.AdditionalBoundContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#typeArguments}. - * @param ctx the parse tree - */ - void enterTypeArguments(Java8Parser.TypeArgumentsContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#typeArguments}. - * @param ctx the parse tree - */ - void exitTypeArguments(Java8Parser.TypeArgumentsContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#typeArgumentList}. - * @param ctx the parse tree - */ - void enterTypeArgumentList(Java8Parser.TypeArgumentListContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#typeArgumentList}. - * @param ctx the parse tree - */ - void exitTypeArgumentList(Java8Parser.TypeArgumentListContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#typeArgument}. - * @param ctx the parse tree - */ - void enterTypeArgument(Java8Parser.TypeArgumentContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#typeArgument}. - * @param ctx the parse tree - */ - void exitTypeArgument(Java8Parser.TypeArgumentContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#wildcard}. - * @param ctx the parse tree - */ - void enterWildcard(Java8Parser.WildcardContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#wildcard}. - * @param ctx the parse tree - */ - void exitWildcard(Java8Parser.WildcardContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#wildcardBounds}. - * @param ctx the parse tree - */ - void enterWildcardBounds(Java8Parser.WildcardBoundsContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#wildcardBounds}. - * @param ctx the parse tree - */ - void exitWildcardBounds(Java8Parser.WildcardBoundsContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#packageName}. - * @param ctx the parse tree - */ - void enterPackageName(Java8Parser.PackageNameContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#packageName}. - * @param ctx the parse tree - */ - void exitPackageName(Java8Parser.PackageNameContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#typeName}. - * @param ctx the parse tree - */ - void enterTypeName(Java8Parser.TypeNameContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#typeName}. - * @param ctx the parse tree - */ - void exitTypeName(Java8Parser.TypeNameContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#packageOrTypeName}. - * @param ctx the parse tree - */ - void enterPackageOrTypeName(Java8Parser.PackageOrTypeNameContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#packageOrTypeName}. - * @param ctx the parse tree - */ - void exitPackageOrTypeName(Java8Parser.PackageOrTypeNameContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#expressionName}. - * @param ctx the parse tree - */ - void enterExpressionName(Java8Parser.ExpressionNameContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#expressionName}. - * @param ctx the parse tree - */ - void exitExpressionName(Java8Parser.ExpressionNameContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#methodName}. - * @param ctx the parse tree - */ - void enterMethodName(Java8Parser.MethodNameContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#methodName}. - * @param ctx the parse tree - */ - void exitMethodName(Java8Parser.MethodNameContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#ambiguousName}. - * @param ctx the parse tree - */ - void enterAmbiguousName(Java8Parser.AmbiguousNameContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#ambiguousName}. - * @param ctx the parse tree - */ - void exitAmbiguousName(Java8Parser.AmbiguousNameContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#compilationUnit}. - * @param ctx the parse tree - */ - void enterCompilationUnit(Java8Parser.CompilationUnitContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#compilationUnit}. - * @param ctx the parse tree - */ - void exitCompilationUnit(Java8Parser.CompilationUnitContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#packageDeclaration}. - * @param ctx the parse tree - */ - void enterPackageDeclaration(Java8Parser.PackageDeclarationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#packageDeclaration}. - * @param ctx the parse tree - */ - void exitPackageDeclaration(Java8Parser.PackageDeclarationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#packageModifier}. - * @param ctx the parse tree - */ - void enterPackageModifier(Java8Parser.PackageModifierContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#packageModifier}. - * @param ctx the parse tree - */ - void exitPackageModifier(Java8Parser.PackageModifierContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#importDeclaration}. - * @param ctx the parse tree - */ - void enterImportDeclaration(Java8Parser.ImportDeclarationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#importDeclaration}. - * @param ctx the parse tree - */ - void exitImportDeclaration(Java8Parser.ImportDeclarationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#singleTypeImportDeclaration}. - * @param ctx the parse tree - */ - void enterSingleTypeImportDeclaration(Java8Parser.SingleTypeImportDeclarationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#singleTypeImportDeclaration}. - * @param ctx the parse tree - */ - void exitSingleTypeImportDeclaration(Java8Parser.SingleTypeImportDeclarationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#typeImportOnDemandDeclaration}. - * @param ctx the parse tree - */ - void enterTypeImportOnDemandDeclaration(Java8Parser.TypeImportOnDemandDeclarationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#typeImportOnDemandDeclaration}. - * @param ctx the parse tree - */ - void exitTypeImportOnDemandDeclaration(Java8Parser.TypeImportOnDemandDeclarationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#singleStaticImportDeclaration}. - * @param ctx the parse tree - */ - void enterSingleStaticImportDeclaration(Java8Parser.SingleStaticImportDeclarationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#singleStaticImportDeclaration}. - * @param ctx the parse tree - */ - void exitSingleStaticImportDeclaration(Java8Parser.SingleStaticImportDeclarationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#staticImportOnDemandDeclaration}. - * @param ctx the parse tree - */ - void enterStaticImportOnDemandDeclaration(Java8Parser.StaticImportOnDemandDeclarationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#staticImportOnDemandDeclaration}. - * @param ctx the parse tree - */ - void exitStaticImportOnDemandDeclaration(Java8Parser.StaticImportOnDemandDeclarationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#typeDeclaration}. - * @param ctx the parse tree - */ - void enterTypeDeclaration(Java8Parser.TypeDeclarationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#typeDeclaration}. - * @param ctx the parse tree - */ - void exitTypeDeclaration(Java8Parser.TypeDeclarationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#classDeclaration}. - * @param ctx the parse tree - */ - void enterClassDeclaration(Java8Parser.ClassDeclarationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#classDeclaration}. - * @param ctx the parse tree - */ - void exitClassDeclaration(Java8Parser.ClassDeclarationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#normalClassDeclaration}. - * @param ctx the parse tree - */ - void enterNormalClassDeclaration(Java8Parser.NormalClassDeclarationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#normalClassDeclaration}. - * @param ctx the parse tree - */ - void exitNormalClassDeclaration(Java8Parser.NormalClassDeclarationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#classModifier}. - * @param ctx the parse tree - */ - void enterClassModifier(Java8Parser.ClassModifierContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#classModifier}. - * @param ctx the parse tree - */ - void exitClassModifier(Java8Parser.ClassModifierContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#typeParameters}. - * @param ctx the parse tree - */ - void enterTypeParameters(Java8Parser.TypeParametersContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#typeParameters}. - * @param ctx the parse tree - */ - void exitTypeParameters(Java8Parser.TypeParametersContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#typeParameterList}. - * @param ctx the parse tree - */ - void enterTypeParameterList(Java8Parser.TypeParameterListContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#typeParameterList}. - * @param ctx the parse tree - */ - void exitTypeParameterList(Java8Parser.TypeParameterListContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#superclass}. - * @param ctx the parse tree - */ - void enterSuperclass(Java8Parser.SuperclassContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#superclass}. - * @param ctx the parse tree - */ - void exitSuperclass(Java8Parser.SuperclassContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#superinterfaces}. - * @param ctx the parse tree - */ - void enterSuperinterfaces(Java8Parser.SuperinterfacesContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#superinterfaces}. - * @param ctx the parse tree - */ - void exitSuperinterfaces(Java8Parser.SuperinterfacesContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#interfaceTypeList}. - * @param ctx the parse tree - */ - void enterInterfaceTypeList(Java8Parser.InterfaceTypeListContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#interfaceTypeList}. - * @param ctx the parse tree - */ - void exitInterfaceTypeList(Java8Parser.InterfaceTypeListContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#classBody}. - * @param ctx the parse tree - */ - void enterClassBody(Java8Parser.ClassBodyContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#classBody}. - * @param ctx the parse tree - */ - void exitClassBody(Java8Parser.ClassBodyContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#classBodyDeclaration}. - * @param ctx the parse tree - */ - void enterClassBodyDeclaration(Java8Parser.ClassBodyDeclarationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#classBodyDeclaration}. - * @param ctx the parse tree - */ - void exitClassBodyDeclaration(Java8Parser.ClassBodyDeclarationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#classMemberDeclaration}. - * @param ctx the parse tree - */ - void enterClassMemberDeclaration(Java8Parser.ClassMemberDeclarationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#classMemberDeclaration}. - * @param ctx the parse tree - */ - void exitClassMemberDeclaration(Java8Parser.ClassMemberDeclarationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#fieldDeclaration}. - * @param ctx the parse tree - */ - void enterFieldDeclaration(Java8Parser.FieldDeclarationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#fieldDeclaration}. - * @param ctx the parse tree - */ - void exitFieldDeclaration(Java8Parser.FieldDeclarationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#fieldModifier}. - * @param ctx the parse tree - */ - void enterFieldModifier(Java8Parser.FieldModifierContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#fieldModifier}. - * @param ctx the parse tree - */ - void exitFieldModifier(Java8Parser.FieldModifierContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#variableDeclaratorList}. - * @param ctx the parse tree - */ - void enterVariableDeclaratorList(Java8Parser.VariableDeclaratorListContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#variableDeclaratorList}. - * @param ctx the parse tree - */ - void exitVariableDeclaratorList(Java8Parser.VariableDeclaratorListContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#variableDeclarator}. - * @param ctx the parse tree - */ - void enterVariableDeclarator(Java8Parser.VariableDeclaratorContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#variableDeclarator}. - * @param ctx the parse tree - */ - void exitVariableDeclarator(Java8Parser.VariableDeclaratorContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#variableDeclaratorId}. - * @param ctx the parse tree - */ - void enterVariableDeclaratorId(Java8Parser.VariableDeclaratorIdContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#variableDeclaratorId}. - * @param ctx the parse tree - */ - void exitVariableDeclaratorId(Java8Parser.VariableDeclaratorIdContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#variableInitializer}. - * @param ctx the parse tree - */ - void enterVariableInitializer(Java8Parser.VariableInitializerContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#variableInitializer}. - * @param ctx the parse tree - */ - void exitVariableInitializer(Java8Parser.VariableInitializerContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#unannType}. - * @param ctx the parse tree - */ - void enterUnannType(Java8Parser.UnannTypeContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#unannType}. - * @param ctx the parse tree - */ - void exitUnannType(Java8Parser.UnannTypeContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#unannPrimitiveType}. - * @param ctx the parse tree - */ - void enterUnannPrimitiveType(Java8Parser.UnannPrimitiveTypeContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#unannPrimitiveType}. - * @param ctx the parse tree - */ - void exitUnannPrimitiveType(Java8Parser.UnannPrimitiveTypeContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#unannReferenceType}. - * @param ctx the parse tree - */ - void enterUnannReferenceType(Java8Parser.UnannReferenceTypeContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#unannReferenceType}. - * @param ctx the parse tree - */ - void exitUnannReferenceType(Java8Parser.UnannReferenceTypeContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#unannClassOrInterfaceType}. - * @param ctx the parse tree - */ - void enterUnannClassOrInterfaceType(Java8Parser.UnannClassOrInterfaceTypeContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#unannClassOrInterfaceType}. - * @param ctx the parse tree - */ - void exitUnannClassOrInterfaceType(Java8Parser.UnannClassOrInterfaceTypeContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#unannClassType}. - * @param ctx the parse tree - */ - void enterUnannClassType(Java8Parser.UnannClassTypeContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#unannClassType}. - * @param ctx the parse tree - */ - void exitUnannClassType(Java8Parser.UnannClassTypeContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#unannClassType_lf_unannClassOrInterfaceType}. - * @param ctx the parse tree - */ - void enterUnannClassType_lf_unannClassOrInterfaceType(Java8Parser.UnannClassType_lf_unannClassOrInterfaceTypeContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#unannClassType_lf_unannClassOrInterfaceType}. - * @param ctx the parse tree - */ - void exitUnannClassType_lf_unannClassOrInterfaceType(Java8Parser.UnannClassType_lf_unannClassOrInterfaceTypeContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#unannClassType_lfno_unannClassOrInterfaceType}. - * @param ctx the parse tree - */ - void enterUnannClassType_lfno_unannClassOrInterfaceType(Java8Parser.UnannClassType_lfno_unannClassOrInterfaceTypeContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#unannClassType_lfno_unannClassOrInterfaceType}. - * @param ctx the parse tree - */ - void exitUnannClassType_lfno_unannClassOrInterfaceType(Java8Parser.UnannClassType_lfno_unannClassOrInterfaceTypeContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#unannInterfaceType}. - * @param ctx the parse tree - */ - void enterUnannInterfaceType(Java8Parser.UnannInterfaceTypeContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#unannInterfaceType}. - * @param ctx the parse tree - */ - void exitUnannInterfaceType(Java8Parser.UnannInterfaceTypeContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#unannInterfaceType_lf_unannClassOrInterfaceType}. - * @param ctx the parse tree - */ - void enterUnannInterfaceType_lf_unannClassOrInterfaceType(Java8Parser.UnannInterfaceType_lf_unannClassOrInterfaceTypeContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#unannInterfaceType_lf_unannClassOrInterfaceType}. - * @param ctx the parse tree - */ - void exitUnannInterfaceType_lf_unannClassOrInterfaceType(Java8Parser.UnannInterfaceType_lf_unannClassOrInterfaceTypeContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#unannInterfaceType_lfno_unannClassOrInterfaceType}. - * @param ctx the parse tree - */ - void enterUnannInterfaceType_lfno_unannClassOrInterfaceType(Java8Parser.UnannInterfaceType_lfno_unannClassOrInterfaceTypeContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#unannInterfaceType_lfno_unannClassOrInterfaceType}. - * @param ctx the parse tree - */ - void exitUnannInterfaceType_lfno_unannClassOrInterfaceType(Java8Parser.UnannInterfaceType_lfno_unannClassOrInterfaceTypeContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#unannTypeVariable}. - * @param ctx the parse tree - */ - void enterUnannTypeVariable(Java8Parser.UnannTypeVariableContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#unannTypeVariable}. - * @param ctx the parse tree - */ - void exitUnannTypeVariable(Java8Parser.UnannTypeVariableContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#unannArrayType}. - * @param ctx the parse tree - */ - void enterUnannArrayType(Java8Parser.UnannArrayTypeContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#unannArrayType}. - * @param ctx the parse tree - */ - void exitUnannArrayType(Java8Parser.UnannArrayTypeContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#methodDeclaration}. - * @param ctx the parse tree - */ - void enterMethodDeclaration(Java8Parser.MethodDeclarationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#methodDeclaration}. - * @param ctx the parse tree - */ - void exitMethodDeclaration(Java8Parser.MethodDeclarationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#methodModifier}. - * @param ctx the parse tree - */ - void enterMethodModifier(Java8Parser.MethodModifierContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#methodModifier}. - * @param ctx the parse tree - */ - void exitMethodModifier(Java8Parser.MethodModifierContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#methodHeader}. - * @param ctx the parse tree - */ - void enterMethodHeader(Java8Parser.MethodHeaderContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#methodHeader}. - * @param ctx the parse tree - */ - void exitMethodHeader(Java8Parser.MethodHeaderContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#result}. - * @param ctx the parse tree - */ - void enterResult(Java8Parser.ResultContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#result}. - * @param ctx the parse tree - */ - void exitResult(Java8Parser.ResultContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#methodDeclarator}. - * @param ctx the parse tree - */ - void enterMethodDeclarator(Java8Parser.MethodDeclaratorContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#methodDeclarator}. - * @param ctx the parse tree - */ - void exitMethodDeclarator(Java8Parser.MethodDeclaratorContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#formalParameterList}. - * @param ctx the parse tree - */ - void enterFormalParameterList(Java8Parser.FormalParameterListContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#formalParameterList}. - * @param ctx the parse tree - */ - void exitFormalParameterList(Java8Parser.FormalParameterListContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#formalParameters}. - * @param ctx the parse tree - */ - void enterFormalParameters(Java8Parser.FormalParametersContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#formalParameters}. - * @param ctx the parse tree - */ - void exitFormalParameters(Java8Parser.FormalParametersContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#formalParameter}. - * @param ctx the parse tree - */ - void enterFormalParameter(Java8Parser.FormalParameterContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#formalParameter}. - * @param ctx the parse tree - */ - void exitFormalParameter(Java8Parser.FormalParameterContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#variableModifier}. - * @param ctx the parse tree - */ - void enterVariableModifier(Java8Parser.VariableModifierContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#variableModifier}. - * @param ctx the parse tree - */ - void exitVariableModifier(Java8Parser.VariableModifierContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#lastFormalParameter}. - * @param ctx the parse tree - */ - void enterLastFormalParameter(Java8Parser.LastFormalParameterContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#lastFormalParameter}. - * @param ctx the parse tree - */ - void exitLastFormalParameter(Java8Parser.LastFormalParameterContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#receiverParameter}. - * @param ctx the parse tree - */ - void enterReceiverParameter(Java8Parser.ReceiverParameterContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#receiverParameter}. - * @param ctx the parse tree - */ - void exitReceiverParameter(Java8Parser.ReceiverParameterContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#throws_}. - * @param ctx the parse tree - */ - void enterThrows_(Java8Parser.Throws_Context ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#throws_}. - * @param ctx the parse tree - */ - void exitThrows_(Java8Parser.Throws_Context ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#exceptionTypeList}. - * @param ctx the parse tree - */ - void enterExceptionTypeList(Java8Parser.ExceptionTypeListContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#exceptionTypeList}. - * @param ctx the parse tree - */ - void exitExceptionTypeList(Java8Parser.ExceptionTypeListContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#exceptionType}. - * @param ctx the parse tree - */ - void enterExceptionType(Java8Parser.ExceptionTypeContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#exceptionType}. - * @param ctx the parse tree - */ - void exitExceptionType(Java8Parser.ExceptionTypeContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#methodBody}. - * @param ctx the parse tree - */ - void enterMethodBody(Java8Parser.MethodBodyContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#methodBody}. - * @param ctx the parse tree - */ - void exitMethodBody(Java8Parser.MethodBodyContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#instanceInitializer}. - * @param ctx the parse tree - */ - void enterInstanceInitializer(Java8Parser.InstanceInitializerContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#instanceInitializer}. - * @param ctx the parse tree - */ - void exitInstanceInitializer(Java8Parser.InstanceInitializerContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#staticInitializer}. - * @param ctx the parse tree - */ - void enterStaticInitializer(Java8Parser.StaticInitializerContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#staticInitializer}. - * @param ctx the parse tree - */ - void exitStaticInitializer(Java8Parser.StaticInitializerContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#constructorDeclaration}. - * @param ctx the parse tree - */ - void enterConstructorDeclaration(Java8Parser.ConstructorDeclarationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#constructorDeclaration}. - * @param ctx the parse tree - */ - void exitConstructorDeclaration(Java8Parser.ConstructorDeclarationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#constructorModifier}. - * @param ctx the parse tree - */ - void enterConstructorModifier(Java8Parser.ConstructorModifierContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#constructorModifier}. - * @param ctx the parse tree - */ - void exitConstructorModifier(Java8Parser.ConstructorModifierContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#constructorDeclarator}. - * @param ctx the parse tree - */ - void enterConstructorDeclarator(Java8Parser.ConstructorDeclaratorContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#constructorDeclarator}. - * @param ctx the parse tree - */ - void exitConstructorDeclarator(Java8Parser.ConstructorDeclaratorContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#simpleTypeName}. - * @param ctx the parse tree - */ - void enterSimpleTypeName(Java8Parser.SimpleTypeNameContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#simpleTypeName}. - * @param ctx the parse tree - */ - void exitSimpleTypeName(Java8Parser.SimpleTypeNameContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#constructorBody}. - * @param ctx the parse tree - */ - void enterConstructorBody(Java8Parser.ConstructorBodyContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#constructorBody}. - * @param ctx the parse tree - */ - void exitConstructorBody(Java8Parser.ConstructorBodyContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#explicitConstructorInvocation}. - * @param ctx the parse tree - */ - void enterExplicitConstructorInvocation(Java8Parser.ExplicitConstructorInvocationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#explicitConstructorInvocation}. - * @param ctx the parse tree - */ - void exitExplicitConstructorInvocation(Java8Parser.ExplicitConstructorInvocationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#enumDeclaration}. - * @param ctx the parse tree - */ - void enterEnumDeclaration(Java8Parser.EnumDeclarationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#enumDeclaration}. - * @param ctx the parse tree - */ - void exitEnumDeclaration(Java8Parser.EnumDeclarationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#enumBody}. - * @param ctx the parse tree - */ - void enterEnumBody(Java8Parser.EnumBodyContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#enumBody}. - * @param ctx the parse tree - */ - void exitEnumBody(Java8Parser.EnumBodyContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#enumConstantList}. - * @param ctx the parse tree - */ - void enterEnumConstantList(Java8Parser.EnumConstantListContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#enumConstantList}. - * @param ctx the parse tree - */ - void exitEnumConstantList(Java8Parser.EnumConstantListContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#enumConstant}. - * @param ctx the parse tree - */ - void enterEnumConstant(Java8Parser.EnumConstantContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#enumConstant}. - * @param ctx the parse tree - */ - void exitEnumConstant(Java8Parser.EnumConstantContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#enumConstantModifier}. - * @param ctx the parse tree - */ - void enterEnumConstantModifier(Java8Parser.EnumConstantModifierContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#enumConstantModifier}. - * @param ctx the parse tree - */ - void exitEnumConstantModifier(Java8Parser.EnumConstantModifierContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#enumBodyDeclarations}. - * @param ctx the parse tree - */ - void enterEnumBodyDeclarations(Java8Parser.EnumBodyDeclarationsContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#enumBodyDeclarations}. - * @param ctx the parse tree - */ - void exitEnumBodyDeclarations(Java8Parser.EnumBodyDeclarationsContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#interfaceDeclaration}. - * @param ctx the parse tree - */ - void enterInterfaceDeclaration(Java8Parser.InterfaceDeclarationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#interfaceDeclaration}. - * @param ctx the parse tree - */ - void exitInterfaceDeclaration(Java8Parser.InterfaceDeclarationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#normalInterfaceDeclaration}. - * @param ctx the parse tree - */ - void enterNormalInterfaceDeclaration(Java8Parser.NormalInterfaceDeclarationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#normalInterfaceDeclaration}. - * @param ctx the parse tree - */ - void exitNormalInterfaceDeclaration(Java8Parser.NormalInterfaceDeclarationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#interfaceModifier}. - * @param ctx the parse tree - */ - void enterInterfaceModifier(Java8Parser.InterfaceModifierContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#interfaceModifier}. - * @param ctx the parse tree - */ - void exitInterfaceModifier(Java8Parser.InterfaceModifierContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#extendsInterfaces}. - * @param ctx the parse tree - */ - void enterExtendsInterfaces(Java8Parser.ExtendsInterfacesContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#extendsInterfaces}. - * @param ctx the parse tree - */ - void exitExtendsInterfaces(Java8Parser.ExtendsInterfacesContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#interfaceBody}. - * @param ctx the parse tree - */ - void enterInterfaceBody(Java8Parser.InterfaceBodyContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#interfaceBody}. - * @param ctx the parse tree - */ - void exitInterfaceBody(Java8Parser.InterfaceBodyContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#interfaceMemberDeclaration}. - * @param ctx the parse tree - */ - void enterInterfaceMemberDeclaration(Java8Parser.InterfaceMemberDeclarationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#interfaceMemberDeclaration}. - * @param ctx the parse tree - */ - void exitInterfaceMemberDeclaration(Java8Parser.InterfaceMemberDeclarationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#constantDeclaration}. - * @param ctx the parse tree - */ - void enterConstantDeclaration(Java8Parser.ConstantDeclarationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#constantDeclaration}. - * @param ctx the parse tree - */ - void exitConstantDeclaration(Java8Parser.ConstantDeclarationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#constantModifier}. - * @param ctx the parse tree - */ - void enterConstantModifier(Java8Parser.ConstantModifierContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#constantModifier}. - * @param ctx the parse tree - */ - void exitConstantModifier(Java8Parser.ConstantModifierContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#interfaceMethodDeclaration}. - * @param ctx the parse tree - */ - void enterInterfaceMethodDeclaration(Java8Parser.InterfaceMethodDeclarationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#interfaceMethodDeclaration}. - * @param ctx the parse tree - */ - void exitInterfaceMethodDeclaration(Java8Parser.InterfaceMethodDeclarationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#interfaceMethodModifier}. - * @param ctx the parse tree - */ - void enterInterfaceMethodModifier(Java8Parser.InterfaceMethodModifierContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#interfaceMethodModifier}. - * @param ctx the parse tree - */ - void exitInterfaceMethodModifier(Java8Parser.InterfaceMethodModifierContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#annotationTypeDeclaration}. - * @param ctx the parse tree - */ - void enterAnnotationTypeDeclaration(Java8Parser.AnnotationTypeDeclarationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#annotationTypeDeclaration}. - * @param ctx the parse tree - */ - void exitAnnotationTypeDeclaration(Java8Parser.AnnotationTypeDeclarationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#annotationTypeBody}. - * @param ctx the parse tree - */ - void enterAnnotationTypeBody(Java8Parser.AnnotationTypeBodyContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#annotationTypeBody}. - * @param ctx the parse tree - */ - void exitAnnotationTypeBody(Java8Parser.AnnotationTypeBodyContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#annotationTypeMemberDeclaration}. - * @param ctx the parse tree - */ - void enterAnnotationTypeMemberDeclaration(Java8Parser.AnnotationTypeMemberDeclarationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#annotationTypeMemberDeclaration}. - * @param ctx the parse tree - */ - void exitAnnotationTypeMemberDeclaration(Java8Parser.AnnotationTypeMemberDeclarationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#annotationTypeElementDeclaration}. - * @param ctx the parse tree - */ - void enterAnnotationTypeElementDeclaration(Java8Parser.AnnotationTypeElementDeclarationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#annotationTypeElementDeclaration}. - * @param ctx the parse tree - */ - void exitAnnotationTypeElementDeclaration(Java8Parser.AnnotationTypeElementDeclarationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#annotationTypeElementModifier}. - * @param ctx the parse tree - */ - void enterAnnotationTypeElementModifier(Java8Parser.AnnotationTypeElementModifierContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#annotationTypeElementModifier}. - * @param ctx the parse tree - */ - void exitAnnotationTypeElementModifier(Java8Parser.AnnotationTypeElementModifierContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#defaultValue}. - * @param ctx the parse tree - */ - void enterDefaultValue(Java8Parser.DefaultValueContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#defaultValue}. - * @param ctx the parse tree - */ - void exitDefaultValue(Java8Parser.DefaultValueContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#annotation}. - * @param ctx the parse tree - */ - void enterAnnotation(Java8Parser.AnnotationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#annotation}. - * @param ctx the parse tree - */ - void exitAnnotation(Java8Parser.AnnotationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#normalAnnotation}. - * @param ctx the parse tree - */ - void enterNormalAnnotation(Java8Parser.NormalAnnotationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#normalAnnotation}. - * @param ctx the parse tree - */ - void exitNormalAnnotation(Java8Parser.NormalAnnotationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#elementValuePairList}. - * @param ctx the parse tree - */ - void enterElementValuePairList(Java8Parser.ElementValuePairListContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#elementValuePairList}. - * @param ctx the parse tree - */ - void exitElementValuePairList(Java8Parser.ElementValuePairListContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#elementValuePair}. - * @param ctx the parse tree - */ - void enterElementValuePair(Java8Parser.ElementValuePairContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#elementValuePair}. - * @param ctx the parse tree - */ - void exitElementValuePair(Java8Parser.ElementValuePairContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#elementValue}. - * @param ctx the parse tree - */ - void enterElementValue(Java8Parser.ElementValueContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#elementValue}. - * @param ctx the parse tree - */ - void exitElementValue(Java8Parser.ElementValueContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#elementValueArrayInitializer}. - * @param ctx the parse tree - */ - void enterElementValueArrayInitializer(Java8Parser.ElementValueArrayInitializerContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#elementValueArrayInitializer}. - * @param ctx the parse tree - */ - void exitElementValueArrayInitializer(Java8Parser.ElementValueArrayInitializerContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#elementValueList}. - * @param ctx the parse tree - */ - void enterElementValueList(Java8Parser.ElementValueListContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#elementValueList}. - * @param ctx the parse tree - */ - void exitElementValueList(Java8Parser.ElementValueListContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#markerAnnotation}. - * @param ctx the parse tree - */ - void enterMarkerAnnotation(Java8Parser.MarkerAnnotationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#markerAnnotation}. - * @param ctx the parse tree - */ - void exitMarkerAnnotation(Java8Parser.MarkerAnnotationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#singleElementAnnotation}. - * @param ctx the parse tree - */ - void enterSingleElementAnnotation(Java8Parser.SingleElementAnnotationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#singleElementAnnotation}. - * @param ctx the parse tree - */ - void exitSingleElementAnnotation(Java8Parser.SingleElementAnnotationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#arrayInitializer}. - * @param ctx the parse tree - */ - void enterArrayInitializer(Java8Parser.ArrayInitializerContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#arrayInitializer}. - * @param ctx the parse tree - */ - void exitArrayInitializer(Java8Parser.ArrayInitializerContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#variableInitializerList}. - * @param ctx the parse tree - */ - void enterVariableInitializerList(Java8Parser.VariableInitializerListContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#variableInitializerList}. - * @param ctx the parse tree - */ - void exitVariableInitializerList(Java8Parser.VariableInitializerListContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#block}. - * @param ctx the parse tree - */ - void enterBlock(Java8Parser.BlockContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#block}. - * @param ctx the parse tree - */ - void exitBlock(Java8Parser.BlockContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#blockStatements}. - * @param ctx the parse tree - */ - void enterBlockStatements(Java8Parser.BlockStatementsContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#blockStatements}. - * @param ctx the parse tree - */ - void exitBlockStatements(Java8Parser.BlockStatementsContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#blockStatement}. - * @param ctx the parse tree - */ - void enterBlockStatement(Java8Parser.BlockStatementContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#blockStatement}. - * @param ctx the parse tree - */ - void exitBlockStatement(Java8Parser.BlockStatementContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#localVariableDeclarationStatement}. - * @param ctx the parse tree - */ - void enterLocalVariableDeclarationStatement(Java8Parser.LocalVariableDeclarationStatementContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#localVariableDeclarationStatement}. - * @param ctx the parse tree - */ - void exitLocalVariableDeclarationStatement(Java8Parser.LocalVariableDeclarationStatementContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#unannTypeOrAuto}. - * @param ctx the parse tree - */ - void enterUnannTypeOrAuto(Java8Parser.UnannTypeOrAutoContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#unannTypeOrAuto}. - * @param ctx the parse tree - */ - void exitUnannTypeOrAuto(Java8Parser.UnannTypeOrAutoContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#localVariableDeclaration}. - * @param ctx the parse tree - */ - void enterLocalVariableDeclaration(Java8Parser.LocalVariableDeclarationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#localVariableDeclaration}. - * @param ctx the parse tree - */ - void exitLocalVariableDeclaration(Java8Parser.LocalVariableDeclarationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#statement}. - * @param ctx the parse tree - */ - void enterStatement(Java8Parser.StatementContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#statement}. - * @param ctx the parse tree - */ - void exitStatement(Java8Parser.StatementContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#statementNoShortIf}. - * @param ctx the parse tree - */ - void enterStatementNoShortIf(Java8Parser.StatementNoShortIfContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#statementNoShortIf}. - * @param ctx the parse tree - */ - void exitStatementNoShortIf(Java8Parser.StatementNoShortIfContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#statementWithoutTrailingSubstatement}. - * @param ctx the parse tree - */ - void enterStatementWithoutTrailingSubstatement(Java8Parser.StatementWithoutTrailingSubstatementContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#statementWithoutTrailingSubstatement}. - * @param ctx the parse tree - */ - void exitStatementWithoutTrailingSubstatement(Java8Parser.StatementWithoutTrailingSubstatementContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#emptyStatement}. - * @param ctx the parse tree - */ - void enterEmptyStatement(Java8Parser.EmptyStatementContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#emptyStatement}. - * @param ctx the parse tree - */ - void exitEmptyStatement(Java8Parser.EmptyStatementContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#labeledStatement}. - * @param ctx the parse tree - */ - void enterLabeledStatement(Java8Parser.LabeledStatementContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#labeledStatement}. - * @param ctx the parse tree - */ - void exitLabeledStatement(Java8Parser.LabeledStatementContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#labeledStatementNoShortIf}. - * @param ctx the parse tree - */ - void enterLabeledStatementNoShortIf(Java8Parser.LabeledStatementNoShortIfContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#labeledStatementNoShortIf}. - * @param ctx the parse tree - */ - void exitLabeledStatementNoShortIf(Java8Parser.LabeledStatementNoShortIfContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#expressionStatement}. - * @param ctx the parse tree - */ - void enterExpressionStatement(Java8Parser.ExpressionStatementContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#expressionStatement}. - * @param ctx the parse tree - */ - void exitExpressionStatement(Java8Parser.ExpressionStatementContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#statementExpression}. - * @param ctx the parse tree - */ - void enterStatementExpression(Java8Parser.StatementExpressionContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#statementExpression}. - * @param ctx the parse tree - */ - void exitStatementExpression(Java8Parser.StatementExpressionContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#ifThenStatement}. - * @param ctx the parse tree - */ - void enterIfThenStatement(Java8Parser.IfThenStatementContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#ifThenStatement}. - * @param ctx the parse tree - */ - void exitIfThenStatement(Java8Parser.IfThenStatementContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#ifThenElseStatement}. - * @param ctx the parse tree - */ - void enterIfThenElseStatement(Java8Parser.IfThenElseStatementContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#ifThenElseStatement}. - * @param ctx the parse tree - */ - void exitIfThenElseStatement(Java8Parser.IfThenElseStatementContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#ifThenElseStatementNoShortIf}. - * @param ctx the parse tree - */ - void enterIfThenElseStatementNoShortIf(Java8Parser.IfThenElseStatementNoShortIfContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#ifThenElseStatementNoShortIf}. - * @param ctx the parse tree - */ - void exitIfThenElseStatementNoShortIf(Java8Parser.IfThenElseStatementNoShortIfContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#assertStatement}. - * @param ctx the parse tree - */ - void enterAssertStatement(Java8Parser.AssertStatementContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#assertStatement}. - * @param ctx the parse tree - */ - void exitAssertStatement(Java8Parser.AssertStatementContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#switchStatement}. - * @param ctx the parse tree - */ - void enterSwitchStatement(Java8Parser.SwitchStatementContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#switchStatement}. - * @param ctx the parse tree - */ - void exitSwitchStatement(Java8Parser.SwitchStatementContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#switchBlock}. - * @param ctx the parse tree - */ - void enterSwitchBlock(Java8Parser.SwitchBlockContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#switchBlock}. - * @param ctx the parse tree - */ - void exitSwitchBlock(Java8Parser.SwitchBlockContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#switchBlockStatementGroup}. - * @param ctx the parse tree - */ - void enterSwitchBlockStatementGroup(Java8Parser.SwitchBlockStatementGroupContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#switchBlockStatementGroup}. - * @param ctx the parse tree - */ - void exitSwitchBlockStatementGroup(Java8Parser.SwitchBlockStatementGroupContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#switchLabels}. - * @param ctx the parse tree - */ - void enterSwitchLabels(Java8Parser.SwitchLabelsContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#switchLabels}. - * @param ctx the parse tree - */ - void exitSwitchLabels(Java8Parser.SwitchLabelsContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#switchLabel}. - * @param ctx the parse tree - */ - void enterSwitchLabel(Java8Parser.SwitchLabelContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#switchLabel}. - * @param ctx the parse tree - */ - void exitSwitchLabel(Java8Parser.SwitchLabelContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#enumConstantName}. - * @param ctx the parse tree - */ - void enterEnumConstantName(Java8Parser.EnumConstantNameContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#enumConstantName}. - * @param ctx the parse tree - */ - void exitEnumConstantName(Java8Parser.EnumConstantNameContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#whileStatement}. - * @param ctx the parse tree - */ - void enterWhileStatement(Java8Parser.WhileStatementContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#whileStatement}. - * @param ctx the parse tree - */ - void exitWhileStatement(Java8Parser.WhileStatementContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#whileStatementNoShortIf}. - * @param ctx the parse tree - */ - void enterWhileStatementNoShortIf(Java8Parser.WhileStatementNoShortIfContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#whileStatementNoShortIf}. - * @param ctx the parse tree - */ - void exitWhileStatementNoShortIf(Java8Parser.WhileStatementNoShortIfContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#doStatement}. - * @param ctx the parse tree - */ - void enterDoStatement(Java8Parser.DoStatementContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#doStatement}. - * @param ctx the parse tree - */ - void exitDoStatement(Java8Parser.DoStatementContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#forStatement}. - * @param ctx the parse tree - */ - void enterForStatement(Java8Parser.ForStatementContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#forStatement}. - * @param ctx the parse tree - */ - void exitForStatement(Java8Parser.ForStatementContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#forStatementNoShortIf}. - * @param ctx the parse tree - */ - void enterForStatementNoShortIf(Java8Parser.ForStatementNoShortIfContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#forStatementNoShortIf}. - * @param ctx the parse tree - */ - void exitForStatementNoShortIf(Java8Parser.ForStatementNoShortIfContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#basicForStatement}. - * @param ctx the parse tree - */ - void enterBasicForStatement(Java8Parser.BasicForStatementContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#basicForStatement}. - * @param ctx the parse tree - */ - void exitBasicForStatement(Java8Parser.BasicForStatementContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#basicForStatementNoShortIf}. - * @param ctx the parse tree - */ - void enterBasicForStatementNoShortIf(Java8Parser.BasicForStatementNoShortIfContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#basicForStatementNoShortIf}. - * @param ctx the parse tree - */ - void exitBasicForStatementNoShortIf(Java8Parser.BasicForStatementNoShortIfContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#forInit}. - * @param ctx the parse tree - */ - void enterForInit(Java8Parser.ForInitContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#forInit}. - * @param ctx the parse tree - */ - void exitForInit(Java8Parser.ForInitContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#forUpdate}. - * @param ctx the parse tree - */ - void enterForUpdate(Java8Parser.ForUpdateContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#forUpdate}. - * @param ctx the parse tree - */ - void exitForUpdate(Java8Parser.ForUpdateContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#statementExpressionList}. - * @param ctx the parse tree - */ - void enterStatementExpressionList(Java8Parser.StatementExpressionListContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#statementExpressionList}. - * @param ctx the parse tree - */ - void exitStatementExpressionList(Java8Parser.StatementExpressionListContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#enhancedForStatement}. - * @param ctx the parse tree - */ - void enterEnhancedForStatement(Java8Parser.EnhancedForStatementContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#enhancedForStatement}. - * @param ctx the parse tree - */ - void exitEnhancedForStatement(Java8Parser.EnhancedForStatementContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#enhancedForStatementNoShortIf}. - * @param ctx the parse tree - */ - void enterEnhancedForStatementNoShortIf(Java8Parser.EnhancedForStatementNoShortIfContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#enhancedForStatementNoShortIf}. - * @param ctx the parse tree - */ - void exitEnhancedForStatementNoShortIf(Java8Parser.EnhancedForStatementNoShortIfContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#breakStatement}. - * @param ctx the parse tree - */ - void enterBreakStatement(Java8Parser.BreakStatementContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#breakStatement}. - * @param ctx the parse tree - */ - void exitBreakStatement(Java8Parser.BreakStatementContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#continueStatement}. - * @param ctx the parse tree - */ - void enterContinueStatement(Java8Parser.ContinueStatementContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#continueStatement}. - * @param ctx the parse tree - */ - void exitContinueStatement(Java8Parser.ContinueStatementContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#returnStatement}. - * @param ctx the parse tree - */ - void enterReturnStatement(Java8Parser.ReturnStatementContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#returnStatement}. - * @param ctx the parse tree - */ - void exitReturnStatement(Java8Parser.ReturnStatementContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#throwStatement}. - * @param ctx the parse tree - */ - void enterThrowStatement(Java8Parser.ThrowStatementContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#throwStatement}. - * @param ctx the parse tree - */ - void exitThrowStatement(Java8Parser.ThrowStatementContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#synchronizedStatement}. - * @param ctx the parse tree - */ - void enterSynchronizedStatement(Java8Parser.SynchronizedStatementContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#synchronizedStatement}. - * @param ctx the parse tree - */ - void exitSynchronizedStatement(Java8Parser.SynchronizedStatementContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#tryStatement}. - * @param ctx the parse tree - */ - void enterTryStatement(Java8Parser.TryStatementContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#tryStatement}. - * @param ctx the parse tree - */ - void exitTryStatement(Java8Parser.TryStatementContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#catches}. - * @param ctx the parse tree - */ - void enterCatches(Java8Parser.CatchesContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#catches}. - * @param ctx the parse tree - */ - void exitCatches(Java8Parser.CatchesContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#catchClause}. - * @param ctx the parse tree - */ - void enterCatchClause(Java8Parser.CatchClauseContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#catchClause}. - * @param ctx the parse tree - */ - void exitCatchClause(Java8Parser.CatchClauseContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#catchFormalParameter}. - * @param ctx the parse tree - */ - void enterCatchFormalParameter(Java8Parser.CatchFormalParameterContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#catchFormalParameter}. - * @param ctx the parse tree - */ - void exitCatchFormalParameter(Java8Parser.CatchFormalParameterContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#catchType}. - * @param ctx the parse tree - */ - void enterCatchType(Java8Parser.CatchTypeContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#catchType}. - * @param ctx the parse tree - */ - void exitCatchType(Java8Parser.CatchTypeContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#finally_}. - * @param ctx the parse tree - */ - void enterFinally_(Java8Parser.Finally_Context ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#finally_}. - * @param ctx the parse tree - */ - void exitFinally_(Java8Parser.Finally_Context ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#tryWithResourcesStatement}. - * @param ctx the parse tree - */ - void enterTryWithResourcesStatement(Java8Parser.TryWithResourcesStatementContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#tryWithResourcesStatement}. - * @param ctx the parse tree - */ - void exitTryWithResourcesStatement(Java8Parser.TryWithResourcesStatementContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#resourceSpecification}. - * @param ctx the parse tree - */ - void enterResourceSpecification(Java8Parser.ResourceSpecificationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#resourceSpecification}. - * @param ctx the parse tree - */ - void exitResourceSpecification(Java8Parser.ResourceSpecificationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#resourceList}. - * @param ctx the parse tree - */ - void enterResourceList(Java8Parser.ResourceListContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#resourceList}. - * @param ctx the parse tree - */ - void exitResourceList(Java8Parser.ResourceListContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#resource}. - * @param ctx the parse tree - */ - void enterResource(Java8Parser.ResourceContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#resource}. - * @param ctx the parse tree - */ - void exitResource(Java8Parser.ResourceContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#primary}. - * @param ctx the parse tree - */ - void enterPrimary(Java8Parser.PrimaryContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#primary}. - * @param ctx the parse tree - */ - void exitPrimary(Java8Parser.PrimaryContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#primaryNoNewArray}. - * @param ctx the parse tree - */ - void enterPrimaryNoNewArray(Java8Parser.PrimaryNoNewArrayContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#primaryNoNewArray}. - * @param ctx the parse tree - */ - void exitPrimaryNoNewArray(Java8Parser.PrimaryNoNewArrayContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#primaryNoNewArray_lf_arrayAccess}. - * @param ctx the parse tree - */ - void enterPrimaryNoNewArray_lf_arrayAccess(Java8Parser.PrimaryNoNewArray_lf_arrayAccessContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#primaryNoNewArray_lf_arrayAccess}. - * @param ctx the parse tree - */ - void exitPrimaryNoNewArray_lf_arrayAccess(Java8Parser.PrimaryNoNewArray_lf_arrayAccessContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#primaryNoNewArray_lfno_arrayAccess}. - * @param ctx the parse tree - */ - void enterPrimaryNoNewArray_lfno_arrayAccess(Java8Parser.PrimaryNoNewArray_lfno_arrayAccessContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#primaryNoNewArray_lfno_arrayAccess}. - * @param ctx the parse tree - */ - void exitPrimaryNoNewArray_lfno_arrayAccess(Java8Parser.PrimaryNoNewArray_lfno_arrayAccessContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#primaryNoNewArray_lf_primary}. - * @param ctx the parse tree - */ - void enterPrimaryNoNewArray_lf_primary(Java8Parser.PrimaryNoNewArray_lf_primaryContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#primaryNoNewArray_lf_primary}. - * @param ctx the parse tree - */ - void exitPrimaryNoNewArray_lf_primary(Java8Parser.PrimaryNoNewArray_lf_primaryContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#primaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary}. - * @param ctx the parse tree - */ - void enterPrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary(Java8Parser.PrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primaryContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#primaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary}. - * @param ctx the parse tree - */ - void exitPrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary(Java8Parser.PrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primaryContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#primaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary}. - * @param ctx the parse tree - */ - void enterPrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary(Java8Parser.PrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primaryContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#primaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary}. - * @param ctx the parse tree - */ - void exitPrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary(Java8Parser.PrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primaryContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#primaryNoNewArray_lfno_primary}. - * @param ctx the parse tree - */ - void enterPrimaryNoNewArray_lfno_primary(Java8Parser.PrimaryNoNewArray_lfno_primaryContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#primaryNoNewArray_lfno_primary}. - * @param ctx the parse tree - */ - void exitPrimaryNoNewArray_lfno_primary(Java8Parser.PrimaryNoNewArray_lfno_primaryContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#primaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary}. - * @param ctx the parse tree - */ - void enterPrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary(Java8Parser.PrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primaryContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#primaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary}. - * @param ctx the parse tree - */ - void exitPrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary(Java8Parser.PrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primaryContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#primaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary}. - * @param ctx the parse tree - */ - void enterPrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary(Java8Parser.PrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primaryContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#primaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary}. - * @param ctx the parse tree - */ - void exitPrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary(Java8Parser.PrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primaryContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#classInstanceCreationExpression}. - * @param ctx the parse tree - */ - void enterClassInstanceCreationExpression(Java8Parser.ClassInstanceCreationExpressionContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#classInstanceCreationExpression}. - * @param ctx the parse tree - */ - void exitClassInstanceCreationExpression(Java8Parser.ClassInstanceCreationExpressionContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#classInstanceCreationExpression_lf_primary}. - * @param ctx the parse tree - */ - void enterClassInstanceCreationExpression_lf_primary(Java8Parser.ClassInstanceCreationExpression_lf_primaryContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#classInstanceCreationExpression_lf_primary}. - * @param ctx the parse tree - */ - void exitClassInstanceCreationExpression_lf_primary(Java8Parser.ClassInstanceCreationExpression_lf_primaryContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#classInstanceCreationExpression_lfno_primary}. - * @param ctx the parse tree - */ - void enterClassInstanceCreationExpression_lfno_primary(Java8Parser.ClassInstanceCreationExpression_lfno_primaryContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#classInstanceCreationExpression_lfno_primary}. - * @param ctx the parse tree - */ - void exitClassInstanceCreationExpression_lfno_primary(Java8Parser.ClassInstanceCreationExpression_lfno_primaryContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#typeArgumentsOrDiamond}. - * @param ctx the parse tree - */ - void enterTypeArgumentsOrDiamond(Java8Parser.TypeArgumentsOrDiamondContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#typeArgumentsOrDiamond}. - * @param ctx the parse tree - */ - void exitTypeArgumentsOrDiamond(Java8Parser.TypeArgumentsOrDiamondContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#fieldAccess}. - * @param ctx the parse tree - */ - void enterFieldAccess(Java8Parser.FieldAccessContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#fieldAccess}. - * @param ctx the parse tree - */ - void exitFieldAccess(Java8Parser.FieldAccessContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#fieldAccess_lf_primary}. - * @param ctx the parse tree - */ - void enterFieldAccess_lf_primary(Java8Parser.FieldAccess_lf_primaryContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#fieldAccess_lf_primary}. - * @param ctx the parse tree - */ - void exitFieldAccess_lf_primary(Java8Parser.FieldAccess_lf_primaryContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#fieldAccess_lfno_primary}. - * @param ctx the parse tree - */ - void enterFieldAccess_lfno_primary(Java8Parser.FieldAccess_lfno_primaryContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#fieldAccess_lfno_primary}. - * @param ctx the parse tree - */ - void exitFieldAccess_lfno_primary(Java8Parser.FieldAccess_lfno_primaryContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#arrayAccess}. - * @param ctx the parse tree - */ - void enterArrayAccess(Java8Parser.ArrayAccessContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#arrayAccess}. - * @param ctx the parse tree - */ - void exitArrayAccess(Java8Parser.ArrayAccessContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#arrayAccess_lf_primary}. - * @param ctx the parse tree - */ - void enterArrayAccess_lf_primary(Java8Parser.ArrayAccess_lf_primaryContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#arrayAccess_lf_primary}. - * @param ctx the parse tree - */ - void exitArrayAccess_lf_primary(Java8Parser.ArrayAccess_lf_primaryContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#arrayAccess_lfno_primary}. - * @param ctx the parse tree - */ - void enterArrayAccess_lfno_primary(Java8Parser.ArrayAccess_lfno_primaryContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#arrayAccess_lfno_primary}. - * @param ctx the parse tree - */ - void exitArrayAccess_lfno_primary(Java8Parser.ArrayAccess_lfno_primaryContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#methodInvocation}. - * @param ctx the parse tree - */ - void enterMethodInvocation(Java8Parser.MethodInvocationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#methodInvocation}. - * @param ctx the parse tree - */ - void exitMethodInvocation(Java8Parser.MethodInvocationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#methodInvocation_lf_primary}. - * @param ctx the parse tree - */ - void enterMethodInvocation_lf_primary(Java8Parser.MethodInvocation_lf_primaryContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#methodInvocation_lf_primary}. - * @param ctx the parse tree - */ - void exitMethodInvocation_lf_primary(Java8Parser.MethodInvocation_lf_primaryContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#methodInvocation_lfno_primary}. - * @param ctx the parse tree - */ - void enterMethodInvocation_lfno_primary(Java8Parser.MethodInvocation_lfno_primaryContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#methodInvocation_lfno_primary}. - * @param ctx the parse tree - */ - void exitMethodInvocation_lfno_primary(Java8Parser.MethodInvocation_lfno_primaryContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#argumentList}. - * @param ctx the parse tree - */ - void enterArgumentList(Java8Parser.ArgumentListContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#argumentList}. - * @param ctx the parse tree - */ - void exitArgumentList(Java8Parser.ArgumentListContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#methodReference}. - * @param ctx the parse tree - */ - void enterMethodReference(Java8Parser.MethodReferenceContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#methodReference}. - * @param ctx the parse tree - */ - void exitMethodReference(Java8Parser.MethodReferenceContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#methodReference_lf_primary}. - * @param ctx the parse tree - */ - void enterMethodReference_lf_primary(Java8Parser.MethodReference_lf_primaryContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#methodReference_lf_primary}. - * @param ctx the parse tree - */ - void exitMethodReference_lf_primary(Java8Parser.MethodReference_lf_primaryContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#methodReference_lfno_primary}. - * @param ctx the parse tree - */ - void enterMethodReference_lfno_primary(Java8Parser.MethodReference_lfno_primaryContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#methodReference_lfno_primary}. - * @param ctx the parse tree - */ - void exitMethodReference_lfno_primary(Java8Parser.MethodReference_lfno_primaryContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#arrayCreationExpression}. - * @param ctx the parse tree - */ - void enterArrayCreationExpression(Java8Parser.ArrayCreationExpressionContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#arrayCreationExpression}. - * @param ctx the parse tree - */ - void exitArrayCreationExpression(Java8Parser.ArrayCreationExpressionContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#dimExprs}. - * @param ctx the parse tree - */ - void enterDimExprs(Java8Parser.DimExprsContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#dimExprs}. - * @param ctx the parse tree - */ - void exitDimExprs(Java8Parser.DimExprsContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#dimExpr}. - * @param ctx the parse tree - */ - void enterDimExpr(Java8Parser.DimExprContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#dimExpr}. - * @param ctx the parse tree - */ - void exitDimExpr(Java8Parser.DimExprContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#constantExpression}. - * @param ctx the parse tree - */ - void enterConstantExpression(Java8Parser.ConstantExpressionContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#constantExpression}. - * @param ctx the parse tree - */ - void exitConstantExpression(Java8Parser.ConstantExpressionContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#expression}. - * @param ctx the parse tree - */ - void enterExpression(Java8Parser.ExpressionContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#expression}. - * @param ctx the parse tree - */ - void exitExpression(Java8Parser.ExpressionContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#lambdaExpression}. - * @param ctx the parse tree - */ - void enterLambdaExpression(Java8Parser.LambdaExpressionContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#lambdaExpression}. - * @param ctx the parse tree - */ - void exitLambdaExpression(Java8Parser.LambdaExpressionContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#lambdaParameters}. - * @param ctx the parse tree - */ - void enterLambdaParameters(Java8Parser.LambdaParametersContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#lambdaParameters}. - * @param ctx the parse tree - */ - void exitLambdaParameters(Java8Parser.LambdaParametersContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#inferredFormalParameterList}. - * @param ctx the parse tree - */ - void enterInferredFormalParameterList(Java8Parser.InferredFormalParameterListContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#inferredFormalParameterList}. - * @param ctx the parse tree - */ - void exitInferredFormalParameterList(Java8Parser.InferredFormalParameterListContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#lambdaBody}. - * @param ctx the parse tree - */ - void enterLambdaBody(Java8Parser.LambdaBodyContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#lambdaBody}. - * @param ctx the parse tree - */ - void exitLambdaBody(Java8Parser.LambdaBodyContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#assignmentExpression}. - * @param ctx the parse tree - */ - void enterAssignmentExpression(Java8Parser.AssignmentExpressionContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#assignmentExpression}. - * @param ctx the parse tree - */ - void exitAssignmentExpression(Java8Parser.AssignmentExpressionContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#assignment}. - * @param ctx the parse tree - */ - void enterAssignment(Java8Parser.AssignmentContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#assignment}. - * @param ctx the parse tree - */ - void exitAssignment(Java8Parser.AssignmentContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#leftHandSide}. - * @param ctx the parse tree - */ - void enterLeftHandSide(Java8Parser.LeftHandSideContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#leftHandSide}. - * @param ctx the parse tree - */ - void exitLeftHandSide(Java8Parser.LeftHandSideContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#assignmentOperator}. - * @param ctx the parse tree - */ - void enterAssignmentOperator(Java8Parser.AssignmentOperatorContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#assignmentOperator}. - * @param ctx the parse tree - */ - void exitAssignmentOperator(Java8Parser.AssignmentOperatorContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#conditionalExpression}. - * @param ctx the parse tree - */ - void enterConditionalExpression(Java8Parser.ConditionalExpressionContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#conditionalExpression}. - * @param ctx the parse tree - */ - void exitConditionalExpression(Java8Parser.ConditionalExpressionContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#conditionalOrExpression}. - * @param ctx the parse tree - */ - void enterConditionalOrExpression(Java8Parser.ConditionalOrExpressionContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#conditionalOrExpression}. - * @param ctx the parse tree - */ - void exitConditionalOrExpression(Java8Parser.ConditionalOrExpressionContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#conditionalAndExpression}. - * @param ctx the parse tree - */ - void enterConditionalAndExpression(Java8Parser.ConditionalAndExpressionContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#conditionalAndExpression}. - * @param ctx the parse tree - */ - void exitConditionalAndExpression(Java8Parser.ConditionalAndExpressionContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#inclusiveOrExpression}. - * @param ctx the parse tree - */ - void enterInclusiveOrExpression(Java8Parser.InclusiveOrExpressionContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#inclusiveOrExpression}. - * @param ctx the parse tree - */ - void exitInclusiveOrExpression(Java8Parser.InclusiveOrExpressionContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#exclusiveOrExpression}. - * @param ctx the parse tree - */ - void enterExclusiveOrExpression(Java8Parser.ExclusiveOrExpressionContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#exclusiveOrExpression}. - * @param ctx the parse tree - */ - void exitExclusiveOrExpression(Java8Parser.ExclusiveOrExpressionContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#andExpression}. - * @param ctx the parse tree - */ - void enterAndExpression(Java8Parser.AndExpressionContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#andExpression}. - * @param ctx the parse tree - */ - void exitAndExpression(Java8Parser.AndExpressionContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#equalityExpression}. - * @param ctx the parse tree - */ - void enterEqualityExpression(Java8Parser.EqualityExpressionContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#equalityExpression}. - * @param ctx the parse tree - */ - void exitEqualityExpression(Java8Parser.EqualityExpressionContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#relationalExpression}. - * @param ctx the parse tree - */ - void enterRelationalExpression(Java8Parser.RelationalExpressionContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#relationalExpression}. - * @param ctx the parse tree - */ - void exitRelationalExpression(Java8Parser.RelationalExpressionContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#shiftExpression}. - * @param ctx the parse tree - */ - void enterShiftExpression(Java8Parser.ShiftExpressionContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#shiftExpression}. - * @param ctx the parse tree - */ - void exitShiftExpression(Java8Parser.ShiftExpressionContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#additiveExpression}. - * @param ctx the parse tree - */ - void enterAdditiveExpression(Java8Parser.AdditiveExpressionContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#additiveExpression}. - * @param ctx the parse tree - */ - void exitAdditiveExpression(Java8Parser.AdditiveExpressionContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#multiplicativeExpression}. - * @param ctx the parse tree - */ - void enterMultiplicativeExpression(Java8Parser.MultiplicativeExpressionContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#multiplicativeExpression}. - * @param ctx the parse tree - */ - void exitMultiplicativeExpression(Java8Parser.MultiplicativeExpressionContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#unaryExpression}. - * @param ctx the parse tree - */ - void enterUnaryExpression(Java8Parser.UnaryExpressionContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#unaryExpression}. - * @param ctx the parse tree - */ - void exitUnaryExpression(Java8Parser.UnaryExpressionContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#preIncrementExpression}. - * @param ctx the parse tree - */ - void enterPreIncrementExpression(Java8Parser.PreIncrementExpressionContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#preIncrementExpression}. - * @param ctx the parse tree - */ - void exitPreIncrementExpression(Java8Parser.PreIncrementExpressionContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#preDecrementExpression}. - * @param ctx the parse tree - */ - void enterPreDecrementExpression(Java8Parser.PreDecrementExpressionContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#preDecrementExpression}. - * @param ctx the parse tree - */ - void exitPreDecrementExpression(Java8Parser.PreDecrementExpressionContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#unaryExpressionNotPlusMinus}. - * @param ctx the parse tree - */ - void enterUnaryExpressionNotPlusMinus(Java8Parser.UnaryExpressionNotPlusMinusContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#unaryExpressionNotPlusMinus}. - * @param ctx the parse tree - */ - void exitUnaryExpressionNotPlusMinus(Java8Parser.UnaryExpressionNotPlusMinusContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#postfixExpression}. - * @param ctx the parse tree - */ - void enterPostfixExpression(Java8Parser.PostfixExpressionContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#postfixExpression}. - * @param ctx the parse tree - */ - void exitPostfixExpression(Java8Parser.PostfixExpressionContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#postIncrementExpression}. - * @param ctx the parse tree - */ - void enterPostIncrementExpression(Java8Parser.PostIncrementExpressionContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#postIncrementExpression}. - * @param ctx the parse tree - */ - void exitPostIncrementExpression(Java8Parser.PostIncrementExpressionContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#postIncrementExpression_lf_postfixExpression}. - * @param ctx the parse tree - */ - void enterPostIncrementExpression_lf_postfixExpression(Java8Parser.PostIncrementExpression_lf_postfixExpressionContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#postIncrementExpression_lf_postfixExpression}. - * @param ctx the parse tree - */ - void exitPostIncrementExpression_lf_postfixExpression(Java8Parser.PostIncrementExpression_lf_postfixExpressionContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#postDecrementExpression}. - * @param ctx the parse tree - */ - void enterPostDecrementExpression(Java8Parser.PostDecrementExpressionContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#postDecrementExpression}. - * @param ctx the parse tree - */ - void exitPostDecrementExpression(Java8Parser.PostDecrementExpressionContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#postDecrementExpression_lf_postfixExpression}. - * @param ctx the parse tree - */ - void enterPostDecrementExpression_lf_postfixExpression(Java8Parser.PostDecrementExpression_lf_postfixExpressionContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#postDecrementExpression_lf_postfixExpression}. - * @param ctx the parse tree - */ - void exitPostDecrementExpression_lf_postfixExpression(Java8Parser.PostDecrementExpression_lf_postfixExpressionContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#castExpression}. - * @param ctx the parse tree - */ - void enterCastExpression(Java8Parser.CastExpressionContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#castExpression}. - * @param ctx the parse tree - */ - void exitCastExpression(Java8Parser.CastExpressionContext ctx); -} \ No newline at end of file diff --git a/src/de/dhbwstuttgart/parser/antlr/Java8Parser.java b/src/de/dhbwstuttgart/parser/antlr/Java8Parser.java deleted file mode 100644 index d2a844537..000000000 --- a/src/de/dhbwstuttgart/parser/antlr/Java8Parser.java +++ /dev/null @@ -1,18764 +0,0 @@ -// Generated from Java8.g4 by ANTLR 4.7 -package de.dhbwstuttgart.parser.antlr; -import org.antlr.v4.runtime.atn.*; -import org.antlr.v4.runtime.dfa.DFA; -import org.antlr.v4.runtime.*; -import org.antlr.v4.runtime.misc.*; -import org.antlr.v4.runtime.tree.*; -import java.util.List; -import java.util.Iterator; -import java.util.ArrayList; - -@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) -public class Java8Parser extends Parser { - static { RuntimeMetaData.checkVersion("4.7", RuntimeMetaData.VERSION); } - - protected static final DFA[] _decisionToDFA; - protected static final PredictionContextCache _sharedContextCache = - new PredictionContextCache(); - public static final int - T__0=1, ABSTRACT=2, ASSERT=3, BOOLEAN=4, BREAK=5, BYTE=6, CASE=7, CATCH=8, - CHAR=9, CLASS=10, CONST=11, CONTINUE=12, DEFAULT=13, DO=14, DOUBLE=15, - ELSE=16, ENUM=17, EXTENDS=18, FINAL=19, FINALLY=20, FLOAT=21, FOR=22, - IF=23, GOTO=24, IMPLEMENTS=25, IMPORT=26, INSTANCEOF=27, INT=28, INTERFACE=29, - LONG=30, NATIVE=31, NEW=32, PACKAGE=33, PRIVATE=34, PROTECTED=35, PUBLIC=36, - RETURN=37, SHORT=38, STATIC=39, STRICTFP=40, SUPER=41, SWITCH=42, SYNCHRONIZED=43, - THIS=44, THROW=45, THROWS=46, TRANSIENT=47, TRY=48, VOID=49, VOLATILE=50, - WHILE=51, IntegerLiteral=52, FloatingPointLiteral=53, BooleanLiteral=54, - CharacterLiteral=55, StringLiteral=56, NullLiteral=57, LPAREN=58, RPAREN=59, - LBRACE=60, RBRACE=61, LBRACK=62, RBRACK=63, SEMI=64, COMMA=65, DOT=66, - ASSIGN=67, GT=68, LT=69, BANG=70, TILDE=71, QUESTION=72, COLON=73, EQUAL=74, - LE=75, GE=76, NOTEQUAL=77, AND=78, OR=79, INC=80, DEC=81, ADD=82, SUB=83, - MUL=84, DIV=85, BITAND=86, BITOR=87, CARET=88, MOD=89, ARROW=90, COLONCOLON=91, - ADD_ASSIGN=92, SUB_ASSIGN=93, MUL_ASSIGN=94, DIV_ASSIGN=95, AND_ASSIGN=96, - OR_ASSIGN=97, XOR_ASSIGN=98, MOD_ASSIGN=99, LSHIFT_ASSIGN=100, RSHIFT_ASSIGN=101, - URSHIFT_ASSIGN=102, Identifier=103, AT=104, ELLIPSIS=105, WS=106, COMMENT=107, - LINE_COMMENT=108; - public static final int - RULE_literal = 0, RULE_type = 1, RULE_primitiveType = 2, RULE_numericType = 3, - RULE_integralType = 4, RULE_floatingPointType = 5, RULE_referenceType = 6, - RULE_classOrInterfaceType = 7, RULE_classType = 8, RULE_classType_lf_classOrInterfaceType = 9, - RULE_classType_lfno_classOrInterfaceType = 10, RULE_interfaceType = 11, - RULE_interfaceType_lf_classOrInterfaceType = 12, RULE_interfaceType_lfno_classOrInterfaceType = 13, - RULE_typeVariable = 14, RULE_arrayType = 15, RULE_dims = 16, RULE_typeParameter = 17, - RULE_typeParameterModifier = 18, RULE_typeBound = 19, RULE_additionalBound = 20, - RULE_typeArguments = 21, RULE_typeArgumentList = 22, RULE_typeArgument = 23, - RULE_wildcard = 24, RULE_wildcardBounds = 25, RULE_packageName = 26, RULE_typeName = 27, - RULE_packageOrTypeName = 28, RULE_expressionName = 29, RULE_methodName = 30, - RULE_ambiguousName = 31, RULE_compilationUnit = 32, RULE_packageDeclaration = 33, - RULE_packageModifier = 34, RULE_importDeclaration = 35, RULE_singleTypeImportDeclaration = 36, - RULE_typeImportOnDemandDeclaration = 37, RULE_singleStaticImportDeclaration = 38, - RULE_staticImportOnDemandDeclaration = 39, RULE_typeDeclaration = 40, - RULE_classDeclaration = 41, RULE_normalClassDeclaration = 42, RULE_classModifier = 43, - RULE_typeParameters = 44, RULE_typeParameterList = 45, RULE_superclass = 46, - RULE_superinterfaces = 47, RULE_interfaceTypeList = 48, RULE_classBody = 49, - RULE_classBodyDeclaration = 50, RULE_classMemberDeclaration = 51, RULE_fieldDeclaration = 52, - RULE_fieldModifier = 53, RULE_variableDeclaratorList = 54, RULE_variableDeclarator = 55, - RULE_variableDeclaratorId = 56, RULE_variableInitializer = 57, RULE_unannType = 58, - RULE_unannPrimitiveType = 59, RULE_unannReferenceType = 60, RULE_unannClassOrInterfaceType = 61, - RULE_unannClassType = 62, RULE_unannClassType_lf_unannClassOrInterfaceType = 63, - RULE_unannClassType_lfno_unannClassOrInterfaceType = 64, RULE_unannInterfaceType = 65, - RULE_unannInterfaceType_lf_unannClassOrInterfaceType = 66, RULE_unannInterfaceType_lfno_unannClassOrInterfaceType = 67, - RULE_unannTypeVariable = 68, RULE_unannArrayType = 69, RULE_methodDeclaration = 70, - RULE_methodModifier = 71, RULE_methodHeader = 72, RULE_result = 73, RULE_methodDeclarator = 74, - RULE_formalParameterList = 75, RULE_formalParameters = 76, RULE_formalParameter = 77, - RULE_variableModifier = 78, RULE_lastFormalParameter = 79, RULE_receiverParameter = 80, - RULE_throws_ = 81, RULE_exceptionTypeList = 82, RULE_exceptionType = 83, - RULE_methodBody = 84, RULE_instanceInitializer = 85, RULE_staticInitializer = 86, - RULE_constructorDeclaration = 87, RULE_constructorModifier = 88, RULE_constructorDeclarator = 89, - RULE_simpleTypeName = 90, RULE_constructorBody = 91, RULE_explicitConstructorInvocation = 92, - RULE_enumDeclaration = 93, RULE_enumBody = 94, RULE_enumConstantList = 95, - RULE_enumConstant = 96, RULE_enumConstantModifier = 97, RULE_enumBodyDeclarations = 98, - RULE_interfaceDeclaration = 99, RULE_normalInterfaceDeclaration = 100, - RULE_interfaceModifier = 101, RULE_extendsInterfaces = 102, RULE_interfaceBody = 103, - RULE_interfaceMemberDeclaration = 104, RULE_constantDeclaration = 105, - RULE_constantModifier = 106, RULE_interfaceMethodDeclaration = 107, RULE_interfaceMethodModifier = 108, - RULE_annotationTypeDeclaration = 109, RULE_annotationTypeBody = 110, RULE_annotationTypeMemberDeclaration = 111, - RULE_annotationTypeElementDeclaration = 112, RULE_annotationTypeElementModifier = 113, - RULE_defaultValue = 114, RULE_annotation = 115, RULE_normalAnnotation = 116, - RULE_elementValuePairList = 117, RULE_elementValuePair = 118, RULE_elementValue = 119, - RULE_elementValueArrayInitializer = 120, RULE_elementValueList = 121, - RULE_markerAnnotation = 122, RULE_singleElementAnnotation = 123, RULE_arrayInitializer = 124, - RULE_variableInitializerList = 125, RULE_block = 126, RULE_blockStatements = 127, - RULE_blockStatement = 128, RULE_localVariableDeclarationStatement = 129, - RULE_unannTypeOrAuto = 130, RULE_localVariableDeclaration = 131, RULE_statement = 132, - RULE_statementNoShortIf = 133, RULE_statementWithoutTrailingSubstatement = 134, - RULE_emptyStatement = 135, RULE_labeledStatement = 136, RULE_labeledStatementNoShortIf = 137, - RULE_expressionStatement = 138, RULE_statementExpression = 139, RULE_ifThenStatement = 140, - RULE_ifThenElseStatement = 141, RULE_ifThenElseStatementNoShortIf = 142, - RULE_assertStatement = 143, RULE_switchStatement = 144, RULE_switchBlock = 145, - RULE_switchBlockStatementGroup = 146, RULE_switchLabels = 147, RULE_switchLabel = 148, - RULE_enumConstantName = 149, RULE_whileStatement = 150, RULE_whileStatementNoShortIf = 151, - RULE_doStatement = 152, RULE_forStatement = 153, RULE_forStatementNoShortIf = 154, - RULE_basicForStatement = 155, RULE_basicForStatementNoShortIf = 156, RULE_forInit = 157, - RULE_forUpdate = 158, RULE_statementExpressionList = 159, RULE_enhancedForStatement = 160, - RULE_enhancedForStatementNoShortIf = 161, RULE_breakStatement = 162, RULE_continueStatement = 163, - RULE_returnStatement = 164, RULE_throwStatement = 165, RULE_synchronizedStatement = 166, - RULE_tryStatement = 167, RULE_catches = 168, RULE_catchClause = 169, RULE_catchFormalParameter = 170, - RULE_catchType = 171, RULE_finally_ = 172, RULE_tryWithResourcesStatement = 173, - RULE_resourceSpecification = 174, RULE_resourceList = 175, RULE_resource = 176, - RULE_primary = 177, RULE_primaryNoNewArray = 178, RULE_primaryNoNewArray_lf_arrayAccess = 179, - RULE_primaryNoNewArray_lfno_arrayAccess = 180, RULE_primaryNoNewArray_lf_primary = 181, - RULE_primaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary = 182, RULE_primaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary = 183, - RULE_primaryNoNewArray_lfno_primary = 184, RULE_primaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary = 185, - RULE_primaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary = 186, - RULE_classInstanceCreationExpression = 187, RULE_classInstanceCreationExpression_lf_primary = 188, - RULE_classInstanceCreationExpression_lfno_primary = 189, RULE_typeArgumentsOrDiamond = 190, - RULE_fieldAccess = 191, RULE_fieldAccess_lf_primary = 192, RULE_fieldAccess_lfno_primary = 193, - RULE_arrayAccess = 194, RULE_arrayAccess_lf_primary = 195, RULE_arrayAccess_lfno_primary = 196, - RULE_methodInvocation = 197, RULE_methodInvocation_lf_primary = 198, RULE_methodInvocation_lfno_primary = 199, - RULE_argumentList = 200, RULE_methodReference = 201, RULE_methodReference_lf_primary = 202, - RULE_methodReference_lfno_primary = 203, RULE_arrayCreationExpression = 204, - RULE_dimExprs = 205, RULE_dimExpr = 206, RULE_constantExpression = 207, - RULE_expression = 208, RULE_lambdaExpression = 209, RULE_lambdaParameters = 210, - RULE_inferredFormalParameterList = 211, RULE_lambdaBody = 212, RULE_assignmentExpression = 213, - RULE_assignment = 214, RULE_leftHandSide = 215, RULE_assignmentOperator = 216, - RULE_conditionalExpression = 217, RULE_conditionalOrExpression = 218, - RULE_conditionalAndExpression = 219, RULE_inclusiveOrExpression = 220, - RULE_exclusiveOrExpression = 221, RULE_andExpression = 222, RULE_equalityExpression = 223, - RULE_relationalExpression = 224, RULE_shiftExpression = 225, RULE_additiveExpression = 226, - RULE_multiplicativeExpression = 227, RULE_unaryExpression = 228, RULE_preIncrementExpression = 229, - RULE_preDecrementExpression = 230, RULE_unaryExpressionNotPlusMinus = 231, - RULE_postfixExpression = 232, RULE_postIncrementExpression = 233, RULE_postIncrementExpression_lf_postfixExpression = 234, - RULE_postDecrementExpression = 235, RULE_postDecrementExpression_lf_postfixExpression = 236, - RULE_castExpression = 237; - public static final String[] ruleNames = { - "literal", "type", "primitiveType", "numericType", "integralType", "floatingPointType", - "referenceType", "classOrInterfaceType", "classType", "classType_lf_classOrInterfaceType", - "classType_lfno_classOrInterfaceType", "interfaceType", "interfaceType_lf_classOrInterfaceType", - "interfaceType_lfno_classOrInterfaceType", "typeVariable", "arrayType", - "dims", "typeParameter", "typeParameterModifier", "typeBound", "additionalBound", - "typeArguments", "typeArgumentList", "typeArgument", "wildcard", "wildcardBounds", - "packageName", "typeName", "packageOrTypeName", "expressionName", "methodName", - "ambiguousName", "compilationUnit", "packageDeclaration", "packageModifier", - "importDeclaration", "singleTypeImportDeclaration", "typeImportOnDemandDeclaration", - "singleStaticImportDeclaration", "staticImportOnDemandDeclaration", "typeDeclaration", - "classDeclaration", "normalClassDeclaration", "classModifier", "typeParameters", - "typeParameterList", "superclass", "superinterfaces", "interfaceTypeList", - "classBody", "classBodyDeclaration", "classMemberDeclaration", "fieldDeclaration", - "fieldModifier", "variableDeclaratorList", "variableDeclarator", "variableDeclaratorId", - "variableInitializer", "unannType", "unannPrimitiveType", "unannReferenceType", - "unannClassOrInterfaceType", "unannClassType", "unannClassType_lf_unannClassOrInterfaceType", - "unannClassType_lfno_unannClassOrInterfaceType", "unannInterfaceType", - "unannInterfaceType_lf_unannClassOrInterfaceType", "unannInterfaceType_lfno_unannClassOrInterfaceType", - "unannTypeVariable", "unannArrayType", "methodDeclaration", "methodModifier", - "methodHeader", "result", "methodDeclarator", "formalParameterList", "formalParameters", - "formalParameter", "variableModifier", "lastFormalParameter", "receiverParameter", - "throws_", "exceptionTypeList", "exceptionType", "methodBody", "instanceInitializer", - "staticInitializer", "constructorDeclaration", "constructorModifier", - "constructorDeclarator", "simpleTypeName", "constructorBody", "explicitConstructorInvocation", - "enumDeclaration", "enumBody", "enumConstantList", "enumConstant", "enumConstantModifier", - "enumBodyDeclarations", "interfaceDeclaration", "normalInterfaceDeclaration", - "interfaceModifier", "extendsInterfaces", "interfaceBody", "interfaceMemberDeclaration", - "constantDeclaration", "constantModifier", "interfaceMethodDeclaration", - "interfaceMethodModifier", "annotationTypeDeclaration", "annotationTypeBody", - "annotationTypeMemberDeclaration", "annotationTypeElementDeclaration", - "annotationTypeElementModifier", "defaultValue", "annotation", "normalAnnotation", - "elementValuePairList", "elementValuePair", "elementValue", "elementValueArrayInitializer", - "elementValueList", "markerAnnotation", "singleElementAnnotation", "arrayInitializer", - "variableInitializerList", "block", "blockStatements", "blockStatement", - "localVariableDeclarationStatement", "unannTypeOrAuto", "localVariableDeclaration", - "statement", "statementNoShortIf", "statementWithoutTrailingSubstatement", - "emptyStatement", "labeledStatement", "labeledStatementNoShortIf", "expressionStatement", - "statementExpression", "ifThenStatement", "ifThenElseStatement", "ifThenElseStatementNoShortIf", - "assertStatement", "switchStatement", "switchBlock", "switchBlockStatementGroup", - "switchLabels", "switchLabel", "enumConstantName", "whileStatement", "whileStatementNoShortIf", - "doStatement", "forStatement", "forStatementNoShortIf", "basicForStatement", - "basicForStatementNoShortIf", "forInit", "forUpdate", "statementExpressionList", - "enhancedForStatement", "enhancedForStatementNoShortIf", "breakStatement", - "continueStatement", "returnStatement", "throwStatement", "synchronizedStatement", - "tryStatement", "catches", "catchClause", "catchFormalParameter", "catchType", - "finally_", "tryWithResourcesStatement", "resourceSpecification", "resourceList", - "resource", "primary", "primaryNoNewArray", "primaryNoNewArray_lf_arrayAccess", - "primaryNoNewArray_lfno_arrayAccess", "primaryNoNewArray_lf_primary", - "primaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary", "primaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary", - "primaryNoNewArray_lfno_primary", "primaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary", - "primaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary", "classInstanceCreationExpression", - "classInstanceCreationExpression_lf_primary", "classInstanceCreationExpression_lfno_primary", - "typeArgumentsOrDiamond", "fieldAccess", "fieldAccess_lf_primary", "fieldAccess_lfno_primary", - "arrayAccess", "arrayAccess_lf_primary", "arrayAccess_lfno_primary", "methodInvocation", - "methodInvocation_lf_primary", "methodInvocation_lfno_primary", "argumentList", - "methodReference", "methodReference_lf_primary", "methodReference_lfno_primary", - "arrayCreationExpression", "dimExprs", "dimExpr", "constantExpression", - "expression", "lambdaExpression", "lambdaParameters", "inferredFormalParameterList", - "lambdaBody", "assignmentExpression", "assignment", "leftHandSide", "assignmentOperator", - "conditionalExpression", "conditionalOrExpression", "conditionalAndExpression", - "inclusiveOrExpression", "exclusiveOrExpression", "andExpression", "equalityExpression", - "relationalExpression", "shiftExpression", "additiveExpression", "multiplicativeExpression", - "unaryExpression", "preIncrementExpression", "preDecrementExpression", - "unaryExpressionNotPlusMinus", "postfixExpression", "postIncrementExpression", - "postIncrementExpression_lf_postfixExpression", "postDecrementExpression", - "postDecrementExpression_lf_postfixExpression", "castExpression" - }; - - private static final String[] _LITERAL_NAMES = { - null, "'var'", "'abstract'", "'assert'", "'boolean'", "'break'", "'byte'", - "'case'", "'catch'", "'char'", "'class'", "'const'", "'continue'", "'default'", - "'do'", "'double'", "'else'", "'enum'", "'extends'", "'final'", "'finally'", - "'float'", "'for'", "'if'", "'goto'", "'implements'", "'import'", "'instanceof'", - "'int'", "'interface'", "'long'", "'native'", "'new'", "'package'", "'private'", - "'protected'", "'public'", "'return'", "'short'", "'static'", "'strictfp'", - "'super'", "'switch'", "'synchronized'", "'this'", "'throw'", "'throws'", - "'transient'", "'try'", "'void'", "'volatile'", "'while'", null, null, - null, null, null, "'null'", "'('", "')'", "'{'", "'}'", "'['", "']'", - "';'", "','", "'.'", "'='", "'>'", "'<'", "'!'", "'~'", "'?'", "':'", - "'=='", "'<='", "'>='", "'!='", "'&&'", "'||'", "'++'", "'--'", "'+'", - "'-'", "'*'", "'/'", "'&'", "'|'", "'^'", "'%'", "'->'", "'::'", "'+='", - "'-='", "'*='", "'/='", "'&='", "'|='", "'^='", "'%='", "'<<='", "'>>='", - "'>>>='", null, "'@'", "'...'" - }; - private static final String[] _SYMBOLIC_NAMES = { - null, null, "ABSTRACT", "ASSERT", "BOOLEAN", "BREAK", "BYTE", "CASE", - "CATCH", "CHAR", "CLASS", "CONST", "CONTINUE", "DEFAULT", "DO", "DOUBLE", - "ELSE", "ENUM", "EXTENDS", "FINAL", "FINALLY", "FLOAT", "FOR", "IF", "GOTO", - "IMPLEMENTS", "IMPORT", "INSTANCEOF", "INT", "INTERFACE", "LONG", "NATIVE", - "NEW", "PACKAGE", "PRIVATE", "PROTECTED", "PUBLIC", "RETURN", "SHORT", - "STATIC", "STRICTFP", "SUPER", "SWITCH", "SYNCHRONIZED", "THIS", "THROW", - "THROWS", "TRANSIENT", "TRY", "VOID", "VOLATILE", "WHILE", "IntegerLiteral", - "FloatingPointLiteral", "BooleanLiteral", "CharacterLiteral", "StringLiteral", - "NullLiteral", "LPAREN", "RPAREN", "LBRACE", "RBRACE", "LBRACK", "RBRACK", - "SEMI", "COMMA", "DOT", "ASSIGN", "GT", "LT", "BANG", "TILDE", "QUESTION", - "COLON", "EQUAL", "LE", "GE", "NOTEQUAL", "AND", "OR", "INC", "DEC", "ADD", - "SUB", "MUL", "DIV", "BITAND", "BITOR", "CARET", "MOD", "ARROW", "COLONCOLON", - "ADD_ASSIGN", "SUB_ASSIGN", "MUL_ASSIGN", "DIV_ASSIGN", "AND_ASSIGN", - "OR_ASSIGN", "XOR_ASSIGN", "MOD_ASSIGN", "LSHIFT_ASSIGN", "RSHIFT_ASSIGN", - "URSHIFT_ASSIGN", "Identifier", "AT", "ELLIPSIS", "WS", "COMMENT", "LINE_COMMENT" - }; - public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); - - /** - * @deprecated Use {@link #VOCABULARY} instead. - */ - @Deprecated - public static final String[] tokenNames; - static { - tokenNames = new String[_SYMBOLIC_NAMES.length]; - for (int i = 0; i < tokenNames.length; i++) { - tokenNames[i] = VOCABULARY.getLiteralName(i); - if (tokenNames[i] == null) { - tokenNames[i] = VOCABULARY.getSymbolicName(i); - } - - if (tokenNames[i] == null) { - tokenNames[i] = ""; - } - } - } - - @Override - @Deprecated - public String[] getTokenNames() { - return tokenNames; - } - - @Override - - public Vocabulary getVocabulary() { - return VOCABULARY; - } - - @Override - public String getGrammarFileName() { return "Java8.g4"; } - - @Override - public String[] getRuleNames() { return ruleNames; } - - @Override - public String getSerializedATN() { return _serializedATN; } - - @Override - public ATN getATN() { return _ATN; } - - public Java8Parser(TokenStream input) { - super(input); - _interp = new ParserATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); - } - public static class LiteralContext extends ParserRuleContext { - public TerminalNode IntegerLiteral() { return getToken(Java8Parser.IntegerLiteral, 0); } - public TerminalNode FloatingPointLiteral() { return getToken(Java8Parser.FloatingPointLiteral, 0); } - public TerminalNode BooleanLiteral() { return getToken(Java8Parser.BooleanLiteral, 0); } - public TerminalNode CharacterLiteral() { return getToken(Java8Parser.CharacterLiteral, 0); } - public TerminalNode StringLiteral() { return getToken(Java8Parser.StringLiteral, 0); } - public TerminalNode NullLiteral() { return getToken(Java8Parser.NullLiteral, 0); } - public LiteralContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_literal; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterLiteral(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitLiteral(this); - } - } - - public final LiteralContext literal() throws RecognitionException { - LiteralContext _localctx = new LiteralContext(_ctx, getState()); - enterRule(_localctx, 0, RULE_literal); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(476); - _la = _input.LA(1); - if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral))) != 0)) ) { - _errHandler.recoverInline(this); - } - else { - if ( _input.LA(1)==Token.EOF ) matchedEOF = true; - _errHandler.reportMatch(this); - consume(); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class TypeContext extends ParserRuleContext { - public PrimitiveTypeContext primitiveType() { - return getRuleContext(PrimitiveTypeContext.class,0); - } - public ReferenceTypeContext referenceType() { - return getRuleContext(ReferenceTypeContext.class,0); - } - public TypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_type; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterType(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitType(this); - } - } - - public final TypeContext type() throws RecognitionException { - TypeContext _localctx = new TypeContext(_ctx, getState()); - enterRule(_localctx, 2, RULE_type); - try { - setState(480); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,0,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(478); - primitiveType(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(479); - referenceType(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PrimitiveTypeContext extends ParserRuleContext { - public NumericTypeContext numericType() { - return getRuleContext(NumericTypeContext.class,0); - } - public List annotation() { - return getRuleContexts(AnnotationContext.class); - } - public AnnotationContext annotation(int i) { - return getRuleContext(AnnotationContext.class,i); - } - public PrimitiveTypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_primitiveType; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPrimitiveType(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPrimitiveType(this); - } - } - - public final PrimitiveTypeContext primitiveType() throws RecognitionException { - PrimitiveTypeContext _localctx = new PrimitiveTypeContext(_ctx, getState()); - enterRule(_localctx, 4, RULE_primitiveType); - int _la; - try { - setState(496); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,3,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(485); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==AT) { - { - { - setState(482); - annotation(); - } - } - setState(487); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(488); - numericType(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(492); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==AT) { - { - { - setState(489); - annotation(); - } - } - setState(494); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(495); - match(BOOLEAN); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class NumericTypeContext extends ParserRuleContext { - public IntegralTypeContext integralType() { - return getRuleContext(IntegralTypeContext.class,0); - } - public FloatingPointTypeContext floatingPointType() { - return getRuleContext(FloatingPointTypeContext.class,0); - } - public NumericTypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_numericType; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterNumericType(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitNumericType(this); - } - } - - public final NumericTypeContext numericType() throws RecognitionException { - NumericTypeContext _localctx = new NumericTypeContext(_ctx, getState()); - enterRule(_localctx, 6, RULE_numericType); - try { - setState(500); - _errHandler.sync(this); - switch (_input.LA(1)) { - case BYTE: - case CHAR: - case INT: - case LONG: - case SHORT: - enterOuterAlt(_localctx, 1); - { - setState(498); - integralType(); - } - break; - case DOUBLE: - case FLOAT: - enterOuterAlt(_localctx, 2); - { - setState(499); - floatingPointType(); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class IntegralTypeContext extends ParserRuleContext { - public IntegralTypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_integralType; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterIntegralType(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitIntegralType(this); - } - } - - public final IntegralTypeContext integralType() throws RecognitionException { - IntegralTypeContext _localctx = new IntegralTypeContext(_ctx, getState()); - enterRule(_localctx, 8, RULE_integralType); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(502); - _la = _input.LA(1); - if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BYTE) | (1L << CHAR) | (1L << INT) | (1L << LONG) | (1L << SHORT))) != 0)) ) { - _errHandler.recoverInline(this); - } - else { - if ( _input.LA(1)==Token.EOF ) matchedEOF = true; - _errHandler.reportMatch(this); - consume(); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class FloatingPointTypeContext extends ParserRuleContext { - public FloatingPointTypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_floatingPointType; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterFloatingPointType(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitFloatingPointType(this); - } - } - - public final FloatingPointTypeContext floatingPointType() throws RecognitionException { - FloatingPointTypeContext _localctx = new FloatingPointTypeContext(_ctx, getState()); - enterRule(_localctx, 10, RULE_floatingPointType); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(504); - _la = _input.LA(1); - if ( !(_la==DOUBLE || _la==FLOAT) ) { - _errHandler.recoverInline(this); - } - else { - if ( _input.LA(1)==Token.EOF ) matchedEOF = true; - _errHandler.reportMatch(this); - consume(); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ReferenceTypeContext extends ParserRuleContext { - public ClassOrInterfaceTypeContext classOrInterfaceType() { - return getRuleContext(ClassOrInterfaceTypeContext.class,0); - } - public TypeVariableContext typeVariable() { - return getRuleContext(TypeVariableContext.class,0); - } - public ArrayTypeContext arrayType() { - return getRuleContext(ArrayTypeContext.class,0); - } - public ReferenceTypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_referenceType; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterReferenceType(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitReferenceType(this); - } - } - - public final ReferenceTypeContext referenceType() throws RecognitionException { - ReferenceTypeContext _localctx = new ReferenceTypeContext(_ctx, getState()); - enterRule(_localctx, 12, RULE_referenceType); - try { - setState(509); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,5,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(506); - classOrInterfaceType(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(507); - typeVariable(); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(508); - arrayType(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ClassOrInterfaceTypeContext extends ParserRuleContext { - public ClassType_lfno_classOrInterfaceTypeContext classType_lfno_classOrInterfaceType() { - return getRuleContext(ClassType_lfno_classOrInterfaceTypeContext.class,0); - } - public InterfaceType_lfno_classOrInterfaceTypeContext interfaceType_lfno_classOrInterfaceType() { - return getRuleContext(InterfaceType_lfno_classOrInterfaceTypeContext.class,0); - } - public List classType_lf_classOrInterfaceType() { - return getRuleContexts(ClassType_lf_classOrInterfaceTypeContext.class); - } - public ClassType_lf_classOrInterfaceTypeContext classType_lf_classOrInterfaceType(int i) { - return getRuleContext(ClassType_lf_classOrInterfaceTypeContext.class,i); - } - public ClassOrInterfaceTypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_classOrInterfaceType; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterClassOrInterfaceType(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitClassOrInterfaceType(this); - } - } - - public final ClassOrInterfaceTypeContext classOrInterfaceType() throws RecognitionException { - ClassOrInterfaceTypeContext _localctx = new ClassOrInterfaceTypeContext(_ctx, getState()); - enterRule(_localctx, 14, RULE_classOrInterfaceType); - try { - int _alt; - enterOuterAlt(_localctx, 1); - { - setState(513); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,6,_ctx) ) { - case 1: - { - setState(511); - classType_lfno_classOrInterfaceType(); - } - break; - case 2: - { - setState(512); - interfaceType_lfno_classOrInterfaceType(); - } - break; - } - setState(518); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,7,_ctx); - while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - { - { - setState(515); - classType_lf_classOrInterfaceType(); - } - } - } - setState(520); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,7,_ctx); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ClassTypeContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public List annotation() { - return getRuleContexts(AnnotationContext.class); - } - public AnnotationContext annotation(int i) { - return getRuleContext(AnnotationContext.class,i); - } - public TypeArgumentsContext typeArguments() { - return getRuleContext(TypeArgumentsContext.class,0); - } - public ClassOrInterfaceTypeContext classOrInterfaceType() { - return getRuleContext(ClassOrInterfaceTypeContext.class,0); - } - public ClassTypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_classType; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterClassType(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitClassType(this); - } - } - - public final ClassTypeContext classType() throws RecognitionException { - ClassTypeContext _localctx = new ClassTypeContext(_ctx, getState()); - enterRule(_localctx, 16, RULE_classType); - int _la; - try { - setState(543); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,12,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(524); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==AT) { - { - { - setState(521); - annotation(); - } - } - setState(526); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(527); - match(Identifier); - setState(529); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==LT) { - { - setState(528); - typeArguments(); - } - } - - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(531); - classOrInterfaceType(); - setState(532); - match(DOT); - setState(536); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==AT) { - { - { - setState(533); - annotation(); - } - } - setState(538); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(539); - match(Identifier); - setState(541); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==LT) { - { - setState(540); - typeArguments(); - } - } - - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ClassType_lf_classOrInterfaceTypeContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public List annotation() { - return getRuleContexts(AnnotationContext.class); - } - public AnnotationContext annotation(int i) { - return getRuleContext(AnnotationContext.class,i); - } - public TypeArgumentsContext typeArguments() { - return getRuleContext(TypeArgumentsContext.class,0); - } - public ClassType_lf_classOrInterfaceTypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_classType_lf_classOrInterfaceType; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterClassType_lf_classOrInterfaceType(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitClassType_lf_classOrInterfaceType(this); - } - } - - public final ClassType_lf_classOrInterfaceTypeContext classType_lf_classOrInterfaceType() throws RecognitionException { - ClassType_lf_classOrInterfaceTypeContext _localctx = new ClassType_lf_classOrInterfaceTypeContext(_ctx, getState()); - enterRule(_localctx, 18, RULE_classType_lf_classOrInterfaceType); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(545); - match(DOT); - setState(549); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==AT) { - { - { - setState(546); - annotation(); - } - } - setState(551); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(552); - match(Identifier); - setState(554); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,14,_ctx) ) { - case 1: - { - setState(553); - typeArguments(); - } - break; - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ClassType_lfno_classOrInterfaceTypeContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public List annotation() { - return getRuleContexts(AnnotationContext.class); - } - public AnnotationContext annotation(int i) { - return getRuleContext(AnnotationContext.class,i); - } - public TypeArgumentsContext typeArguments() { - return getRuleContext(TypeArgumentsContext.class,0); - } - public ClassType_lfno_classOrInterfaceTypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_classType_lfno_classOrInterfaceType; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterClassType_lfno_classOrInterfaceType(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitClassType_lfno_classOrInterfaceType(this); - } - } - - public final ClassType_lfno_classOrInterfaceTypeContext classType_lfno_classOrInterfaceType() throws RecognitionException { - ClassType_lfno_classOrInterfaceTypeContext _localctx = new ClassType_lfno_classOrInterfaceTypeContext(_ctx, getState()); - enterRule(_localctx, 20, RULE_classType_lfno_classOrInterfaceType); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(559); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==AT) { - { - { - setState(556); - annotation(); - } - } - setState(561); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(562); - match(Identifier); - setState(564); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,16,_ctx) ) { - case 1: - { - setState(563); - typeArguments(); - } - break; - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class InterfaceTypeContext extends ParserRuleContext { - public ClassTypeContext classType() { - return getRuleContext(ClassTypeContext.class,0); - } - public InterfaceTypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_interfaceType; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterInterfaceType(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitInterfaceType(this); - } - } - - public final InterfaceTypeContext interfaceType() throws RecognitionException { - InterfaceTypeContext _localctx = new InterfaceTypeContext(_ctx, getState()); - enterRule(_localctx, 22, RULE_interfaceType); - try { - enterOuterAlt(_localctx, 1); - { - setState(566); - classType(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class InterfaceType_lf_classOrInterfaceTypeContext extends ParserRuleContext { - public ClassType_lf_classOrInterfaceTypeContext classType_lf_classOrInterfaceType() { - return getRuleContext(ClassType_lf_classOrInterfaceTypeContext.class,0); - } - public InterfaceType_lf_classOrInterfaceTypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_interfaceType_lf_classOrInterfaceType; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterInterfaceType_lf_classOrInterfaceType(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitInterfaceType_lf_classOrInterfaceType(this); - } - } - - public final InterfaceType_lf_classOrInterfaceTypeContext interfaceType_lf_classOrInterfaceType() throws RecognitionException { - InterfaceType_lf_classOrInterfaceTypeContext _localctx = new InterfaceType_lf_classOrInterfaceTypeContext(_ctx, getState()); - enterRule(_localctx, 24, RULE_interfaceType_lf_classOrInterfaceType); - try { - enterOuterAlt(_localctx, 1); - { - setState(568); - classType_lf_classOrInterfaceType(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class InterfaceType_lfno_classOrInterfaceTypeContext extends ParserRuleContext { - public ClassType_lfno_classOrInterfaceTypeContext classType_lfno_classOrInterfaceType() { - return getRuleContext(ClassType_lfno_classOrInterfaceTypeContext.class,0); - } - public InterfaceType_lfno_classOrInterfaceTypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_interfaceType_lfno_classOrInterfaceType; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterInterfaceType_lfno_classOrInterfaceType(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitInterfaceType_lfno_classOrInterfaceType(this); - } - } - - public final InterfaceType_lfno_classOrInterfaceTypeContext interfaceType_lfno_classOrInterfaceType() throws RecognitionException { - InterfaceType_lfno_classOrInterfaceTypeContext _localctx = new InterfaceType_lfno_classOrInterfaceTypeContext(_ctx, getState()); - enterRule(_localctx, 26, RULE_interfaceType_lfno_classOrInterfaceType); - try { - enterOuterAlt(_localctx, 1); - { - setState(570); - classType_lfno_classOrInterfaceType(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class TypeVariableContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public List annotation() { - return getRuleContexts(AnnotationContext.class); - } - public AnnotationContext annotation(int i) { - return getRuleContext(AnnotationContext.class,i); - } - public TypeVariableContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_typeVariable; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTypeVariable(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTypeVariable(this); - } - } - - public final TypeVariableContext typeVariable() throws RecognitionException { - TypeVariableContext _localctx = new TypeVariableContext(_ctx, getState()); - enterRule(_localctx, 28, RULE_typeVariable); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(575); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==AT) { - { - { - setState(572); - annotation(); - } - } - setState(577); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(578); - match(Identifier); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ArrayTypeContext extends ParserRuleContext { - public PrimitiveTypeContext primitiveType() { - return getRuleContext(PrimitiveTypeContext.class,0); - } - public DimsContext dims() { - return getRuleContext(DimsContext.class,0); - } - public ClassOrInterfaceTypeContext classOrInterfaceType() { - return getRuleContext(ClassOrInterfaceTypeContext.class,0); - } - public TypeVariableContext typeVariable() { - return getRuleContext(TypeVariableContext.class,0); - } - public ArrayTypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_arrayType; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterArrayType(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitArrayType(this); - } - } - - public final ArrayTypeContext arrayType() throws RecognitionException { - ArrayTypeContext _localctx = new ArrayTypeContext(_ctx, getState()); - enterRule(_localctx, 30, RULE_arrayType); - try { - setState(589); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,18,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(580); - primitiveType(); - setState(581); - dims(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(583); - classOrInterfaceType(); - setState(584); - dims(); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(586); - typeVariable(); - setState(587); - dims(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class DimsContext extends ParserRuleContext { - public List annotation() { - return getRuleContexts(AnnotationContext.class); - } - public AnnotationContext annotation(int i) { - return getRuleContext(AnnotationContext.class,i); - } - public DimsContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_dims; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterDims(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitDims(this); - } - } - - public final DimsContext dims() throws RecognitionException { - DimsContext _localctx = new DimsContext(_ctx, getState()); - enterRule(_localctx, 32, RULE_dims); - int _la; - try { - int _alt; - enterOuterAlt(_localctx, 1); - { - setState(594); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==AT) { - { - { - setState(591); - annotation(); - } - } - setState(596); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(597); - match(LBRACK); - setState(598); - match(RBRACK); - setState(609); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,21,_ctx); - while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - { - { - setState(602); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==AT) { - { - { - setState(599); - annotation(); - } - } - setState(604); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(605); - match(LBRACK); - setState(606); - match(RBRACK); - } - } - } - setState(611); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,21,_ctx); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class TypeParameterContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public List typeParameterModifier() { - return getRuleContexts(TypeParameterModifierContext.class); - } - public TypeParameterModifierContext typeParameterModifier(int i) { - return getRuleContext(TypeParameterModifierContext.class,i); - } - public TypeBoundContext typeBound() { - return getRuleContext(TypeBoundContext.class,0); - } - public TypeParameterContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_typeParameter; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTypeParameter(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTypeParameter(this); - } - } - - public final TypeParameterContext typeParameter() throws RecognitionException { - TypeParameterContext _localctx = new TypeParameterContext(_ctx, getState()); - enterRule(_localctx, 34, RULE_typeParameter); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(615); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==AT) { - { - { - setState(612); - typeParameterModifier(); - } - } - setState(617); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(618); - match(Identifier); - setState(620); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==EXTENDS) { - { - setState(619); - typeBound(); - } - } - - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class TypeParameterModifierContext extends ParserRuleContext { - public AnnotationContext annotation() { - return getRuleContext(AnnotationContext.class,0); - } - public TypeParameterModifierContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_typeParameterModifier; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTypeParameterModifier(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTypeParameterModifier(this); - } - } - - public final TypeParameterModifierContext typeParameterModifier() throws RecognitionException { - TypeParameterModifierContext _localctx = new TypeParameterModifierContext(_ctx, getState()); - enterRule(_localctx, 36, RULE_typeParameterModifier); - try { - enterOuterAlt(_localctx, 1); - { - setState(622); - annotation(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class TypeBoundContext extends ParserRuleContext { - public TypeVariableContext typeVariable() { - return getRuleContext(TypeVariableContext.class,0); - } - public ClassOrInterfaceTypeContext classOrInterfaceType() { - return getRuleContext(ClassOrInterfaceTypeContext.class,0); - } - public List additionalBound() { - return getRuleContexts(AdditionalBoundContext.class); - } - public AdditionalBoundContext additionalBound(int i) { - return getRuleContext(AdditionalBoundContext.class,i); - } - public TypeBoundContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_typeBound; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTypeBound(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTypeBound(this); - } - } - - public final TypeBoundContext typeBound() throws RecognitionException { - TypeBoundContext _localctx = new TypeBoundContext(_ctx, getState()); - enterRule(_localctx, 38, RULE_typeBound); - int _la; - try { - setState(634); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,25,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(624); - match(EXTENDS); - setState(625); - typeVariable(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(626); - match(EXTENDS); - setState(627); - classOrInterfaceType(); - setState(631); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==BITAND) { - { - { - setState(628); - additionalBound(); - } - } - setState(633); - _errHandler.sync(this); - _la = _input.LA(1); - } - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class AdditionalBoundContext extends ParserRuleContext { - public InterfaceTypeContext interfaceType() { - return getRuleContext(InterfaceTypeContext.class,0); - } - public AdditionalBoundContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_additionalBound; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterAdditionalBound(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitAdditionalBound(this); - } - } - - public final AdditionalBoundContext additionalBound() throws RecognitionException { - AdditionalBoundContext _localctx = new AdditionalBoundContext(_ctx, getState()); - enterRule(_localctx, 40, RULE_additionalBound); - try { - enterOuterAlt(_localctx, 1); - { - setState(636); - match(BITAND); - setState(637); - interfaceType(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class TypeArgumentsContext extends ParserRuleContext { - public TypeArgumentListContext typeArgumentList() { - return getRuleContext(TypeArgumentListContext.class,0); - } - public TypeArgumentsContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_typeArguments; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTypeArguments(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTypeArguments(this); - } - } - - public final TypeArgumentsContext typeArguments() throws RecognitionException { - TypeArgumentsContext _localctx = new TypeArgumentsContext(_ctx, getState()); - enterRule(_localctx, 42, RULE_typeArguments); - try { - enterOuterAlt(_localctx, 1); - { - setState(639); - match(LT); - setState(640); - typeArgumentList(); - setState(641); - match(GT); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class TypeArgumentListContext extends ParserRuleContext { - public List typeArgument() { - return getRuleContexts(TypeArgumentContext.class); - } - public TypeArgumentContext typeArgument(int i) { - return getRuleContext(TypeArgumentContext.class,i); - } - public TypeArgumentListContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_typeArgumentList; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTypeArgumentList(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTypeArgumentList(this); - } - } - - public final TypeArgumentListContext typeArgumentList() throws RecognitionException { - TypeArgumentListContext _localctx = new TypeArgumentListContext(_ctx, getState()); - enterRule(_localctx, 44, RULE_typeArgumentList); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(643); - typeArgument(); - setState(648); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==COMMA) { - { - { - setState(644); - match(COMMA); - setState(645); - typeArgument(); - } - } - setState(650); - _errHandler.sync(this); - _la = _input.LA(1); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class TypeArgumentContext extends ParserRuleContext { - public ReferenceTypeContext referenceType() { - return getRuleContext(ReferenceTypeContext.class,0); - } - public WildcardContext wildcard() { - return getRuleContext(WildcardContext.class,0); - } - public TypeArgumentContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_typeArgument; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTypeArgument(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTypeArgument(this); - } - } - - public final TypeArgumentContext typeArgument() throws RecognitionException { - TypeArgumentContext _localctx = new TypeArgumentContext(_ctx, getState()); - enterRule(_localctx, 46, RULE_typeArgument); - try { - setState(653); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,27,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(651); - referenceType(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(652); - wildcard(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class WildcardContext extends ParserRuleContext { - public List annotation() { - return getRuleContexts(AnnotationContext.class); - } - public AnnotationContext annotation(int i) { - return getRuleContext(AnnotationContext.class,i); - } - public WildcardBoundsContext wildcardBounds() { - return getRuleContext(WildcardBoundsContext.class,0); - } - public WildcardContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_wildcard; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterWildcard(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitWildcard(this); - } - } - - public final WildcardContext wildcard() throws RecognitionException { - WildcardContext _localctx = new WildcardContext(_ctx, getState()); - enterRule(_localctx, 48, RULE_wildcard); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(658); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==AT) { - { - { - setState(655); - annotation(); - } - } - setState(660); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(661); - match(QUESTION); - setState(663); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==EXTENDS || _la==SUPER) { - { - setState(662); - wildcardBounds(); - } - } - - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class WildcardBoundsContext extends ParserRuleContext { - public ReferenceTypeContext referenceType() { - return getRuleContext(ReferenceTypeContext.class,0); - } - public WildcardBoundsContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_wildcardBounds; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterWildcardBounds(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitWildcardBounds(this); - } - } - - public final WildcardBoundsContext wildcardBounds() throws RecognitionException { - WildcardBoundsContext _localctx = new WildcardBoundsContext(_ctx, getState()); - enterRule(_localctx, 50, RULE_wildcardBounds); - try { - setState(669); - _errHandler.sync(this); - switch (_input.LA(1)) { - case EXTENDS: - enterOuterAlt(_localctx, 1); - { - setState(665); - match(EXTENDS); - setState(666); - referenceType(); - } - break; - case SUPER: - enterOuterAlt(_localctx, 2); - { - setState(667); - match(SUPER); - setState(668); - referenceType(); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PackageNameContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public PackageNameContext packageName() { - return getRuleContext(PackageNameContext.class,0); - } - public PackageNameContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_packageName; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPackageName(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPackageName(this); - } - } - - public final PackageNameContext packageName() throws RecognitionException { - return packageName(0); - } - - private PackageNameContext packageName(int _p) throws RecognitionException { - ParserRuleContext _parentctx = _ctx; - int _parentState = getState(); - PackageNameContext _localctx = new PackageNameContext(_ctx, _parentState); - PackageNameContext _prevctx = _localctx; - int _startState = 52; - enterRecursionRule(_localctx, 52, RULE_packageName, _p); - try { - int _alt; - enterOuterAlt(_localctx, 1); - { - { - setState(672); - match(Identifier); - } - _ctx.stop = _input.LT(-1); - setState(679); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,31,_ctx); - while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - if ( _parseListeners!=null ) triggerExitRuleEvent(); - _prevctx = _localctx; - { - { - _localctx = new PackageNameContext(_parentctx, _parentState); - pushNewRecursionContext(_localctx, _startState, RULE_packageName); - setState(674); - if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); - setState(675); - match(DOT); - setState(676); - match(Identifier); - } - } - } - setState(681); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,31,_ctx); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - unrollRecursionContexts(_parentctx); - } - return _localctx; - } - - public static class TypeNameContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public PackageOrTypeNameContext packageOrTypeName() { - return getRuleContext(PackageOrTypeNameContext.class,0); - } - public TypeNameContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_typeName; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTypeName(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTypeName(this); - } - } - - public final TypeNameContext typeName() throws RecognitionException { - TypeNameContext _localctx = new TypeNameContext(_ctx, getState()); - enterRule(_localctx, 54, RULE_typeName); - try { - setState(687); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,32,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(682); - match(Identifier); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(683); - packageOrTypeName(0); - setState(684); - match(DOT); - setState(685); - match(Identifier); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PackageOrTypeNameContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public PackageOrTypeNameContext packageOrTypeName() { - return getRuleContext(PackageOrTypeNameContext.class,0); - } - public PackageOrTypeNameContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_packageOrTypeName; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPackageOrTypeName(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPackageOrTypeName(this); - } - } - - public final PackageOrTypeNameContext packageOrTypeName() throws RecognitionException { - return packageOrTypeName(0); - } - - private PackageOrTypeNameContext packageOrTypeName(int _p) throws RecognitionException { - ParserRuleContext _parentctx = _ctx; - int _parentState = getState(); - PackageOrTypeNameContext _localctx = new PackageOrTypeNameContext(_ctx, _parentState); - PackageOrTypeNameContext _prevctx = _localctx; - int _startState = 56; - enterRecursionRule(_localctx, 56, RULE_packageOrTypeName, _p); - try { - int _alt; - enterOuterAlt(_localctx, 1); - { - { - setState(690); - match(Identifier); - } - _ctx.stop = _input.LT(-1); - setState(697); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,33,_ctx); - while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - if ( _parseListeners!=null ) triggerExitRuleEvent(); - _prevctx = _localctx; - { - { - _localctx = new PackageOrTypeNameContext(_parentctx, _parentState); - pushNewRecursionContext(_localctx, _startState, RULE_packageOrTypeName); - setState(692); - if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); - setState(693); - match(DOT); - setState(694); - match(Identifier); - } - } - } - setState(699); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,33,_ctx); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - unrollRecursionContexts(_parentctx); - } - return _localctx; - } - - public static class ExpressionNameContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public AmbiguousNameContext ambiguousName() { - return getRuleContext(AmbiguousNameContext.class,0); - } - public ExpressionNameContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_expressionName; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterExpressionName(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitExpressionName(this); - } - } - - public final ExpressionNameContext expressionName() throws RecognitionException { - ExpressionNameContext _localctx = new ExpressionNameContext(_ctx, getState()); - enterRule(_localctx, 58, RULE_expressionName); - try { - setState(705); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,34,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(700); - match(Identifier); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(701); - ambiguousName(0); - setState(702); - match(DOT); - setState(703); - match(Identifier); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class MethodNameContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public MethodNameContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_methodName; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterMethodName(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitMethodName(this); - } - } - - public final MethodNameContext methodName() throws RecognitionException { - MethodNameContext _localctx = new MethodNameContext(_ctx, getState()); - enterRule(_localctx, 60, RULE_methodName); - try { - enterOuterAlt(_localctx, 1); - { - setState(707); - match(Identifier); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class AmbiguousNameContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public AmbiguousNameContext ambiguousName() { - return getRuleContext(AmbiguousNameContext.class,0); - } - public AmbiguousNameContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_ambiguousName; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterAmbiguousName(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitAmbiguousName(this); - } - } - - public final AmbiguousNameContext ambiguousName() throws RecognitionException { - return ambiguousName(0); - } - - private AmbiguousNameContext ambiguousName(int _p) throws RecognitionException { - ParserRuleContext _parentctx = _ctx; - int _parentState = getState(); - AmbiguousNameContext _localctx = new AmbiguousNameContext(_ctx, _parentState); - AmbiguousNameContext _prevctx = _localctx; - int _startState = 62; - enterRecursionRule(_localctx, 62, RULE_ambiguousName, _p); - try { - int _alt; - enterOuterAlt(_localctx, 1); - { - { - setState(710); - match(Identifier); - } - _ctx.stop = _input.LT(-1); - setState(717); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,35,_ctx); - while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - if ( _parseListeners!=null ) triggerExitRuleEvent(); - _prevctx = _localctx; - { - { - _localctx = new AmbiguousNameContext(_parentctx, _parentState); - pushNewRecursionContext(_localctx, _startState, RULE_ambiguousName); - setState(712); - if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); - setState(713); - match(DOT); - setState(714); - match(Identifier); - } - } - } - setState(719); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,35,_ctx); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - unrollRecursionContexts(_parentctx); - } - return _localctx; - } - - public static class CompilationUnitContext extends ParserRuleContext { - public TerminalNode EOF() { return getToken(Java8Parser.EOF, 0); } - public PackageDeclarationContext packageDeclaration() { - return getRuleContext(PackageDeclarationContext.class,0); - } - public List importDeclaration() { - return getRuleContexts(ImportDeclarationContext.class); - } - public ImportDeclarationContext importDeclaration(int i) { - return getRuleContext(ImportDeclarationContext.class,i); - } - public List typeDeclaration() { - return getRuleContexts(TypeDeclarationContext.class); - } - public TypeDeclarationContext typeDeclaration(int i) { - return getRuleContext(TypeDeclarationContext.class,i); - } - public CompilationUnitContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_compilationUnit; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterCompilationUnit(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitCompilationUnit(this); - } - } - - public final CompilationUnitContext compilationUnit() throws RecognitionException { - CompilationUnitContext _localctx = new CompilationUnitContext(_ctx, getState()); - enterRule(_localctx, 64, RULE_compilationUnit); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(721); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,36,_ctx) ) { - case 1: - { - setState(720); - packageDeclaration(); - } - break; - } - setState(726); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==IMPORT) { - { - { - setState(723); - importDeclaration(); - } - } - setState(728); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(732); - _errHandler.sync(this); - _la = _input.LA(1); - while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << CLASS) | (1L << ENUM) | (1L << FINAL) | (1L << INTERFACE) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << STATIC) | (1L << STRICTFP))) != 0) || _la==SEMI || _la==AT) { - { - { - setState(729); - typeDeclaration(); - } - } - setState(734); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(735); - match(EOF); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PackageDeclarationContext extends ParserRuleContext { - public List Identifier() { return getTokens(Java8Parser.Identifier); } - public TerminalNode Identifier(int i) { - return getToken(Java8Parser.Identifier, i); - } - public List packageModifier() { - return getRuleContexts(PackageModifierContext.class); - } - public PackageModifierContext packageModifier(int i) { - return getRuleContext(PackageModifierContext.class,i); - } - public PackageDeclarationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_packageDeclaration; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPackageDeclaration(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPackageDeclaration(this); - } - } - - public final PackageDeclarationContext packageDeclaration() throws RecognitionException { - PackageDeclarationContext _localctx = new PackageDeclarationContext(_ctx, getState()); - enterRule(_localctx, 66, RULE_packageDeclaration); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(740); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==AT) { - { - { - setState(737); - packageModifier(); - } - } - setState(742); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(743); - match(PACKAGE); - setState(744); - match(Identifier); - setState(749); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==DOT) { - { - { - setState(745); - match(DOT); - setState(746); - match(Identifier); - } - } - setState(751); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(752); - match(SEMI); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PackageModifierContext extends ParserRuleContext { - public AnnotationContext annotation() { - return getRuleContext(AnnotationContext.class,0); - } - public PackageModifierContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_packageModifier; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPackageModifier(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPackageModifier(this); - } - } - - public final PackageModifierContext packageModifier() throws RecognitionException { - PackageModifierContext _localctx = new PackageModifierContext(_ctx, getState()); - enterRule(_localctx, 68, RULE_packageModifier); - try { - enterOuterAlt(_localctx, 1); - { - setState(754); - annotation(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ImportDeclarationContext extends ParserRuleContext { - public SingleTypeImportDeclarationContext singleTypeImportDeclaration() { - return getRuleContext(SingleTypeImportDeclarationContext.class,0); - } - public TypeImportOnDemandDeclarationContext typeImportOnDemandDeclaration() { - return getRuleContext(TypeImportOnDemandDeclarationContext.class,0); - } - public SingleStaticImportDeclarationContext singleStaticImportDeclaration() { - return getRuleContext(SingleStaticImportDeclarationContext.class,0); - } - public StaticImportOnDemandDeclarationContext staticImportOnDemandDeclaration() { - return getRuleContext(StaticImportOnDemandDeclarationContext.class,0); - } - public ImportDeclarationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_importDeclaration; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterImportDeclaration(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitImportDeclaration(this); - } - } - - public final ImportDeclarationContext importDeclaration() throws RecognitionException { - ImportDeclarationContext _localctx = new ImportDeclarationContext(_ctx, getState()); - enterRule(_localctx, 70, RULE_importDeclaration); - try { - setState(760); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,41,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(756); - singleTypeImportDeclaration(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(757); - typeImportOnDemandDeclaration(); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(758); - singleStaticImportDeclaration(); - } - break; - case 4: - enterOuterAlt(_localctx, 4); - { - setState(759); - staticImportOnDemandDeclaration(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class SingleTypeImportDeclarationContext extends ParserRuleContext { - public TypeNameContext typeName() { - return getRuleContext(TypeNameContext.class,0); - } - public SingleTypeImportDeclarationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_singleTypeImportDeclaration; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterSingleTypeImportDeclaration(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitSingleTypeImportDeclaration(this); - } - } - - public final SingleTypeImportDeclarationContext singleTypeImportDeclaration() throws RecognitionException { - SingleTypeImportDeclarationContext _localctx = new SingleTypeImportDeclarationContext(_ctx, getState()); - enterRule(_localctx, 72, RULE_singleTypeImportDeclaration); - try { - enterOuterAlt(_localctx, 1); - { - setState(762); - match(IMPORT); - setState(763); - typeName(); - setState(764); - match(SEMI); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class TypeImportOnDemandDeclarationContext extends ParserRuleContext { - public PackageOrTypeNameContext packageOrTypeName() { - return getRuleContext(PackageOrTypeNameContext.class,0); - } - public TypeImportOnDemandDeclarationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_typeImportOnDemandDeclaration; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTypeImportOnDemandDeclaration(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTypeImportOnDemandDeclaration(this); - } - } - - public final TypeImportOnDemandDeclarationContext typeImportOnDemandDeclaration() throws RecognitionException { - TypeImportOnDemandDeclarationContext _localctx = new TypeImportOnDemandDeclarationContext(_ctx, getState()); - enterRule(_localctx, 74, RULE_typeImportOnDemandDeclaration); - try { - enterOuterAlt(_localctx, 1); - { - setState(766); - match(IMPORT); - setState(767); - packageOrTypeName(0); - setState(768); - match(DOT); - setState(769); - match(MUL); - setState(770); - match(SEMI); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class SingleStaticImportDeclarationContext extends ParserRuleContext { - public TypeNameContext typeName() { - return getRuleContext(TypeNameContext.class,0); - } - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public SingleStaticImportDeclarationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_singleStaticImportDeclaration; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterSingleStaticImportDeclaration(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitSingleStaticImportDeclaration(this); - } - } - - public final SingleStaticImportDeclarationContext singleStaticImportDeclaration() throws RecognitionException { - SingleStaticImportDeclarationContext _localctx = new SingleStaticImportDeclarationContext(_ctx, getState()); - enterRule(_localctx, 76, RULE_singleStaticImportDeclaration); - try { - enterOuterAlt(_localctx, 1); - { - setState(772); - match(IMPORT); - setState(773); - match(STATIC); - setState(774); - typeName(); - setState(775); - match(DOT); - setState(776); - match(Identifier); - setState(777); - match(SEMI); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class StaticImportOnDemandDeclarationContext extends ParserRuleContext { - public TypeNameContext typeName() { - return getRuleContext(TypeNameContext.class,0); - } - public StaticImportOnDemandDeclarationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_staticImportOnDemandDeclaration; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterStaticImportOnDemandDeclaration(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitStaticImportOnDemandDeclaration(this); - } - } - - public final StaticImportOnDemandDeclarationContext staticImportOnDemandDeclaration() throws RecognitionException { - StaticImportOnDemandDeclarationContext _localctx = new StaticImportOnDemandDeclarationContext(_ctx, getState()); - enterRule(_localctx, 78, RULE_staticImportOnDemandDeclaration); - try { - enterOuterAlt(_localctx, 1); - { - setState(779); - match(IMPORT); - setState(780); - match(STATIC); - setState(781); - typeName(); - setState(782); - match(DOT); - setState(783); - match(MUL); - setState(784); - match(SEMI); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class TypeDeclarationContext extends ParserRuleContext { - public ClassDeclarationContext classDeclaration() { - return getRuleContext(ClassDeclarationContext.class,0); - } - public InterfaceDeclarationContext interfaceDeclaration() { - return getRuleContext(InterfaceDeclarationContext.class,0); - } - public TypeDeclarationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_typeDeclaration; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTypeDeclaration(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTypeDeclaration(this); - } - } - - public final TypeDeclarationContext typeDeclaration() throws RecognitionException { - TypeDeclarationContext _localctx = new TypeDeclarationContext(_ctx, getState()); - enterRule(_localctx, 80, RULE_typeDeclaration); - try { - setState(789); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,42,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(786); - classDeclaration(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(787); - interfaceDeclaration(); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(788); - match(SEMI); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ClassDeclarationContext extends ParserRuleContext { - public NormalClassDeclarationContext normalClassDeclaration() { - return getRuleContext(NormalClassDeclarationContext.class,0); - } - public EnumDeclarationContext enumDeclaration() { - return getRuleContext(EnumDeclarationContext.class,0); - } - public ClassDeclarationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_classDeclaration; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterClassDeclaration(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitClassDeclaration(this); - } - } - - public final ClassDeclarationContext classDeclaration() throws RecognitionException { - ClassDeclarationContext _localctx = new ClassDeclarationContext(_ctx, getState()); - enterRule(_localctx, 82, RULE_classDeclaration); - try { - setState(793); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,43,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(791); - normalClassDeclaration(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(792); - enumDeclaration(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class NormalClassDeclarationContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public ClassBodyContext classBody() { - return getRuleContext(ClassBodyContext.class,0); - } - public List classModifier() { - return getRuleContexts(ClassModifierContext.class); - } - public ClassModifierContext classModifier(int i) { - return getRuleContext(ClassModifierContext.class,i); - } - public TypeParametersContext typeParameters() { - return getRuleContext(TypeParametersContext.class,0); - } - public SuperclassContext superclass() { - return getRuleContext(SuperclassContext.class,0); - } - public SuperinterfacesContext superinterfaces() { - return getRuleContext(SuperinterfacesContext.class,0); - } - public NormalClassDeclarationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_normalClassDeclaration; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterNormalClassDeclaration(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitNormalClassDeclaration(this); - } - } - - public final NormalClassDeclarationContext normalClassDeclaration() throws RecognitionException { - NormalClassDeclarationContext _localctx = new NormalClassDeclarationContext(_ctx, getState()); - enterRule(_localctx, 84, RULE_normalClassDeclaration); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(798); - _errHandler.sync(this); - _la = _input.LA(1); - while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << FINAL) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << STATIC) | (1L << STRICTFP))) != 0) || _la==AT) { - { - { - setState(795); - classModifier(); - } - } - setState(800); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(801); - match(CLASS); - setState(802); - match(Identifier); - setState(804); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==LT) { - { - setState(803); - typeParameters(); - } - } - - setState(807); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==EXTENDS) { - { - setState(806); - superclass(); - } - } - - setState(810); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==IMPLEMENTS) { - { - setState(809); - superinterfaces(); - } - } - - setState(812); - classBody(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ClassModifierContext extends ParserRuleContext { - public AnnotationContext annotation() { - return getRuleContext(AnnotationContext.class,0); - } - public ClassModifierContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_classModifier; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterClassModifier(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitClassModifier(this); - } - } - - public final ClassModifierContext classModifier() throws RecognitionException { - ClassModifierContext _localctx = new ClassModifierContext(_ctx, getState()); - enterRule(_localctx, 86, RULE_classModifier); - try { - setState(822); - _errHandler.sync(this); - switch (_input.LA(1)) { - case AT: - enterOuterAlt(_localctx, 1); - { - setState(814); - annotation(); - } - break; - case PUBLIC: - enterOuterAlt(_localctx, 2); - { - setState(815); - match(PUBLIC); - } - break; - case PROTECTED: - enterOuterAlt(_localctx, 3); - { - setState(816); - match(PROTECTED); - } - break; - case PRIVATE: - enterOuterAlt(_localctx, 4); - { - setState(817); - match(PRIVATE); - } - break; - case ABSTRACT: - enterOuterAlt(_localctx, 5); - { - setState(818); - match(ABSTRACT); - } - break; - case STATIC: - enterOuterAlt(_localctx, 6); - { - setState(819); - match(STATIC); - } - break; - case FINAL: - enterOuterAlt(_localctx, 7); - { - setState(820); - match(FINAL); - } - break; - case STRICTFP: - enterOuterAlt(_localctx, 8); - { - setState(821); - match(STRICTFP); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class TypeParametersContext extends ParserRuleContext { - public TypeParameterListContext typeParameterList() { - return getRuleContext(TypeParameterListContext.class,0); - } - public TypeParametersContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_typeParameters; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTypeParameters(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTypeParameters(this); - } - } - - public final TypeParametersContext typeParameters() throws RecognitionException { - TypeParametersContext _localctx = new TypeParametersContext(_ctx, getState()); - enterRule(_localctx, 88, RULE_typeParameters); - try { - enterOuterAlt(_localctx, 1); - { - setState(824); - match(LT); - setState(825); - typeParameterList(); - setState(826); - match(GT); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class TypeParameterListContext extends ParserRuleContext { - public List typeParameter() { - return getRuleContexts(TypeParameterContext.class); - } - public TypeParameterContext typeParameter(int i) { - return getRuleContext(TypeParameterContext.class,i); - } - public TypeParameterListContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_typeParameterList; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTypeParameterList(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTypeParameterList(this); - } - } - - public final TypeParameterListContext typeParameterList() throws RecognitionException { - TypeParameterListContext _localctx = new TypeParameterListContext(_ctx, getState()); - enterRule(_localctx, 90, RULE_typeParameterList); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(828); - typeParameter(); - setState(833); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==COMMA) { - { - { - setState(829); - match(COMMA); - setState(830); - typeParameter(); - } - } - setState(835); - _errHandler.sync(this); - _la = _input.LA(1); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class SuperclassContext extends ParserRuleContext { - public ClassTypeContext classType() { - return getRuleContext(ClassTypeContext.class,0); - } - public SuperclassContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_superclass; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterSuperclass(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitSuperclass(this); - } - } - - public final SuperclassContext superclass() throws RecognitionException { - SuperclassContext _localctx = new SuperclassContext(_ctx, getState()); - enterRule(_localctx, 92, RULE_superclass); - try { - enterOuterAlt(_localctx, 1); - { - setState(836); - match(EXTENDS); - setState(837); - classType(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class SuperinterfacesContext extends ParserRuleContext { - public InterfaceTypeListContext interfaceTypeList() { - return getRuleContext(InterfaceTypeListContext.class,0); - } - public SuperinterfacesContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_superinterfaces; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterSuperinterfaces(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitSuperinterfaces(this); - } - } - - public final SuperinterfacesContext superinterfaces() throws RecognitionException { - SuperinterfacesContext _localctx = new SuperinterfacesContext(_ctx, getState()); - enterRule(_localctx, 94, RULE_superinterfaces); - try { - enterOuterAlt(_localctx, 1); - { - setState(839); - match(IMPLEMENTS); - setState(840); - interfaceTypeList(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class InterfaceTypeListContext extends ParserRuleContext { - public List interfaceType() { - return getRuleContexts(InterfaceTypeContext.class); - } - public InterfaceTypeContext interfaceType(int i) { - return getRuleContext(InterfaceTypeContext.class,i); - } - public InterfaceTypeListContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_interfaceTypeList; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterInterfaceTypeList(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitInterfaceTypeList(this); - } - } - - public final InterfaceTypeListContext interfaceTypeList() throws RecognitionException { - InterfaceTypeListContext _localctx = new InterfaceTypeListContext(_ctx, getState()); - enterRule(_localctx, 96, RULE_interfaceTypeList); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(842); - interfaceType(); - setState(847); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==COMMA) { - { - { - setState(843); - match(COMMA); - setState(844); - interfaceType(); - } - } - setState(849); - _errHandler.sync(this); - _la = _input.LA(1); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ClassBodyContext extends ParserRuleContext { - public List classBodyDeclaration() { - return getRuleContexts(ClassBodyDeclarationContext.class); - } - public ClassBodyDeclarationContext classBodyDeclaration(int i) { - return getRuleContext(ClassBodyDeclarationContext.class,i); - } - public ClassBodyContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_classBody; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterClassBody(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitClassBody(this); - } - } - - public final ClassBodyContext classBody() throws RecognitionException { - ClassBodyContext _localctx = new ClassBodyContext(_ctx, getState()); - enterRule(_localctx, 98, RULE_classBody); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(850); - match(LBRACE); - setState(854); - _errHandler.sync(this); - _la = _input.LA(1); - while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__0) | (1L << ABSTRACT) | (1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << CLASS) | (1L << DOUBLE) | (1L << ENUM) | (1L << FINAL) | (1L << FLOAT) | (1L << INT) | (1L << INTERFACE) | (1L << LONG) | (1L << NATIVE) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << SHORT) | (1L << STATIC) | (1L << STRICTFP) | (1L << SYNCHRONIZED) | (1L << TRANSIENT) | (1L << VOID) | (1L << VOLATILE) | (1L << LBRACE))) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & ((1L << (SEMI - 64)) | (1L << (LT - 64)) | (1L << (Identifier - 64)) | (1L << (AT - 64)))) != 0)) { - { - { - setState(851); - classBodyDeclaration(); - } - } - setState(856); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(857); - match(RBRACE); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ClassBodyDeclarationContext extends ParserRuleContext { - public ClassMemberDeclarationContext classMemberDeclaration() { - return getRuleContext(ClassMemberDeclarationContext.class,0); - } - public InstanceInitializerContext instanceInitializer() { - return getRuleContext(InstanceInitializerContext.class,0); - } - public StaticInitializerContext staticInitializer() { - return getRuleContext(StaticInitializerContext.class,0); - } - public ClassBodyDeclarationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_classBodyDeclaration; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterClassBodyDeclaration(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitClassBodyDeclaration(this); - } - } - - public final ClassBodyDeclarationContext classBodyDeclaration() throws RecognitionException { - ClassBodyDeclarationContext _localctx = new ClassBodyDeclarationContext(_ctx, getState()); - enterRule(_localctx, 100, RULE_classBodyDeclaration); - try { - setState(862); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,52,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(859); - classMemberDeclaration(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(860); - instanceInitializer(); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(861); - staticInitializer(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ClassMemberDeclarationContext extends ParserRuleContext { - public FieldDeclarationContext fieldDeclaration() { - return getRuleContext(FieldDeclarationContext.class,0); - } - public MethodDeclarationContext methodDeclaration() { - return getRuleContext(MethodDeclarationContext.class,0); - } - public ClassDeclarationContext classDeclaration() { - return getRuleContext(ClassDeclarationContext.class,0); - } - public InterfaceDeclarationContext interfaceDeclaration() { - return getRuleContext(InterfaceDeclarationContext.class,0); - } - public ClassMemberDeclarationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_classMemberDeclaration; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterClassMemberDeclaration(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitClassMemberDeclaration(this); - } - } - - public final ClassMemberDeclarationContext classMemberDeclaration() throws RecognitionException { - ClassMemberDeclarationContext _localctx = new ClassMemberDeclarationContext(_ctx, getState()); - enterRule(_localctx, 102, RULE_classMemberDeclaration); - try { - setState(869); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,53,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(864); - fieldDeclaration(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(865); - methodDeclaration(); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(866); - classDeclaration(); - } - break; - case 4: - enterOuterAlt(_localctx, 4); - { - setState(867); - interfaceDeclaration(); - } - break; - case 5: - enterOuterAlt(_localctx, 5); - { - setState(868); - match(SEMI); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class FieldDeclarationContext extends ParserRuleContext { - public VariableDeclaratorListContext variableDeclaratorList() { - return getRuleContext(VariableDeclaratorListContext.class,0); - } - public List fieldModifier() { - return getRuleContexts(FieldModifierContext.class); - } - public FieldModifierContext fieldModifier(int i) { - return getRuleContext(FieldModifierContext.class,i); - } - public UnannTypeOrAutoContext unannTypeOrAuto() { - return getRuleContext(UnannTypeOrAutoContext.class,0); - } - public FieldDeclarationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_fieldDeclaration; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterFieldDeclaration(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitFieldDeclaration(this); - } - } - - public final FieldDeclarationContext fieldDeclaration() throws RecognitionException { - FieldDeclarationContext _localctx = new FieldDeclarationContext(_ctx, getState()); - enterRule(_localctx, 104, RULE_fieldDeclaration); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(874); - _errHandler.sync(this); - _la = _input.LA(1); - while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << FINAL) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << STATIC) | (1L << TRANSIENT) | (1L << VOLATILE))) != 0) || _la==AT) { - { - { - setState(871); - fieldModifier(); - } - } - setState(876); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(878); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,55,_ctx) ) { - case 1: - { - setState(877); - unannTypeOrAuto(); - } - break; - } - setState(880); - variableDeclaratorList(); - setState(881); - match(SEMI); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class FieldModifierContext extends ParserRuleContext { - public AnnotationContext annotation() { - return getRuleContext(AnnotationContext.class,0); - } - public FieldModifierContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_fieldModifier; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterFieldModifier(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitFieldModifier(this); - } - } - - public final FieldModifierContext fieldModifier() throws RecognitionException { - FieldModifierContext _localctx = new FieldModifierContext(_ctx, getState()); - enterRule(_localctx, 106, RULE_fieldModifier); - try { - setState(891); - _errHandler.sync(this); - switch (_input.LA(1)) { - case AT: - enterOuterAlt(_localctx, 1); - { - setState(883); - annotation(); - } - break; - case PUBLIC: - enterOuterAlt(_localctx, 2); - { - setState(884); - match(PUBLIC); - } - break; - case PROTECTED: - enterOuterAlt(_localctx, 3); - { - setState(885); - match(PROTECTED); - } - break; - case PRIVATE: - enterOuterAlt(_localctx, 4); - { - setState(886); - match(PRIVATE); - } - break; - case STATIC: - enterOuterAlt(_localctx, 5); - { - setState(887); - match(STATIC); - } - break; - case FINAL: - enterOuterAlt(_localctx, 6); - { - setState(888); - match(FINAL); - } - break; - case TRANSIENT: - enterOuterAlt(_localctx, 7); - { - setState(889); - match(TRANSIENT); - } - break; - case VOLATILE: - enterOuterAlt(_localctx, 8); - { - setState(890); - match(VOLATILE); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class VariableDeclaratorListContext extends ParserRuleContext { - public List variableDeclarator() { - return getRuleContexts(VariableDeclaratorContext.class); - } - public VariableDeclaratorContext variableDeclarator(int i) { - return getRuleContext(VariableDeclaratorContext.class,i); - } - public VariableDeclaratorListContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_variableDeclaratorList; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterVariableDeclaratorList(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitVariableDeclaratorList(this); - } - } - - public final VariableDeclaratorListContext variableDeclaratorList() throws RecognitionException { - VariableDeclaratorListContext _localctx = new VariableDeclaratorListContext(_ctx, getState()); - enterRule(_localctx, 108, RULE_variableDeclaratorList); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(893); - variableDeclarator(); - setState(898); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==COMMA) { - { - { - setState(894); - match(COMMA); - setState(895); - variableDeclarator(); - } - } - setState(900); - _errHandler.sync(this); - _la = _input.LA(1); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class VariableDeclaratorContext extends ParserRuleContext { - public VariableDeclaratorIdContext variableDeclaratorId() { - return getRuleContext(VariableDeclaratorIdContext.class,0); - } - public VariableInitializerContext variableInitializer() { - return getRuleContext(VariableInitializerContext.class,0); - } - public VariableDeclaratorContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_variableDeclarator; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterVariableDeclarator(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitVariableDeclarator(this); - } - } - - public final VariableDeclaratorContext variableDeclarator() throws RecognitionException { - VariableDeclaratorContext _localctx = new VariableDeclaratorContext(_ctx, getState()); - enterRule(_localctx, 110, RULE_variableDeclarator); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(901); - variableDeclaratorId(); - setState(904); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==ASSIGN) { - { - setState(902); - match(ASSIGN); - setState(903); - variableInitializer(); - } - } - - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class VariableDeclaratorIdContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public DimsContext dims() { - return getRuleContext(DimsContext.class,0); - } - public VariableDeclaratorIdContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_variableDeclaratorId; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterVariableDeclaratorId(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitVariableDeclaratorId(this); - } - } - - public final VariableDeclaratorIdContext variableDeclaratorId() throws RecognitionException { - VariableDeclaratorIdContext _localctx = new VariableDeclaratorIdContext(_ctx, getState()); - enterRule(_localctx, 112, RULE_variableDeclaratorId); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(906); - match(Identifier); - setState(908); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==LBRACK || _la==AT) { - { - setState(907); - dims(); - } - } - - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class VariableInitializerContext extends ParserRuleContext { - public ExpressionContext expression() { - return getRuleContext(ExpressionContext.class,0); - } - public ArrayInitializerContext arrayInitializer() { - return getRuleContext(ArrayInitializerContext.class,0); - } - public VariableInitializerContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_variableInitializer; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterVariableInitializer(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitVariableInitializer(this); - } - } - - public final VariableInitializerContext variableInitializer() throws RecognitionException { - VariableInitializerContext _localctx = new VariableInitializerContext(_ctx, getState()); - enterRule(_localctx, 114, RULE_variableInitializer); - try { - setState(912); - _errHandler.sync(this); - switch (_input.LA(1)) { - case BOOLEAN: - case BYTE: - case CHAR: - case DOUBLE: - case FLOAT: - case INT: - case LONG: - case NEW: - case SHORT: - case SUPER: - case THIS: - case VOID: - case IntegerLiteral: - case FloatingPointLiteral: - case BooleanLiteral: - case CharacterLiteral: - case StringLiteral: - case NullLiteral: - case LPAREN: - case BANG: - case TILDE: - case INC: - case DEC: - case ADD: - case SUB: - case Identifier: - case AT: - enterOuterAlt(_localctx, 1); - { - setState(910); - expression(); - } - break; - case LBRACE: - enterOuterAlt(_localctx, 2); - { - setState(911); - arrayInitializer(); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class UnannTypeContext extends ParserRuleContext { - public UnannPrimitiveTypeContext unannPrimitiveType() { - return getRuleContext(UnannPrimitiveTypeContext.class,0); - } - public UnannReferenceTypeContext unannReferenceType() { - return getRuleContext(UnannReferenceTypeContext.class,0); - } - public UnannTypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_unannType; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterUnannType(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitUnannType(this); - } - } - - public final UnannTypeContext unannType() throws RecognitionException { - UnannTypeContext _localctx = new UnannTypeContext(_ctx, getState()); - enterRule(_localctx, 116, RULE_unannType); - try { - setState(916); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,61,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(914); - unannPrimitiveType(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(915); - unannReferenceType(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class UnannPrimitiveTypeContext extends ParserRuleContext { - public NumericTypeContext numericType() { - return getRuleContext(NumericTypeContext.class,0); - } - public UnannPrimitiveTypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_unannPrimitiveType; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterUnannPrimitiveType(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitUnannPrimitiveType(this); - } - } - - public final UnannPrimitiveTypeContext unannPrimitiveType() throws RecognitionException { - UnannPrimitiveTypeContext _localctx = new UnannPrimitiveTypeContext(_ctx, getState()); - enterRule(_localctx, 118, RULE_unannPrimitiveType); - try { - setState(920); - _errHandler.sync(this); - switch (_input.LA(1)) { - case BYTE: - case CHAR: - case DOUBLE: - case FLOAT: - case INT: - case LONG: - case SHORT: - enterOuterAlt(_localctx, 1); - { - setState(918); - numericType(); - } - break; - case BOOLEAN: - enterOuterAlt(_localctx, 2); - { - setState(919); - match(BOOLEAN); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class UnannReferenceTypeContext extends ParserRuleContext { - public UnannClassOrInterfaceTypeContext unannClassOrInterfaceType() { - return getRuleContext(UnannClassOrInterfaceTypeContext.class,0); - } - public UnannTypeVariableContext unannTypeVariable() { - return getRuleContext(UnannTypeVariableContext.class,0); - } - public UnannArrayTypeContext unannArrayType() { - return getRuleContext(UnannArrayTypeContext.class,0); - } - public UnannReferenceTypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_unannReferenceType; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterUnannReferenceType(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitUnannReferenceType(this); - } - } - - public final UnannReferenceTypeContext unannReferenceType() throws RecognitionException { - UnannReferenceTypeContext _localctx = new UnannReferenceTypeContext(_ctx, getState()); - enterRule(_localctx, 120, RULE_unannReferenceType); - try { - setState(925); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,63,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(922); - unannClassOrInterfaceType(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(923); - unannTypeVariable(); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(924); - unannArrayType(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class UnannClassOrInterfaceTypeContext extends ParserRuleContext { - public UnannClassType_lfno_unannClassOrInterfaceTypeContext unannClassType_lfno_unannClassOrInterfaceType() { - return getRuleContext(UnannClassType_lfno_unannClassOrInterfaceTypeContext.class,0); - } - public UnannInterfaceType_lfno_unannClassOrInterfaceTypeContext unannInterfaceType_lfno_unannClassOrInterfaceType() { - return getRuleContext(UnannInterfaceType_lfno_unannClassOrInterfaceTypeContext.class,0); - } - public List unannClassType_lf_unannClassOrInterfaceType() { - return getRuleContexts(UnannClassType_lf_unannClassOrInterfaceTypeContext.class); - } - public UnannClassType_lf_unannClassOrInterfaceTypeContext unannClassType_lf_unannClassOrInterfaceType(int i) { - return getRuleContext(UnannClassType_lf_unannClassOrInterfaceTypeContext.class,i); - } - public List unannInterfaceType_lf_unannClassOrInterfaceType() { - return getRuleContexts(UnannInterfaceType_lf_unannClassOrInterfaceTypeContext.class); - } - public UnannInterfaceType_lf_unannClassOrInterfaceTypeContext unannInterfaceType_lf_unannClassOrInterfaceType(int i) { - return getRuleContext(UnannInterfaceType_lf_unannClassOrInterfaceTypeContext.class,i); - } - public UnannClassOrInterfaceTypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_unannClassOrInterfaceType; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterUnannClassOrInterfaceType(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitUnannClassOrInterfaceType(this); - } - } - - public final UnannClassOrInterfaceTypeContext unannClassOrInterfaceType() throws RecognitionException { - UnannClassOrInterfaceTypeContext _localctx = new UnannClassOrInterfaceTypeContext(_ctx, getState()); - enterRule(_localctx, 122, RULE_unannClassOrInterfaceType); - try { - int _alt; - enterOuterAlt(_localctx, 1); - { - setState(929); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,64,_ctx) ) { - case 1: - { - setState(927); - unannClassType_lfno_unannClassOrInterfaceType(); - } - break; - case 2: - { - setState(928); - unannInterfaceType_lfno_unannClassOrInterfaceType(); - } - break; - } - setState(935); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,66,_ctx); - while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - { - setState(933); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,65,_ctx) ) { - case 1: - { - setState(931); - unannClassType_lf_unannClassOrInterfaceType(); - } - break; - case 2: - { - setState(932); - unannInterfaceType_lf_unannClassOrInterfaceType(); - } - break; - } - } - } - setState(937); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,66,_ctx); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class UnannClassTypeContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public TypeArgumentsContext typeArguments() { - return getRuleContext(TypeArgumentsContext.class,0); - } - public UnannClassOrInterfaceTypeContext unannClassOrInterfaceType() { - return getRuleContext(UnannClassOrInterfaceTypeContext.class,0); - } - public List annotation() { - return getRuleContexts(AnnotationContext.class); - } - public AnnotationContext annotation(int i) { - return getRuleContext(AnnotationContext.class,i); - } - public UnannClassTypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_unannClassType; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterUnannClassType(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitUnannClassType(this); - } - } - - public final UnannClassTypeContext unannClassType() throws RecognitionException { - UnannClassTypeContext _localctx = new UnannClassTypeContext(_ctx, getState()); - enterRule(_localctx, 124, RULE_unannClassType); - int _la; - try { - setState(954); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,70,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(938); - match(Identifier); - setState(940); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==LT) { - { - setState(939); - typeArguments(); - } - } - - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(942); - unannClassOrInterfaceType(); - setState(943); - match(DOT); - setState(947); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==AT) { - { - { - setState(944); - annotation(); - } - } - setState(949); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(950); - match(Identifier); - setState(952); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==LT) { - { - setState(951); - typeArguments(); - } - } - - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class UnannClassType_lf_unannClassOrInterfaceTypeContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public List annotation() { - return getRuleContexts(AnnotationContext.class); - } - public AnnotationContext annotation(int i) { - return getRuleContext(AnnotationContext.class,i); - } - public TypeArgumentsContext typeArguments() { - return getRuleContext(TypeArgumentsContext.class,0); - } - public UnannClassType_lf_unannClassOrInterfaceTypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_unannClassType_lf_unannClassOrInterfaceType; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterUnannClassType_lf_unannClassOrInterfaceType(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitUnannClassType_lf_unannClassOrInterfaceType(this); - } - } - - public final UnannClassType_lf_unannClassOrInterfaceTypeContext unannClassType_lf_unannClassOrInterfaceType() throws RecognitionException { - UnannClassType_lf_unannClassOrInterfaceTypeContext _localctx = new UnannClassType_lf_unannClassOrInterfaceTypeContext(_ctx, getState()); - enterRule(_localctx, 126, RULE_unannClassType_lf_unannClassOrInterfaceType); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(956); - match(DOT); - setState(960); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==AT) { - { - { - setState(957); - annotation(); - } - } - setState(962); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(963); - match(Identifier); - setState(965); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==LT) { - { - setState(964); - typeArguments(); - } - } - - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class UnannClassType_lfno_unannClassOrInterfaceTypeContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public TypeArgumentsContext typeArguments() { - return getRuleContext(TypeArgumentsContext.class,0); - } - public UnannClassType_lfno_unannClassOrInterfaceTypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_unannClassType_lfno_unannClassOrInterfaceType; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterUnannClassType_lfno_unannClassOrInterfaceType(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitUnannClassType_lfno_unannClassOrInterfaceType(this); - } - } - - public final UnannClassType_lfno_unannClassOrInterfaceTypeContext unannClassType_lfno_unannClassOrInterfaceType() throws RecognitionException { - UnannClassType_lfno_unannClassOrInterfaceTypeContext _localctx = new UnannClassType_lfno_unannClassOrInterfaceTypeContext(_ctx, getState()); - enterRule(_localctx, 128, RULE_unannClassType_lfno_unannClassOrInterfaceType); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(967); - match(Identifier); - setState(969); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==LT) { - { - setState(968); - typeArguments(); - } - } - - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class UnannInterfaceTypeContext extends ParserRuleContext { - public UnannClassTypeContext unannClassType() { - return getRuleContext(UnannClassTypeContext.class,0); - } - public UnannInterfaceTypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_unannInterfaceType; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterUnannInterfaceType(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitUnannInterfaceType(this); - } - } - - public final UnannInterfaceTypeContext unannInterfaceType() throws RecognitionException { - UnannInterfaceTypeContext _localctx = new UnannInterfaceTypeContext(_ctx, getState()); - enterRule(_localctx, 130, RULE_unannInterfaceType); - try { - enterOuterAlt(_localctx, 1); - { - setState(971); - unannClassType(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class UnannInterfaceType_lf_unannClassOrInterfaceTypeContext extends ParserRuleContext { - public UnannClassType_lf_unannClassOrInterfaceTypeContext unannClassType_lf_unannClassOrInterfaceType() { - return getRuleContext(UnannClassType_lf_unannClassOrInterfaceTypeContext.class,0); - } - public UnannInterfaceType_lf_unannClassOrInterfaceTypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_unannInterfaceType_lf_unannClassOrInterfaceType; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterUnannInterfaceType_lf_unannClassOrInterfaceType(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitUnannInterfaceType_lf_unannClassOrInterfaceType(this); - } - } - - public final UnannInterfaceType_lf_unannClassOrInterfaceTypeContext unannInterfaceType_lf_unannClassOrInterfaceType() throws RecognitionException { - UnannInterfaceType_lf_unannClassOrInterfaceTypeContext _localctx = new UnannInterfaceType_lf_unannClassOrInterfaceTypeContext(_ctx, getState()); - enterRule(_localctx, 132, RULE_unannInterfaceType_lf_unannClassOrInterfaceType); - try { - enterOuterAlt(_localctx, 1); - { - setState(973); - unannClassType_lf_unannClassOrInterfaceType(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class UnannInterfaceType_lfno_unannClassOrInterfaceTypeContext extends ParserRuleContext { - public UnannClassType_lfno_unannClassOrInterfaceTypeContext unannClassType_lfno_unannClassOrInterfaceType() { - return getRuleContext(UnannClassType_lfno_unannClassOrInterfaceTypeContext.class,0); - } - public UnannInterfaceType_lfno_unannClassOrInterfaceTypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_unannInterfaceType_lfno_unannClassOrInterfaceType; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterUnannInterfaceType_lfno_unannClassOrInterfaceType(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitUnannInterfaceType_lfno_unannClassOrInterfaceType(this); - } - } - - public final UnannInterfaceType_lfno_unannClassOrInterfaceTypeContext unannInterfaceType_lfno_unannClassOrInterfaceType() throws RecognitionException { - UnannInterfaceType_lfno_unannClassOrInterfaceTypeContext _localctx = new UnannInterfaceType_lfno_unannClassOrInterfaceTypeContext(_ctx, getState()); - enterRule(_localctx, 134, RULE_unannInterfaceType_lfno_unannClassOrInterfaceType); - try { - enterOuterAlt(_localctx, 1); - { - setState(975); - unannClassType_lfno_unannClassOrInterfaceType(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class UnannTypeVariableContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public UnannTypeVariableContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_unannTypeVariable; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterUnannTypeVariable(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitUnannTypeVariable(this); - } - } - - public final UnannTypeVariableContext unannTypeVariable() throws RecognitionException { - UnannTypeVariableContext _localctx = new UnannTypeVariableContext(_ctx, getState()); - enterRule(_localctx, 136, RULE_unannTypeVariable); - try { - enterOuterAlt(_localctx, 1); - { - setState(977); - match(Identifier); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class UnannArrayTypeContext extends ParserRuleContext { - public UnannPrimitiveTypeContext unannPrimitiveType() { - return getRuleContext(UnannPrimitiveTypeContext.class,0); - } - public DimsContext dims() { - return getRuleContext(DimsContext.class,0); - } - public UnannClassOrInterfaceTypeContext unannClassOrInterfaceType() { - return getRuleContext(UnannClassOrInterfaceTypeContext.class,0); - } - public UnannTypeVariableContext unannTypeVariable() { - return getRuleContext(UnannTypeVariableContext.class,0); - } - public UnannArrayTypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_unannArrayType; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterUnannArrayType(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitUnannArrayType(this); - } - } - - public final UnannArrayTypeContext unannArrayType() throws RecognitionException { - UnannArrayTypeContext _localctx = new UnannArrayTypeContext(_ctx, getState()); - enterRule(_localctx, 138, RULE_unannArrayType); - try { - setState(988); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,74,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(979); - unannPrimitiveType(); - setState(980); - dims(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(982); - unannClassOrInterfaceType(); - setState(983); - dims(); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(985); - unannTypeVariable(); - setState(986); - dims(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class MethodDeclarationContext extends ParserRuleContext { - public MethodHeaderContext methodHeader() { - return getRuleContext(MethodHeaderContext.class,0); - } - public MethodBodyContext methodBody() { - return getRuleContext(MethodBodyContext.class,0); - } - public List methodModifier() { - return getRuleContexts(MethodModifierContext.class); - } - public MethodModifierContext methodModifier(int i) { - return getRuleContext(MethodModifierContext.class,i); - } - public MethodDeclarationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_methodDeclaration; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterMethodDeclaration(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitMethodDeclaration(this); - } - } - - public final MethodDeclarationContext methodDeclaration() throws RecognitionException { - MethodDeclarationContext _localctx = new MethodDeclarationContext(_ctx, getState()); - enterRule(_localctx, 140, RULE_methodDeclaration); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(993); - _errHandler.sync(this); - _la = _input.LA(1); - while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << FINAL) | (1L << NATIVE) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << STATIC) | (1L << STRICTFP) | (1L << SYNCHRONIZED))) != 0) || _la==AT) { - { - { - setState(990); - methodModifier(); - } - } - setState(995); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(996); - methodHeader(); - setState(997); - methodBody(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class MethodModifierContext extends ParserRuleContext { - public AnnotationContext annotation() { - return getRuleContext(AnnotationContext.class,0); - } - public MethodModifierContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_methodModifier; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterMethodModifier(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitMethodModifier(this); - } - } - - public final MethodModifierContext methodModifier() throws RecognitionException { - MethodModifierContext _localctx = new MethodModifierContext(_ctx, getState()); - enterRule(_localctx, 142, RULE_methodModifier); - try { - setState(1009); - _errHandler.sync(this); - switch (_input.LA(1)) { - case AT: - enterOuterAlt(_localctx, 1); - { - setState(999); - annotation(); - } - break; - case PUBLIC: - enterOuterAlt(_localctx, 2); - { - setState(1000); - match(PUBLIC); - } - break; - case PROTECTED: - enterOuterAlt(_localctx, 3); - { - setState(1001); - match(PROTECTED); - } - break; - case PRIVATE: - enterOuterAlt(_localctx, 4); - { - setState(1002); - match(PRIVATE); - } - break; - case ABSTRACT: - enterOuterAlt(_localctx, 5); - { - setState(1003); - match(ABSTRACT); - } - break; - case STATIC: - enterOuterAlt(_localctx, 6); - { - setState(1004); - match(STATIC); - } - break; - case FINAL: - enterOuterAlt(_localctx, 7); - { - setState(1005); - match(FINAL); - } - break; - case SYNCHRONIZED: - enterOuterAlt(_localctx, 8); - { - setState(1006); - match(SYNCHRONIZED); - } - break; - case NATIVE: - enterOuterAlt(_localctx, 9); - { - setState(1007); - match(NATIVE); - } - break; - case STRICTFP: - enterOuterAlt(_localctx, 10); - { - setState(1008); - match(STRICTFP); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class MethodHeaderContext extends ParserRuleContext { - public MethodDeclaratorContext methodDeclarator() { - return getRuleContext(MethodDeclaratorContext.class,0); - } - public ResultContext result() { - return getRuleContext(ResultContext.class,0); - } - public Throws_Context throws_() { - return getRuleContext(Throws_Context.class,0); - } - public TypeParametersContext typeParameters() { - return getRuleContext(TypeParametersContext.class,0); - } - public List annotation() { - return getRuleContexts(AnnotationContext.class); - } - public AnnotationContext annotation(int i) { - return getRuleContext(AnnotationContext.class,i); - } - public MethodHeaderContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_methodHeader; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterMethodHeader(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitMethodHeader(this); - } - } - - public final MethodHeaderContext methodHeader() throws RecognitionException { - MethodHeaderContext _localctx = new MethodHeaderContext(_ctx, getState()); - enterRule(_localctx, 144, RULE_methodHeader); - int _la; - try { - setState(1032); - _errHandler.sync(this); - switch (_input.LA(1)) { - case BOOLEAN: - case BYTE: - case CHAR: - case DOUBLE: - case FLOAT: - case INT: - case LONG: - case SHORT: - case VOID: - case Identifier: - enterOuterAlt(_localctx, 1); - { - setState(1012); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,77,_ctx) ) { - case 1: - { - setState(1011); - result(); - } - break; - } - setState(1014); - methodDeclarator(); - setState(1016); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==THROWS) { - { - setState(1015); - throws_(); - } - } - - } - break; - case LT: - enterOuterAlt(_localctx, 2); - { - setState(1018); - typeParameters(); - setState(1022); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==AT) { - { - { - setState(1019); - annotation(); - } - } - setState(1024); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(1026); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,80,_ctx) ) { - case 1: - { - setState(1025); - result(); - } - break; - } - setState(1028); - methodDeclarator(); - setState(1030); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==THROWS) { - { - setState(1029); - throws_(); - } - } - - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ResultContext extends ParserRuleContext { - public UnannTypeContext unannType() { - return getRuleContext(UnannTypeContext.class,0); - } - public ResultContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_result; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterResult(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitResult(this); - } - } - - public final ResultContext result() throws RecognitionException { - ResultContext _localctx = new ResultContext(_ctx, getState()); - enterRule(_localctx, 146, RULE_result); - try { - setState(1036); - _errHandler.sync(this); - switch (_input.LA(1)) { - case BOOLEAN: - case BYTE: - case CHAR: - case DOUBLE: - case FLOAT: - case INT: - case LONG: - case SHORT: - case Identifier: - enterOuterAlt(_localctx, 1); - { - setState(1034); - unannType(); - } - break; - case VOID: - enterOuterAlt(_localctx, 2); - { - setState(1035); - match(VOID); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class MethodDeclaratorContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public FormalParameterListContext formalParameterList() { - return getRuleContext(FormalParameterListContext.class,0); - } - public DimsContext dims() { - return getRuleContext(DimsContext.class,0); - } - public MethodDeclaratorContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_methodDeclarator; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterMethodDeclarator(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitMethodDeclarator(this); - } - } - - public final MethodDeclaratorContext methodDeclarator() throws RecognitionException { - MethodDeclaratorContext _localctx = new MethodDeclaratorContext(_ctx, getState()); - enterRule(_localctx, 148, RULE_methodDeclarator); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1038); - match(Identifier); - setState(1039); - match(LPAREN); - setState(1041); - _errHandler.sync(this); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FINAL) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << SHORT))) != 0) || _la==Identifier || _la==AT) { - { - setState(1040); - formalParameterList(); - } - } - - setState(1043); - match(RPAREN); - setState(1045); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==LBRACK || _la==AT) { - { - setState(1044); - dims(); - } - } - - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class FormalParameterListContext extends ParserRuleContext { - public FormalParametersContext formalParameters() { - return getRuleContext(FormalParametersContext.class,0); - } - public LastFormalParameterContext lastFormalParameter() { - return getRuleContext(LastFormalParameterContext.class,0); - } - public FormalParameterListContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_formalParameterList; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterFormalParameterList(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitFormalParameterList(this); - } - } - - public final FormalParameterListContext formalParameterList() throws RecognitionException { - FormalParameterListContext _localctx = new FormalParameterListContext(_ctx, getState()); - enterRule(_localctx, 150, RULE_formalParameterList); - try { - setState(1052); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,86,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(1047); - formalParameters(); - setState(1048); - match(COMMA); - setState(1049); - lastFormalParameter(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(1051); - lastFormalParameter(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class FormalParametersContext extends ParserRuleContext { - public List formalParameter() { - return getRuleContexts(FormalParameterContext.class); - } - public FormalParameterContext formalParameter(int i) { - return getRuleContext(FormalParameterContext.class,i); - } - public ReceiverParameterContext receiverParameter() { - return getRuleContext(ReceiverParameterContext.class,0); - } - public FormalParametersContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_formalParameters; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterFormalParameters(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitFormalParameters(this); - } - } - - public final FormalParametersContext formalParameters() throws RecognitionException { - FormalParametersContext _localctx = new FormalParametersContext(_ctx, getState()); - enterRule(_localctx, 152, RULE_formalParameters); - try { - int _alt; - setState(1070); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,89,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(1054); - formalParameter(); - setState(1059); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,87,_ctx); - while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - { - { - setState(1055); - match(COMMA); - setState(1056); - formalParameter(); - } - } - } - setState(1061); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,87,_ctx); - } - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(1062); - receiverParameter(); - setState(1067); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,88,_ctx); - while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - { - { - setState(1063); - match(COMMA); - setState(1064); - formalParameter(); - } - } - } - setState(1069); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,88,_ctx); - } - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class FormalParameterContext extends ParserRuleContext { - public VariableDeclaratorIdContext variableDeclaratorId() { - return getRuleContext(VariableDeclaratorIdContext.class,0); - } - public List variableModifier() { - return getRuleContexts(VariableModifierContext.class); - } - public VariableModifierContext variableModifier(int i) { - return getRuleContext(VariableModifierContext.class,i); - } - public UnannTypeContext unannType() { - return getRuleContext(UnannTypeContext.class,0); - } - public FormalParameterContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_formalParameter; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterFormalParameter(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitFormalParameter(this); - } - } - - public final FormalParameterContext formalParameter() throws RecognitionException { - FormalParameterContext _localctx = new FormalParameterContext(_ctx, getState()); - enterRule(_localctx, 154, RULE_formalParameter); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1075); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==FINAL || _la==AT) { - { - { - setState(1072); - variableModifier(); - } - } - setState(1077); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(1079); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,91,_ctx) ) { - case 1: - { - setState(1078); - unannType(); - } - break; - } - setState(1081); - variableDeclaratorId(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class VariableModifierContext extends ParserRuleContext { - public AnnotationContext annotation() { - return getRuleContext(AnnotationContext.class,0); - } - public VariableModifierContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_variableModifier; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterVariableModifier(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitVariableModifier(this); - } - } - - public final VariableModifierContext variableModifier() throws RecognitionException { - VariableModifierContext _localctx = new VariableModifierContext(_ctx, getState()); - enterRule(_localctx, 156, RULE_variableModifier); - try { - setState(1085); - _errHandler.sync(this); - switch (_input.LA(1)) { - case AT: - enterOuterAlt(_localctx, 1); - { - setState(1083); - annotation(); - } - break; - case FINAL: - enterOuterAlt(_localctx, 2); - { - setState(1084); - match(FINAL); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class LastFormalParameterContext extends ParserRuleContext { - public UnannTypeContext unannType() { - return getRuleContext(UnannTypeContext.class,0); - } - public VariableDeclaratorIdContext variableDeclaratorId() { - return getRuleContext(VariableDeclaratorIdContext.class,0); - } - public List variableModifier() { - return getRuleContexts(VariableModifierContext.class); - } - public VariableModifierContext variableModifier(int i) { - return getRuleContext(VariableModifierContext.class,i); - } - public List annotation() { - return getRuleContexts(AnnotationContext.class); - } - public AnnotationContext annotation(int i) { - return getRuleContext(AnnotationContext.class,i); - } - public FormalParameterContext formalParameter() { - return getRuleContext(FormalParameterContext.class,0); - } - public LastFormalParameterContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_lastFormalParameter; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterLastFormalParameter(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitLastFormalParameter(this); - } - } - - public final LastFormalParameterContext lastFormalParameter() throws RecognitionException { - LastFormalParameterContext _localctx = new LastFormalParameterContext(_ctx, getState()); - enterRule(_localctx, 158, RULE_lastFormalParameter); - int _la; - try { - setState(1104); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,95,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(1090); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==FINAL || _la==AT) { - { - { - setState(1087); - variableModifier(); - } - } - setState(1092); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(1093); - unannType(); - setState(1097); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==AT) { - { - { - setState(1094); - annotation(); - } - } - setState(1099); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(1100); - match(ELLIPSIS); - setState(1101); - variableDeclaratorId(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(1103); - formalParameter(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ReceiverParameterContext extends ParserRuleContext { - public UnannTypeContext unannType() { - return getRuleContext(UnannTypeContext.class,0); - } - public List annotation() { - return getRuleContexts(AnnotationContext.class); - } - public AnnotationContext annotation(int i) { - return getRuleContext(AnnotationContext.class,i); - } - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public ReceiverParameterContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_receiverParameter; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterReceiverParameter(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitReceiverParameter(this); - } - } - - public final ReceiverParameterContext receiverParameter() throws RecognitionException { - ReceiverParameterContext _localctx = new ReceiverParameterContext(_ctx, getState()); - enterRule(_localctx, 160, RULE_receiverParameter); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1109); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==AT) { - { - { - setState(1106); - annotation(); - } - } - setState(1111); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(1112); - unannType(); - setState(1115); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==Identifier) { - { - setState(1113); - match(Identifier); - setState(1114); - match(DOT); - } - } - - setState(1117); - match(THIS); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class Throws_Context extends ParserRuleContext { - public ExceptionTypeListContext exceptionTypeList() { - return getRuleContext(ExceptionTypeListContext.class,0); - } - public Throws_Context(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_throws_; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterThrows_(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitThrows_(this); - } - } - - public final Throws_Context throws_() throws RecognitionException { - Throws_Context _localctx = new Throws_Context(_ctx, getState()); - enterRule(_localctx, 162, RULE_throws_); - try { - enterOuterAlt(_localctx, 1); - { - setState(1119); - match(THROWS); - setState(1120); - exceptionTypeList(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ExceptionTypeListContext extends ParserRuleContext { - public List exceptionType() { - return getRuleContexts(ExceptionTypeContext.class); - } - public ExceptionTypeContext exceptionType(int i) { - return getRuleContext(ExceptionTypeContext.class,i); - } - public ExceptionTypeListContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_exceptionTypeList; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterExceptionTypeList(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitExceptionTypeList(this); - } - } - - public final ExceptionTypeListContext exceptionTypeList() throws RecognitionException { - ExceptionTypeListContext _localctx = new ExceptionTypeListContext(_ctx, getState()); - enterRule(_localctx, 164, RULE_exceptionTypeList); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1122); - exceptionType(); - setState(1127); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==COMMA) { - { - { - setState(1123); - match(COMMA); - setState(1124); - exceptionType(); - } - } - setState(1129); - _errHandler.sync(this); - _la = _input.LA(1); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ExceptionTypeContext extends ParserRuleContext { - public ClassTypeContext classType() { - return getRuleContext(ClassTypeContext.class,0); - } - public TypeVariableContext typeVariable() { - return getRuleContext(TypeVariableContext.class,0); - } - public ExceptionTypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_exceptionType; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterExceptionType(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitExceptionType(this); - } - } - - public final ExceptionTypeContext exceptionType() throws RecognitionException { - ExceptionTypeContext _localctx = new ExceptionTypeContext(_ctx, getState()); - enterRule(_localctx, 166, RULE_exceptionType); - try { - setState(1132); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,99,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(1130); - classType(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(1131); - typeVariable(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class MethodBodyContext extends ParserRuleContext { - public BlockContext block() { - return getRuleContext(BlockContext.class,0); - } - public MethodBodyContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_methodBody; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterMethodBody(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitMethodBody(this); - } - } - - public final MethodBodyContext methodBody() throws RecognitionException { - MethodBodyContext _localctx = new MethodBodyContext(_ctx, getState()); - enterRule(_localctx, 168, RULE_methodBody); - try { - setState(1136); - _errHandler.sync(this); - switch (_input.LA(1)) { - case LBRACE: - enterOuterAlt(_localctx, 1); - { - setState(1134); - block(); - } - break; - case SEMI: - enterOuterAlt(_localctx, 2); - { - setState(1135); - match(SEMI); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class InstanceInitializerContext extends ParserRuleContext { - public BlockContext block() { - return getRuleContext(BlockContext.class,0); - } - public InstanceInitializerContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_instanceInitializer; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterInstanceInitializer(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitInstanceInitializer(this); - } - } - - public final InstanceInitializerContext instanceInitializer() throws RecognitionException { - InstanceInitializerContext _localctx = new InstanceInitializerContext(_ctx, getState()); - enterRule(_localctx, 170, RULE_instanceInitializer); - try { - enterOuterAlt(_localctx, 1); - { - setState(1138); - block(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class StaticInitializerContext extends ParserRuleContext { - public BlockContext block() { - return getRuleContext(BlockContext.class,0); - } - public StaticInitializerContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_staticInitializer; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterStaticInitializer(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitStaticInitializer(this); - } - } - - public final StaticInitializerContext staticInitializer() throws RecognitionException { - StaticInitializerContext _localctx = new StaticInitializerContext(_ctx, getState()); - enterRule(_localctx, 172, RULE_staticInitializer); - try { - enterOuterAlt(_localctx, 1); - { - setState(1140); - match(STATIC); - setState(1141); - block(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ConstructorDeclarationContext extends ParserRuleContext { - public ConstructorDeclaratorContext constructorDeclarator() { - return getRuleContext(ConstructorDeclaratorContext.class,0); - } - public ConstructorBodyContext constructorBody() { - return getRuleContext(ConstructorBodyContext.class,0); - } - public List constructorModifier() { - return getRuleContexts(ConstructorModifierContext.class); - } - public ConstructorModifierContext constructorModifier(int i) { - return getRuleContext(ConstructorModifierContext.class,i); - } - public Throws_Context throws_() { - return getRuleContext(Throws_Context.class,0); - } - public ConstructorDeclarationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_constructorDeclaration; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterConstructorDeclaration(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitConstructorDeclaration(this); - } - } - - public final ConstructorDeclarationContext constructorDeclaration() throws RecognitionException { - ConstructorDeclarationContext _localctx = new ConstructorDeclarationContext(_ctx, getState()); - enterRule(_localctx, 174, RULE_constructorDeclaration); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1146); - _errHandler.sync(this); - _la = _input.LA(1); - while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC))) != 0) || _la==AT) { - { - { - setState(1143); - constructorModifier(); - } - } - setState(1148); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(1149); - constructorDeclarator(); - setState(1151); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==THROWS) { - { - setState(1150); - throws_(); - } - } - - setState(1153); - constructorBody(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ConstructorModifierContext extends ParserRuleContext { - public AnnotationContext annotation() { - return getRuleContext(AnnotationContext.class,0); - } - public ConstructorModifierContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_constructorModifier; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterConstructorModifier(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitConstructorModifier(this); - } - } - - public final ConstructorModifierContext constructorModifier() throws RecognitionException { - ConstructorModifierContext _localctx = new ConstructorModifierContext(_ctx, getState()); - enterRule(_localctx, 176, RULE_constructorModifier); - try { - setState(1159); - _errHandler.sync(this); - switch (_input.LA(1)) { - case AT: - enterOuterAlt(_localctx, 1); - { - setState(1155); - annotation(); - } - break; - case PUBLIC: - enterOuterAlt(_localctx, 2); - { - setState(1156); - match(PUBLIC); - } - break; - case PROTECTED: - enterOuterAlt(_localctx, 3); - { - setState(1157); - match(PROTECTED); - } - break; - case PRIVATE: - enterOuterAlt(_localctx, 4); - { - setState(1158); - match(PRIVATE); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ConstructorDeclaratorContext extends ParserRuleContext { - public SimpleTypeNameContext simpleTypeName() { - return getRuleContext(SimpleTypeNameContext.class,0); - } - public TypeParametersContext typeParameters() { - return getRuleContext(TypeParametersContext.class,0); - } - public FormalParameterListContext formalParameterList() { - return getRuleContext(FormalParameterListContext.class,0); - } - public ConstructorDeclaratorContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_constructorDeclarator; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterConstructorDeclarator(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitConstructorDeclarator(this); - } - } - - public final ConstructorDeclaratorContext constructorDeclarator() throws RecognitionException { - ConstructorDeclaratorContext _localctx = new ConstructorDeclaratorContext(_ctx, getState()); - enterRule(_localctx, 178, RULE_constructorDeclarator); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1162); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==LT) { - { - setState(1161); - typeParameters(); - } - } - - setState(1164); - simpleTypeName(); - setState(1165); - match(LPAREN); - setState(1167); - _errHandler.sync(this); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FINAL) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << SHORT))) != 0) || _la==Identifier || _la==AT) { - { - setState(1166); - formalParameterList(); - } - } - - setState(1169); - match(RPAREN); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class SimpleTypeNameContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public SimpleTypeNameContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_simpleTypeName; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterSimpleTypeName(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitSimpleTypeName(this); - } - } - - public final SimpleTypeNameContext simpleTypeName() throws RecognitionException { - SimpleTypeNameContext _localctx = new SimpleTypeNameContext(_ctx, getState()); - enterRule(_localctx, 180, RULE_simpleTypeName); - try { - enterOuterAlt(_localctx, 1); - { - setState(1171); - match(Identifier); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ConstructorBodyContext extends ParserRuleContext { - public ExplicitConstructorInvocationContext explicitConstructorInvocation() { - return getRuleContext(ExplicitConstructorInvocationContext.class,0); - } - public BlockStatementsContext blockStatements() { - return getRuleContext(BlockStatementsContext.class,0); - } - public ConstructorBodyContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_constructorBody; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterConstructorBody(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitConstructorBody(this); - } - } - - public final ConstructorBodyContext constructorBody() throws RecognitionException { - ConstructorBodyContext _localctx = new ConstructorBodyContext(_ctx, getState()); - enterRule(_localctx, 182, RULE_constructorBody); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1173); - match(LBRACE); - setState(1175); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,106,_ctx) ) { - case 1: - { - setState(1174); - explicitConstructorInvocation(); - } - break; - } - setState(1178); - _errHandler.sync(this); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__0) | (1L << ABSTRACT) | (1L << ASSERT) | (1L << BOOLEAN) | (1L << BREAK) | (1L << BYTE) | (1L << CHAR) | (1L << CLASS) | (1L << CONTINUE) | (1L << DO) | (1L << DOUBLE) | (1L << ENUM) | (1L << FINAL) | (1L << FLOAT) | (1L << FOR) | (1L << IF) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << RETURN) | (1L << SHORT) | (1L << STATIC) | (1L << STRICTFP) | (1L << SUPER) | (1L << SWITCH) | (1L << SYNCHRONIZED) | (1L << THIS) | (1L << THROW) | (1L << TRY) | (1L << VOID) | (1L << WHILE) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN) | (1L << LBRACE))) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & ((1L << (SEMI - 64)) | (1L << (INC - 64)) | (1L << (DEC - 64)) | (1L << (Identifier - 64)) | (1L << (AT - 64)))) != 0)) { - { - setState(1177); - blockStatements(); - } - } - - setState(1180); - match(RBRACE); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ExplicitConstructorInvocationContext extends ParserRuleContext { - public TypeArgumentsContext typeArguments() { - return getRuleContext(TypeArgumentsContext.class,0); - } - public ArgumentListContext argumentList() { - return getRuleContext(ArgumentListContext.class,0); - } - public ExpressionNameContext expressionName() { - return getRuleContext(ExpressionNameContext.class,0); - } - public PrimaryContext primary() { - return getRuleContext(PrimaryContext.class,0); - } - public ExplicitConstructorInvocationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_explicitConstructorInvocation; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterExplicitConstructorInvocation(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitExplicitConstructorInvocation(this); - } - } - - public final ExplicitConstructorInvocationContext explicitConstructorInvocation() throws RecognitionException { - ExplicitConstructorInvocationContext _localctx = new ExplicitConstructorInvocationContext(_ctx, getState()); - enterRule(_localctx, 184, RULE_explicitConstructorInvocation); - int _la; - try { - setState(1228); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,116,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(1183); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==LT) { - { - setState(1182); - typeArguments(); - } - } - - setState(1185); - match(THIS); - setState(1186); - match(LPAREN); - setState(1188); - _errHandler.sync(this); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 70)) & ~0x3f) == 0 && ((1L << (_la - 70)) & ((1L << (BANG - 70)) | (1L << (TILDE - 70)) | (1L << (INC - 70)) | (1L << (DEC - 70)) | (1L << (ADD - 70)) | (1L << (SUB - 70)) | (1L << (Identifier - 70)) | (1L << (AT - 70)))) != 0)) { - { - setState(1187); - argumentList(); - } - } - - setState(1190); - match(RPAREN); - setState(1191); - match(SEMI); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(1193); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==LT) { - { - setState(1192); - typeArguments(); - } - } - - setState(1195); - match(SUPER); - setState(1196); - match(LPAREN); - setState(1198); - _errHandler.sync(this); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 70)) & ~0x3f) == 0 && ((1L << (_la - 70)) & ((1L << (BANG - 70)) | (1L << (TILDE - 70)) | (1L << (INC - 70)) | (1L << (DEC - 70)) | (1L << (ADD - 70)) | (1L << (SUB - 70)) | (1L << (Identifier - 70)) | (1L << (AT - 70)))) != 0)) { - { - setState(1197); - argumentList(); - } - } - - setState(1200); - match(RPAREN); - setState(1201); - match(SEMI); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(1202); - expressionName(); - setState(1203); - match(DOT); - setState(1205); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==LT) { - { - setState(1204); - typeArguments(); - } - } - - setState(1207); - match(SUPER); - setState(1208); - match(LPAREN); - setState(1210); - _errHandler.sync(this); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 70)) & ~0x3f) == 0 && ((1L << (_la - 70)) & ((1L << (BANG - 70)) | (1L << (TILDE - 70)) | (1L << (INC - 70)) | (1L << (DEC - 70)) | (1L << (ADD - 70)) | (1L << (SUB - 70)) | (1L << (Identifier - 70)) | (1L << (AT - 70)))) != 0)) { - { - setState(1209); - argumentList(); - } - } - - setState(1212); - match(RPAREN); - setState(1213); - match(SEMI); - } - break; - case 4: - enterOuterAlt(_localctx, 4); - { - setState(1215); - primary(); - setState(1216); - match(DOT); - setState(1218); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==LT) { - { - setState(1217); - typeArguments(); - } - } - - setState(1220); - match(SUPER); - setState(1221); - match(LPAREN); - setState(1223); - _errHandler.sync(this); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 70)) & ~0x3f) == 0 && ((1L << (_la - 70)) & ((1L << (BANG - 70)) | (1L << (TILDE - 70)) | (1L << (INC - 70)) | (1L << (DEC - 70)) | (1L << (ADD - 70)) | (1L << (SUB - 70)) | (1L << (Identifier - 70)) | (1L << (AT - 70)))) != 0)) { - { - setState(1222); - argumentList(); - } - } - - setState(1225); - match(RPAREN); - setState(1226); - match(SEMI); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class EnumDeclarationContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public EnumBodyContext enumBody() { - return getRuleContext(EnumBodyContext.class,0); - } - public List classModifier() { - return getRuleContexts(ClassModifierContext.class); - } - public ClassModifierContext classModifier(int i) { - return getRuleContext(ClassModifierContext.class,i); - } - public SuperinterfacesContext superinterfaces() { - return getRuleContext(SuperinterfacesContext.class,0); - } - public EnumDeclarationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_enumDeclaration; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterEnumDeclaration(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitEnumDeclaration(this); - } - } - - public final EnumDeclarationContext enumDeclaration() throws RecognitionException { - EnumDeclarationContext _localctx = new EnumDeclarationContext(_ctx, getState()); - enterRule(_localctx, 186, RULE_enumDeclaration); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1233); - _errHandler.sync(this); - _la = _input.LA(1); - while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << FINAL) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << STATIC) | (1L << STRICTFP))) != 0) || _la==AT) { - { - { - setState(1230); - classModifier(); - } - } - setState(1235); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(1236); - match(ENUM); - setState(1237); - match(Identifier); - setState(1239); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==IMPLEMENTS) { - { - setState(1238); - superinterfaces(); - } - } - - setState(1241); - enumBody(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class EnumBodyContext extends ParserRuleContext { - public EnumConstantListContext enumConstantList() { - return getRuleContext(EnumConstantListContext.class,0); - } - public EnumBodyDeclarationsContext enumBodyDeclarations() { - return getRuleContext(EnumBodyDeclarationsContext.class,0); - } - public EnumBodyContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_enumBody; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterEnumBody(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitEnumBody(this); - } - } - - public final EnumBodyContext enumBody() throws RecognitionException { - EnumBodyContext _localctx = new EnumBodyContext(_ctx, getState()); - enterRule(_localctx, 188, RULE_enumBody); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1243); - match(LBRACE); - setState(1245); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==Identifier || _la==AT) { - { - setState(1244); - enumConstantList(); - } - } - - setState(1248); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==COMMA) { - { - setState(1247); - match(COMMA); - } - } - - setState(1251); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==SEMI) { - { - setState(1250); - enumBodyDeclarations(); - } - } - - setState(1253); - match(RBRACE); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class EnumConstantListContext extends ParserRuleContext { - public List enumConstant() { - return getRuleContexts(EnumConstantContext.class); - } - public EnumConstantContext enumConstant(int i) { - return getRuleContext(EnumConstantContext.class,i); - } - public EnumConstantListContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_enumConstantList; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterEnumConstantList(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitEnumConstantList(this); - } - } - - public final EnumConstantListContext enumConstantList() throws RecognitionException { - EnumConstantListContext _localctx = new EnumConstantListContext(_ctx, getState()); - enterRule(_localctx, 190, RULE_enumConstantList); - try { - int _alt; - enterOuterAlt(_localctx, 1); - { - setState(1255); - enumConstant(); - setState(1260); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,122,_ctx); - while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - { - { - setState(1256); - match(COMMA); - setState(1257); - enumConstant(); - } - } - } - setState(1262); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,122,_ctx); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class EnumConstantContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public List enumConstantModifier() { - return getRuleContexts(EnumConstantModifierContext.class); - } - public EnumConstantModifierContext enumConstantModifier(int i) { - return getRuleContext(EnumConstantModifierContext.class,i); - } - public ClassBodyContext classBody() { - return getRuleContext(ClassBodyContext.class,0); - } - public ArgumentListContext argumentList() { - return getRuleContext(ArgumentListContext.class,0); - } - public EnumConstantContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_enumConstant; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterEnumConstant(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitEnumConstant(this); - } - } - - public final EnumConstantContext enumConstant() throws RecognitionException { - EnumConstantContext _localctx = new EnumConstantContext(_ctx, getState()); - enterRule(_localctx, 192, RULE_enumConstant); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1266); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==AT) { - { - { - setState(1263); - enumConstantModifier(); - } - } - setState(1268); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(1269); - match(Identifier); - setState(1275); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==LPAREN) { - { - setState(1270); - match(LPAREN); - setState(1272); - _errHandler.sync(this); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 70)) & ~0x3f) == 0 && ((1L << (_la - 70)) & ((1L << (BANG - 70)) | (1L << (TILDE - 70)) | (1L << (INC - 70)) | (1L << (DEC - 70)) | (1L << (ADD - 70)) | (1L << (SUB - 70)) | (1L << (Identifier - 70)) | (1L << (AT - 70)))) != 0)) { - { - setState(1271); - argumentList(); - } - } - - setState(1274); - match(RPAREN); - } - } - - setState(1278); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==LBRACE) { - { - setState(1277); - classBody(); - } - } - - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class EnumConstantModifierContext extends ParserRuleContext { - public AnnotationContext annotation() { - return getRuleContext(AnnotationContext.class,0); - } - public EnumConstantModifierContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_enumConstantModifier; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterEnumConstantModifier(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitEnumConstantModifier(this); - } - } - - public final EnumConstantModifierContext enumConstantModifier() throws RecognitionException { - EnumConstantModifierContext _localctx = new EnumConstantModifierContext(_ctx, getState()); - enterRule(_localctx, 194, RULE_enumConstantModifier); - try { - enterOuterAlt(_localctx, 1); - { - setState(1280); - annotation(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class EnumBodyDeclarationsContext extends ParserRuleContext { - public List classBodyDeclaration() { - return getRuleContexts(ClassBodyDeclarationContext.class); - } - public ClassBodyDeclarationContext classBodyDeclaration(int i) { - return getRuleContext(ClassBodyDeclarationContext.class,i); - } - public EnumBodyDeclarationsContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_enumBodyDeclarations; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterEnumBodyDeclarations(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitEnumBodyDeclarations(this); - } - } - - public final EnumBodyDeclarationsContext enumBodyDeclarations() throws RecognitionException { - EnumBodyDeclarationsContext _localctx = new EnumBodyDeclarationsContext(_ctx, getState()); - enterRule(_localctx, 196, RULE_enumBodyDeclarations); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1282); - match(SEMI); - setState(1286); - _errHandler.sync(this); - _la = _input.LA(1); - while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__0) | (1L << ABSTRACT) | (1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << CLASS) | (1L << DOUBLE) | (1L << ENUM) | (1L << FINAL) | (1L << FLOAT) | (1L << INT) | (1L << INTERFACE) | (1L << LONG) | (1L << NATIVE) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << SHORT) | (1L << STATIC) | (1L << STRICTFP) | (1L << SYNCHRONIZED) | (1L << TRANSIENT) | (1L << VOID) | (1L << VOLATILE) | (1L << LBRACE))) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & ((1L << (SEMI - 64)) | (1L << (LT - 64)) | (1L << (Identifier - 64)) | (1L << (AT - 64)))) != 0)) { - { - { - setState(1283); - classBodyDeclaration(); - } - } - setState(1288); - _errHandler.sync(this); - _la = _input.LA(1); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class InterfaceDeclarationContext extends ParserRuleContext { - public NormalInterfaceDeclarationContext normalInterfaceDeclaration() { - return getRuleContext(NormalInterfaceDeclarationContext.class,0); - } - public AnnotationTypeDeclarationContext annotationTypeDeclaration() { - return getRuleContext(AnnotationTypeDeclarationContext.class,0); - } - public InterfaceDeclarationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_interfaceDeclaration; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterInterfaceDeclaration(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitInterfaceDeclaration(this); - } - } - - public final InterfaceDeclarationContext interfaceDeclaration() throws RecognitionException { - InterfaceDeclarationContext _localctx = new InterfaceDeclarationContext(_ctx, getState()); - enterRule(_localctx, 198, RULE_interfaceDeclaration); - try { - setState(1291); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,128,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(1289); - normalInterfaceDeclaration(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(1290); - annotationTypeDeclaration(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class NormalInterfaceDeclarationContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public InterfaceBodyContext interfaceBody() { - return getRuleContext(InterfaceBodyContext.class,0); - } - public List interfaceModifier() { - return getRuleContexts(InterfaceModifierContext.class); - } - public InterfaceModifierContext interfaceModifier(int i) { - return getRuleContext(InterfaceModifierContext.class,i); - } - public TypeParametersContext typeParameters() { - return getRuleContext(TypeParametersContext.class,0); - } - public ExtendsInterfacesContext extendsInterfaces() { - return getRuleContext(ExtendsInterfacesContext.class,0); - } - public NormalInterfaceDeclarationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_normalInterfaceDeclaration; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterNormalInterfaceDeclaration(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitNormalInterfaceDeclaration(this); - } - } - - public final NormalInterfaceDeclarationContext normalInterfaceDeclaration() throws RecognitionException { - NormalInterfaceDeclarationContext _localctx = new NormalInterfaceDeclarationContext(_ctx, getState()); - enterRule(_localctx, 200, RULE_normalInterfaceDeclaration); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1296); - _errHandler.sync(this); - _la = _input.LA(1); - while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << STATIC) | (1L << STRICTFP))) != 0) || _la==AT) { - { - { - setState(1293); - interfaceModifier(); - } - } - setState(1298); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(1299); - match(INTERFACE); - setState(1300); - match(Identifier); - setState(1302); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==LT) { - { - setState(1301); - typeParameters(); - } - } - - setState(1305); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==EXTENDS) { - { - setState(1304); - extendsInterfaces(); - } - } - - setState(1307); - interfaceBody(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class InterfaceModifierContext extends ParserRuleContext { - public AnnotationContext annotation() { - return getRuleContext(AnnotationContext.class,0); - } - public InterfaceModifierContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_interfaceModifier; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterInterfaceModifier(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitInterfaceModifier(this); - } - } - - public final InterfaceModifierContext interfaceModifier() throws RecognitionException { - InterfaceModifierContext _localctx = new InterfaceModifierContext(_ctx, getState()); - enterRule(_localctx, 202, RULE_interfaceModifier); - try { - setState(1316); - _errHandler.sync(this); - switch (_input.LA(1)) { - case AT: - enterOuterAlt(_localctx, 1); - { - setState(1309); - annotation(); - } - break; - case PUBLIC: - enterOuterAlt(_localctx, 2); - { - setState(1310); - match(PUBLIC); - } - break; - case PROTECTED: - enterOuterAlt(_localctx, 3); - { - setState(1311); - match(PROTECTED); - } - break; - case PRIVATE: - enterOuterAlt(_localctx, 4); - { - setState(1312); - match(PRIVATE); - } - break; - case ABSTRACT: - enterOuterAlt(_localctx, 5); - { - setState(1313); - match(ABSTRACT); - } - break; - case STATIC: - enterOuterAlt(_localctx, 6); - { - setState(1314); - match(STATIC); - } - break; - case STRICTFP: - enterOuterAlt(_localctx, 7); - { - setState(1315); - match(STRICTFP); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ExtendsInterfacesContext extends ParserRuleContext { - public InterfaceTypeListContext interfaceTypeList() { - return getRuleContext(InterfaceTypeListContext.class,0); - } - public ExtendsInterfacesContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_extendsInterfaces; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterExtendsInterfaces(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitExtendsInterfaces(this); - } - } - - public final ExtendsInterfacesContext extendsInterfaces() throws RecognitionException { - ExtendsInterfacesContext _localctx = new ExtendsInterfacesContext(_ctx, getState()); - enterRule(_localctx, 204, RULE_extendsInterfaces); - try { - enterOuterAlt(_localctx, 1); - { - setState(1318); - match(EXTENDS); - setState(1319); - interfaceTypeList(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class InterfaceBodyContext extends ParserRuleContext { - public List interfaceMemberDeclaration() { - return getRuleContexts(InterfaceMemberDeclarationContext.class); - } - public InterfaceMemberDeclarationContext interfaceMemberDeclaration(int i) { - return getRuleContext(InterfaceMemberDeclarationContext.class,i); - } - public InterfaceBodyContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_interfaceBody; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterInterfaceBody(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitInterfaceBody(this); - } - } - - public final InterfaceBodyContext interfaceBody() throws RecognitionException { - InterfaceBodyContext _localctx = new InterfaceBodyContext(_ctx, getState()); - enterRule(_localctx, 206, RULE_interfaceBody); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1321); - match(LBRACE); - setState(1325); - _errHandler.sync(this); - _la = _input.LA(1); - while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << CLASS) | (1L << DEFAULT) | (1L << DOUBLE) | (1L << ENUM) | (1L << FINAL) | (1L << FLOAT) | (1L << INT) | (1L << INTERFACE) | (1L << LONG) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << SHORT) | (1L << STATIC) | (1L << STRICTFP) | (1L << VOID))) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & ((1L << (SEMI - 64)) | (1L << (LT - 64)) | (1L << (Identifier - 64)) | (1L << (AT - 64)))) != 0)) { - { - { - setState(1322); - interfaceMemberDeclaration(); - } - } - setState(1327); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(1328); - match(RBRACE); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class InterfaceMemberDeclarationContext extends ParserRuleContext { - public ConstantDeclarationContext constantDeclaration() { - return getRuleContext(ConstantDeclarationContext.class,0); - } - public InterfaceMethodDeclarationContext interfaceMethodDeclaration() { - return getRuleContext(InterfaceMethodDeclarationContext.class,0); - } - public ClassDeclarationContext classDeclaration() { - return getRuleContext(ClassDeclarationContext.class,0); - } - public InterfaceDeclarationContext interfaceDeclaration() { - return getRuleContext(InterfaceDeclarationContext.class,0); - } - public InterfaceMemberDeclarationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_interfaceMemberDeclaration; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterInterfaceMemberDeclaration(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitInterfaceMemberDeclaration(this); - } - } - - public final InterfaceMemberDeclarationContext interfaceMemberDeclaration() throws RecognitionException { - InterfaceMemberDeclarationContext _localctx = new InterfaceMemberDeclarationContext(_ctx, getState()); - enterRule(_localctx, 208, RULE_interfaceMemberDeclaration); - try { - setState(1335); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,134,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(1330); - constantDeclaration(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(1331); - interfaceMethodDeclaration(); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(1332); - classDeclaration(); - } - break; - case 4: - enterOuterAlt(_localctx, 4); - { - setState(1333); - interfaceDeclaration(); - } - break; - case 5: - enterOuterAlt(_localctx, 5); - { - setState(1334); - match(SEMI); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ConstantDeclarationContext extends ParserRuleContext { - public UnannTypeContext unannType() { - return getRuleContext(UnannTypeContext.class,0); - } - public VariableDeclaratorListContext variableDeclaratorList() { - return getRuleContext(VariableDeclaratorListContext.class,0); - } - public List constantModifier() { - return getRuleContexts(ConstantModifierContext.class); - } - public ConstantModifierContext constantModifier(int i) { - return getRuleContext(ConstantModifierContext.class,i); - } - public ConstantDeclarationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_constantDeclaration; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterConstantDeclaration(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitConstantDeclaration(this); - } - } - - public final ConstantDeclarationContext constantDeclaration() throws RecognitionException { - ConstantDeclarationContext _localctx = new ConstantDeclarationContext(_ctx, getState()); - enterRule(_localctx, 210, RULE_constantDeclaration); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1340); - _errHandler.sync(this); - _la = _input.LA(1); - while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << FINAL) | (1L << PUBLIC) | (1L << STATIC))) != 0) || _la==AT) { - { - { - setState(1337); - constantModifier(); - } - } - setState(1342); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(1343); - unannType(); - setState(1344); - variableDeclaratorList(); - setState(1345); - match(SEMI); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ConstantModifierContext extends ParserRuleContext { - public AnnotationContext annotation() { - return getRuleContext(AnnotationContext.class,0); - } - public ConstantModifierContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_constantModifier; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterConstantModifier(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitConstantModifier(this); - } - } - - public final ConstantModifierContext constantModifier() throws RecognitionException { - ConstantModifierContext _localctx = new ConstantModifierContext(_ctx, getState()); - enterRule(_localctx, 212, RULE_constantModifier); - try { - setState(1351); - _errHandler.sync(this); - switch (_input.LA(1)) { - case AT: - enterOuterAlt(_localctx, 1); - { - setState(1347); - annotation(); - } - break; - case PUBLIC: - enterOuterAlt(_localctx, 2); - { - setState(1348); - match(PUBLIC); - } - break; - case STATIC: - enterOuterAlt(_localctx, 3); - { - setState(1349); - match(STATIC); - } - break; - case FINAL: - enterOuterAlt(_localctx, 4); - { - setState(1350); - match(FINAL); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class InterfaceMethodDeclarationContext extends ParserRuleContext { - public MethodHeaderContext methodHeader() { - return getRuleContext(MethodHeaderContext.class,0); - } - public MethodBodyContext methodBody() { - return getRuleContext(MethodBodyContext.class,0); - } - public List interfaceMethodModifier() { - return getRuleContexts(InterfaceMethodModifierContext.class); - } - public InterfaceMethodModifierContext interfaceMethodModifier(int i) { - return getRuleContext(InterfaceMethodModifierContext.class,i); - } - public InterfaceMethodDeclarationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_interfaceMethodDeclaration; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterInterfaceMethodDeclaration(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitInterfaceMethodDeclaration(this); - } - } - - public final InterfaceMethodDeclarationContext interfaceMethodDeclaration() throws RecognitionException { - InterfaceMethodDeclarationContext _localctx = new InterfaceMethodDeclarationContext(_ctx, getState()); - enterRule(_localctx, 214, RULE_interfaceMethodDeclaration); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1356); - _errHandler.sync(this); - _la = _input.LA(1); - while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << DEFAULT) | (1L << PUBLIC) | (1L << STATIC) | (1L << STRICTFP))) != 0) || _la==AT) { - { - { - setState(1353); - interfaceMethodModifier(); - } - } - setState(1358); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(1359); - methodHeader(); - setState(1360); - methodBody(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class InterfaceMethodModifierContext extends ParserRuleContext { - public AnnotationContext annotation() { - return getRuleContext(AnnotationContext.class,0); - } - public InterfaceMethodModifierContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_interfaceMethodModifier; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterInterfaceMethodModifier(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitInterfaceMethodModifier(this); - } - } - - public final InterfaceMethodModifierContext interfaceMethodModifier() throws RecognitionException { - InterfaceMethodModifierContext _localctx = new InterfaceMethodModifierContext(_ctx, getState()); - enterRule(_localctx, 216, RULE_interfaceMethodModifier); - try { - setState(1368); - _errHandler.sync(this); - switch (_input.LA(1)) { - case AT: - enterOuterAlt(_localctx, 1); - { - setState(1362); - annotation(); - } - break; - case PUBLIC: - enterOuterAlt(_localctx, 2); - { - setState(1363); - match(PUBLIC); - } - break; - case ABSTRACT: - enterOuterAlt(_localctx, 3); - { - setState(1364); - match(ABSTRACT); - } - break; - case DEFAULT: - enterOuterAlt(_localctx, 4); - { - setState(1365); - match(DEFAULT); - } - break; - case STATIC: - enterOuterAlt(_localctx, 5); - { - setState(1366); - match(STATIC); - } - break; - case STRICTFP: - enterOuterAlt(_localctx, 6); - { - setState(1367); - match(STRICTFP); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class AnnotationTypeDeclarationContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public AnnotationTypeBodyContext annotationTypeBody() { - return getRuleContext(AnnotationTypeBodyContext.class,0); - } - public List interfaceModifier() { - return getRuleContexts(InterfaceModifierContext.class); - } - public InterfaceModifierContext interfaceModifier(int i) { - return getRuleContext(InterfaceModifierContext.class,i); - } - public AnnotationTypeDeclarationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_annotationTypeDeclaration; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterAnnotationTypeDeclaration(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitAnnotationTypeDeclaration(this); - } - } - - public final AnnotationTypeDeclarationContext annotationTypeDeclaration() throws RecognitionException { - AnnotationTypeDeclarationContext _localctx = new AnnotationTypeDeclarationContext(_ctx, getState()); - enterRule(_localctx, 218, RULE_annotationTypeDeclaration); - try { - int _alt; - enterOuterAlt(_localctx, 1); - { - setState(1373); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,139,_ctx); - while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - { - { - setState(1370); - interfaceModifier(); - } - } - } - setState(1375); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,139,_ctx); - } - setState(1376); - match(AT); - setState(1377); - match(INTERFACE); - setState(1378); - match(Identifier); - setState(1379); - annotationTypeBody(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class AnnotationTypeBodyContext extends ParserRuleContext { - public List annotationTypeMemberDeclaration() { - return getRuleContexts(AnnotationTypeMemberDeclarationContext.class); - } - public AnnotationTypeMemberDeclarationContext annotationTypeMemberDeclaration(int i) { - return getRuleContext(AnnotationTypeMemberDeclarationContext.class,i); - } - public AnnotationTypeBodyContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_annotationTypeBody; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterAnnotationTypeBody(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitAnnotationTypeBody(this); - } - } - - public final AnnotationTypeBodyContext annotationTypeBody() throws RecognitionException { - AnnotationTypeBodyContext _localctx = new AnnotationTypeBodyContext(_ctx, getState()); - enterRule(_localctx, 220, RULE_annotationTypeBody); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1381); - match(LBRACE); - setState(1385); - _errHandler.sync(this); - _la = _input.LA(1); - while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << CLASS) | (1L << DOUBLE) | (1L << ENUM) | (1L << FINAL) | (1L << FLOAT) | (1L << INT) | (1L << INTERFACE) | (1L << LONG) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << SHORT) | (1L << STATIC) | (1L << STRICTFP))) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & ((1L << (SEMI - 64)) | (1L << (Identifier - 64)) | (1L << (AT - 64)))) != 0)) { - { - { - setState(1382); - annotationTypeMemberDeclaration(); - } - } - setState(1387); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(1388); - match(RBRACE); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class AnnotationTypeMemberDeclarationContext extends ParserRuleContext { - public AnnotationTypeElementDeclarationContext annotationTypeElementDeclaration() { - return getRuleContext(AnnotationTypeElementDeclarationContext.class,0); - } - public ConstantDeclarationContext constantDeclaration() { - return getRuleContext(ConstantDeclarationContext.class,0); - } - public ClassDeclarationContext classDeclaration() { - return getRuleContext(ClassDeclarationContext.class,0); - } - public InterfaceDeclarationContext interfaceDeclaration() { - return getRuleContext(InterfaceDeclarationContext.class,0); - } - public AnnotationTypeMemberDeclarationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_annotationTypeMemberDeclaration; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterAnnotationTypeMemberDeclaration(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitAnnotationTypeMemberDeclaration(this); - } - } - - public final AnnotationTypeMemberDeclarationContext annotationTypeMemberDeclaration() throws RecognitionException { - AnnotationTypeMemberDeclarationContext _localctx = new AnnotationTypeMemberDeclarationContext(_ctx, getState()); - enterRule(_localctx, 222, RULE_annotationTypeMemberDeclaration); - try { - setState(1395); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,141,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(1390); - annotationTypeElementDeclaration(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(1391); - constantDeclaration(); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(1392); - classDeclaration(); - } - break; - case 4: - enterOuterAlt(_localctx, 4); - { - setState(1393); - interfaceDeclaration(); - } - break; - case 5: - enterOuterAlt(_localctx, 5); - { - setState(1394); - match(SEMI); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class AnnotationTypeElementDeclarationContext extends ParserRuleContext { - public UnannTypeContext unannType() { - return getRuleContext(UnannTypeContext.class,0); - } - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public List annotationTypeElementModifier() { - return getRuleContexts(AnnotationTypeElementModifierContext.class); - } - public AnnotationTypeElementModifierContext annotationTypeElementModifier(int i) { - return getRuleContext(AnnotationTypeElementModifierContext.class,i); - } - public DimsContext dims() { - return getRuleContext(DimsContext.class,0); - } - public DefaultValueContext defaultValue() { - return getRuleContext(DefaultValueContext.class,0); - } - public AnnotationTypeElementDeclarationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_annotationTypeElementDeclaration; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterAnnotationTypeElementDeclaration(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitAnnotationTypeElementDeclaration(this); - } - } - - public final AnnotationTypeElementDeclarationContext annotationTypeElementDeclaration() throws RecognitionException { - AnnotationTypeElementDeclarationContext _localctx = new AnnotationTypeElementDeclarationContext(_ctx, getState()); - enterRule(_localctx, 224, RULE_annotationTypeElementDeclaration); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1400); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==ABSTRACT || _la==PUBLIC || _la==AT) { - { - { - setState(1397); - annotationTypeElementModifier(); - } - } - setState(1402); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(1403); - unannType(); - setState(1404); - match(Identifier); - setState(1405); - match(LPAREN); - setState(1406); - match(RPAREN); - setState(1408); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==LBRACK || _la==AT) { - { - setState(1407); - dims(); - } - } - - setState(1411); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==DEFAULT) { - { - setState(1410); - defaultValue(); - } - } - - setState(1413); - match(SEMI); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class AnnotationTypeElementModifierContext extends ParserRuleContext { - public AnnotationContext annotation() { - return getRuleContext(AnnotationContext.class,0); - } - public AnnotationTypeElementModifierContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_annotationTypeElementModifier; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterAnnotationTypeElementModifier(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitAnnotationTypeElementModifier(this); - } - } - - public final AnnotationTypeElementModifierContext annotationTypeElementModifier() throws RecognitionException { - AnnotationTypeElementModifierContext _localctx = new AnnotationTypeElementModifierContext(_ctx, getState()); - enterRule(_localctx, 226, RULE_annotationTypeElementModifier); - try { - setState(1418); - _errHandler.sync(this); - switch (_input.LA(1)) { - case AT: - enterOuterAlt(_localctx, 1); - { - setState(1415); - annotation(); - } - break; - case PUBLIC: - enterOuterAlt(_localctx, 2); - { - setState(1416); - match(PUBLIC); - } - break; - case ABSTRACT: - enterOuterAlt(_localctx, 3); - { - setState(1417); - match(ABSTRACT); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class DefaultValueContext extends ParserRuleContext { - public ElementValueContext elementValue() { - return getRuleContext(ElementValueContext.class,0); - } - public DefaultValueContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_defaultValue; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterDefaultValue(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitDefaultValue(this); - } - } - - public final DefaultValueContext defaultValue() throws RecognitionException { - DefaultValueContext _localctx = new DefaultValueContext(_ctx, getState()); - enterRule(_localctx, 228, RULE_defaultValue); - try { - enterOuterAlt(_localctx, 1); - { - setState(1420); - match(DEFAULT); - setState(1421); - elementValue(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class AnnotationContext extends ParserRuleContext { - public NormalAnnotationContext normalAnnotation() { - return getRuleContext(NormalAnnotationContext.class,0); - } - public MarkerAnnotationContext markerAnnotation() { - return getRuleContext(MarkerAnnotationContext.class,0); - } - public SingleElementAnnotationContext singleElementAnnotation() { - return getRuleContext(SingleElementAnnotationContext.class,0); - } - public AnnotationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_annotation; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterAnnotation(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitAnnotation(this); - } - } - - public final AnnotationContext annotation() throws RecognitionException { - AnnotationContext _localctx = new AnnotationContext(_ctx, getState()); - enterRule(_localctx, 230, RULE_annotation); - try { - setState(1426); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,146,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(1423); - normalAnnotation(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(1424); - markerAnnotation(); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(1425); - singleElementAnnotation(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class NormalAnnotationContext extends ParserRuleContext { - public TypeNameContext typeName() { - return getRuleContext(TypeNameContext.class,0); - } - public ElementValuePairListContext elementValuePairList() { - return getRuleContext(ElementValuePairListContext.class,0); - } - public NormalAnnotationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_normalAnnotation; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterNormalAnnotation(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitNormalAnnotation(this); - } - } - - public final NormalAnnotationContext normalAnnotation() throws RecognitionException { - NormalAnnotationContext _localctx = new NormalAnnotationContext(_ctx, getState()); - enterRule(_localctx, 232, RULE_normalAnnotation); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1428); - match(AT); - setState(1429); - typeName(); - setState(1430); - match(LPAREN); - setState(1432); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==Identifier) { - { - setState(1431); - elementValuePairList(); - } - } - - setState(1434); - match(RPAREN); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ElementValuePairListContext extends ParserRuleContext { - public List elementValuePair() { - return getRuleContexts(ElementValuePairContext.class); - } - public ElementValuePairContext elementValuePair(int i) { - return getRuleContext(ElementValuePairContext.class,i); - } - public ElementValuePairListContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_elementValuePairList; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterElementValuePairList(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitElementValuePairList(this); - } - } - - public final ElementValuePairListContext elementValuePairList() throws RecognitionException { - ElementValuePairListContext _localctx = new ElementValuePairListContext(_ctx, getState()); - enterRule(_localctx, 234, RULE_elementValuePairList); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1436); - elementValuePair(); - setState(1441); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==COMMA) { - { - { - setState(1437); - match(COMMA); - setState(1438); - elementValuePair(); - } - } - setState(1443); - _errHandler.sync(this); - _la = _input.LA(1); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ElementValuePairContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public ElementValueContext elementValue() { - return getRuleContext(ElementValueContext.class,0); - } - public ElementValuePairContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_elementValuePair; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterElementValuePair(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitElementValuePair(this); - } - } - - public final ElementValuePairContext elementValuePair() throws RecognitionException { - ElementValuePairContext _localctx = new ElementValuePairContext(_ctx, getState()); - enterRule(_localctx, 236, RULE_elementValuePair); - try { - enterOuterAlt(_localctx, 1); - { - setState(1444); - match(Identifier); - setState(1445); - match(ASSIGN); - setState(1446); - elementValue(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ElementValueContext extends ParserRuleContext { - public ConditionalExpressionContext conditionalExpression() { - return getRuleContext(ConditionalExpressionContext.class,0); - } - public ElementValueArrayInitializerContext elementValueArrayInitializer() { - return getRuleContext(ElementValueArrayInitializerContext.class,0); - } - public AnnotationContext annotation() { - return getRuleContext(AnnotationContext.class,0); - } - public ElementValueContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_elementValue; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterElementValue(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitElementValue(this); - } - } - - public final ElementValueContext elementValue() throws RecognitionException { - ElementValueContext _localctx = new ElementValueContext(_ctx, getState()); - enterRule(_localctx, 238, RULE_elementValue); - try { - setState(1451); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,149,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(1448); - conditionalExpression(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(1449); - elementValueArrayInitializer(); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(1450); - annotation(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ElementValueArrayInitializerContext extends ParserRuleContext { - public ElementValueListContext elementValueList() { - return getRuleContext(ElementValueListContext.class,0); - } - public ElementValueArrayInitializerContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_elementValueArrayInitializer; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterElementValueArrayInitializer(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitElementValueArrayInitializer(this); - } - } - - public final ElementValueArrayInitializerContext elementValueArrayInitializer() throws RecognitionException { - ElementValueArrayInitializerContext _localctx = new ElementValueArrayInitializerContext(_ctx, getState()); - enterRule(_localctx, 240, RULE_elementValueArrayInitializer); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1453); - match(LBRACE); - setState(1455); - _errHandler.sync(this); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN) | (1L << LBRACE))) != 0) || ((((_la - 70)) & ~0x3f) == 0 && ((1L << (_la - 70)) & ((1L << (BANG - 70)) | (1L << (TILDE - 70)) | (1L << (INC - 70)) | (1L << (DEC - 70)) | (1L << (ADD - 70)) | (1L << (SUB - 70)) | (1L << (Identifier - 70)) | (1L << (AT - 70)))) != 0)) { - { - setState(1454); - elementValueList(); - } - } - - setState(1458); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==COMMA) { - { - setState(1457); - match(COMMA); - } - } - - setState(1460); - match(RBRACE); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ElementValueListContext extends ParserRuleContext { - public List elementValue() { - return getRuleContexts(ElementValueContext.class); - } - public ElementValueContext elementValue(int i) { - return getRuleContext(ElementValueContext.class,i); - } - public ElementValueListContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_elementValueList; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterElementValueList(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitElementValueList(this); - } - } - - public final ElementValueListContext elementValueList() throws RecognitionException { - ElementValueListContext _localctx = new ElementValueListContext(_ctx, getState()); - enterRule(_localctx, 242, RULE_elementValueList); - try { - int _alt; - enterOuterAlt(_localctx, 1); - { - setState(1462); - elementValue(); - setState(1467); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,152,_ctx); - while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - { - { - setState(1463); - match(COMMA); - setState(1464); - elementValue(); - } - } - } - setState(1469); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,152,_ctx); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class MarkerAnnotationContext extends ParserRuleContext { - public TypeNameContext typeName() { - return getRuleContext(TypeNameContext.class,0); - } - public MarkerAnnotationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_markerAnnotation; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterMarkerAnnotation(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitMarkerAnnotation(this); - } - } - - public final MarkerAnnotationContext markerAnnotation() throws RecognitionException { - MarkerAnnotationContext _localctx = new MarkerAnnotationContext(_ctx, getState()); - enterRule(_localctx, 244, RULE_markerAnnotation); - try { - enterOuterAlt(_localctx, 1); - { - setState(1470); - match(AT); - setState(1471); - typeName(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class SingleElementAnnotationContext extends ParserRuleContext { - public TypeNameContext typeName() { - return getRuleContext(TypeNameContext.class,0); - } - public ElementValueContext elementValue() { - return getRuleContext(ElementValueContext.class,0); - } - public SingleElementAnnotationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_singleElementAnnotation; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterSingleElementAnnotation(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitSingleElementAnnotation(this); - } - } - - public final SingleElementAnnotationContext singleElementAnnotation() throws RecognitionException { - SingleElementAnnotationContext _localctx = new SingleElementAnnotationContext(_ctx, getState()); - enterRule(_localctx, 246, RULE_singleElementAnnotation); - try { - enterOuterAlt(_localctx, 1); - { - setState(1473); - match(AT); - setState(1474); - typeName(); - setState(1475); - match(LPAREN); - setState(1476); - elementValue(); - setState(1477); - match(RPAREN); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ArrayInitializerContext extends ParserRuleContext { - public VariableInitializerListContext variableInitializerList() { - return getRuleContext(VariableInitializerListContext.class,0); - } - public ArrayInitializerContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_arrayInitializer; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterArrayInitializer(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitArrayInitializer(this); - } - } - - public final ArrayInitializerContext arrayInitializer() throws RecognitionException { - ArrayInitializerContext _localctx = new ArrayInitializerContext(_ctx, getState()); - enterRule(_localctx, 248, RULE_arrayInitializer); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1479); - match(LBRACE); - setState(1481); - _errHandler.sync(this); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN) | (1L << LBRACE))) != 0) || ((((_la - 70)) & ~0x3f) == 0 && ((1L << (_la - 70)) & ((1L << (BANG - 70)) | (1L << (TILDE - 70)) | (1L << (INC - 70)) | (1L << (DEC - 70)) | (1L << (ADD - 70)) | (1L << (SUB - 70)) | (1L << (Identifier - 70)) | (1L << (AT - 70)))) != 0)) { - { - setState(1480); - variableInitializerList(); - } - } - - setState(1484); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==COMMA) { - { - setState(1483); - match(COMMA); - } - } - - setState(1486); - match(RBRACE); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class VariableInitializerListContext extends ParserRuleContext { - public List variableInitializer() { - return getRuleContexts(VariableInitializerContext.class); - } - public VariableInitializerContext variableInitializer(int i) { - return getRuleContext(VariableInitializerContext.class,i); - } - public VariableInitializerListContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_variableInitializerList; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterVariableInitializerList(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitVariableInitializerList(this); - } - } - - public final VariableInitializerListContext variableInitializerList() throws RecognitionException { - VariableInitializerListContext _localctx = new VariableInitializerListContext(_ctx, getState()); - enterRule(_localctx, 250, RULE_variableInitializerList); - try { - int _alt; - enterOuterAlt(_localctx, 1); - { - setState(1488); - variableInitializer(); - setState(1493); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,155,_ctx); - while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - { - { - setState(1489); - match(COMMA); - setState(1490); - variableInitializer(); - } - } - } - setState(1495); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,155,_ctx); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class BlockContext extends ParserRuleContext { - public BlockStatementsContext blockStatements() { - return getRuleContext(BlockStatementsContext.class,0); - } - public BlockContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_block; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterBlock(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitBlock(this); - } - } - - public final BlockContext block() throws RecognitionException { - BlockContext _localctx = new BlockContext(_ctx, getState()); - enterRule(_localctx, 252, RULE_block); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1496); - match(LBRACE); - setState(1498); - _errHandler.sync(this); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__0) | (1L << ABSTRACT) | (1L << ASSERT) | (1L << BOOLEAN) | (1L << BREAK) | (1L << BYTE) | (1L << CHAR) | (1L << CLASS) | (1L << CONTINUE) | (1L << DO) | (1L << DOUBLE) | (1L << ENUM) | (1L << FINAL) | (1L << FLOAT) | (1L << FOR) | (1L << IF) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << RETURN) | (1L << SHORT) | (1L << STATIC) | (1L << STRICTFP) | (1L << SUPER) | (1L << SWITCH) | (1L << SYNCHRONIZED) | (1L << THIS) | (1L << THROW) | (1L << TRY) | (1L << VOID) | (1L << WHILE) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN) | (1L << LBRACE))) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & ((1L << (SEMI - 64)) | (1L << (INC - 64)) | (1L << (DEC - 64)) | (1L << (Identifier - 64)) | (1L << (AT - 64)))) != 0)) { - { - setState(1497); - blockStatements(); - } - } - - setState(1500); - match(RBRACE); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class BlockStatementsContext extends ParserRuleContext { - public List blockStatement() { - return getRuleContexts(BlockStatementContext.class); - } - public BlockStatementContext blockStatement(int i) { - return getRuleContext(BlockStatementContext.class,i); - } - public BlockStatementsContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_blockStatements; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterBlockStatements(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitBlockStatements(this); - } - } - - public final BlockStatementsContext blockStatements() throws RecognitionException { - BlockStatementsContext _localctx = new BlockStatementsContext(_ctx, getState()); - enterRule(_localctx, 254, RULE_blockStatements); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1502); - blockStatement(); - setState(1506); - _errHandler.sync(this); - _la = _input.LA(1); - while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__0) | (1L << ABSTRACT) | (1L << ASSERT) | (1L << BOOLEAN) | (1L << BREAK) | (1L << BYTE) | (1L << CHAR) | (1L << CLASS) | (1L << CONTINUE) | (1L << DO) | (1L << DOUBLE) | (1L << ENUM) | (1L << FINAL) | (1L << FLOAT) | (1L << FOR) | (1L << IF) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << RETURN) | (1L << SHORT) | (1L << STATIC) | (1L << STRICTFP) | (1L << SUPER) | (1L << SWITCH) | (1L << SYNCHRONIZED) | (1L << THIS) | (1L << THROW) | (1L << TRY) | (1L << VOID) | (1L << WHILE) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN) | (1L << LBRACE))) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & ((1L << (SEMI - 64)) | (1L << (INC - 64)) | (1L << (DEC - 64)) | (1L << (Identifier - 64)) | (1L << (AT - 64)))) != 0)) { - { - { - setState(1503); - blockStatement(); - } - } - setState(1508); - _errHandler.sync(this); - _la = _input.LA(1); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class BlockStatementContext extends ParserRuleContext { - public LocalVariableDeclarationStatementContext localVariableDeclarationStatement() { - return getRuleContext(LocalVariableDeclarationStatementContext.class,0); - } - public ClassDeclarationContext classDeclaration() { - return getRuleContext(ClassDeclarationContext.class,0); - } - public StatementContext statement() { - return getRuleContext(StatementContext.class,0); - } - public BlockStatementContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_blockStatement; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterBlockStatement(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitBlockStatement(this); - } - } - - public final BlockStatementContext blockStatement() throws RecognitionException { - BlockStatementContext _localctx = new BlockStatementContext(_ctx, getState()); - enterRule(_localctx, 256, RULE_blockStatement); - try { - setState(1512); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,158,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(1509); - localVariableDeclarationStatement(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(1510); - classDeclaration(); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(1511); - statement(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class LocalVariableDeclarationStatementContext extends ParserRuleContext { - public LocalVariableDeclarationContext localVariableDeclaration() { - return getRuleContext(LocalVariableDeclarationContext.class,0); - } - public LocalVariableDeclarationStatementContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_localVariableDeclarationStatement; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterLocalVariableDeclarationStatement(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitLocalVariableDeclarationStatement(this); - } - } - - public final LocalVariableDeclarationStatementContext localVariableDeclarationStatement() throws RecognitionException { - LocalVariableDeclarationStatementContext _localctx = new LocalVariableDeclarationStatementContext(_ctx, getState()); - enterRule(_localctx, 258, RULE_localVariableDeclarationStatement); - try { - enterOuterAlt(_localctx, 1); - { - setState(1514); - localVariableDeclaration(); - setState(1515); - match(SEMI); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class UnannTypeOrAutoContext extends ParserRuleContext { - public UnannTypeContext unannType() { - return getRuleContext(UnannTypeContext.class,0); - } - public UnannTypeOrAutoContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_unannTypeOrAuto; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterUnannTypeOrAuto(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitUnannTypeOrAuto(this); - } - } - - public final UnannTypeOrAutoContext unannTypeOrAuto() throws RecognitionException { - UnannTypeOrAutoContext _localctx = new UnannTypeOrAutoContext(_ctx, getState()); - enterRule(_localctx, 260, RULE_unannTypeOrAuto); - try { - setState(1519); - _errHandler.sync(this); - switch (_input.LA(1)) { - case BOOLEAN: - case BYTE: - case CHAR: - case DOUBLE: - case FLOAT: - case INT: - case LONG: - case SHORT: - case Identifier: - enterOuterAlt(_localctx, 1); - { - setState(1517); - unannType(); - } - break; - case T__0: - enterOuterAlt(_localctx, 2); - { - setState(1518); - match(T__0); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class LocalVariableDeclarationContext extends ParserRuleContext { - public UnannTypeOrAutoContext unannTypeOrAuto() { - return getRuleContext(UnannTypeOrAutoContext.class,0); - } - public VariableDeclaratorListContext variableDeclaratorList() { - return getRuleContext(VariableDeclaratorListContext.class,0); - } - public List variableModifier() { - return getRuleContexts(VariableModifierContext.class); - } - public VariableModifierContext variableModifier(int i) { - return getRuleContext(VariableModifierContext.class,i); - } - public LocalVariableDeclarationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_localVariableDeclaration; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterLocalVariableDeclaration(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitLocalVariableDeclaration(this); - } - } - - public final LocalVariableDeclarationContext localVariableDeclaration() throws RecognitionException { - LocalVariableDeclarationContext _localctx = new LocalVariableDeclarationContext(_ctx, getState()); - enterRule(_localctx, 262, RULE_localVariableDeclaration); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1524); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==FINAL || _la==AT) { - { - { - setState(1521); - variableModifier(); - } - } - setState(1526); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(1527); - unannTypeOrAuto(); - setState(1528); - variableDeclaratorList(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class StatementContext extends ParserRuleContext { - public StatementWithoutTrailingSubstatementContext statementWithoutTrailingSubstatement() { - return getRuleContext(StatementWithoutTrailingSubstatementContext.class,0); - } - public LabeledStatementContext labeledStatement() { - return getRuleContext(LabeledStatementContext.class,0); - } - public IfThenStatementContext ifThenStatement() { - return getRuleContext(IfThenStatementContext.class,0); - } - public IfThenElseStatementContext ifThenElseStatement() { - return getRuleContext(IfThenElseStatementContext.class,0); - } - public WhileStatementContext whileStatement() { - return getRuleContext(WhileStatementContext.class,0); - } - public ForStatementContext forStatement() { - return getRuleContext(ForStatementContext.class,0); - } - public StatementContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_statement; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterStatement(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitStatement(this); - } - } - - public final StatementContext statement() throws RecognitionException { - StatementContext _localctx = new StatementContext(_ctx, getState()); - enterRule(_localctx, 264, RULE_statement); - try { - setState(1536); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,161,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(1530); - statementWithoutTrailingSubstatement(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(1531); - labeledStatement(); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(1532); - ifThenStatement(); - } - break; - case 4: - enterOuterAlt(_localctx, 4); - { - setState(1533); - ifThenElseStatement(); - } - break; - case 5: - enterOuterAlt(_localctx, 5); - { - setState(1534); - whileStatement(); - } - break; - case 6: - enterOuterAlt(_localctx, 6); - { - setState(1535); - forStatement(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class StatementNoShortIfContext extends ParserRuleContext { - public StatementWithoutTrailingSubstatementContext statementWithoutTrailingSubstatement() { - return getRuleContext(StatementWithoutTrailingSubstatementContext.class,0); - } - public LabeledStatementNoShortIfContext labeledStatementNoShortIf() { - return getRuleContext(LabeledStatementNoShortIfContext.class,0); - } - public IfThenElseStatementNoShortIfContext ifThenElseStatementNoShortIf() { - return getRuleContext(IfThenElseStatementNoShortIfContext.class,0); - } - public WhileStatementNoShortIfContext whileStatementNoShortIf() { - return getRuleContext(WhileStatementNoShortIfContext.class,0); - } - public ForStatementNoShortIfContext forStatementNoShortIf() { - return getRuleContext(ForStatementNoShortIfContext.class,0); - } - public StatementNoShortIfContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_statementNoShortIf; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterStatementNoShortIf(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitStatementNoShortIf(this); - } - } - - public final StatementNoShortIfContext statementNoShortIf() throws RecognitionException { - StatementNoShortIfContext _localctx = new StatementNoShortIfContext(_ctx, getState()); - enterRule(_localctx, 266, RULE_statementNoShortIf); - try { - setState(1543); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,162,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(1538); - statementWithoutTrailingSubstatement(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(1539); - labeledStatementNoShortIf(); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(1540); - ifThenElseStatementNoShortIf(); - } - break; - case 4: - enterOuterAlt(_localctx, 4); - { - setState(1541); - whileStatementNoShortIf(); - } - break; - case 5: - enterOuterAlt(_localctx, 5); - { - setState(1542); - forStatementNoShortIf(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class StatementWithoutTrailingSubstatementContext extends ParserRuleContext { - public BlockContext block() { - return getRuleContext(BlockContext.class,0); - } - public EmptyStatementContext emptyStatement() { - return getRuleContext(EmptyStatementContext.class,0); - } - public ExpressionStatementContext expressionStatement() { - return getRuleContext(ExpressionStatementContext.class,0); - } - public AssertStatementContext assertStatement() { - return getRuleContext(AssertStatementContext.class,0); - } - public SwitchStatementContext switchStatement() { - return getRuleContext(SwitchStatementContext.class,0); - } - public DoStatementContext doStatement() { - return getRuleContext(DoStatementContext.class,0); - } - public BreakStatementContext breakStatement() { - return getRuleContext(BreakStatementContext.class,0); - } - public ContinueStatementContext continueStatement() { - return getRuleContext(ContinueStatementContext.class,0); - } - public ReturnStatementContext returnStatement() { - return getRuleContext(ReturnStatementContext.class,0); - } - public SynchronizedStatementContext synchronizedStatement() { - return getRuleContext(SynchronizedStatementContext.class,0); - } - public ThrowStatementContext throwStatement() { - return getRuleContext(ThrowStatementContext.class,0); - } - public TryStatementContext tryStatement() { - return getRuleContext(TryStatementContext.class,0); - } - public StatementWithoutTrailingSubstatementContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_statementWithoutTrailingSubstatement; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterStatementWithoutTrailingSubstatement(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitStatementWithoutTrailingSubstatement(this); - } - } - - public final StatementWithoutTrailingSubstatementContext statementWithoutTrailingSubstatement() throws RecognitionException { - StatementWithoutTrailingSubstatementContext _localctx = new StatementWithoutTrailingSubstatementContext(_ctx, getState()); - enterRule(_localctx, 268, RULE_statementWithoutTrailingSubstatement); - try { - setState(1557); - _errHandler.sync(this); - switch (_input.LA(1)) { - case LBRACE: - enterOuterAlt(_localctx, 1); - { - setState(1545); - block(); - } - break; - case SEMI: - enterOuterAlt(_localctx, 2); - { - setState(1546); - emptyStatement(); - } - break; - case BOOLEAN: - case BYTE: - case CHAR: - case DOUBLE: - case FLOAT: - case INT: - case LONG: - case NEW: - case SHORT: - case SUPER: - case THIS: - case VOID: - case IntegerLiteral: - case FloatingPointLiteral: - case BooleanLiteral: - case CharacterLiteral: - case StringLiteral: - case NullLiteral: - case LPAREN: - case INC: - case DEC: - case Identifier: - case AT: - enterOuterAlt(_localctx, 3); - { - setState(1547); - expressionStatement(); - } - break; - case ASSERT: - enterOuterAlt(_localctx, 4); - { - setState(1548); - assertStatement(); - } - break; - case SWITCH: - enterOuterAlt(_localctx, 5); - { - setState(1549); - switchStatement(); - } - break; - case DO: - enterOuterAlt(_localctx, 6); - { - setState(1550); - doStatement(); - } - break; - case BREAK: - enterOuterAlt(_localctx, 7); - { - setState(1551); - breakStatement(); - } - break; - case CONTINUE: - enterOuterAlt(_localctx, 8); - { - setState(1552); - continueStatement(); - } - break; - case RETURN: - enterOuterAlt(_localctx, 9); - { - setState(1553); - returnStatement(); - } - break; - case SYNCHRONIZED: - enterOuterAlt(_localctx, 10); - { - setState(1554); - synchronizedStatement(); - } - break; - case THROW: - enterOuterAlt(_localctx, 11); - { - setState(1555); - throwStatement(); - } - break; - case TRY: - enterOuterAlt(_localctx, 12); - { - setState(1556); - tryStatement(); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class EmptyStatementContext extends ParserRuleContext { - public EmptyStatementContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_emptyStatement; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterEmptyStatement(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitEmptyStatement(this); - } - } - - public final EmptyStatementContext emptyStatement() throws RecognitionException { - EmptyStatementContext _localctx = new EmptyStatementContext(_ctx, getState()); - enterRule(_localctx, 270, RULE_emptyStatement); - try { - enterOuterAlt(_localctx, 1); - { - setState(1559); - match(SEMI); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class LabeledStatementContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public StatementContext statement() { - return getRuleContext(StatementContext.class,0); - } - public LabeledStatementContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_labeledStatement; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterLabeledStatement(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitLabeledStatement(this); - } - } - - public final LabeledStatementContext labeledStatement() throws RecognitionException { - LabeledStatementContext _localctx = new LabeledStatementContext(_ctx, getState()); - enterRule(_localctx, 272, RULE_labeledStatement); - try { - enterOuterAlt(_localctx, 1); - { - setState(1561); - match(Identifier); - setState(1562); - match(COLON); - setState(1563); - statement(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class LabeledStatementNoShortIfContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public StatementNoShortIfContext statementNoShortIf() { - return getRuleContext(StatementNoShortIfContext.class,0); - } - public LabeledStatementNoShortIfContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_labeledStatementNoShortIf; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterLabeledStatementNoShortIf(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitLabeledStatementNoShortIf(this); - } - } - - public final LabeledStatementNoShortIfContext labeledStatementNoShortIf() throws RecognitionException { - LabeledStatementNoShortIfContext _localctx = new LabeledStatementNoShortIfContext(_ctx, getState()); - enterRule(_localctx, 274, RULE_labeledStatementNoShortIf); - try { - enterOuterAlt(_localctx, 1); - { - setState(1565); - match(Identifier); - setState(1566); - match(COLON); - setState(1567); - statementNoShortIf(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ExpressionStatementContext extends ParserRuleContext { - public StatementExpressionContext statementExpression() { - return getRuleContext(StatementExpressionContext.class,0); - } - public ExpressionStatementContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_expressionStatement; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterExpressionStatement(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitExpressionStatement(this); - } - } - - public final ExpressionStatementContext expressionStatement() throws RecognitionException { - ExpressionStatementContext _localctx = new ExpressionStatementContext(_ctx, getState()); - enterRule(_localctx, 276, RULE_expressionStatement); - try { - enterOuterAlt(_localctx, 1); - { - setState(1569); - statementExpression(); - setState(1570); - match(SEMI); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class StatementExpressionContext extends ParserRuleContext { - public AssignmentContext assignment() { - return getRuleContext(AssignmentContext.class,0); - } - public PreIncrementExpressionContext preIncrementExpression() { - return getRuleContext(PreIncrementExpressionContext.class,0); - } - public PreDecrementExpressionContext preDecrementExpression() { - return getRuleContext(PreDecrementExpressionContext.class,0); - } - public PostIncrementExpressionContext postIncrementExpression() { - return getRuleContext(PostIncrementExpressionContext.class,0); - } - public PostDecrementExpressionContext postDecrementExpression() { - return getRuleContext(PostDecrementExpressionContext.class,0); - } - public MethodInvocationContext methodInvocation() { - return getRuleContext(MethodInvocationContext.class,0); - } - public ClassInstanceCreationExpressionContext classInstanceCreationExpression() { - return getRuleContext(ClassInstanceCreationExpressionContext.class,0); - } - public StatementExpressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_statementExpression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterStatementExpression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitStatementExpression(this); - } - } - - public final StatementExpressionContext statementExpression() throws RecognitionException { - StatementExpressionContext _localctx = new StatementExpressionContext(_ctx, getState()); - enterRule(_localctx, 278, RULE_statementExpression); - try { - setState(1579); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,164,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(1572); - assignment(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(1573); - preIncrementExpression(); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(1574); - preDecrementExpression(); - } - break; - case 4: - enterOuterAlt(_localctx, 4); - { - setState(1575); - postIncrementExpression(); - } - break; - case 5: - enterOuterAlt(_localctx, 5); - { - setState(1576); - postDecrementExpression(); - } - break; - case 6: - enterOuterAlt(_localctx, 6); - { - setState(1577); - methodInvocation(); - } - break; - case 7: - enterOuterAlt(_localctx, 7); - { - setState(1578); - classInstanceCreationExpression(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class IfThenStatementContext extends ParserRuleContext { - public ExpressionContext expression() { - return getRuleContext(ExpressionContext.class,0); - } - public StatementContext statement() { - return getRuleContext(StatementContext.class,0); - } - public IfThenStatementContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_ifThenStatement; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterIfThenStatement(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitIfThenStatement(this); - } - } - - public final IfThenStatementContext ifThenStatement() throws RecognitionException { - IfThenStatementContext _localctx = new IfThenStatementContext(_ctx, getState()); - enterRule(_localctx, 280, RULE_ifThenStatement); - try { - enterOuterAlt(_localctx, 1); - { - setState(1581); - match(IF); - setState(1582); - match(LPAREN); - setState(1583); - expression(); - setState(1584); - match(RPAREN); - setState(1585); - statement(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class IfThenElseStatementContext extends ParserRuleContext { - public ExpressionContext expression() { - return getRuleContext(ExpressionContext.class,0); - } - public StatementNoShortIfContext statementNoShortIf() { - return getRuleContext(StatementNoShortIfContext.class,0); - } - public StatementContext statement() { - return getRuleContext(StatementContext.class,0); - } - public IfThenElseStatementContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_ifThenElseStatement; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterIfThenElseStatement(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitIfThenElseStatement(this); - } - } - - public final IfThenElseStatementContext ifThenElseStatement() throws RecognitionException { - IfThenElseStatementContext _localctx = new IfThenElseStatementContext(_ctx, getState()); - enterRule(_localctx, 282, RULE_ifThenElseStatement); - try { - enterOuterAlt(_localctx, 1); - { - setState(1587); - match(IF); - setState(1588); - match(LPAREN); - setState(1589); - expression(); - setState(1590); - match(RPAREN); - setState(1591); - statementNoShortIf(); - setState(1592); - match(ELSE); - setState(1593); - statement(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class IfThenElseStatementNoShortIfContext extends ParserRuleContext { - public ExpressionContext expression() { - return getRuleContext(ExpressionContext.class,0); - } - public List statementNoShortIf() { - return getRuleContexts(StatementNoShortIfContext.class); - } - public StatementNoShortIfContext statementNoShortIf(int i) { - return getRuleContext(StatementNoShortIfContext.class,i); - } - public IfThenElseStatementNoShortIfContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_ifThenElseStatementNoShortIf; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterIfThenElseStatementNoShortIf(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitIfThenElseStatementNoShortIf(this); - } - } - - public final IfThenElseStatementNoShortIfContext ifThenElseStatementNoShortIf() throws RecognitionException { - IfThenElseStatementNoShortIfContext _localctx = new IfThenElseStatementNoShortIfContext(_ctx, getState()); - enterRule(_localctx, 284, RULE_ifThenElseStatementNoShortIf); - try { - enterOuterAlt(_localctx, 1); - { - setState(1595); - match(IF); - setState(1596); - match(LPAREN); - setState(1597); - expression(); - setState(1598); - match(RPAREN); - setState(1599); - statementNoShortIf(); - setState(1600); - match(ELSE); - setState(1601); - statementNoShortIf(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class AssertStatementContext extends ParserRuleContext { - public List expression() { - return getRuleContexts(ExpressionContext.class); - } - public ExpressionContext expression(int i) { - return getRuleContext(ExpressionContext.class,i); - } - public AssertStatementContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_assertStatement; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterAssertStatement(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitAssertStatement(this); - } - } - - public final AssertStatementContext assertStatement() throws RecognitionException { - AssertStatementContext _localctx = new AssertStatementContext(_ctx, getState()); - enterRule(_localctx, 286, RULE_assertStatement); - try { - setState(1613); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,165,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(1603); - match(ASSERT); - setState(1604); - expression(); - setState(1605); - match(SEMI); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(1607); - match(ASSERT); - setState(1608); - expression(); - setState(1609); - match(COLON); - setState(1610); - expression(); - setState(1611); - match(SEMI); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class SwitchStatementContext extends ParserRuleContext { - public ExpressionContext expression() { - return getRuleContext(ExpressionContext.class,0); - } - public SwitchBlockContext switchBlock() { - return getRuleContext(SwitchBlockContext.class,0); - } - public SwitchStatementContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_switchStatement; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterSwitchStatement(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitSwitchStatement(this); - } - } - - public final SwitchStatementContext switchStatement() throws RecognitionException { - SwitchStatementContext _localctx = new SwitchStatementContext(_ctx, getState()); - enterRule(_localctx, 288, RULE_switchStatement); - try { - enterOuterAlt(_localctx, 1); - { - setState(1615); - match(SWITCH); - setState(1616); - match(LPAREN); - setState(1617); - expression(); - setState(1618); - match(RPAREN); - setState(1619); - switchBlock(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class SwitchBlockContext extends ParserRuleContext { - public List switchBlockStatementGroup() { - return getRuleContexts(SwitchBlockStatementGroupContext.class); - } - public SwitchBlockStatementGroupContext switchBlockStatementGroup(int i) { - return getRuleContext(SwitchBlockStatementGroupContext.class,i); - } - public List switchLabel() { - return getRuleContexts(SwitchLabelContext.class); - } - public SwitchLabelContext switchLabel(int i) { - return getRuleContext(SwitchLabelContext.class,i); - } - public SwitchBlockContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_switchBlock; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterSwitchBlock(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitSwitchBlock(this); - } - } - - public final SwitchBlockContext switchBlock() throws RecognitionException { - SwitchBlockContext _localctx = new SwitchBlockContext(_ctx, getState()); - enterRule(_localctx, 290, RULE_switchBlock); - int _la; - try { - int _alt; - enterOuterAlt(_localctx, 1); - { - setState(1621); - match(LBRACE); - setState(1625); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,166,_ctx); - while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - { - { - setState(1622); - switchBlockStatementGroup(); - } - } - } - setState(1627); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,166,_ctx); - } - setState(1631); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==CASE || _la==DEFAULT) { - { - { - setState(1628); - switchLabel(); - } - } - setState(1633); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(1634); - match(RBRACE); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class SwitchBlockStatementGroupContext extends ParserRuleContext { - public SwitchLabelsContext switchLabels() { - return getRuleContext(SwitchLabelsContext.class,0); - } - public BlockStatementsContext blockStatements() { - return getRuleContext(BlockStatementsContext.class,0); - } - public SwitchBlockStatementGroupContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_switchBlockStatementGroup; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterSwitchBlockStatementGroup(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitSwitchBlockStatementGroup(this); - } - } - - public final SwitchBlockStatementGroupContext switchBlockStatementGroup() throws RecognitionException { - SwitchBlockStatementGroupContext _localctx = new SwitchBlockStatementGroupContext(_ctx, getState()); - enterRule(_localctx, 292, RULE_switchBlockStatementGroup); - try { - enterOuterAlt(_localctx, 1); - { - setState(1636); - switchLabels(); - setState(1637); - blockStatements(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class SwitchLabelsContext extends ParserRuleContext { - public List switchLabel() { - return getRuleContexts(SwitchLabelContext.class); - } - public SwitchLabelContext switchLabel(int i) { - return getRuleContext(SwitchLabelContext.class,i); - } - public SwitchLabelsContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_switchLabels; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterSwitchLabels(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitSwitchLabels(this); - } - } - - public final SwitchLabelsContext switchLabels() throws RecognitionException { - SwitchLabelsContext _localctx = new SwitchLabelsContext(_ctx, getState()); - enterRule(_localctx, 294, RULE_switchLabels); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1639); - switchLabel(); - setState(1643); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==CASE || _la==DEFAULT) { - { - { - setState(1640); - switchLabel(); - } - } - setState(1645); - _errHandler.sync(this); - _la = _input.LA(1); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class SwitchLabelContext extends ParserRuleContext { - public ConstantExpressionContext constantExpression() { - return getRuleContext(ConstantExpressionContext.class,0); - } - public EnumConstantNameContext enumConstantName() { - return getRuleContext(EnumConstantNameContext.class,0); - } - public SwitchLabelContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_switchLabel; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterSwitchLabel(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitSwitchLabel(this); - } - } - - public final SwitchLabelContext switchLabel() throws RecognitionException { - SwitchLabelContext _localctx = new SwitchLabelContext(_ctx, getState()); - enterRule(_localctx, 296, RULE_switchLabel); - try { - setState(1656); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,169,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(1646); - match(CASE); - setState(1647); - constantExpression(); - setState(1648); - match(COLON); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(1650); - match(CASE); - setState(1651); - enumConstantName(); - setState(1652); - match(COLON); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(1654); - match(DEFAULT); - setState(1655); - match(COLON); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class EnumConstantNameContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public EnumConstantNameContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_enumConstantName; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterEnumConstantName(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitEnumConstantName(this); - } - } - - public final EnumConstantNameContext enumConstantName() throws RecognitionException { - EnumConstantNameContext _localctx = new EnumConstantNameContext(_ctx, getState()); - enterRule(_localctx, 298, RULE_enumConstantName); - try { - enterOuterAlt(_localctx, 1); - { - setState(1658); - match(Identifier); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class WhileStatementContext extends ParserRuleContext { - public ExpressionContext expression() { - return getRuleContext(ExpressionContext.class,0); - } - public StatementContext statement() { - return getRuleContext(StatementContext.class,0); - } - public WhileStatementContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_whileStatement; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterWhileStatement(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitWhileStatement(this); - } - } - - public final WhileStatementContext whileStatement() throws RecognitionException { - WhileStatementContext _localctx = new WhileStatementContext(_ctx, getState()); - enterRule(_localctx, 300, RULE_whileStatement); - try { - enterOuterAlt(_localctx, 1); - { - setState(1660); - match(WHILE); - setState(1661); - match(LPAREN); - setState(1662); - expression(); - setState(1663); - match(RPAREN); - setState(1664); - statement(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class WhileStatementNoShortIfContext extends ParserRuleContext { - public ExpressionContext expression() { - return getRuleContext(ExpressionContext.class,0); - } - public StatementNoShortIfContext statementNoShortIf() { - return getRuleContext(StatementNoShortIfContext.class,0); - } - public WhileStatementNoShortIfContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_whileStatementNoShortIf; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterWhileStatementNoShortIf(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitWhileStatementNoShortIf(this); - } - } - - public final WhileStatementNoShortIfContext whileStatementNoShortIf() throws RecognitionException { - WhileStatementNoShortIfContext _localctx = new WhileStatementNoShortIfContext(_ctx, getState()); - enterRule(_localctx, 302, RULE_whileStatementNoShortIf); - try { - enterOuterAlt(_localctx, 1); - { - setState(1666); - match(WHILE); - setState(1667); - match(LPAREN); - setState(1668); - expression(); - setState(1669); - match(RPAREN); - setState(1670); - statementNoShortIf(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class DoStatementContext extends ParserRuleContext { - public StatementContext statement() { - return getRuleContext(StatementContext.class,0); - } - public ExpressionContext expression() { - return getRuleContext(ExpressionContext.class,0); - } - public DoStatementContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_doStatement; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterDoStatement(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitDoStatement(this); - } - } - - public final DoStatementContext doStatement() throws RecognitionException { - DoStatementContext _localctx = new DoStatementContext(_ctx, getState()); - enterRule(_localctx, 304, RULE_doStatement); - try { - enterOuterAlt(_localctx, 1); - { - setState(1672); - match(DO); - setState(1673); - statement(); - setState(1674); - match(WHILE); - setState(1675); - match(LPAREN); - setState(1676); - expression(); - setState(1677); - match(RPAREN); - setState(1678); - match(SEMI); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ForStatementContext extends ParserRuleContext { - public BasicForStatementContext basicForStatement() { - return getRuleContext(BasicForStatementContext.class,0); - } - public EnhancedForStatementContext enhancedForStatement() { - return getRuleContext(EnhancedForStatementContext.class,0); - } - public ForStatementContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_forStatement; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterForStatement(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitForStatement(this); - } - } - - public final ForStatementContext forStatement() throws RecognitionException { - ForStatementContext _localctx = new ForStatementContext(_ctx, getState()); - enterRule(_localctx, 306, RULE_forStatement); - try { - setState(1682); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,170,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(1680); - basicForStatement(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(1681); - enhancedForStatement(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ForStatementNoShortIfContext extends ParserRuleContext { - public BasicForStatementNoShortIfContext basicForStatementNoShortIf() { - return getRuleContext(BasicForStatementNoShortIfContext.class,0); - } - public EnhancedForStatementNoShortIfContext enhancedForStatementNoShortIf() { - return getRuleContext(EnhancedForStatementNoShortIfContext.class,0); - } - public ForStatementNoShortIfContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_forStatementNoShortIf; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterForStatementNoShortIf(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitForStatementNoShortIf(this); - } - } - - public final ForStatementNoShortIfContext forStatementNoShortIf() throws RecognitionException { - ForStatementNoShortIfContext _localctx = new ForStatementNoShortIfContext(_ctx, getState()); - enterRule(_localctx, 308, RULE_forStatementNoShortIf); - try { - setState(1686); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,171,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(1684); - basicForStatementNoShortIf(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(1685); - enhancedForStatementNoShortIf(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class BasicForStatementContext extends ParserRuleContext { - public StatementContext statement() { - return getRuleContext(StatementContext.class,0); - } - public ForInitContext forInit() { - return getRuleContext(ForInitContext.class,0); - } - public ExpressionContext expression() { - return getRuleContext(ExpressionContext.class,0); - } - public ForUpdateContext forUpdate() { - return getRuleContext(ForUpdateContext.class,0); - } - public BasicForStatementContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_basicForStatement; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterBasicForStatement(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitBasicForStatement(this); - } - } - - public final BasicForStatementContext basicForStatement() throws RecognitionException { - BasicForStatementContext _localctx = new BasicForStatementContext(_ctx, getState()); - enterRule(_localctx, 310, RULE_basicForStatement); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1688); - match(FOR); - setState(1689); - match(LPAREN); - setState(1691); - _errHandler.sync(this); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__0) | (1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FINAL) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 80)) & ~0x3f) == 0 && ((1L << (_la - 80)) & ((1L << (INC - 80)) | (1L << (DEC - 80)) | (1L << (Identifier - 80)) | (1L << (AT - 80)))) != 0)) { - { - setState(1690); - forInit(); - } - } - - setState(1693); - match(SEMI); - setState(1695); - _errHandler.sync(this); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 70)) & ~0x3f) == 0 && ((1L << (_la - 70)) & ((1L << (BANG - 70)) | (1L << (TILDE - 70)) | (1L << (INC - 70)) | (1L << (DEC - 70)) | (1L << (ADD - 70)) | (1L << (SUB - 70)) | (1L << (Identifier - 70)) | (1L << (AT - 70)))) != 0)) { - { - setState(1694); - expression(); - } - } - - setState(1697); - match(SEMI); - setState(1699); - _errHandler.sync(this); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 80)) & ~0x3f) == 0 && ((1L << (_la - 80)) & ((1L << (INC - 80)) | (1L << (DEC - 80)) | (1L << (Identifier - 80)) | (1L << (AT - 80)))) != 0)) { - { - setState(1698); - forUpdate(); - } - } - - setState(1701); - match(RPAREN); - setState(1702); - statement(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class BasicForStatementNoShortIfContext extends ParserRuleContext { - public StatementNoShortIfContext statementNoShortIf() { - return getRuleContext(StatementNoShortIfContext.class,0); - } - public ForInitContext forInit() { - return getRuleContext(ForInitContext.class,0); - } - public ExpressionContext expression() { - return getRuleContext(ExpressionContext.class,0); - } - public ForUpdateContext forUpdate() { - return getRuleContext(ForUpdateContext.class,0); - } - public BasicForStatementNoShortIfContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_basicForStatementNoShortIf; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterBasicForStatementNoShortIf(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitBasicForStatementNoShortIf(this); - } - } - - public final BasicForStatementNoShortIfContext basicForStatementNoShortIf() throws RecognitionException { - BasicForStatementNoShortIfContext _localctx = new BasicForStatementNoShortIfContext(_ctx, getState()); - enterRule(_localctx, 312, RULE_basicForStatementNoShortIf); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1704); - match(FOR); - setState(1705); - match(LPAREN); - setState(1707); - _errHandler.sync(this); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__0) | (1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FINAL) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 80)) & ~0x3f) == 0 && ((1L << (_la - 80)) & ((1L << (INC - 80)) | (1L << (DEC - 80)) | (1L << (Identifier - 80)) | (1L << (AT - 80)))) != 0)) { - { - setState(1706); - forInit(); - } - } - - setState(1709); - match(SEMI); - setState(1711); - _errHandler.sync(this); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 70)) & ~0x3f) == 0 && ((1L << (_la - 70)) & ((1L << (BANG - 70)) | (1L << (TILDE - 70)) | (1L << (INC - 70)) | (1L << (DEC - 70)) | (1L << (ADD - 70)) | (1L << (SUB - 70)) | (1L << (Identifier - 70)) | (1L << (AT - 70)))) != 0)) { - { - setState(1710); - expression(); - } - } - - setState(1713); - match(SEMI); - setState(1715); - _errHandler.sync(this); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 80)) & ~0x3f) == 0 && ((1L << (_la - 80)) & ((1L << (INC - 80)) | (1L << (DEC - 80)) | (1L << (Identifier - 80)) | (1L << (AT - 80)))) != 0)) { - { - setState(1714); - forUpdate(); - } - } - - setState(1717); - match(RPAREN); - setState(1718); - statementNoShortIf(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ForInitContext extends ParserRuleContext { - public StatementExpressionListContext statementExpressionList() { - return getRuleContext(StatementExpressionListContext.class,0); - } - public LocalVariableDeclarationContext localVariableDeclaration() { - return getRuleContext(LocalVariableDeclarationContext.class,0); - } - public ForInitContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_forInit; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterForInit(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitForInit(this); - } - } - - public final ForInitContext forInit() throws RecognitionException { - ForInitContext _localctx = new ForInitContext(_ctx, getState()); - enterRule(_localctx, 314, RULE_forInit); - try { - setState(1722); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,178,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(1720); - statementExpressionList(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(1721); - localVariableDeclaration(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ForUpdateContext extends ParserRuleContext { - public StatementExpressionListContext statementExpressionList() { - return getRuleContext(StatementExpressionListContext.class,0); - } - public ForUpdateContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_forUpdate; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterForUpdate(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitForUpdate(this); - } - } - - public final ForUpdateContext forUpdate() throws RecognitionException { - ForUpdateContext _localctx = new ForUpdateContext(_ctx, getState()); - enterRule(_localctx, 316, RULE_forUpdate); - try { - enterOuterAlt(_localctx, 1); - { - setState(1724); - statementExpressionList(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class StatementExpressionListContext extends ParserRuleContext { - public List statementExpression() { - return getRuleContexts(StatementExpressionContext.class); - } - public StatementExpressionContext statementExpression(int i) { - return getRuleContext(StatementExpressionContext.class,i); - } - public StatementExpressionListContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_statementExpressionList; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterStatementExpressionList(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitStatementExpressionList(this); - } - } - - public final StatementExpressionListContext statementExpressionList() throws RecognitionException { - StatementExpressionListContext _localctx = new StatementExpressionListContext(_ctx, getState()); - enterRule(_localctx, 318, RULE_statementExpressionList); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1726); - statementExpression(); - setState(1731); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==COMMA) { - { - { - setState(1727); - match(COMMA); - setState(1728); - statementExpression(); - } - } - setState(1733); - _errHandler.sync(this); - _la = _input.LA(1); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class EnhancedForStatementContext extends ParserRuleContext { - public UnannTypeContext unannType() { - return getRuleContext(UnannTypeContext.class,0); - } - public VariableDeclaratorIdContext variableDeclaratorId() { - return getRuleContext(VariableDeclaratorIdContext.class,0); - } - public ExpressionContext expression() { - return getRuleContext(ExpressionContext.class,0); - } - public StatementContext statement() { - return getRuleContext(StatementContext.class,0); - } - public List variableModifier() { - return getRuleContexts(VariableModifierContext.class); - } - public VariableModifierContext variableModifier(int i) { - return getRuleContext(VariableModifierContext.class,i); - } - public EnhancedForStatementContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_enhancedForStatement; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterEnhancedForStatement(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitEnhancedForStatement(this); - } - } - - public final EnhancedForStatementContext enhancedForStatement() throws RecognitionException { - EnhancedForStatementContext _localctx = new EnhancedForStatementContext(_ctx, getState()); - enterRule(_localctx, 320, RULE_enhancedForStatement); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1734); - match(FOR); - setState(1735); - match(LPAREN); - setState(1739); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==FINAL || _la==AT) { - { - { - setState(1736); - variableModifier(); - } - } - setState(1741); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(1742); - unannType(); - setState(1743); - variableDeclaratorId(); - setState(1744); - match(COLON); - setState(1745); - expression(); - setState(1746); - match(RPAREN); - setState(1747); - statement(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class EnhancedForStatementNoShortIfContext extends ParserRuleContext { - public UnannTypeContext unannType() { - return getRuleContext(UnannTypeContext.class,0); - } - public VariableDeclaratorIdContext variableDeclaratorId() { - return getRuleContext(VariableDeclaratorIdContext.class,0); - } - public ExpressionContext expression() { - return getRuleContext(ExpressionContext.class,0); - } - public StatementNoShortIfContext statementNoShortIf() { - return getRuleContext(StatementNoShortIfContext.class,0); - } - public List variableModifier() { - return getRuleContexts(VariableModifierContext.class); - } - public VariableModifierContext variableModifier(int i) { - return getRuleContext(VariableModifierContext.class,i); - } - public EnhancedForStatementNoShortIfContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_enhancedForStatementNoShortIf; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterEnhancedForStatementNoShortIf(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitEnhancedForStatementNoShortIf(this); - } - } - - public final EnhancedForStatementNoShortIfContext enhancedForStatementNoShortIf() throws RecognitionException { - EnhancedForStatementNoShortIfContext _localctx = new EnhancedForStatementNoShortIfContext(_ctx, getState()); - enterRule(_localctx, 322, RULE_enhancedForStatementNoShortIf); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1749); - match(FOR); - setState(1750); - match(LPAREN); - setState(1754); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==FINAL || _la==AT) { - { - { - setState(1751); - variableModifier(); - } - } - setState(1756); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(1757); - unannType(); - setState(1758); - variableDeclaratorId(); - setState(1759); - match(COLON); - setState(1760); - expression(); - setState(1761); - match(RPAREN); - setState(1762); - statementNoShortIf(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class BreakStatementContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public BreakStatementContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_breakStatement; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterBreakStatement(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitBreakStatement(this); - } - } - - public final BreakStatementContext breakStatement() throws RecognitionException { - BreakStatementContext _localctx = new BreakStatementContext(_ctx, getState()); - enterRule(_localctx, 324, RULE_breakStatement); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1764); - match(BREAK); - setState(1766); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==Identifier) { - { - setState(1765); - match(Identifier); - } - } - - setState(1768); - match(SEMI); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ContinueStatementContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public ContinueStatementContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_continueStatement; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterContinueStatement(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitContinueStatement(this); - } - } - - public final ContinueStatementContext continueStatement() throws RecognitionException { - ContinueStatementContext _localctx = new ContinueStatementContext(_ctx, getState()); - enterRule(_localctx, 326, RULE_continueStatement); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1770); - match(CONTINUE); - setState(1772); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==Identifier) { - { - setState(1771); - match(Identifier); - } - } - - setState(1774); - match(SEMI); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ReturnStatementContext extends ParserRuleContext { - public ExpressionContext expression() { - return getRuleContext(ExpressionContext.class,0); - } - public ReturnStatementContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_returnStatement; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterReturnStatement(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitReturnStatement(this); - } - } - - public final ReturnStatementContext returnStatement() throws RecognitionException { - ReturnStatementContext _localctx = new ReturnStatementContext(_ctx, getState()); - enterRule(_localctx, 328, RULE_returnStatement); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1776); - match(RETURN); - setState(1778); - _errHandler.sync(this); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 70)) & ~0x3f) == 0 && ((1L << (_la - 70)) & ((1L << (BANG - 70)) | (1L << (TILDE - 70)) | (1L << (INC - 70)) | (1L << (DEC - 70)) | (1L << (ADD - 70)) | (1L << (SUB - 70)) | (1L << (Identifier - 70)) | (1L << (AT - 70)))) != 0)) { - { - setState(1777); - expression(); - } - } - - setState(1780); - match(SEMI); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ThrowStatementContext extends ParserRuleContext { - public ExpressionContext expression() { - return getRuleContext(ExpressionContext.class,0); - } - public ThrowStatementContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_throwStatement; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterThrowStatement(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitThrowStatement(this); - } - } - - public final ThrowStatementContext throwStatement() throws RecognitionException { - ThrowStatementContext _localctx = new ThrowStatementContext(_ctx, getState()); - enterRule(_localctx, 330, RULE_throwStatement); - try { - enterOuterAlt(_localctx, 1); - { - setState(1782); - match(THROW); - setState(1783); - expression(); - setState(1784); - match(SEMI); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class SynchronizedStatementContext extends ParserRuleContext { - public ExpressionContext expression() { - return getRuleContext(ExpressionContext.class,0); - } - public BlockContext block() { - return getRuleContext(BlockContext.class,0); - } - public SynchronizedStatementContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_synchronizedStatement; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterSynchronizedStatement(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitSynchronizedStatement(this); - } - } - - public final SynchronizedStatementContext synchronizedStatement() throws RecognitionException { - SynchronizedStatementContext _localctx = new SynchronizedStatementContext(_ctx, getState()); - enterRule(_localctx, 332, RULE_synchronizedStatement); - try { - enterOuterAlt(_localctx, 1); - { - setState(1786); - match(SYNCHRONIZED); - setState(1787); - match(LPAREN); - setState(1788); - expression(); - setState(1789); - match(RPAREN); - setState(1790); - block(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class TryStatementContext extends ParserRuleContext { - public BlockContext block() { - return getRuleContext(BlockContext.class,0); - } - public CatchesContext catches() { - return getRuleContext(CatchesContext.class,0); - } - public Finally_Context finally_() { - return getRuleContext(Finally_Context.class,0); - } - public TryWithResourcesStatementContext tryWithResourcesStatement() { - return getRuleContext(TryWithResourcesStatementContext.class,0); - } - public TryStatementContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_tryStatement; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTryStatement(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTryStatement(this); - } - } - - public final TryStatementContext tryStatement() throws RecognitionException { - TryStatementContext _localctx = new TryStatementContext(_ctx, getState()); - enterRule(_localctx, 334, RULE_tryStatement); - int _la; - try { - setState(1804); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,186,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(1792); - match(TRY); - setState(1793); - block(); - setState(1794); - catches(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(1796); - match(TRY); - setState(1797); - block(); - setState(1799); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==CATCH) { - { - setState(1798); - catches(); - } - } - - setState(1801); - finally_(); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(1803); - tryWithResourcesStatement(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class CatchesContext extends ParserRuleContext { - public List catchClause() { - return getRuleContexts(CatchClauseContext.class); - } - public CatchClauseContext catchClause(int i) { - return getRuleContext(CatchClauseContext.class,i); - } - public CatchesContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_catches; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterCatches(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitCatches(this); - } - } - - public final CatchesContext catches() throws RecognitionException { - CatchesContext _localctx = new CatchesContext(_ctx, getState()); - enterRule(_localctx, 336, RULE_catches); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1806); - catchClause(); - setState(1810); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==CATCH) { - { - { - setState(1807); - catchClause(); - } - } - setState(1812); - _errHandler.sync(this); - _la = _input.LA(1); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class CatchClauseContext extends ParserRuleContext { - public CatchFormalParameterContext catchFormalParameter() { - return getRuleContext(CatchFormalParameterContext.class,0); - } - public BlockContext block() { - return getRuleContext(BlockContext.class,0); - } - public CatchClauseContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_catchClause; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterCatchClause(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitCatchClause(this); - } - } - - public final CatchClauseContext catchClause() throws RecognitionException { - CatchClauseContext _localctx = new CatchClauseContext(_ctx, getState()); - enterRule(_localctx, 338, RULE_catchClause); - try { - enterOuterAlt(_localctx, 1); - { - setState(1813); - match(CATCH); - setState(1814); - match(LPAREN); - setState(1815); - catchFormalParameter(); - setState(1816); - match(RPAREN); - setState(1817); - block(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class CatchFormalParameterContext extends ParserRuleContext { - public CatchTypeContext catchType() { - return getRuleContext(CatchTypeContext.class,0); - } - public VariableDeclaratorIdContext variableDeclaratorId() { - return getRuleContext(VariableDeclaratorIdContext.class,0); - } - public List variableModifier() { - return getRuleContexts(VariableModifierContext.class); - } - public VariableModifierContext variableModifier(int i) { - return getRuleContext(VariableModifierContext.class,i); - } - public CatchFormalParameterContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_catchFormalParameter; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterCatchFormalParameter(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitCatchFormalParameter(this); - } - } - - public final CatchFormalParameterContext catchFormalParameter() throws RecognitionException { - CatchFormalParameterContext _localctx = new CatchFormalParameterContext(_ctx, getState()); - enterRule(_localctx, 340, RULE_catchFormalParameter); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1822); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==FINAL || _la==AT) { - { - { - setState(1819); - variableModifier(); - } - } - setState(1824); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(1825); - catchType(); - setState(1826); - variableDeclaratorId(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class CatchTypeContext extends ParserRuleContext { - public UnannClassTypeContext unannClassType() { - return getRuleContext(UnannClassTypeContext.class,0); - } - public List classType() { - return getRuleContexts(ClassTypeContext.class); - } - public ClassTypeContext classType(int i) { - return getRuleContext(ClassTypeContext.class,i); - } - public CatchTypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_catchType; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterCatchType(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitCatchType(this); - } - } - - public final CatchTypeContext catchType() throws RecognitionException { - CatchTypeContext _localctx = new CatchTypeContext(_ctx, getState()); - enterRule(_localctx, 342, RULE_catchType); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1828); - unannClassType(); - setState(1833); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==BITOR) { - { - { - setState(1829); - match(BITOR); - setState(1830); - classType(); - } - } - setState(1835); - _errHandler.sync(this); - _la = _input.LA(1); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class Finally_Context extends ParserRuleContext { - public BlockContext block() { - return getRuleContext(BlockContext.class,0); - } - public Finally_Context(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_finally_; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterFinally_(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitFinally_(this); - } - } - - public final Finally_Context finally_() throws RecognitionException { - Finally_Context _localctx = new Finally_Context(_ctx, getState()); - enterRule(_localctx, 344, RULE_finally_); - try { - enterOuterAlt(_localctx, 1); - { - setState(1836); - match(FINALLY); - setState(1837); - block(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class TryWithResourcesStatementContext extends ParserRuleContext { - public ResourceSpecificationContext resourceSpecification() { - return getRuleContext(ResourceSpecificationContext.class,0); - } - public BlockContext block() { - return getRuleContext(BlockContext.class,0); - } - public CatchesContext catches() { - return getRuleContext(CatchesContext.class,0); - } - public Finally_Context finally_() { - return getRuleContext(Finally_Context.class,0); - } - public TryWithResourcesStatementContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_tryWithResourcesStatement; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTryWithResourcesStatement(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTryWithResourcesStatement(this); - } - } - - public final TryWithResourcesStatementContext tryWithResourcesStatement() throws RecognitionException { - TryWithResourcesStatementContext _localctx = new TryWithResourcesStatementContext(_ctx, getState()); - enterRule(_localctx, 346, RULE_tryWithResourcesStatement); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1839); - match(TRY); - setState(1840); - resourceSpecification(); - setState(1841); - block(); - setState(1843); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==CATCH) { - { - setState(1842); - catches(); - } - } - - setState(1846); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==FINALLY) { - { - setState(1845); - finally_(); - } - } - - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ResourceSpecificationContext extends ParserRuleContext { - public ResourceListContext resourceList() { - return getRuleContext(ResourceListContext.class,0); - } - public ResourceSpecificationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_resourceSpecification; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterResourceSpecification(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitResourceSpecification(this); - } - } - - public final ResourceSpecificationContext resourceSpecification() throws RecognitionException { - ResourceSpecificationContext _localctx = new ResourceSpecificationContext(_ctx, getState()); - enterRule(_localctx, 348, RULE_resourceSpecification); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1848); - match(LPAREN); - setState(1849); - resourceList(); - setState(1851); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==SEMI) { - { - setState(1850); - match(SEMI); - } - } - - setState(1853); - match(RPAREN); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ResourceListContext extends ParserRuleContext { - public List resource() { - return getRuleContexts(ResourceContext.class); - } - public ResourceContext resource(int i) { - return getRuleContext(ResourceContext.class,i); - } - public ResourceListContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_resourceList; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterResourceList(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitResourceList(this); - } - } - - public final ResourceListContext resourceList() throws RecognitionException { - ResourceListContext _localctx = new ResourceListContext(_ctx, getState()); - enterRule(_localctx, 350, RULE_resourceList); - try { - int _alt; - enterOuterAlt(_localctx, 1); - { - setState(1855); - resource(); - setState(1860); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,193,_ctx); - while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - { - { - setState(1856); - match(SEMI); - setState(1857); - resource(); - } - } - } - setState(1862); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,193,_ctx); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ResourceContext extends ParserRuleContext { - public UnannTypeContext unannType() { - return getRuleContext(UnannTypeContext.class,0); - } - public VariableDeclaratorIdContext variableDeclaratorId() { - return getRuleContext(VariableDeclaratorIdContext.class,0); - } - public ExpressionContext expression() { - return getRuleContext(ExpressionContext.class,0); - } - public List variableModifier() { - return getRuleContexts(VariableModifierContext.class); - } - public VariableModifierContext variableModifier(int i) { - return getRuleContext(VariableModifierContext.class,i); - } - public ResourceContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_resource; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterResource(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitResource(this); - } - } - - public final ResourceContext resource() throws RecognitionException { - ResourceContext _localctx = new ResourceContext(_ctx, getState()); - enterRule(_localctx, 352, RULE_resource); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1866); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==FINAL || _la==AT) { - { - { - setState(1863); - variableModifier(); - } - } - setState(1868); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(1869); - unannType(); - setState(1870); - variableDeclaratorId(); - setState(1871); - match(ASSIGN); - setState(1872); - expression(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PrimaryContext extends ParserRuleContext { - public PrimaryNoNewArray_lfno_primaryContext primaryNoNewArray_lfno_primary() { - return getRuleContext(PrimaryNoNewArray_lfno_primaryContext.class,0); - } - public ArrayCreationExpressionContext arrayCreationExpression() { - return getRuleContext(ArrayCreationExpressionContext.class,0); - } - public List primaryNoNewArray_lf_primary() { - return getRuleContexts(PrimaryNoNewArray_lf_primaryContext.class); - } - public PrimaryNoNewArray_lf_primaryContext primaryNoNewArray_lf_primary(int i) { - return getRuleContext(PrimaryNoNewArray_lf_primaryContext.class,i); - } - public PrimaryContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_primary; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPrimary(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPrimary(this); - } - } - - public final PrimaryContext primary() throws RecognitionException { - PrimaryContext _localctx = new PrimaryContext(_ctx, getState()); - enterRule(_localctx, 354, RULE_primary); - try { - int _alt; - enterOuterAlt(_localctx, 1); - { - setState(1876); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,195,_ctx) ) { - case 1: - { - setState(1874); - primaryNoNewArray_lfno_primary(); - } - break; - case 2: - { - setState(1875); - arrayCreationExpression(); - } - break; - } - setState(1881); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,196,_ctx); - while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - { - { - setState(1878); - primaryNoNewArray_lf_primary(); - } - } - } - setState(1883); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,196,_ctx); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PrimaryNoNewArrayContext extends ParserRuleContext { - public LiteralContext literal() { - return getRuleContext(LiteralContext.class,0); - } - public TypeNameContext typeName() { - return getRuleContext(TypeNameContext.class,0); - } - public ExpressionContext expression() { - return getRuleContext(ExpressionContext.class,0); - } - public ClassInstanceCreationExpressionContext classInstanceCreationExpression() { - return getRuleContext(ClassInstanceCreationExpressionContext.class,0); - } - public FieldAccessContext fieldAccess() { - return getRuleContext(FieldAccessContext.class,0); - } - public ArrayAccessContext arrayAccess() { - return getRuleContext(ArrayAccessContext.class,0); - } - public MethodInvocationContext methodInvocation() { - return getRuleContext(MethodInvocationContext.class,0); - } - public MethodReferenceContext methodReference() { - return getRuleContext(MethodReferenceContext.class,0); - } - public PrimaryNoNewArrayContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_primaryNoNewArray; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPrimaryNoNewArray(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPrimaryNoNewArray(this); - } - } - - public final PrimaryNoNewArrayContext primaryNoNewArray() throws RecognitionException { - PrimaryNoNewArrayContext _localctx = new PrimaryNoNewArrayContext(_ctx, getState()); - enterRule(_localctx, 356, RULE_primaryNoNewArray); - int _la; - try { - setState(1913); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,198,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(1884); - literal(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(1885); - typeName(); - setState(1890); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==LBRACK) { - { - { - setState(1886); - match(LBRACK); - setState(1887); - match(RBRACK); - } - } - setState(1892); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(1893); - match(DOT); - setState(1894); - match(CLASS); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(1896); - match(VOID); - setState(1897); - match(DOT); - setState(1898); - match(CLASS); - } - break; - case 4: - enterOuterAlt(_localctx, 4); - { - setState(1899); - match(THIS); - } - break; - case 5: - enterOuterAlt(_localctx, 5); - { - setState(1900); - typeName(); - setState(1901); - match(DOT); - setState(1902); - match(THIS); - } - break; - case 6: - enterOuterAlt(_localctx, 6); - { - setState(1904); - match(LPAREN); - setState(1905); - expression(); - setState(1906); - match(RPAREN); - } - break; - case 7: - enterOuterAlt(_localctx, 7); - { - setState(1908); - classInstanceCreationExpression(); - } - break; - case 8: - enterOuterAlt(_localctx, 8); - { - setState(1909); - fieldAccess(); - } - break; - case 9: - enterOuterAlt(_localctx, 9); - { - setState(1910); - arrayAccess(); - } - break; - case 10: - enterOuterAlt(_localctx, 10); - { - setState(1911); - methodInvocation(); - } - break; - case 11: - enterOuterAlt(_localctx, 11); - { - setState(1912); - methodReference(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PrimaryNoNewArray_lf_arrayAccessContext extends ParserRuleContext { - public PrimaryNoNewArray_lf_arrayAccessContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_primaryNoNewArray_lf_arrayAccess; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPrimaryNoNewArray_lf_arrayAccess(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPrimaryNoNewArray_lf_arrayAccess(this); - } - } - - public final PrimaryNoNewArray_lf_arrayAccessContext primaryNoNewArray_lf_arrayAccess() throws RecognitionException { - PrimaryNoNewArray_lf_arrayAccessContext _localctx = new PrimaryNoNewArray_lf_arrayAccessContext(_ctx, getState()); - enterRule(_localctx, 358, RULE_primaryNoNewArray_lf_arrayAccess); - try { - enterOuterAlt(_localctx, 1); - { - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PrimaryNoNewArray_lfno_arrayAccessContext extends ParserRuleContext { - public LiteralContext literal() { - return getRuleContext(LiteralContext.class,0); - } - public TypeNameContext typeName() { - return getRuleContext(TypeNameContext.class,0); - } - public ExpressionContext expression() { - return getRuleContext(ExpressionContext.class,0); - } - public ClassInstanceCreationExpressionContext classInstanceCreationExpression() { - return getRuleContext(ClassInstanceCreationExpressionContext.class,0); - } - public FieldAccessContext fieldAccess() { - return getRuleContext(FieldAccessContext.class,0); - } - public MethodInvocationContext methodInvocation() { - return getRuleContext(MethodInvocationContext.class,0); - } - public MethodReferenceContext methodReference() { - return getRuleContext(MethodReferenceContext.class,0); - } - public PrimaryNoNewArray_lfno_arrayAccessContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_primaryNoNewArray_lfno_arrayAccess; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPrimaryNoNewArray_lfno_arrayAccess(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPrimaryNoNewArray_lfno_arrayAccess(this); - } - } - - public final PrimaryNoNewArray_lfno_arrayAccessContext primaryNoNewArray_lfno_arrayAccess() throws RecognitionException { - PrimaryNoNewArray_lfno_arrayAccessContext _localctx = new PrimaryNoNewArray_lfno_arrayAccessContext(_ctx, getState()); - enterRule(_localctx, 360, RULE_primaryNoNewArray_lfno_arrayAccess); - int _la; - try { - setState(1945); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,200,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(1917); - literal(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(1918); - typeName(); - setState(1923); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==LBRACK) { - { - { - setState(1919); - match(LBRACK); - setState(1920); - match(RBRACK); - } - } - setState(1925); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(1926); - match(DOT); - setState(1927); - match(CLASS); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(1929); - match(VOID); - setState(1930); - match(DOT); - setState(1931); - match(CLASS); - } - break; - case 4: - enterOuterAlt(_localctx, 4); - { - setState(1932); - match(THIS); - } - break; - case 5: - enterOuterAlt(_localctx, 5); - { - setState(1933); - typeName(); - setState(1934); - match(DOT); - setState(1935); - match(THIS); - } - break; - case 6: - enterOuterAlt(_localctx, 6); - { - setState(1937); - match(LPAREN); - setState(1938); - expression(); - setState(1939); - match(RPAREN); - } - break; - case 7: - enterOuterAlt(_localctx, 7); - { - setState(1941); - classInstanceCreationExpression(); - } - break; - case 8: - enterOuterAlt(_localctx, 8); - { - setState(1942); - fieldAccess(); - } - break; - case 9: - enterOuterAlt(_localctx, 9); - { - setState(1943); - methodInvocation(); - } - break; - case 10: - enterOuterAlt(_localctx, 10); - { - setState(1944); - methodReference(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PrimaryNoNewArray_lf_primaryContext extends ParserRuleContext { - public ClassInstanceCreationExpression_lf_primaryContext classInstanceCreationExpression_lf_primary() { - return getRuleContext(ClassInstanceCreationExpression_lf_primaryContext.class,0); - } - public FieldAccess_lf_primaryContext fieldAccess_lf_primary() { - return getRuleContext(FieldAccess_lf_primaryContext.class,0); - } - public ArrayAccess_lf_primaryContext arrayAccess_lf_primary() { - return getRuleContext(ArrayAccess_lf_primaryContext.class,0); - } - public MethodInvocation_lf_primaryContext methodInvocation_lf_primary() { - return getRuleContext(MethodInvocation_lf_primaryContext.class,0); - } - public MethodReference_lf_primaryContext methodReference_lf_primary() { - return getRuleContext(MethodReference_lf_primaryContext.class,0); - } - public PrimaryNoNewArray_lf_primaryContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_primaryNoNewArray_lf_primary; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPrimaryNoNewArray_lf_primary(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPrimaryNoNewArray_lf_primary(this); - } - } - - public final PrimaryNoNewArray_lf_primaryContext primaryNoNewArray_lf_primary() throws RecognitionException { - PrimaryNoNewArray_lf_primaryContext _localctx = new PrimaryNoNewArray_lf_primaryContext(_ctx, getState()); - enterRule(_localctx, 362, RULE_primaryNoNewArray_lf_primary); - try { - setState(1952); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,201,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(1947); - classInstanceCreationExpression_lf_primary(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(1948); - fieldAccess_lf_primary(); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(1949); - arrayAccess_lf_primary(); - } - break; - case 4: - enterOuterAlt(_localctx, 4); - { - setState(1950); - methodInvocation_lf_primary(); - } - break; - case 5: - enterOuterAlt(_localctx, 5); - { - setState(1951); - methodReference_lf_primary(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primaryContext extends ParserRuleContext { - public PrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primaryContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_primaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary(this); - } - } - - public final PrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primaryContext primaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary() throws RecognitionException { - PrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primaryContext _localctx = new PrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primaryContext(_ctx, getState()); - enterRule(_localctx, 364, RULE_primaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary); - try { - enterOuterAlt(_localctx, 1); - { - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primaryContext extends ParserRuleContext { - public ClassInstanceCreationExpression_lf_primaryContext classInstanceCreationExpression_lf_primary() { - return getRuleContext(ClassInstanceCreationExpression_lf_primaryContext.class,0); - } - public FieldAccess_lf_primaryContext fieldAccess_lf_primary() { - return getRuleContext(FieldAccess_lf_primaryContext.class,0); - } - public MethodInvocation_lf_primaryContext methodInvocation_lf_primary() { - return getRuleContext(MethodInvocation_lf_primaryContext.class,0); - } - public MethodReference_lf_primaryContext methodReference_lf_primary() { - return getRuleContext(MethodReference_lf_primaryContext.class,0); - } - public PrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primaryContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_primaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary(this); - } - } - - public final PrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primaryContext primaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary() throws RecognitionException { - PrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primaryContext _localctx = new PrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primaryContext(_ctx, getState()); - enterRule(_localctx, 366, RULE_primaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary); - try { - setState(1960); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,202,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(1956); - classInstanceCreationExpression_lf_primary(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(1957); - fieldAccess_lf_primary(); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(1958); - methodInvocation_lf_primary(); - } - break; - case 4: - enterOuterAlt(_localctx, 4); - { - setState(1959); - methodReference_lf_primary(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PrimaryNoNewArray_lfno_primaryContext extends ParserRuleContext { - public LiteralContext literal() { - return getRuleContext(LiteralContext.class,0); - } - public TypeNameContext typeName() { - return getRuleContext(TypeNameContext.class,0); - } - public UnannPrimitiveTypeContext unannPrimitiveType() { - return getRuleContext(UnannPrimitiveTypeContext.class,0); - } - public ExpressionContext expression() { - return getRuleContext(ExpressionContext.class,0); - } - public ClassInstanceCreationExpression_lfno_primaryContext classInstanceCreationExpression_lfno_primary() { - return getRuleContext(ClassInstanceCreationExpression_lfno_primaryContext.class,0); - } - public FieldAccess_lfno_primaryContext fieldAccess_lfno_primary() { - return getRuleContext(FieldAccess_lfno_primaryContext.class,0); - } - public ArrayAccess_lfno_primaryContext arrayAccess_lfno_primary() { - return getRuleContext(ArrayAccess_lfno_primaryContext.class,0); - } - public MethodInvocation_lfno_primaryContext methodInvocation_lfno_primary() { - return getRuleContext(MethodInvocation_lfno_primaryContext.class,0); - } - public MethodReference_lfno_primaryContext methodReference_lfno_primary() { - return getRuleContext(MethodReference_lfno_primaryContext.class,0); - } - public PrimaryNoNewArray_lfno_primaryContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_primaryNoNewArray_lfno_primary; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPrimaryNoNewArray_lfno_primary(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPrimaryNoNewArray_lfno_primary(this); - } - } - - public final PrimaryNoNewArray_lfno_primaryContext primaryNoNewArray_lfno_primary() throws RecognitionException { - PrimaryNoNewArray_lfno_primaryContext _localctx = new PrimaryNoNewArray_lfno_primaryContext(_ctx, getState()); - enterRule(_localctx, 368, RULE_primaryNoNewArray_lfno_primary); - int _la; - try { - setState(2002); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,205,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(1962); - literal(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(1963); - typeName(); - setState(1968); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==LBRACK) { - { - { - setState(1964); - match(LBRACK); - setState(1965); - match(RBRACK); - } - } - setState(1970); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(1971); - match(DOT); - setState(1972); - match(CLASS); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(1974); - unannPrimitiveType(); - setState(1979); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==LBRACK) { - { - { - setState(1975); - match(LBRACK); - setState(1976); - match(RBRACK); - } - } - setState(1981); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(1982); - match(DOT); - setState(1983); - match(CLASS); - } - break; - case 4: - enterOuterAlt(_localctx, 4); - { - setState(1985); - match(VOID); - setState(1986); - match(DOT); - setState(1987); - match(CLASS); - } - break; - case 5: - enterOuterAlt(_localctx, 5); - { - setState(1988); - match(THIS); - } - break; - case 6: - enterOuterAlt(_localctx, 6); - { - setState(1989); - typeName(); - setState(1990); - match(DOT); - setState(1991); - match(THIS); - } - break; - case 7: - enterOuterAlt(_localctx, 7); - { - setState(1993); - match(LPAREN); - setState(1994); - expression(); - setState(1995); - match(RPAREN); - } - break; - case 8: - enterOuterAlt(_localctx, 8); - { - setState(1997); - classInstanceCreationExpression_lfno_primary(); - } - break; - case 9: - enterOuterAlt(_localctx, 9); - { - setState(1998); - fieldAccess_lfno_primary(); - } - break; - case 10: - enterOuterAlt(_localctx, 10); - { - setState(1999); - arrayAccess_lfno_primary(); - } - break; - case 11: - enterOuterAlt(_localctx, 11); - { - setState(2000); - methodInvocation_lfno_primary(); - } - break; - case 12: - enterOuterAlt(_localctx, 12); - { - setState(2001); - methodReference_lfno_primary(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primaryContext extends ParserRuleContext { - public PrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primaryContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_primaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary(this); - } - } - - public final PrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primaryContext primaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary() throws RecognitionException { - PrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primaryContext _localctx = new PrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primaryContext(_ctx, getState()); - enterRule(_localctx, 370, RULE_primaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary); - try { - enterOuterAlt(_localctx, 1); - { - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primaryContext extends ParserRuleContext { - public LiteralContext literal() { - return getRuleContext(LiteralContext.class,0); - } - public TypeNameContext typeName() { - return getRuleContext(TypeNameContext.class,0); - } - public UnannPrimitiveTypeContext unannPrimitiveType() { - return getRuleContext(UnannPrimitiveTypeContext.class,0); - } - public ExpressionContext expression() { - return getRuleContext(ExpressionContext.class,0); - } - public ClassInstanceCreationExpression_lfno_primaryContext classInstanceCreationExpression_lfno_primary() { - return getRuleContext(ClassInstanceCreationExpression_lfno_primaryContext.class,0); - } - public FieldAccess_lfno_primaryContext fieldAccess_lfno_primary() { - return getRuleContext(FieldAccess_lfno_primaryContext.class,0); - } - public MethodInvocation_lfno_primaryContext methodInvocation_lfno_primary() { - return getRuleContext(MethodInvocation_lfno_primaryContext.class,0); - } - public MethodReference_lfno_primaryContext methodReference_lfno_primary() { - return getRuleContext(MethodReference_lfno_primaryContext.class,0); - } - public PrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primaryContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_primaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary(this); - } - } - - public final PrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primaryContext primaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary() throws RecognitionException { - PrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primaryContext _localctx = new PrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primaryContext(_ctx, getState()); - enterRule(_localctx, 372, RULE_primaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary); - int _la; - try { - setState(2045); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,208,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(2006); - literal(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(2007); - typeName(); - setState(2012); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==LBRACK) { - { - { - setState(2008); - match(LBRACK); - setState(2009); - match(RBRACK); - } - } - setState(2014); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(2015); - match(DOT); - setState(2016); - match(CLASS); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(2018); - unannPrimitiveType(); - setState(2023); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==LBRACK) { - { - { - setState(2019); - match(LBRACK); - setState(2020); - match(RBRACK); - } - } - setState(2025); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(2026); - match(DOT); - setState(2027); - match(CLASS); - } - break; - case 4: - enterOuterAlt(_localctx, 4); - { - setState(2029); - match(VOID); - setState(2030); - match(DOT); - setState(2031); - match(CLASS); - } - break; - case 5: - enterOuterAlt(_localctx, 5); - { - setState(2032); - match(THIS); - } - break; - case 6: - enterOuterAlt(_localctx, 6); - { - setState(2033); - typeName(); - setState(2034); - match(DOT); - setState(2035); - match(THIS); - } - break; - case 7: - enterOuterAlt(_localctx, 7); - { - setState(2037); - match(LPAREN); - setState(2038); - expression(); - setState(2039); - match(RPAREN); - } - break; - case 8: - enterOuterAlt(_localctx, 8); - { - setState(2041); - classInstanceCreationExpression_lfno_primary(); - } - break; - case 9: - enterOuterAlt(_localctx, 9); - { - setState(2042); - fieldAccess_lfno_primary(); - } - break; - case 10: - enterOuterAlt(_localctx, 10); - { - setState(2043); - methodInvocation_lfno_primary(); - } - break; - case 11: - enterOuterAlt(_localctx, 11); - { - setState(2044); - methodReference_lfno_primary(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ClassInstanceCreationExpressionContext extends ParserRuleContext { - public List Identifier() { return getTokens(Java8Parser.Identifier); } - public TerminalNode Identifier(int i) { - return getToken(Java8Parser.Identifier, i); - } - public TypeArgumentsContext typeArguments() { - return getRuleContext(TypeArgumentsContext.class,0); - } - public List annotation() { - return getRuleContexts(AnnotationContext.class); - } - public AnnotationContext annotation(int i) { - return getRuleContext(AnnotationContext.class,i); - } - public TypeArgumentsOrDiamondContext typeArgumentsOrDiamond() { - return getRuleContext(TypeArgumentsOrDiamondContext.class,0); - } - public ArgumentListContext argumentList() { - return getRuleContext(ArgumentListContext.class,0); - } - public ClassBodyContext classBody() { - return getRuleContext(ClassBodyContext.class,0); - } - public ExpressionNameContext expressionName() { - return getRuleContext(ExpressionNameContext.class,0); - } - public PrimaryContext primary() { - return getRuleContext(PrimaryContext.class,0); - } - public ClassInstanceCreationExpressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_classInstanceCreationExpression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterClassInstanceCreationExpression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitClassInstanceCreationExpression(this); - } - } - - public final ClassInstanceCreationExpressionContext classInstanceCreationExpression() throws RecognitionException { - ClassInstanceCreationExpressionContext _localctx = new ClassInstanceCreationExpressionContext(_ctx, getState()); - enterRule(_localctx, 374, RULE_classInstanceCreationExpression); - int _la; - try { - setState(2130); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,226,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(2047); - match(NEW); - setState(2049); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2048); - typeArguments(); - } - } - - setState(2054); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==AT) { - { - { - setState(2051); - annotation(); - } - } - setState(2056); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(2057); - match(Identifier); - setState(2068); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==DOT) { - { - { - setState(2058); - match(DOT); - setState(2062); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==AT) { - { - { - setState(2059); - annotation(); - } - } - setState(2064); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(2065); - match(Identifier); - } - } - setState(2070); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(2072); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2071); - typeArgumentsOrDiamond(); - } - } - - setState(2074); - match(LPAREN); - setState(2076); - _errHandler.sync(this); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 70)) & ~0x3f) == 0 && ((1L << (_la - 70)) & ((1L << (BANG - 70)) | (1L << (TILDE - 70)) | (1L << (INC - 70)) | (1L << (DEC - 70)) | (1L << (ADD - 70)) | (1L << (SUB - 70)) | (1L << (Identifier - 70)) | (1L << (AT - 70)))) != 0)) { - { - setState(2075); - argumentList(); - } - } - - setState(2078); - match(RPAREN); - setState(2080); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==LBRACE) { - { - setState(2079); - classBody(); - } - } - - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(2082); - expressionName(); - setState(2083); - match(DOT); - setState(2084); - match(NEW); - setState(2086); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2085); - typeArguments(); - } - } - - setState(2091); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==AT) { - { - { - setState(2088); - annotation(); - } - } - setState(2093); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(2094); - match(Identifier); - setState(2096); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2095); - typeArgumentsOrDiamond(); - } - } - - setState(2098); - match(LPAREN); - setState(2100); - _errHandler.sync(this); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 70)) & ~0x3f) == 0 && ((1L << (_la - 70)) & ((1L << (BANG - 70)) | (1L << (TILDE - 70)) | (1L << (INC - 70)) | (1L << (DEC - 70)) | (1L << (ADD - 70)) | (1L << (SUB - 70)) | (1L << (Identifier - 70)) | (1L << (AT - 70)))) != 0)) { - { - setState(2099); - argumentList(); - } - } - - setState(2102); - match(RPAREN); - setState(2104); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==LBRACE) { - { - setState(2103); - classBody(); - } - } - - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(2106); - primary(); - setState(2107); - match(DOT); - setState(2108); - match(NEW); - setState(2110); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2109); - typeArguments(); - } - } - - setState(2115); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==AT) { - { - { - setState(2112); - annotation(); - } - } - setState(2117); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(2118); - match(Identifier); - setState(2120); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2119); - typeArgumentsOrDiamond(); - } - } - - setState(2122); - match(LPAREN); - setState(2124); - _errHandler.sync(this); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 70)) & ~0x3f) == 0 && ((1L << (_la - 70)) & ((1L << (BANG - 70)) | (1L << (TILDE - 70)) | (1L << (INC - 70)) | (1L << (DEC - 70)) | (1L << (ADD - 70)) | (1L << (SUB - 70)) | (1L << (Identifier - 70)) | (1L << (AT - 70)))) != 0)) { - { - setState(2123); - argumentList(); - } - } - - setState(2126); - match(RPAREN); - setState(2128); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==LBRACE) { - { - setState(2127); - classBody(); - } - } - - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ClassInstanceCreationExpression_lf_primaryContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public TypeArgumentsContext typeArguments() { - return getRuleContext(TypeArgumentsContext.class,0); - } - public List annotation() { - return getRuleContexts(AnnotationContext.class); - } - public AnnotationContext annotation(int i) { - return getRuleContext(AnnotationContext.class,i); - } - public TypeArgumentsOrDiamondContext typeArgumentsOrDiamond() { - return getRuleContext(TypeArgumentsOrDiamondContext.class,0); - } - public ArgumentListContext argumentList() { - return getRuleContext(ArgumentListContext.class,0); - } - public ClassBodyContext classBody() { - return getRuleContext(ClassBodyContext.class,0); - } - public ClassInstanceCreationExpression_lf_primaryContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_classInstanceCreationExpression_lf_primary; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterClassInstanceCreationExpression_lf_primary(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitClassInstanceCreationExpression_lf_primary(this); - } - } - - public final ClassInstanceCreationExpression_lf_primaryContext classInstanceCreationExpression_lf_primary() throws RecognitionException { - ClassInstanceCreationExpression_lf_primaryContext _localctx = new ClassInstanceCreationExpression_lf_primaryContext(_ctx, getState()); - enterRule(_localctx, 376, RULE_classInstanceCreationExpression_lf_primary); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(2132); - match(DOT); - setState(2133); - match(NEW); - setState(2135); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2134); - typeArguments(); - } - } - - setState(2140); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==AT) { - { - { - setState(2137); - annotation(); - } - } - setState(2142); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(2143); - match(Identifier); - setState(2145); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2144); - typeArgumentsOrDiamond(); - } - } - - setState(2147); - match(LPAREN); - setState(2149); - _errHandler.sync(this); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 70)) & ~0x3f) == 0 && ((1L << (_la - 70)) & ((1L << (BANG - 70)) | (1L << (TILDE - 70)) | (1L << (INC - 70)) | (1L << (DEC - 70)) | (1L << (ADD - 70)) | (1L << (SUB - 70)) | (1L << (Identifier - 70)) | (1L << (AT - 70)))) != 0)) { - { - setState(2148); - argumentList(); - } - } - - setState(2151); - match(RPAREN); - setState(2153); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,231,_ctx) ) { - case 1: - { - setState(2152); - classBody(); - } - break; - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ClassInstanceCreationExpression_lfno_primaryContext extends ParserRuleContext { - public List Identifier() { return getTokens(Java8Parser.Identifier); } - public TerminalNode Identifier(int i) { - return getToken(Java8Parser.Identifier, i); - } - public TypeArgumentsContext typeArguments() { - return getRuleContext(TypeArgumentsContext.class,0); - } - public List annotation() { - return getRuleContexts(AnnotationContext.class); - } - public AnnotationContext annotation(int i) { - return getRuleContext(AnnotationContext.class,i); - } - public TypeArgumentsOrDiamondContext typeArgumentsOrDiamond() { - return getRuleContext(TypeArgumentsOrDiamondContext.class,0); - } - public ArgumentListContext argumentList() { - return getRuleContext(ArgumentListContext.class,0); - } - public ClassBodyContext classBody() { - return getRuleContext(ClassBodyContext.class,0); - } - public ExpressionNameContext expressionName() { - return getRuleContext(ExpressionNameContext.class,0); - } - public ClassInstanceCreationExpression_lfno_primaryContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_classInstanceCreationExpression_lfno_primary; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterClassInstanceCreationExpression_lfno_primary(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitClassInstanceCreationExpression_lfno_primary(this); - } - } - - public final ClassInstanceCreationExpression_lfno_primaryContext classInstanceCreationExpression_lfno_primary() throws RecognitionException { - ClassInstanceCreationExpression_lfno_primaryContext _localctx = new ClassInstanceCreationExpression_lfno_primaryContext(_ctx, getState()); - enterRule(_localctx, 378, RULE_classInstanceCreationExpression_lfno_primary); - int _la; - try { - setState(2214); - _errHandler.sync(this); - switch (_input.LA(1)) { - case NEW: - enterOuterAlt(_localctx, 1); - { - setState(2155); - match(NEW); - setState(2157); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2156); - typeArguments(); - } - } - - setState(2162); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==AT) { - { - { - setState(2159); - annotation(); - } - } - setState(2164); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(2165); - match(Identifier); - setState(2176); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==DOT) { - { - { - setState(2166); - match(DOT); - setState(2170); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==AT) { - { - { - setState(2167); - annotation(); - } - } - setState(2172); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(2173); - match(Identifier); - } - } - setState(2178); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(2180); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2179); - typeArgumentsOrDiamond(); - } - } - - setState(2182); - match(LPAREN); - setState(2184); - _errHandler.sync(this); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 70)) & ~0x3f) == 0 && ((1L << (_la - 70)) & ((1L << (BANG - 70)) | (1L << (TILDE - 70)) | (1L << (INC - 70)) | (1L << (DEC - 70)) | (1L << (ADD - 70)) | (1L << (SUB - 70)) | (1L << (Identifier - 70)) | (1L << (AT - 70)))) != 0)) { - { - setState(2183); - argumentList(); - } - } - - setState(2186); - match(RPAREN); - setState(2188); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,238,_ctx) ) { - case 1: - { - setState(2187); - classBody(); - } - break; - } - } - break; - case Identifier: - enterOuterAlt(_localctx, 2); - { - setState(2190); - expressionName(); - setState(2191); - match(DOT); - setState(2192); - match(NEW); - setState(2194); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2193); - typeArguments(); - } - } - - setState(2199); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==AT) { - { - { - setState(2196); - annotation(); - } - } - setState(2201); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(2202); - match(Identifier); - setState(2204); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2203); - typeArgumentsOrDiamond(); - } - } - - setState(2206); - match(LPAREN); - setState(2208); - _errHandler.sync(this); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 70)) & ~0x3f) == 0 && ((1L << (_la - 70)) & ((1L << (BANG - 70)) | (1L << (TILDE - 70)) | (1L << (INC - 70)) | (1L << (DEC - 70)) | (1L << (ADD - 70)) | (1L << (SUB - 70)) | (1L << (Identifier - 70)) | (1L << (AT - 70)))) != 0)) { - { - setState(2207); - argumentList(); - } - } - - setState(2210); - match(RPAREN); - setState(2212); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,243,_ctx) ) { - case 1: - { - setState(2211); - classBody(); - } - break; - } - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class TypeArgumentsOrDiamondContext extends ParserRuleContext { - public TypeArgumentsContext typeArguments() { - return getRuleContext(TypeArgumentsContext.class,0); - } - public TypeArgumentsOrDiamondContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_typeArgumentsOrDiamond; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTypeArgumentsOrDiamond(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTypeArgumentsOrDiamond(this); - } - } - - public final TypeArgumentsOrDiamondContext typeArgumentsOrDiamond() throws RecognitionException { - TypeArgumentsOrDiamondContext _localctx = new TypeArgumentsOrDiamondContext(_ctx, getState()); - enterRule(_localctx, 380, RULE_typeArgumentsOrDiamond); - try { - setState(2219); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,245,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(2216); - typeArguments(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(2217); - match(LT); - setState(2218); - match(GT); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class FieldAccessContext extends ParserRuleContext { - public PrimaryContext primary() { - return getRuleContext(PrimaryContext.class,0); - } - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public TypeNameContext typeName() { - return getRuleContext(TypeNameContext.class,0); - } - public FieldAccessContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_fieldAccess; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterFieldAccess(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitFieldAccess(this); - } - } - - public final FieldAccessContext fieldAccess() throws RecognitionException { - FieldAccessContext _localctx = new FieldAccessContext(_ctx, getState()); - enterRule(_localctx, 382, RULE_fieldAccess); - try { - setState(2234); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,246,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(2221); - primary(); - setState(2222); - match(DOT); - setState(2223); - match(Identifier); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(2225); - match(SUPER); - setState(2226); - match(DOT); - setState(2227); - match(Identifier); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(2228); - typeName(); - setState(2229); - match(DOT); - setState(2230); - match(SUPER); - setState(2231); - match(DOT); - setState(2232); - match(Identifier); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class FieldAccess_lf_primaryContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public FieldAccess_lf_primaryContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_fieldAccess_lf_primary; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterFieldAccess_lf_primary(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitFieldAccess_lf_primary(this); - } - } - - public final FieldAccess_lf_primaryContext fieldAccess_lf_primary() throws RecognitionException { - FieldAccess_lf_primaryContext _localctx = new FieldAccess_lf_primaryContext(_ctx, getState()); - enterRule(_localctx, 384, RULE_fieldAccess_lf_primary); - try { - enterOuterAlt(_localctx, 1); - { - setState(2236); - match(DOT); - setState(2237); - match(Identifier); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class FieldAccess_lfno_primaryContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public TypeNameContext typeName() { - return getRuleContext(TypeNameContext.class,0); - } - public FieldAccess_lfno_primaryContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_fieldAccess_lfno_primary; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterFieldAccess_lfno_primary(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitFieldAccess_lfno_primary(this); - } - } - - public final FieldAccess_lfno_primaryContext fieldAccess_lfno_primary() throws RecognitionException { - FieldAccess_lfno_primaryContext _localctx = new FieldAccess_lfno_primaryContext(_ctx, getState()); - enterRule(_localctx, 386, RULE_fieldAccess_lfno_primary); - try { - setState(2248); - _errHandler.sync(this); - switch (_input.LA(1)) { - case SUPER: - enterOuterAlt(_localctx, 1); - { - setState(2239); - match(SUPER); - setState(2240); - match(DOT); - setState(2241); - match(Identifier); - } - break; - case Identifier: - enterOuterAlt(_localctx, 2); - { - setState(2242); - typeName(); - setState(2243); - match(DOT); - setState(2244); - match(SUPER); - setState(2245); - match(DOT); - setState(2246); - match(Identifier); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ArrayAccessContext extends ParserRuleContext { - public ExpressionNameContext expressionName() { - return getRuleContext(ExpressionNameContext.class,0); - } - public List expression() { - return getRuleContexts(ExpressionContext.class); - } - public ExpressionContext expression(int i) { - return getRuleContext(ExpressionContext.class,i); - } - public PrimaryNoNewArray_lfno_arrayAccessContext primaryNoNewArray_lfno_arrayAccess() { - return getRuleContext(PrimaryNoNewArray_lfno_arrayAccessContext.class,0); - } - public List primaryNoNewArray_lf_arrayAccess() { - return getRuleContexts(PrimaryNoNewArray_lf_arrayAccessContext.class); - } - public PrimaryNoNewArray_lf_arrayAccessContext primaryNoNewArray_lf_arrayAccess(int i) { - return getRuleContext(PrimaryNoNewArray_lf_arrayAccessContext.class,i); - } - public ArrayAccessContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_arrayAccess; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterArrayAccess(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitArrayAccess(this); - } - } - - public final ArrayAccessContext arrayAccess() throws RecognitionException { - ArrayAccessContext _localctx = new ArrayAccessContext(_ctx, getState()); - enterRule(_localctx, 388, RULE_arrayAccess); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(2260); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,248,_ctx) ) { - case 1: - { - setState(2250); - expressionName(); - setState(2251); - match(LBRACK); - setState(2252); - expression(); - setState(2253); - match(RBRACK); - } - break; - case 2: - { - setState(2255); - primaryNoNewArray_lfno_arrayAccess(); - setState(2256); - match(LBRACK); - setState(2257); - expression(); - setState(2258); - match(RBRACK); - } - break; - } - setState(2269); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==LBRACK) { - { - { - setState(2262); - primaryNoNewArray_lf_arrayAccess(); - setState(2263); - match(LBRACK); - setState(2264); - expression(); - setState(2265); - match(RBRACK); - } - } - setState(2271); - _errHandler.sync(this); - _la = _input.LA(1); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ArrayAccess_lf_primaryContext extends ParserRuleContext { - public PrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primaryContext primaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary() { - return getRuleContext(PrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primaryContext.class,0); - } - public List expression() { - return getRuleContexts(ExpressionContext.class); - } - public ExpressionContext expression(int i) { - return getRuleContext(ExpressionContext.class,i); - } - public List primaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary() { - return getRuleContexts(PrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primaryContext.class); - } - public PrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primaryContext primaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary(int i) { - return getRuleContext(PrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primaryContext.class,i); - } - public ArrayAccess_lf_primaryContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_arrayAccess_lf_primary; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterArrayAccess_lf_primary(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitArrayAccess_lf_primary(this); - } - } - - public final ArrayAccess_lf_primaryContext arrayAccess_lf_primary() throws RecognitionException { - ArrayAccess_lf_primaryContext _localctx = new ArrayAccess_lf_primaryContext(_ctx, getState()); - enterRule(_localctx, 390, RULE_arrayAccess_lf_primary); - try { - int _alt; - enterOuterAlt(_localctx, 1); - { - { - setState(2272); - primaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary(); - setState(2273); - match(LBRACK); - setState(2274); - expression(); - setState(2275); - match(RBRACK); - } - setState(2284); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,250,_ctx); - while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - { - { - setState(2277); - primaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary(); - setState(2278); - match(LBRACK); - setState(2279); - expression(); - setState(2280); - match(RBRACK); - } - } - } - setState(2286); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,250,_ctx); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ArrayAccess_lfno_primaryContext extends ParserRuleContext { - public ExpressionNameContext expressionName() { - return getRuleContext(ExpressionNameContext.class,0); - } - public List expression() { - return getRuleContexts(ExpressionContext.class); - } - public ExpressionContext expression(int i) { - return getRuleContext(ExpressionContext.class,i); - } - public PrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primaryContext primaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary() { - return getRuleContext(PrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primaryContext.class,0); - } - public List primaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary() { - return getRuleContexts(PrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primaryContext.class); - } - public PrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primaryContext primaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary(int i) { - return getRuleContext(PrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primaryContext.class,i); - } - public ArrayAccess_lfno_primaryContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_arrayAccess_lfno_primary; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterArrayAccess_lfno_primary(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitArrayAccess_lfno_primary(this); - } - } - - public final ArrayAccess_lfno_primaryContext arrayAccess_lfno_primary() throws RecognitionException { - ArrayAccess_lfno_primaryContext _localctx = new ArrayAccess_lfno_primaryContext(_ctx, getState()); - enterRule(_localctx, 392, RULE_arrayAccess_lfno_primary); - try { - int _alt; - enterOuterAlt(_localctx, 1); - { - setState(2297); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,251,_ctx) ) { - case 1: - { - setState(2287); - expressionName(); - setState(2288); - match(LBRACK); - setState(2289); - expression(); - setState(2290); - match(RBRACK); - } - break; - case 2: - { - setState(2292); - primaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary(); - setState(2293); - match(LBRACK); - setState(2294); - expression(); - setState(2295); - match(RBRACK); - } - break; - } - setState(2306); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,252,_ctx); - while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - { - { - setState(2299); - primaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary(); - setState(2300); - match(LBRACK); - setState(2301); - expression(); - setState(2302); - match(RBRACK); - } - } - } - setState(2308); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,252,_ctx); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class MethodInvocationContext extends ParserRuleContext { - public MethodNameContext methodName() { - return getRuleContext(MethodNameContext.class,0); - } - public ArgumentListContext argumentList() { - return getRuleContext(ArgumentListContext.class,0); - } - public TypeNameContext typeName() { - return getRuleContext(TypeNameContext.class,0); - } - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public TypeArgumentsContext typeArguments() { - return getRuleContext(TypeArgumentsContext.class,0); - } - public ExpressionNameContext expressionName() { - return getRuleContext(ExpressionNameContext.class,0); - } - public PrimaryContext primary() { - return getRuleContext(PrimaryContext.class,0); - } - public MethodInvocationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_methodInvocation; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterMethodInvocation(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitMethodInvocation(this); - } - } - - public final MethodInvocationContext methodInvocation() throws RecognitionException { - MethodInvocationContext _localctx = new MethodInvocationContext(_ctx, getState()); - enterRule(_localctx, 394, RULE_methodInvocation); - int _la; - try { - setState(2377); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,264,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(2309); - methodName(); - setState(2310); - match(LPAREN); - setState(2312); - _errHandler.sync(this); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 70)) & ~0x3f) == 0 && ((1L << (_la - 70)) & ((1L << (BANG - 70)) | (1L << (TILDE - 70)) | (1L << (INC - 70)) | (1L << (DEC - 70)) | (1L << (ADD - 70)) | (1L << (SUB - 70)) | (1L << (Identifier - 70)) | (1L << (AT - 70)))) != 0)) { - { - setState(2311); - argumentList(); - } - } - - setState(2314); - match(RPAREN); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(2316); - typeName(); - setState(2317); - match(DOT); - setState(2319); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2318); - typeArguments(); - } - } - - setState(2321); - match(Identifier); - setState(2322); - match(LPAREN); - setState(2324); - _errHandler.sync(this); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 70)) & ~0x3f) == 0 && ((1L << (_la - 70)) & ((1L << (BANG - 70)) | (1L << (TILDE - 70)) | (1L << (INC - 70)) | (1L << (DEC - 70)) | (1L << (ADD - 70)) | (1L << (SUB - 70)) | (1L << (Identifier - 70)) | (1L << (AT - 70)))) != 0)) { - { - setState(2323); - argumentList(); - } - } - - setState(2326); - match(RPAREN); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(2328); - expressionName(); - setState(2329); - match(DOT); - setState(2331); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2330); - typeArguments(); - } - } - - setState(2333); - match(Identifier); - setState(2334); - match(LPAREN); - setState(2336); - _errHandler.sync(this); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 70)) & ~0x3f) == 0 && ((1L << (_la - 70)) & ((1L << (BANG - 70)) | (1L << (TILDE - 70)) | (1L << (INC - 70)) | (1L << (DEC - 70)) | (1L << (ADD - 70)) | (1L << (SUB - 70)) | (1L << (Identifier - 70)) | (1L << (AT - 70)))) != 0)) { - { - setState(2335); - argumentList(); - } - } - - setState(2338); - match(RPAREN); - } - break; - case 4: - enterOuterAlt(_localctx, 4); - { - setState(2340); - primary(); - setState(2341); - match(DOT); - setState(2343); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2342); - typeArguments(); - } - } - - setState(2345); - match(Identifier); - setState(2346); - match(LPAREN); - setState(2348); - _errHandler.sync(this); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 70)) & ~0x3f) == 0 && ((1L << (_la - 70)) & ((1L << (BANG - 70)) | (1L << (TILDE - 70)) | (1L << (INC - 70)) | (1L << (DEC - 70)) | (1L << (ADD - 70)) | (1L << (SUB - 70)) | (1L << (Identifier - 70)) | (1L << (AT - 70)))) != 0)) { - { - setState(2347); - argumentList(); - } - } - - setState(2350); - match(RPAREN); - } - break; - case 5: - enterOuterAlt(_localctx, 5); - { - setState(2352); - match(SUPER); - setState(2353); - match(DOT); - setState(2355); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2354); - typeArguments(); - } - } - - setState(2357); - match(Identifier); - setState(2358); - match(LPAREN); - setState(2360); - _errHandler.sync(this); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 70)) & ~0x3f) == 0 && ((1L << (_la - 70)) & ((1L << (BANG - 70)) | (1L << (TILDE - 70)) | (1L << (INC - 70)) | (1L << (DEC - 70)) | (1L << (ADD - 70)) | (1L << (SUB - 70)) | (1L << (Identifier - 70)) | (1L << (AT - 70)))) != 0)) { - { - setState(2359); - argumentList(); - } - } - - setState(2362); - match(RPAREN); - } - break; - case 6: - enterOuterAlt(_localctx, 6); - { - setState(2363); - typeName(); - setState(2364); - match(DOT); - setState(2365); - match(SUPER); - setState(2366); - match(DOT); - setState(2368); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2367); - typeArguments(); - } - } - - setState(2370); - match(Identifier); - setState(2371); - match(LPAREN); - setState(2373); - _errHandler.sync(this); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 70)) & ~0x3f) == 0 && ((1L << (_la - 70)) & ((1L << (BANG - 70)) | (1L << (TILDE - 70)) | (1L << (INC - 70)) | (1L << (DEC - 70)) | (1L << (ADD - 70)) | (1L << (SUB - 70)) | (1L << (Identifier - 70)) | (1L << (AT - 70)))) != 0)) { - { - setState(2372); - argumentList(); - } - } - - setState(2375); - match(RPAREN); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class MethodInvocation_lf_primaryContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public TypeArgumentsContext typeArguments() { - return getRuleContext(TypeArgumentsContext.class,0); - } - public ArgumentListContext argumentList() { - return getRuleContext(ArgumentListContext.class,0); - } - public MethodInvocation_lf_primaryContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_methodInvocation_lf_primary; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterMethodInvocation_lf_primary(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitMethodInvocation_lf_primary(this); - } - } - - public final MethodInvocation_lf_primaryContext methodInvocation_lf_primary() throws RecognitionException { - MethodInvocation_lf_primaryContext _localctx = new MethodInvocation_lf_primaryContext(_ctx, getState()); - enterRule(_localctx, 396, RULE_methodInvocation_lf_primary); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(2379); - match(DOT); - setState(2381); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2380); - typeArguments(); - } - } - - setState(2383); - match(Identifier); - setState(2384); - match(LPAREN); - setState(2386); - _errHandler.sync(this); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 70)) & ~0x3f) == 0 && ((1L << (_la - 70)) & ((1L << (BANG - 70)) | (1L << (TILDE - 70)) | (1L << (INC - 70)) | (1L << (DEC - 70)) | (1L << (ADD - 70)) | (1L << (SUB - 70)) | (1L << (Identifier - 70)) | (1L << (AT - 70)))) != 0)) { - { - setState(2385); - argumentList(); - } - } - - setState(2388); - match(RPAREN); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class MethodInvocation_lfno_primaryContext extends ParserRuleContext { - public MethodNameContext methodName() { - return getRuleContext(MethodNameContext.class,0); - } - public ArgumentListContext argumentList() { - return getRuleContext(ArgumentListContext.class,0); - } - public TypeNameContext typeName() { - return getRuleContext(TypeNameContext.class,0); - } - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public TypeArgumentsContext typeArguments() { - return getRuleContext(TypeArgumentsContext.class,0); - } - public ExpressionNameContext expressionName() { - return getRuleContext(ExpressionNameContext.class,0); - } - public MethodInvocation_lfno_primaryContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_methodInvocation_lfno_primary; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterMethodInvocation_lfno_primary(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitMethodInvocation_lfno_primary(this); - } - } - - public final MethodInvocation_lfno_primaryContext methodInvocation_lfno_primary() throws RecognitionException { - MethodInvocation_lfno_primaryContext _localctx = new MethodInvocation_lfno_primaryContext(_ctx, getState()); - enterRule(_localctx, 398, RULE_methodInvocation_lfno_primary); - int _la; - try { - setState(2446); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,276,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(2390); - methodName(); - setState(2391); - match(LPAREN); - setState(2393); - _errHandler.sync(this); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 70)) & ~0x3f) == 0 && ((1L << (_la - 70)) & ((1L << (BANG - 70)) | (1L << (TILDE - 70)) | (1L << (INC - 70)) | (1L << (DEC - 70)) | (1L << (ADD - 70)) | (1L << (SUB - 70)) | (1L << (Identifier - 70)) | (1L << (AT - 70)))) != 0)) { - { - setState(2392); - argumentList(); - } - } - - setState(2395); - match(RPAREN); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(2397); - typeName(); - setState(2398); - match(DOT); - setState(2400); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2399); - typeArguments(); - } - } - - setState(2402); - match(Identifier); - setState(2403); - match(LPAREN); - setState(2405); - _errHandler.sync(this); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 70)) & ~0x3f) == 0 && ((1L << (_la - 70)) & ((1L << (BANG - 70)) | (1L << (TILDE - 70)) | (1L << (INC - 70)) | (1L << (DEC - 70)) | (1L << (ADD - 70)) | (1L << (SUB - 70)) | (1L << (Identifier - 70)) | (1L << (AT - 70)))) != 0)) { - { - setState(2404); - argumentList(); - } - } - - setState(2407); - match(RPAREN); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(2409); - expressionName(); - setState(2410); - match(DOT); - setState(2412); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2411); - typeArguments(); - } - } - - setState(2414); - match(Identifier); - setState(2415); - match(LPAREN); - setState(2417); - _errHandler.sync(this); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 70)) & ~0x3f) == 0 && ((1L << (_la - 70)) & ((1L << (BANG - 70)) | (1L << (TILDE - 70)) | (1L << (INC - 70)) | (1L << (DEC - 70)) | (1L << (ADD - 70)) | (1L << (SUB - 70)) | (1L << (Identifier - 70)) | (1L << (AT - 70)))) != 0)) { - { - setState(2416); - argumentList(); - } - } - - setState(2419); - match(RPAREN); - } - break; - case 4: - enterOuterAlt(_localctx, 4); - { - setState(2421); - match(SUPER); - setState(2422); - match(DOT); - setState(2424); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2423); - typeArguments(); - } - } - - setState(2426); - match(Identifier); - setState(2427); - match(LPAREN); - setState(2429); - _errHandler.sync(this); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 70)) & ~0x3f) == 0 && ((1L << (_la - 70)) & ((1L << (BANG - 70)) | (1L << (TILDE - 70)) | (1L << (INC - 70)) | (1L << (DEC - 70)) | (1L << (ADD - 70)) | (1L << (SUB - 70)) | (1L << (Identifier - 70)) | (1L << (AT - 70)))) != 0)) { - { - setState(2428); - argumentList(); - } - } - - setState(2431); - match(RPAREN); - } - break; - case 5: - enterOuterAlt(_localctx, 5); - { - setState(2432); - typeName(); - setState(2433); - match(DOT); - setState(2434); - match(SUPER); - setState(2435); - match(DOT); - setState(2437); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2436); - typeArguments(); - } - } - - setState(2439); - match(Identifier); - setState(2440); - match(LPAREN); - setState(2442); - _errHandler.sync(this); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 70)) & ~0x3f) == 0 && ((1L << (_la - 70)) & ((1L << (BANG - 70)) | (1L << (TILDE - 70)) | (1L << (INC - 70)) | (1L << (DEC - 70)) | (1L << (ADD - 70)) | (1L << (SUB - 70)) | (1L << (Identifier - 70)) | (1L << (AT - 70)))) != 0)) { - { - setState(2441); - argumentList(); - } - } - - setState(2444); - match(RPAREN); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ArgumentListContext extends ParserRuleContext { - public List expression() { - return getRuleContexts(ExpressionContext.class); - } - public ExpressionContext expression(int i) { - return getRuleContext(ExpressionContext.class,i); - } - public ArgumentListContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_argumentList; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterArgumentList(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitArgumentList(this); - } - } - - public final ArgumentListContext argumentList() throws RecognitionException { - ArgumentListContext _localctx = new ArgumentListContext(_ctx, getState()); - enterRule(_localctx, 400, RULE_argumentList); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(2448); - expression(); - setState(2453); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==COMMA) { - { - { - setState(2449); - match(COMMA); - setState(2450); - expression(); - } - } - setState(2455); - _errHandler.sync(this); - _la = _input.LA(1); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class MethodReferenceContext extends ParserRuleContext { - public ExpressionNameContext expressionName() { - return getRuleContext(ExpressionNameContext.class,0); - } - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public TypeArgumentsContext typeArguments() { - return getRuleContext(TypeArgumentsContext.class,0); - } - public ReferenceTypeContext referenceType() { - return getRuleContext(ReferenceTypeContext.class,0); - } - public PrimaryContext primary() { - return getRuleContext(PrimaryContext.class,0); - } - public TypeNameContext typeName() { - return getRuleContext(TypeNameContext.class,0); - } - public ClassTypeContext classType() { - return getRuleContext(ClassTypeContext.class,0); - } - public ArrayTypeContext arrayType() { - return getRuleContext(ArrayTypeContext.class,0); - } - public MethodReferenceContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_methodReference; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterMethodReference(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitMethodReference(this); - } - } - - public final MethodReferenceContext methodReference() throws RecognitionException { - MethodReferenceContext _localctx = new MethodReferenceContext(_ctx, getState()); - enterRule(_localctx, 402, RULE_methodReference); - int _la; - try { - setState(2503); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,284,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(2456); - expressionName(); - setState(2457); - match(COLONCOLON); - setState(2459); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2458); - typeArguments(); - } - } - - setState(2461); - match(Identifier); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(2463); - referenceType(); - setState(2464); - match(COLONCOLON); - setState(2466); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2465); - typeArguments(); - } - } - - setState(2468); - match(Identifier); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(2470); - primary(); - setState(2471); - match(COLONCOLON); - setState(2473); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2472); - typeArguments(); - } - } - - setState(2475); - match(Identifier); - } - break; - case 4: - enterOuterAlt(_localctx, 4); - { - setState(2477); - match(SUPER); - setState(2478); - match(COLONCOLON); - setState(2480); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2479); - typeArguments(); - } - } - - setState(2482); - match(Identifier); - } - break; - case 5: - enterOuterAlt(_localctx, 5); - { - setState(2483); - typeName(); - setState(2484); - match(DOT); - setState(2485); - match(SUPER); - setState(2486); - match(COLONCOLON); - setState(2488); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2487); - typeArguments(); - } - } - - setState(2490); - match(Identifier); - } - break; - case 6: - enterOuterAlt(_localctx, 6); - { - setState(2492); - classType(); - setState(2493); - match(COLONCOLON); - setState(2495); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2494); - typeArguments(); - } - } - - setState(2497); - match(NEW); - } - break; - case 7: - enterOuterAlt(_localctx, 7); - { - setState(2499); - arrayType(); - setState(2500); - match(COLONCOLON); - setState(2501); - match(NEW); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class MethodReference_lf_primaryContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public TypeArgumentsContext typeArguments() { - return getRuleContext(TypeArgumentsContext.class,0); - } - public MethodReference_lf_primaryContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_methodReference_lf_primary; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterMethodReference_lf_primary(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitMethodReference_lf_primary(this); - } - } - - public final MethodReference_lf_primaryContext methodReference_lf_primary() throws RecognitionException { - MethodReference_lf_primaryContext _localctx = new MethodReference_lf_primaryContext(_ctx, getState()); - enterRule(_localctx, 404, RULE_methodReference_lf_primary); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(2505); - match(COLONCOLON); - setState(2507); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2506); - typeArguments(); - } - } - - setState(2509); - match(Identifier); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class MethodReference_lfno_primaryContext extends ParserRuleContext { - public ExpressionNameContext expressionName() { - return getRuleContext(ExpressionNameContext.class,0); - } - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public TypeArgumentsContext typeArguments() { - return getRuleContext(TypeArgumentsContext.class,0); - } - public ReferenceTypeContext referenceType() { - return getRuleContext(ReferenceTypeContext.class,0); - } - public TypeNameContext typeName() { - return getRuleContext(TypeNameContext.class,0); - } - public ClassTypeContext classType() { - return getRuleContext(ClassTypeContext.class,0); - } - public ArrayTypeContext arrayType() { - return getRuleContext(ArrayTypeContext.class,0); - } - public MethodReference_lfno_primaryContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_methodReference_lfno_primary; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterMethodReference_lfno_primary(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitMethodReference_lfno_primary(this); - } - } - - public final MethodReference_lfno_primaryContext methodReference_lfno_primary() throws RecognitionException { - MethodReference_lfno_primaryContext _localctx = new MethodReference_lfno_primaryContext(_ctx, getState()); - enterRule(_localctx, 406, RULE_methodReference_lfno_primary); - int _la; - try { - setState(2551); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,291,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(2511); - expressionName(); - setState(2512); - match(COLONCOLON); - setState(2514); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2513); - typeArguments(); - } - } - - setState(2516); - match(Identifier); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(2518); - referenceType(); - setState(2519); - match(COLONCOLON); - setState(2521); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2520); - typeArguments(); - } - } - - setState(2523); - match(Identifier); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(2525); - match(SUPER); - setState(2526); - match(COLONCOLON); - setState(2528); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2527); - typeArguments(); - } - } - - setState(2530); - match(Identifier); - } - break; - case 4: - enterOuterAlt(_localctx, 4); - { - setState(2531); - typeName(); - setState(2532); - match(DOT); - setState(2533); - match(SUPER); - setState(2534); - match(COLONCOLON); - setState(2536); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2535); - typeArguments(); - } - } - - setState(2538); - match(Identifier); - } - break; - case 5: - enterOuterAlt(_localctx, 5); - { - setState(2540); - classType(); - setState(2541); - match(COLONCOLON); - setState(2543); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2542); - typeArguments(); - } - } - - setState(2545); - match(NEW); - } - break; - case 6: - enterOuterAlt(_localctx, 6); - { - setState(2547); - arrayType(); - setState(2548); - match(COLONCOLON); - setState(2549); - match(NEW); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ArrayCreationExpressionContext extends ParserRuleContext { - public PrimitiveTypeContext primitiveType() { - return getRuleContext(PrimitiveTypeContext.class,0); - } - public DimExprsContext dimExprs() { - return getRuleContext(DimExprsContext.class,0); - } - public DimsContext dims() { - return getRuleContext(DimsContext.class,0); - } - public ClassOrInterfaceTypeContext classOrInterfaceType() { - return getRuleContext(ClassOrInterfaceTypeContext.class,0); - } - public ArrayInitializerContext arrayInitializer() { - return getRuleContext(ArrayInitializerContext.class,0); - } - public ArrayCreationExpressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_arrayCreationExpression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterArrayCreationExpression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitArrayCreationExpression(this); - } - } - - public final ArrayCreationExpressionContext arrayCreationExpression() throws RecognitionException { - ArrayCreationExpressionContext _localctx = new ArrayCreationExpressionContext(_ctx, getState()); - enterRule(_localctx, 408, RULE_arrayCreationExpression); - try { - setState(2575); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,294,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(2553); - match(NEW); - setState(2554); - primitiveType(); - setState(2555); - dimExprs(); - setState(2557); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,292,_ctx) ) { - case 1: - { - setState(2556); - dims(); - } - break; - } - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(2559); - match(NEW); - setState(2560); - classOrInterfaceType(); - setState(2561); - dimExprs(); - setState(2563); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,293,_ctx) ) { - case 1: - { - setState(2562); - dims(); - } - break; - } - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(2565); - match(NEW); - setState(2566); - primitiveType(); - setState(2567); - dims(); - setState(2568); - arrayInitializer(); - } - break; - case 4: - enterOuterAlt(_localctx, 4); - { - setState(2570); - match(NEW); - setState(2571); - classOrInterfaceType(); - setState(2572); - dims(); - setState(2573); - arrayInitializer(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class DimExprsContext extends ParserRuleContext { - public List dimExpr() { - return getRuleContexts(DimExprContext.class); - } - public DimExprContext dimExpr(int i) { - return getRuleContext(DimExprContext.class,i); - } - public DimExprsContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_dimExprs; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterDimExprs(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitDimExprs(this); - } - } - - public final DimExprsContext dimExprs() throws RecognitionException { - DimExprsContext _localctx = new DimExprsContext(_ctx, getState()); - enterRule(_localctx, 410, RULE_dimExprs); - try { - int _alt; - enterOuterAlt(_localctx, 1); - { - setState(2577); - dimExpr(); - setState(2581); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,295,_ctx); - while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - { - { - setState(2578); - dimExpr(); - } - } - } - setState(2583); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,295,_ctx); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class DimExprContext extends ParserRuleContext { - public ExpressionContext expression() { - return getRuleContext(ExpressionContext.class,0); - } - public List annotation() { - return getRuleContexts(AnnotationContext.class); - } - public AnnotationContext annotation(int i) { - return getRuleContext(AnnotationContext.class,i); - } - public DimExprContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_dimExpr; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterDimExpr(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitDimExpr(this); - } - } - - public final DimExprContext dimExpr() throws RecognitionException { - DimExprContext _localctx = new DimExprContext(_ctx, getState()); - enterRule(_localctx, 412, RULE_dimExpr); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(2587); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==AT) { - { - { - setState(2584); - annotation(); - } - } - setState(2589); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(2590); - match(LBRACK); - setState(2591); - expression(); - setState(2592); - match(RBRACK); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ConstantExpressionContext extends ParserRuleContext { - public ExpressionContext expression() { - return getRuleContext(ExpressionContext.class,0); - } - public ConstantExpressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_constantExpression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterConstantExpression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitConstantExpression(this); - } - } - - public final ConstantExpressionContext constantExpression() throws RecognitionException { - ConstantExpressionContext _localctx = new ConstantExpressionContext(_ctx, getState()); - enterRule(_localctx, 414, RULE_constantExpression); - try { - enterOuterAlt(_localctx, 1); - { - setState(2594); - expression(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ExpressionContext extends ParserRuleContext { - public LambdaExpressionContext lambdaExpression() { - return getRuleContext(LambdaExpressionContext.class,0); - } - public AssignmentExpressionContext assignmentExpression() { - return getRuleContext(AssignmentExpressionContext.class,0); - } - public ExpressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_expression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterExpression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitExpression(this); - } - } - - public final ExpressionContext expression() throws RecognitionException { - ExpressionContext _localctx = new ExpressionContext(_ctx, getState()); - enterRule(_localctx, 416, RULE_expression); - try { - setState(2598); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,297,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(2596); - lambdaExpression(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(2597); - assignmentExpression(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class LambdaExpressionContext extends ParserRuleContext { - public LambdaParametersContext lambdaParameters() { - return getRuleContext(LambdaParametersContext.class,0); - } - public LambdaBodyContext lambdaBody() { - return getRuleContext(LambdaBodyContext.class,0); - } - public LambdaExpressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_lambdaExpression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterLambdaExpression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitLambdaExpression(this); - } - } - - public final LambdaExpressionContext lambdaExpression() throws RecognitionException { - LambdaExpressionContext _localctx = new LambdaExpressionContext(_ctx, getState()); - enterRule(_localctx, 418, RULE_lambdaExpression); - try { - enterOuterAlt(_localctx, 1); - { - setState(2600); - lambdaParameters(); - setState(2601); - match(ARROW); - setState(2602); - lambdaBody(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class LambdaParametersContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public FormalParameterListContext formalParameterList() { - return getRuleContext(FormalParameterListContext.class,0); - } - public LambdaParametersContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_lambdaParameters; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterLambdaParameters(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitLambdaParameters(this); - } - } - - public final LambdaParametersContext lambdaParameters() throws RecognitionException { - LambdaParametersContext _localctx = new LambdaParametersContext(_ctx, getState()); - enterRule(_localctx, 420, RULE_lambdaParameters); - int _la; - try { - setState(2610); - _errHandler.sync(this); - switch (_input.LA(1)) { - case Identifier: - enterOuterAlt(_localctx, 1); - { - setState(2604); - match(Identifier); - } - break; - case LPAREN: - enterOuterAlt(_localctx, 2); - { - setState(2605); - match(LPAREN); - setState(2607); - _errHandler.sync(this); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FINAL) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << SHORT))) != 0) || _la==Identifier || _la==AT) { - { - setState(2606); - formalParameterList(); - } - } - - setState(2609); - match(RPAREN); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class InferredFormalParameterListContext extends ParserRuleContext { - public List Identifier() { return getTokens(Java8Parser.Identifier); } - public TerminalNode Identifier(int i) { - return getToken(Java8Parser.Identifier, i); - } - public InferredFormalParameterListContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_inferredFormalParameterList; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterInferredFormalParameterList(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitInferredFormalParameterList(this); - } - } - - public final InferredFormalParameterListContext inferredFormalParameterList() throws RecognitionException { - InferredFormalParameterListContext _localctx = new InferredFormalParameterListContext(_ctx, getState()); - enterRule(_localctx, 422, RULE_inferredFormalParameterList); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(2612); - match(Identifier); - setState(2617); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==COMMA) { - { - { - setState(2613); - match(COMMA); - setState(2614); - match(Identifier); - } - } - setState(2619); - _errHandler.sync(this); - _la = _input.LA(1); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class LambdaBodyContext extends ParserRuleContext { - public ExpressionContext expression() { - return getRuleContext(ExpressionContext.class,0); - } - public BlockContext block() { - return getRuleContext(BlockContext.class,0); - } - public LambdaBodyContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_lambdaBody; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterLambdaBody(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitLambdaBody(this); - } - } - - public final LambdaBodyContext lambdaBody() throws RecognitionException { - LambdaBodyContext _localctx = new LambdaBodyContext(_ctx, getState()); - enterRule(_localctx, 424, RULE_lambdaBody); - try { - setState(2622); - _errHandler.sync(this); - switch (_input.LA(1)) { - case BOOLEAN: - case BYTE: - case CHAR: - case DOUBLE: - case FLOAT: - case INT: - case LONG: - case NEW: - case SHORT: - case SUPER: - case THIS: - case VOID: - case IntegerLiteral: - case FloatingPointLiteral: - case BooleanLiteral: - case CharacterLiteral: - case StringLiteral: - case NullLiteral: - case LPAREN: - case BANG: - case TILDE: - case INC: - case DEC: - case ADD: - case SUB: - case Identifier: - case AT: - enterOuterAlt(_localctx, 1); - { - setState(2620); - expression(); - } - break; - case LBRACE: - enterOuterAlt(_localctx, 2); - { - setState(2621); - block(); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class AssignmentExpressionContext extends ParserRuleContext { - public ConditionalExpressionContext conditionalExpression() { - return getRuleContext(ConditionalExpressionContext.class,0); - } - public AssignmentContext assignment() { - return getRuleContext(AssignmentContext.class,0); - } - public AssignmentExpressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_assignmentExpression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterAssignmentExpression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitAssignmentExpression(this); - } - } - - public final AssignmentExpressionContext assignmentExpression() throws RecognitionException { - AssignmentExpressionContext _localctx = new AssignmentExpressionContext(_ctx, getState()); - enterRule(_localctx, 426, RULE_assignmentExpression); - try { - setState(2626); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,302,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(2624); - conditionalExpression(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(2625); - assignment(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class AssignmentContext extends ParserRuleContext { - public LeftHandSideContext leftHandSide() { - return getRuleContext(LeftHandSideContext.class,0); - } - public AssignmentOperatorContext assignmentOperator() { - return getRuleContext(AssignmentOperatorContext.class,0); - } - public ExpressionContext expression() { - return getRuleContext(ExpressionContext.class,0); - } - public AssignmentContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_assignment; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterAssignment(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitAssignment(this); - } - } - - public final AssignmentContext assignment() throws RecognitionException { - AssignmentContext _localctx = new AssignmentContext(_ctx, getState()); - enterRule(_localctx, 428, RULE_assignment); - try { - enterOuterAlt(_localctx, 1); - { - setState(2628); - leftHandSide(); - setState(2629); - assignmentOperator(); - setState(2630); - expression(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class LeftHandSideContext extends ParserRuleContext { - public ExpressionNameContext expressionName() { - return getRuleContext(ExpressionNameContext.class,0); - } - public FieldAccessContext fieldAccess() { - return getRuleContext(FieldAccessContext.class,0); - } - public ArrayAccessContext arrayAccess() { - return getRuleContext(ArrayAccessContext.class,0); - } - public LeftHandSideContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_leftHandSide; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterLeftHandSide(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitLeftHandSide(this); - } - } - - public final LeftHandSideContext leftHandSide() throws RecognitionException { - LeftHandSideContext _localctx = new LeftHandSideContext(_ctx, getState()); - enterRule(_localctx, 430, RULE_leftHandSide); - try { - setState(2635); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,303,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(2632); - expressionName(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(2633); - fieldAccess(); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(2634); - arrayAccess(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class AssignmentOperatorContext extends ParserRuleContext { - public AssignmentOperatorContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_assignmentOperator; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterAssignmentOperator(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitAssignmentOperator(this); - } - } - - public final AssignmentOperatorContext assignmentOperator() throws RecognitionException { - AssignmentOperatorContext _localctx = new AssignmentOperatorContext(_ctx, getState()); - enterRule(_localctx, 432, RULE_assignmentOperator); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(2637); - _la = _input.LA(1); - if ( !(((((_la - 67)) & ~0x3f) == 0 && ((1L << (_la - 67)) & ((1L << (ASSIGN - 67)) | (1L << (ADD_ASSIGN - 67)) | (1L << (SUB_ASSIGN - 67)) | (1L << (MUL_ASSIGN - 67)) | (1L << (DIV_ASSIGN - 67)) | (1L << (AND_ASSIGN - 67)) | (1L << (OR_ASSIGN - 67)) | (1L << (XOR_ASSIGN - 67)) | (1L << (MOD_ASSIGN - 67)) | (1L << (LSHIFT_ASSIGN - 67)) | (1L << (RSHIFT_ASSIGN - 67)) | (1L << (URSHIFT_ASSIGN - 67)))) != 0)) ) { - _errHandler.recoverInline(this); - } - else { - if ( _input.LA(1)==Token.EOF ) matchedEOF = true; - _errHandler.reportMatch(this); - consume(); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ConditionalExpressionContext extends ParserRuleContext { - public ConditionalOrExpressionContext conditionalOrExpression() { - return getRuleContext(ConditionalOrExpressionContext.class,0); - } - public ExpressionContext expression() { - return getRuleContext(ExpressionContext.class,0); - } - public ConditionalExpressionContext conditionalExpression() { - return getRuleContext(ConditionalExpressionContext.class,0); - } - public ConditionalExpressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_conditionalExpression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterConditionalExpression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitConditionalExpression(this); - } - } - - public final ConditionalExpressionContext conditionalExpression() throws RecognitionException { - ConditionalExpressionContext _localctx = new ConditionalExpressionContext(_ctx, getState()); - enterRule(_localctx, 434, RULE_conditionalExpression); - try { - setState(2646); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,304,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(2639); - conditionalOrExpression(0); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(2640); - conditionalOrExpression(0); - setState(2641); - match(QUESTION); - setState(2642); - expression(); - setState(2643); - match(COLON); - setState(2644); - conditionalExpression(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ConditionalOrExpressionContext extends ParserRuleContext { - public ConditionalAndExpressionContext conditionalAndExpression() { - return getRuleContext(ConditionalAndExpressionContext.class,0); - } - public ConditionalOrExpressionContext conditionalOrExpression() { - return getRuleContext(ConditionalOrExpressionContext.class,0); - } - public ConditionalOrExpressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_conditionalOrExpression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterConditionalOrExpression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitConditionalOrExpression(this); - } - } - - public final ConditionalOrExpressionContext conditionalOrExpression() throws RecognitionException { - return conditionalOrExpression(0); - } - - private ConditionalOrExpressionContext conditionalOrExpression(int _p) throws RecognitionException { - ParserRuleContext _parentctx = _ctx; - int _parentState = getState(); - ConditionalOrExpressionContext _localctx = new ConditionalOrExpressionContext(_ctx, _parentState); - ConditionalOrExpressionContext _prevctx = _localctx; - int _startState = 436; - enterRecursionRule(_localctx, 436, RULE_conditionalOrExpression, _p); - try { - int _alt; - enterOuterAlt(_localctx, 1); - { - { - setState(2649); - conditionalAndExpression(0); - } - _ctx.stop = _input.LT(-1); - setState(2656); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,305,_ctx); - while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - if ( _parseListeners!=null ) triggerExitRuleEvent(); - _prevctx = _localctx; - { - { - _localctx = new ConditionalOrExpressionContext(_parentctx, _parentState); - pushNewRecursionContext(_localctx, _startState, RULE_conditionalOrExpression); - setState(2651); - if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); - setState(2652); - match(OR); - setState(2653); - conditionalAndExpression(0); - } - } - } - setState(2658); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,305,_ctx); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - unrollRecursionContexts(_parentctx); - } - return _localctx; - } - - public static class ConditionalAndExpressionContext extends ParserRuleContext { - public InclusiveOrExpressionContext inclusiveOrExpression() { - return getRuleContext(InclusiveOrExpressionContext.class,0); - } - public ConditionalAndExpressionContext conditionalAndExpression() { - return getRuleContext(ConditionalAndExpressionContext.class,0); - } - public ConditionalAndExpressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_conditionalAndExpression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterConditionalAndExpression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitConditionalAndExpression(this); - } - } - - public final ConditionalAndExpressionContext conditionalAndExpression() throws RecognitionException { - return conditionalAndExpression(0); - } - - private ConditionalAndExpressionContext conditionalAndExpression(int _p) throws RecognitionException { - ParserRuleContext _parentctx = _ctx; - int _parentState = getState(); - ConditionalAndExpressionContext _localctx = new ConditionalAndExpressionContext(_ctx, _parentState); - ConditionalAndExpressionContext _prevctx = _localctx; - int _startState = 438; - enterRecursionRule(_localctx, 438, RULE_conditionalAndExpression, _p); - try { - int _alt; - enterOuterAlt(_localctx, 1); - { - { - setState(2660); - inclusiveOrExpression(0); - } - _ctx.stop = _input.LT(-1); - setState(2667); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,306,_ctx); - while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - if ( _parseListeners!=null ) triggerExitRuleEvent(); - _prevctx = _localctx; - { - { - _localctx = new ConditionalAndExpressionContext(_parentctx, _parentState); - pushNewRecursionContext(_localctx, _startState, RULE_conditionalAndExpression); - setState(2662); - if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); - setState(2663); - match(AND); - setState(2664); - inclusiveOrExpression(0); - } - } - } - setState(2669); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,306,_ctx); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - unrollRecursionContexts(_parentctx); - } - return _localctx; - } - - public static class InclusiveOrExpressionContext extends ParserRuleContext { - public ExclusiveOrExpressionContext exclusiveOrExpression() { - return getRuleContext(ExclusiveOrExpressionContext.class,0); - } - public InclusiveOrExpressionContext inclusiveOrExpression() { - return getRuleContext(InclusiveOrExpressionContext.class,0); - } - public InclusiveOrExpressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_inclusiveOrExpression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterInclusiveOrExpression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitInclusiveOrExpression(this); - } - } - - public final InclusiveOrExpressionContext inclusiveOrExpression() throws RecognitionException { - return inclusiveOrExpression(0); - } - - private InclusiveOrExpressionContext inclusiveOrExpression(int _p) throws RecognitionException { - ParserRuleContext _parentctx = _ctx; - int _parentState = getState(); - InclusiveOrExpressionContext _localctx = new InclusiveOrExpressionContext(_ctx, _parentState); - InclusiveOrExpressionContext _prevctx = _localctx; - int _startState = 440; - enterRecursionRule(_localctx, 440, RULE_inclusiveOrExpression, _p); - try { - int _alt; - enterOuterAlt(_localctx, 1); - { - { - setState(2671); - exclusiveOrExpression(0); - } - _ctx.stop = _input.LT(-1); - setState(2678); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,307,_ctx); - while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - if ( _parseListeners!=null ) triggerExitRuleEvent(); - _prevctx = _localctx; - { - { - _localctx = new InclusiveOrExpressionContext(_parentctx, _parentState); - pushNewRecursionContext(_localctx, _startState, RULE_inclusiveOrExpression); - setState(2673); - if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); - setState(2674); - match(BITOR); - setState(2675); - exclusiveOrExpression(0); - } - } - } - setState(2680); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,307,_ctx); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - unrollRecursionContexts(_parentctx); - } - return _localctx; - } - - public static class ExclusiveOrExpressionContext extends ParserRuleContext { - public AndExpressionContext andExpression() { - return getRuleContext(AndExpressionContext.class,0); - } - public ExclusiveOrExpressionContext exclusiveOrExpression() { - return getRuleContext(ExclusiveOrExpressionContext.class,0); - } - public ExclusiveOrExpressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_exclusiveOrExpression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterExclusiveOrExpression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitExclusiveOrExpression(this); - } - } - - public final ExclusiveOrExpressionContext exclusiveOrExpression() throws RecognitionException { - return exclusiveOrExpression(0); - } - - private ExclusiveOrExpressionContext exclusiveOrExpression(int _p) throws RecognitionException { - ParserRuleContext _parentctx = _ctx; - int _parentState = getState(); - ExclusiveOrExpressionContext _localctx = new ExclusiveOrExpressionContext(_ctx, _parentState); - ExclusiveOrExpressionContext _prevctx = _localctx; - int _startState = 442; - enterRecursionRule(_localctx, 442, RULE_exclusiveOrExpression, _p); - try { - int _alt; - enterOuterAlt(_localctx, 1); - { - { - setState(2682); - andExpression(0); - } - _ctx.stop = _input.LT(-1); - setState(2689); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,308,_ctx); - while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - if ( _parseListeners!=null ) triggerExitRuleEvent(); - _prevctx = _localctx; - { - { - _localctx = new ExclusiveOrExpressionContext(_parentctx, _parentState); - pushNewRecursionContext(_localctx, _startState, RULE_exclusiveOrExpression); - setState(2684); - if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); - setState(2685); - match(CARET); - setState(2686); - andExpression(0); - } - } - } - setState(2691); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,308,_ctx); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - unrollRecursionContexts(_parentctx); - } - return _localctx; - } - - public static class AndExpressionContext extends ParserRuleContext { - public EqualityExpressionContext equalityExpression() { - return getRuleContext(EqualityExpressionContext.class,0); - } - public AndExpressionContext andExpression() { - return getRuleContext(AndExpressionContext.class,0); - } - public AndExpressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_andExpression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterAndExpression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitAndExpression(this); - } - } - - public final AndExpressionContext andExpression() throws RecognitionException { - return andExpression(0); - } - - private AndExpressionContext andExpression(int _p) throws RecognitionException { - ParserRuleContext _parentctx = _ctx; - int _parentState = getState(); - AndExpressionContext _localctx = new AndExpressionContext(_ctx, _parentState); - AndExpressionContext _prevctx = _localctx; - int _startState = 444; - enterRecursionRule(_localctx, 444, RULE_andExpression, _p); - try { - int _alt; - enterOuterAlt(_localctx, 1); - { - { - setState(2693); - equalityExpression(0); - } - _ctx.stop = _input.LT(-1); - setState(2700); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,309,_ctx); - while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - if ( _parseListeners!=null ) triggerExitRuleEvent(); - _prevctx = _localctx; - { - { - _localctx = new AndExpressionContext(_parentctx, _parentState); - pushNewRecursionContext(_localctx, _startState, RULE_andExpression); - setState(2695); - if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); - setState(2696); - match(BITAND); - setState(2697); - equalityExpression(0); - } - } - } - setState(2702); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,309,_ctx); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - unrollRecursionContexts(_parentctx); - } - return _localctx; - } - - public static class EqualityExpressionContext extends ParserRuleContext { - public RelationalExpressionContext relationalExpression() { - return getRuleContext(RelationalExpressionContext.class,0); - } - public EqualityExpressionContext equalityExpression() { - return getRuleContext(EqualityExpressionContext.class,0); - } - public EqualityExpressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_equalityExpression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterEqualityExpression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitEqualityExpression(this); - } - } - - public final EqualityExpressionContext equalityExpression() throws RecognitionException { - return equalityExpression(0); - } - - private EqualityExpressionContext equalityExpression(int _p) throws RecognitionException { - ParserRuleContext _parentctx = _ctx; - int _parentState = getState(); - EqualityExpressionContext _localctx = new EqualityExpressionContext(_ctx, _parentState); - EqualityExpressionContext _prevctx = _localctx; - int _startState = 446; - enterRecursionRule(_localctx, 446, RULE_equalityExpression, _p); - try { - int _alt; - enterOuterAlt(_localctx, 1); - { - { - setState(2704); - relationalExpression(0); - } - _ctx.stop = _input.LT(-1); - setState(2714); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,311,_ctx); - while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - if ( _parseListeners!=null ) triggerExitRuleEvent(); - _prevctx = _localctx; - { - setState(2712); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,310,_ctx) ) { - case 1: - { - _localctx = new EqualityExpressionContext(_parentctx, _parentState); - pushNewRecursionContext(_localctx, _startState, RULE_equalityExpression); - setState(2706); - if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)"); - setState(2707); - match(EQUAL); - setState(2708); - relationalExpression(0); - } - break; - case 2: - { - _localctx = new EqualityExpressionContext(_parentctx, _parentState); - pushNewRecursionContext(_localctx, _startState, RULE_equalityExpression); - setState(2709); - if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); - setState(2710); - match(NOTEQUAL); - setState(2711); - relationalExpression(0); - } - break; - } - } - } - setState(2716); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,311,_ctx); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - unrollRecursionContexts(_parentctx); - } - return _localctx; - } - - public static class RelationalExpressionContext extends ParserRuleContext { - public ShiftExpressionContext shiftExpression() { - return getRuleContext(ShiftExpressionContext.class,0); - } - public RelationalExpressionContext relationalExpression() { - return getRuleContext(RelationalExpressionContext.class,0); - } - public ReferenceTypeContext referenceType() { - return getRuleContext(ReferenceTypeContext.class,0); - } - public RelationalExpressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_relationalExpression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterRelationalExpression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitRelationalExpression(this); - } - } - - public final RelationalExpressionContext relationalExpression() throws RecognitionException { - return relationalExpression(0); - } - - private RelationalExpressionContext relationalExpression(int _p) throws RecognitionException { - ParserRuleContext _parentctx = _ctx; - int _parentState = getState(); - RelationalExpressionContext _localctx = new RelationalExpressionContext(_ctx, _parentState); - RelationalExpressionContext _prevctx = _localctx; - int _startState = 448; - enterRecursionRule(_localctx, 448, RULE_relationalExpression, _p); - try { - int _alt; - enterOuterAlt(_localctx, 1); - { - { - setState(2718); - shiftExpression(0); - } - _ctx.stop = _input.LT(-1); - setState(2737); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,313,_ctx); - while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - if ( _parseListeners!=null ) triggerExitRuleEvent(); - _prevctx = _localctx; - { - setState(2735); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,312,_ctx) ) { - case 1: - { - _localctx = new RelationalExpressionContext(_parentctx, _parentState); - pushNewRecursionContext(_localctx, _startState, RULE_relationalExpression); - setState(2720); - if (!(precpred(_ctx, 5))) throw new FailedPredicateException(this, "precpred(_ctx, 5)"); - setState(2721); - match(LT); - setState(2722); - shiftExpression(0); - } - break; - case 2: - { - _localctx = new RelationalExpressionContext(_parentctx, _parentState); - pushNewRecursionContext(_localctx, _startState, RULE_relationalExpression); - setState(2723); - if (!(precpred(_ctx, 4))) throw new FailedPredicateException(this, "precpred(_ctx, 4)"); - setState(2724); - match(GT); - setState(2725); - shiftExpression(0); - } - break; - case 3: - { - _localctx = new RelationalExpressionContext(_parentctx, _parentState); - pushNewRecursionContext(_localctx, _startState, RULE_relationalExpression); - setState(2726); - if (!(precpred(_ctx, 3))) throw new FailedPredicateException(this, "precpred(_ctx, 3)"); - setState(2727); - match(LE); - setState(2728); - shiftExpression(0); - } - break; - case 4: - { - _localctx = new RelationalExpressionContext(_parentctx, _parentState); - pushNewRecursionContext(_localctx, _startState, RULE_relationalExpression); - setState(2729); - if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)"); - setState(2730); - match(GE); - setState(2731); - shiftExpression(0); - } - break; - case 5: - { - _localctx = new RelationalExpressionContext(_parentctx, _parentState); - pushNewRecursionContext(_localctx, _startState, RULE_relationalExpression); - setState(2732); - if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); - setState(2733); - match(INSTANCEOF); - setState(2734); - referenceType(); - } - break; - } - } - } - setState(2739); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,313,_ctx); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - unrollRecursionContexts(_parentctx); - } - return _localctx; - } - - public static class ShiftExpressionContext extends ParserRuleContext { - public AdditiveExpressionContext additiveExpression() { - return getRuleContext(AdditiveExpressionContext.class,0); - } - public ShiftExpressionContext shiftExpression() { - return getRuleContext(ShiftExpressionContext.class,0); - } - public ShiftExpressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_shiftExpression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterShiftExpression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitShiftExpression(this); - } - } - - public final ShiftExpressionContext shiftExpression() throws RecognitionException { - return shiftExpression(0); - } - - private ShiftExpressionContext shiftExpression(int _p) throws RecognitionException { - ParserRuleContext _parentctx = _ctx; - int _parentState = getState(); - ShiftExpressionContext _localctx = new ShiftExpressionContext(_ctx, _parentState); - ShiftExpressionContext _prevctx = _localctx; - int _startState = 450; - enterRecursionRule(_localctx, 450, RULE_shiftExpression, _p); - try { - int _alt; - enterOuterAlt(_localctx, 1); - { - { - setState(2741); - additiveExpression(0); - } - _ctx.stop = _input.LT(-1); - setState(2758); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,315,_ctx); - while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - if ( _parseListeners!=null ) triggerExitRuleEvent(); - _prevctx = _localctx; - { - setState(2756); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,314,_ctx) ) { - case 1: - { - _localctx = new ShiftExpressionContext(_parentctx, _parentState); - pushNewRecursionContext(_localctx, _startState, RULE_shiftExpression); - setState(2743); - if (!(precpred(_ctx, 3))) throw new FailedPredicateException(this, "precpred(_ctx, 3)"); - setState(2744); - match(LT); - setState(2745); - match(LT); - setState(2746); - additiveExpression(0); - } - break; - case 2: - { - _localctx = new ShiftExpressionContext(_parentctx, _parentState); - pushNewRecursionContext(_localctx, _startState, RULE_shiftExpression); - setState(2747); - if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)"); - setState(2748); - match(GT); - setState(2749); - match(GT); - setState(2750); - additiveExpression(0); - } - break; - case 3: - { - _localctx = new ShiftExpressionContext(_parentctx, _parentState); - pushNewRecursionContext(_localctx, _startState, RULE_shiftExpression); - setState(2751); - if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); - setState(2752); - match(GT); - setState(2753); - match(GT); - setState(2754); - match(GT); - setState(2755); - additiveExpression(0); - } - break; - } - } - } - setState(2760); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,315,_ctx); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - unrollRecursionContexts(_parentctx); - } - return _localctx; - } - - public static class AdditiveExpressionContext extends ParserRuleContext { - public MultiplicativeExpressionContext multiplicativeExpression() { - return getRuleContext(MultiplicativeExpressionContext.class,0); - } - public AdditiveExpressionContext additiveExpression() { - return getRuleContext(AdditiveExpressionContext.class,0); - } - public AdditiveExpressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_additiveExpression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterAdditiveExpression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitAdditiveExpression(this); - } - } - - public final AdditiveExpressionContext additiveExpression() throws RecognitionException { - return additiveExpression(0); - } - - private AdditiveExpressionContext additiveExpression(int _p) throws RecognitionException { - ParserRuleContext _parentctx = _ctx; - int _parentState = getState(); - AdditiveExpressionContext _localctx = new AdditiveExpressionContext(_ctx, _parentState); - AdditiveExpressionContext _prevctx = _localctx; - int _startState = 452; - enterRecursionRule(_localctx, 452, RULE_additiveExpression, _p); - try { - int _alt; - enterOuterAlt(_localctx, 1); - { - { - setState(2762); - multiplicativeExpression(0); - } - _ctx.stop = _input.LT(-1); - setState(2772); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,317,_ctx); - while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - if ( _parseListeners!=null ) triggerExitRuleEvent(); - _prevctx = _localctx; - { - setState(2770); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,316,_ctx) ) { - case 1: - { - _localctx = new AdditiveExpressionContext(_parentctx, _parentState); - pushNewRecursionContext(_localctx, _startState, RULE_additiveExpression); - setState(2764); - if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)"); - setState(2765); - match(ADD); - setState(2766); - multiplicativeExpression(0); - } - break; - case 2: - { - _localctx = new AdditiveExpressionContext(_parentctx, _parentState); - pushNewRecursionContext(_localctx, _startState, RULE_additiveExpression); - setState(2767); - if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); - setState(2768); - match(SUB); - setState(2769); - multiplicativeExpression(0); - } - break; - } - } - } - setState(2774); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,317,_ctx); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - unrollRecursionContexts(_parentctx); - } - return _localctx; - } - - public static class MultiplicativeExpressionContext extends ParserRuleContext { - public UnaryExpressionContext unaryExpression() { - return getRuleContext(UnaryExpressionContext.class,0); - } - public MultiplicativeExpressionContext multiplicativeExpression() { - return getRuleContext(MultiplicativeExpressionContext.class,0); - } - public MultiplicativeExpressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_multiplicativeExpression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterMultiplicativeExpression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitMultiplicativeExpression(this); - } - } - - public final MultiplicativeExpressionContext multiplicativeExpression() throws RecognitionException { - return multiplicativeExpression(0); - } - - private MultiplicativeExpressionContext multiplicativeExpression(int _p) throws RecognitionException { - ParserRuleContext _parentctx = _ctx; - int _parentState = getState(); - MultiplicativeExpressionContext _localctx = new MultiplicativeExpressionContext(_ctx, _parentState); - MultiplicativeExpressionContext _prevctx = _localctx; - int _startState = 454; - enterRecursionRule(_localctx, 454, RULE_multiplicativeExpression, _p); - try { - int _alt; - enterOuterAlt(_localctx, 1); - { - { - setState(2776); - unaryExpression(); - } - _ctx.stop = _input.LT(-1); - setState(2789); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,319,_ctx); - while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - if ( _parseListeners!=null ) triggerExitRuleEvent(); - _prevctx = _localctx; - { - setState(2787); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,318,_ctx) ) { - case 1: - { - _localctx = new MultiplicativeExpressionContext(_parentctx, _parentState); - pushNewRecursionContext(_localctx, _startState, RULE_multiplicativeExpression); - setState(2778); - if (!(precpred(_ctx, 3))) throw new FailedPredicateException(this, "precpred(_ctx, 3)"); - setState(2779); - match(MUL); - setState(2780); - unaryExpression(); - } - break; - case 2: - { - _localctx = new MultiplicativeExpressionContext(_parentctx, _parentState); - pushNewRecursionContext(_localctx, _startState, RULE_multiplicativeExpression); - setState(2781); - if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)"); - setState(2782); - match(DIV); - setState(2783); - unaryExpression(); - } - break; - case 3: - { - _localctx = new MultiplicativeExpressionContext(_parentctx, _parentState); - pushNewRecursionContext(_localctx, _startState, RULE_multiplicativeExpression); - setState(2784); - if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); - setState(2785); - match(MOD); - setState(2786); - unaryExpression(); - } - break; - } - } - } - setState(2791); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,319,_ctx); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - unrollRecursionContexts(_parentctx); - } - return _localctx; - } - - public static class UnaryExpressionContext extends ParserRuleContext { - public PreIncrementExpressionContext preIncrementExpression() { - return getRuleContext(PreIncrementExpressionContext.class,0); - } - public PreDecrementExpressionContext preDecrementExpression() { - return getRuleContext(PreDecrementExpressionContext.class,0); - } - public UnaryExpressionContext unaryExpression() { - return getRuleContext(UnaryExpressionContext.class,0); - } - public UnaryExpressionNotPlusMinusContext unaryExpressionNotPlusMinus() { - return getRuleContext(UnaryExpressionNotPlusMinusContext.class,0); - } - public UnaryExpressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_unaryExpression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterUnaryExpression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitUnaryExpression(this); - } - } - - public final UnaryExpressionContext unaryExpression() throws RecognitionException { - UnaryExpressionContext _localctx = new UnaryExpressionContext(_ctx, getState()); - enterRule(_localctx, 456, RULE_unaryExpression); - try { - setState(2799); - _errHandler.sync(this); - switch (_input.LA(1)) { - case INC: - enterOuterAlt(_localctx, 1); - { - setState(2792); - preIncrementExpression(); - } - break; - case DEC: - enterOuterAlt(_localctx, 2); - { - setState(2793); - preDecrementExpression(); - } - break; - case ADD: - enterOuterAlt(_localctx, 3); - { - setState(2794); - match(ADD); - setState(2795); - unaryExpression(); - } - break; - case SUB: - enterOuterAlt(_localctx, 4); - { - setState(2796); - match(SUB); - setState(2797); - unaryExpression(); - } - break; - case BOOLEAN: - case BYTE: - case CHAR: - case DOUBLE: - case FLOAT: - case INT: - case LONG: - case NEW: - case SHORT: - case SUPER: - case THIS: - case VOID: - case IntegerLiteral: - case FloatingPointLiteral: - case BooleanLiteral: - case CharacterLiteral: - case StringLiteral: - case NullLiteral: - case LPAREN: - case BANG: - case TILDE: - case Identifier: - case AT: - enterOuterAlt(_localctx, 5); - { - setState(2798); - unaryExpressionNotPlusMinus(); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PreIncrementExpressionContext extends ParserRuleContext { - public UnaryExpressionContext unaryExpression() { - return getRuleContext(UnaryExpressionContext.class,0); - } - public PreIncrementExpressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_preIncrementExpression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPreIncrementExpression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPreIncrementExpression(this); - } - } - - public final PreIncrementExpressionContext preIncrementExpression() throws RecognitionException { - PreIncrementExpressionContext _localctx = new PreIncrementExpressionContext(_ctx, getState()); - enterRule(_localctx, 458, RULE_preIncrementExpression); - try { - enterOuterAlt(_localctx, 1); - { - setState(2801); - match(INC); - setState(2802); - unaryExpression(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PreDecrementExpressionContext extends ParserRuleContext { - public UnaryExpressionContext unaryExpression() { - return getRuleContext(UnaryExpressionContext.class,0); - } - public PreDecrementExpressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_preDecrementExpression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPreDecrementExpression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPreDecrementExpression(this); - } - } - - public final PreDecrementExpressionContext preDecrementExpression() throws RecognitionException { - PreDecrementExpressionContext _localctx = new PreDecrementExpressionContext(_ctx, getState()); - enterRule(_localctx, 460, RULE_preDecrementExpression); - try { - enterOuterAlt(_localctx, 1); - { - setState(2804); - match(DEC); - setState(2805); - unaryExpression(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class UnaryExpressionNotPlusMinusContext extends ParserRuleContext { - public PostfixExpressionContext postfixExpression() { - return getRuleContext(PostfixExpressionContext.class,0); - } - public UnaryExpressionContext unaryExpression() { - return getRuleContext(UnaryExpressionContext.class,0); - } - public CastExpressionContext castExpression() { - return getRuleContext(CastExpressionContext.class,0); - } - public UnaryExpressionNotPlusMinusContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_unaryExpressionNotPlusMinus; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterUnaryExpressionNotPlusMinus(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitUnaryExpressionNotPlusMinus(this); - } - } - - public final UnaryExpressionNotPlusMinusContext unaryExpressionNotPlusMinus() throws RecognitionException { - UnaryExpressionNotPlusMinusContext _localctx = new UnaryExpressionNotPlusMinusContext(_ctx, getState()); - enterRule(_localctx, 462, RULE_unaryExpressionNotPlusMinus); - try { - setState(2813); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,321,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(2807); - postfixExpression(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(2808); - match(TILDE); - setState(2809); - unaryExpression(); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(2810); - match(BANG); - setState(2811); - unaryExpression(); - } - break; - case 4: - enterOuterAlt(_localctx, 4); - { - setState(2812); - castExpression(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PostfixExpressionContext extends ParserRuleContext { - public PrimaryContext primary() { - return getRuleContext(PrimaryContext.class,0); - } - public ExpressionNameContext expressionName() { - return getRuleContext(ExpressionNameContext.class,0); - } - public List postIncrementExpression_lf_postfixExpression() { - return getRuleContexts(PostIncrementExpression_lf_postfixExpressionContext.class); - } - public PostIncrementExpression_lf_postfixExpressionContext postIncrementExpression_lf_postfixExpression(int i) { - return getRuleContext(PostIncrementExpression_lf_postfixExpressionContext.class,i); - } - public List postDecrementExpression_lf_postfixExpression() { - return getRuleContexts(PostDecrementExpression_lf_postfixExpressionContext.class); - } - public PostDecrementExpression_lf_postfixExpressionContext postDecrementExpression_lf_postfixExpression(int i) { - return getRuleContext(PostDecrementExpression_lf_postfixExpressionContext.class,i); - } - public PostfixExpressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_postfixExpression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPostfixExpression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPostfixExpression(this); - } - } - - public final PostfixExpressionContext postfixExpression() throws RecognitionException { - PostfixExpressionContext _localctx = new PostfixExpressionContext(_ctx, getState()); - enterRule(_localctx, 464, RULE_postfixExpression); - try { - int _alt; - enterOuterAlt(_localctx, 1); - { - setState(2817); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,322,_ctx) ) { - case 1: - { - setState(2815); - primary(); - } - break; - case 2: - { - setState(2816); - expressionName(); - } - break; - } - setState(2823); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,324,_ctx); - while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - { - setState(2821); - _errHandler.sync(this); - switch (_input.LA(1)) { - case INC: - { - setState(2819); - postIncrementExpression_lf_postfixExpression(); - } - break; - case DEC: - { - setState(2820); - postDecrementExpression_lf_postfixExpression(); - } - break; - default: - throw new NoViableAltException(this); - } - } - } - setState(2825); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,324,_ctx); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PostIncrementExpressionContext extends ParserRuleContext { - public PostfixExpressionContext postfixExpression() { - return getRuleContext(PostfixExpressionContext.class,0); - } - public PostIncrementExpressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_postIncrementExpression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPostIncrementExpression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPostIncrementExpression(this); - } - } - - public final PostIncrementExpressionContext postIncrementExpression() throws RecognitionException { - PostIncrementExpressionContext _localctx = new PostIncrementExpressionContext(_ctx, getState()); - enterRule(_localctx, 466, RULE_postIncrementExpression); - try { - enterOuterAlt(_localctx, 1); - { - setState(2826); - postfixExpression(); - setState(2827); - match(INC); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PostIncrementExpression_lf_postfixExpressionContext extends ParserRuleContext { - public PostIncrementExpression_lf_postfixExpressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_postIncrementExpression_lf_postfixExpression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPostIncrementExpression_lf_postfixExpression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPostIncrementExpression_lf_postfixExpression(this); - } - } - - public final PostIncrementExpression_lf_postfixExpressionContext postIncrementExpression_lf_postfixExpression() throws RecognitionException { - PostIncrementExpression_lf_postfixExpressionContext _localctx = new PostIncrementExpression_lf_postfixExpressionContext(_ctx, getState()); - enterRule(_localctx, 468, RULE_postIncrementExpression_lf_postfixExpression); - try { - enterOuterAlt(_localctx, 1); - { - setState(2829); - match(INC); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PostDecrementExpressionContext extends ParserRuleContext { - public PostfixExpressionContext postfixExpression() { - return getRuleContext(PostfixExpressionContext.class,0); - } - public PostDecrementExpressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_postDecrementExpression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPostDecrementExpression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPostDecrementExpression(this); - } - } - - public final PostDecrementExpressionContext postDecrementExpression() throws RecognitionException { - PostDecrementExpressionContext _localctx = new PostDecrementExpressionContext(_ctx, getState()); - enterRule(_localctx, 470, RULE_postDecrementExpression); - try { - enterOuterAlt(_localctx, 1); - { - setState(2831); - postfixExpression(); - setState(2832); - match(DEC); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PostDecrementExpression_lf_postfixExpressionContext extends ParserRuleContext { - public PostDecrementExpression_lf_postfixExpressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_postDecrementExpression_lf_postfixExpression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPostDecrementExpression_lf_postfixExpression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPostDecrementExpression_lf_postfixExpression(this); - } - } - - public final PostDecrementExpression_lf_postfixExpressionContext postDecrementExpression_lf_postfixExpression() throws RecognitionException { - PostDecrementExpression_lf_postfixExpressionContext _localctx = new PostDecrementExpression_lf_postfixExpressionContext(_ctx, getState()); - enterRule(_localctx, 472, RULE_postDecrementExpression_lf_postfixExpression); - try { - enterOuterAlt(_localctx, 1); - { - setState(2834); - match(DEC); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class CastExpressionContext extends ParserRuleContext { - public PrimitiveTypeContext primitiveType() { - return getRuleContext(PrimitiveTypeContext.class,0); - } - public UnaryExpressionContext unaryExpression() { - return getRuleContext(UnaryExpressionContext.class,0); - } - public ReferenceTypeContext referenceType() { - return getRuleContext(ReferenceTypeContext.class,0); - } - public UnaryExpressionNotPlusMinusContext unaryExpressionNotPlusMinus() { - return getRuleContext(UnaryExpressionNotPlusMinusContext.class,0); - } - public List additionalBound() { - return getRuleContexts(AdditionalBoundContext.class); - } - public AdditionalBoundContext additionalBound(int i) { - return getRuleContext(AdditionalBoundContext.class,i); - } - public LambdaExpressionContext lambdaExpression() { - return getRuleContext(LambdaExpressionContext.class,0); - } - public CastExpressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_castExpression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterCastExpression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitCastExpression(this); - } - } - - public final CastExpressionContext castExpression() throws RecognitionException { - CastExpressionContext _localctx = new CastExpressionContext(_ctx, getState()); - enterRule(_localctx, 474, RULE_castExpression); - int _la; - try { - setState(2863); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,327,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(2836); - match(LPAREN); - setState(2837); - primitiveType(); - setState(2838); - match(RPAREN); - setState(2839); - unaryExpression(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(2841); - match(LPAREN); - setState(2842); - referenceType(); - setState(2846); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==BITAND) { - { - { - setState(2843); - additionalBound(); - } - } - setState(2848); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(2849); - match(RPAREN); - setState(2850); - unaryExpressionNotPlusMinus(); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(2852); - match(LPAREN); - setState(2853); - referenceType(); - setState(2857); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==BITAND) { - { - { - setState(2854); - additionalBound(); - } - } - setState(2859); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(2860); - match(RPAREN); - setState(2861); - lambdaExpression(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public boolean sempred(RuleContext _localctx, int ruleIndex, int predIndex) { - switch (ruleIndex) { - case 26: - return packageName_sempred((PackageNameContext)_localctx, predIndex); - case 28: - return packageOrTypeName_sempred((PackageOrTypeNameContext)_localctx, predIndex); - case 31: - return ambiguousName_sempred((AmbiguousNameContext)_localctx, predIndex); - case 218: - return conditionalOrExpression_sempred((ConditionalOrExpressionContext)_localctx, predIndex); - case 219: - return conditionalAndExpression_sempred((ConditionalAndExpressionContext)_localctx, predIndex); - case 220: - return inclusiveOrExpression_sempred((InclusiveOrExpressionContext)_localctx, predIndex); - case 221: - return exclusiveOrExpression_sempred((ExclusiveOrExpressionContext)_localctx, predIndex); - case 222: - return andExpression_sempred((AndExpressionContext)_localctx, predIndex); - case 223: - return equalityExpression_sempred((EqualityExpressionContext)_localctx, predIndex); - case 224: - return relationalExpression_sempred((RelationalExpressionContext)_localctx, predIndex); - case 225: - return shiftExpression_sempred((ShiftExpressionContext)_localctx, predIndex); - case 226: - return additiveExpression_sempred((AdditiveExpressionContext)_localctx, predIndex); - case 227: - return multiplicativeExpression_sempred((MultiplicativeExpressionContext)_localctx, predIndex); - } - return true; - } - private boolean packageName_sempred(PackageNameContext _localctx, int predIndex) { - switch (predIndex) { - case 0: - return precpred(_ctx, 1); - } - return true; - } - private boolean packageOrTypeName_sempred(PackageOrTypeNameContext _localctx, int predIndex) { - switch (predIndex) { - case 1: - return precpred(_ctx, 1); - } - return true; - } - private boolean ambiguousName_sempred(AmbiguousNameContext _localctx, int predIndex) { - switch (predIndex) { - case 2: - return precpred(_ctx, 1); - } - return true; - } - private boolean conditionalOrExpression_sempred(ConditionalOrExpressionContext _localctx, int predIndex) { - switch (predIndex) { - case 3: - return precpred(_ctx, 1); - } - return true; - } - private boolean conditionalAndExpression_sempred(ConditionalAndExpressionContext _localctx, int predIndex) { - switch (predIndex) { - case 4: - return precpred(_ctx, 1); - } - return true; - } - private boolean inclusiveOrExpression_sempred(InclusiveOrExpressionContext _localctx, int predIndex) { - switch (predIndex) { - case 5: - return precpred(_ctx, 1); - } - return true; - } - private boolean exclusiveOrExpression_sempred(ExclusiveOrExpressionContext _localctx, int predIndex) { - switch (predIndex) { - case 6: - return precpred(_ctx, 1); - } - return true; - } - private boolean andExpression_sempred(AndExpressionContext _localctx, int predIndex) { - switch (predIndex) { - case 7: - return precpred(_ctx, 1); - } - return true; - } - private boolean equalityExpression_sempred(EqualityExpressionContext _localctx, int predIndex) { - switch (predIndex) { - case 8: - return precpred(_ctx, 2); - case 9: - return precpred(_ctx, 1); - } - return true; - } - private boolean relationalExpression_sempred(RelationalExpressionContext _localctx, int predIndex) { - switch (predIndex) { - case 10: - return precpred(_ctx, 5); - case 11: - return precpred(_ctx, 4); - case 12: - return precpred(_ctx, 3); - case 13: - return precpred(_ctx, 2); - case 14: - return precpred(_ctx, 1); - } - return true; - } - private boolean shiftExpression_sempred(ShiftExpressionContext _localctx, int predIndex) { - switch (predIndex) { - case 15: - return precpred(_ctx, 3); - case 16: - return precpred(_ctx, 2); - case 17: - return precpred(_ctx, 1); - } - return true; - } - private boolean additiveExpression_sempred(AdditiveExpressionContext _localctx, int predIndex) { - switch (predIndex) { - case 18: - return precpred(_ctx, 2); - case 19: - return precpred(_ctx, 1); - } - return true; - } - private boolean multiplicativeExpression_sempred(MultiplicativeExpressionContext _localctx, int predIndex) { - switch (predIndex) { - case 20: - return precpred(_ctx, 3); - case 21: - return precpred(_ctx, 2); - case 22: - return precpred(_ctx, 1); - } - return true; - } - - private static final int _serializedATNSegments = 2; - private static final String _serializedATNSegment0 = - "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\3n\u0b34\4\2\t\2\4"+ - "\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13\t"+ - "\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+ - "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+ - "\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t \4!"+ - "\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\4"+ - ",\t,\4-\t-\4.\t.\4/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64\t"+ - "\64\4\65\t\65\4\66\t\66\4\67\t\67\48\t8\49\t9\4:\t:\4;\t;\4<\t<\4=\t="+ - "\4>\t>\4?\t?\4@\t@\4A\tA\4B\tB\4C\tC\4D\tD\4E\tE\4F\tF\4G\tG\4H\tH\4I"+ - "\tI\4J\tJ\4K\tK\4L\tL\4M\tM\4N\tN\4O\tO\4P\tP\4Q\tQ\4R\tR\4S\tS\4T\tT"+ - "\4U\tU\4V\tV\4W\tW\4X\tX\4Y\tY\4Z\tZ\4[\t[\4\\\t\\\4]\t]\4^\t^\4_\t_\4"+ - "`\t`\4a\ta\4b\tb\4c\tc\4d\td\4e\te\4f\tf\4g\tg\4h\th\4i\ti\4j\tj\4k\t"+ - "k\4l\tl\4m\tm\4n\tn\4o\to\4p\tp\4q\tq\4r\tr\4s\ts\4t\tt\4u\tu\4v\tv\4"+ - "w\tw\4x\tx\4y\ty\4z\tz\4{\t{\4|\t|\4}\t}\4~\t~\4\177\t\177\4\u0080\t\u0080"+ - "\4\u0081\t\u0081\4\u0082\t\u0082\4\u0083\t\u0083\4\u0084\t\u0084\4\u0085"+ - "\t\u0085\4\u0086\t\u0086\4\u0087\t\u0087\4\u0088\t\u0088\4\u0089\t\u0089"+ - "\4\u008a\t\u008a\4\u008b\t\u008b\4\u008c\t\u008c\4\u008d\t\u008d\4\u008e"+ - "\t\u008e\4\u008f\t\u008f\4\u0090\t\u0090\4\u0091\t\u0091\4\u0092\t\u0092"+ - "\4\u0093\t\u0093\4\u0094\t\u0094\4\u0095\t\u0095\4\u0096\t\u0096\4\u0097"+ - "\t\u0097\4\u0098\t\u0098\4\u0099\t\u0099\4\u009a\t\u009a\4\u009b\t\u009b"+ - "\4\u009c\t\u009c\4\u009d\t\u009d\4\u009e\t\u009e\4\u009f\t\u009f\4\u00a0"+ - "\t\u00a0\4\u00a1\t\u00a1\4\u00a2\t\u00a2\4\u00a3\t\u00a3\4\u00a4\t\u00a4"+ - "\4\u00a5\t\u00a5\4\u00a6\t\u00a6\4\u00a7\t\u00a7\4\u00a8\t\u00a8\4\u00a9"+ - "\t\u00a9\4\u00aa\t\u00aa\4\u00ab\t\u00ab\4\u00ac\t\u00ac\4\u00ad\t\u00ad"+ - "\4\u00ae\t\u00ae\4\u00af\t\u00af\4\u00b0\t\u00b0\4\u00b1\t\u00b1\4\u00b2"+ - "\t\u00b2\4\u00b3\t\u00b3\4\u00b4\t\u00b4\4\u00b5\t\u00b5\4\u00b6\t\u00b6"+ - "\4\u00b7\t\u00b7\4\u00b8\t\u00b8\4\u00b9\t\u00b9\4\u00ba\t\u00ba\4\u00bb"+ - "\t\u00bb\4\u00bc\t\u00bc\4\u00bd\t\u00bd\4\u00be\t\u00be\4\u00bf\t\u00bf"+ - "\4\u00c0\t\u00c0\4\u00c1\t\u00c1\4\u00c2\t\u00c2\4\u00c3\t\u00c3\4\u00c4"+ - "\t\u00c4\4\u00c5\t\u00c5\4\u00c6\t\u00c6\4\u00c7\t\u00c7\4\u00c8\t\u00c8"+ - "\4\u00c9\t\u00c9\4\u00ca\t\u00ca\4\u00cb\t\u00cb\4\u00cc\t\u00cc\4\u00cd"+ - "\t\u00cd\4\u00ce\t\u00ce\4\u00cf\t\u00cf\4\u00d0\t\u00d0\4\u00d1\t\u00d1"+ - "\4\u00d2\t\u00d2\4\u00d3\t\u00d3\4\u00d4\t\u00d4\4\u00d5\t\u00d5\4\u00d6"+ - "\t\u00d6\4\u00d7\t\u00d7\4\u00d8\t\u00d8\4\u00d9\t\u00d9\4\u00da\t\u00da"+ - "\4\u00db\t\u00db\4\u00dc\t\u00dc\4\u00dd\t\u00dd\4\u00de\t\u00de\4\u00df"+ - "\t\u00df\4\u00e0\t\u00e0\4\u00e1\t\u00e1\4\u00e2\t\u00e2\4\u00e3\t\u00e3"+ - "\4\u00e4\t\u00e4\4\u00e5\t\u00e5\4\u00e6\t\u00e6\4\u00e7\t\u00e7\4\u00e8"+ - "\t\u00e8\4\u00e9\t\u00e9\4\u00ea\t\u00ea\4\u00eb\t\u00eb\4\u00ec\t\u00ec"+ - "\4\u00ed\t\u00ed\4\u00ee\t\u00ee\4\u00ef\t\u00ef\3\2\3\2\3\3\3\3\5\3\u01e3"+ - "\n\3\3\4\7\4\u01e6\n\4\f\4\16\4\u01e9\13\4\3\4\3\4\7\4\u01ed\n\4\f\4\16"+ - "\4\u01f0\13\4\3\4\5\4\u01f3\n\4\3\5\3\5\5\5\u01f7\n\5\3\6\3\6\3\7\3\7"+ - "\3\b\3\b\3\b\5\b\u0200\n\b\3\t\3\t\5\t\u0204\n\t\3\t\7\t\u0207\n\t\f\t"+ - "\16\t\u020a\13\t\3\n\7\n\u020d\n\n\f\n\16\n\u0210\13\n\3\n\3\n\5\n\u0214"+ - "\n\n\3\n\3\n\3\n\7\n\u0219\n\n\f\n\16\n\u021c\13\n\3\n\3\n\5\n\u0220\n"+ - "\n\5\n\u0222\n\n\3\13\3\13\7\13\u0226\n\13\f\13\16\13\u0229\13\13\3\13"+ - "\3\13\5\13\u022d\n\13\3\f\7\f\u0230\n\f\f\f\16\f\u0233\13\f\3\f\3\f\5"+ - "\f\u0237\n\f\3\r\3\r\3\16\3\16\3\17\3\17\3\20\7\20\u0240\n\20\f\20\16"+ - "\20\u0243\13\20\3\20\3\20\3\21\3\21\3\21\3\21\3\21\3\21\3\21\3\21\3\21"+ - "\5\21\u0250\n\21\3\22\7\22\u0253\n\22\f\22\16\22\u0256\13\22\3\22\3\22"+ - "\3\22\7\22\u025b\n\22\f\22\16\22\u025e\13\22\3\22\3\22\7\22\u0262\n\22"+ - "\f\22\16\22\u0265\13\22\3\23\7\23\u0268\n\23\f\23\16\23\u026b\13\23\3"+ - "\23\3\23\5\23\u026f\n\23\3\24\3\24\3\25\3\25\3\25\3\25\3\25\7\25\u0278"+ - "\n\25\f\25\16\25\u027b\13\25\5\25\u027d\n\25\3\26\3\26\3\26\3\27\3\27"+ - "\3\27\3\27\3\30\3\30\3\30\7\30\u0289\n\30\f\30\16\30\u028c\13\30\3\31"+ - "\3\31\5\31\u0290\n\31\3\32\7\32\u0293\n\32\f\32\16\32\u0296\13\32\3\32"+ - "\3\32\5\32\u029a\n\32\3\33\3\33\3\33\3\33\5\33\u02a0\n\33\3\34\3\34\3"+ - "\34\3\34\3\34\3\34\7\34\u02a8\n\34\f\34\16\34\u02ab\13\34\3\35\3\35\3"+ - "\35\3\35\3\35\5\35\u02b2\n\35\3\36\3\36\3\36\3\36\3\36\3\36\7\36\u02ba"+ - "\n\36\f\36\16\36\u02bd\13\36\3\37\3\37\3\37\3\37\3\37\5\37\u02c4\n\37"+ - "\3 \3 \3!\3!\3!\3!\3!\3!\7!\u02ce\n!\f!\16!\u02d1\13!\3\"\5\"\u02d4\n"+ - "\"\3\"\7\"\u02d7\n\"\f\"\16\"\u02da\13\"\3\"\7\"\u02dd\n\"\f\"\16\"\u02e0"+ - "\13\"\3\"\3\"\3#\7#\u02e5\n#\f#\16#\u02e8\13#\3#\3#\3#\3#\7#\u02ee\n#"+ - "\f#\16#\u02f1\13#\3#\3#\3$\3$\3%\3%\3%\3%\5%\u02fb\n%\3&\3&\3&\3&\3\'"+ - "\3\'\3\'\3\'\3\'\3\'\3(\3(\3(\3(\3(\3(\3(\3)\3)\3)\3)\3)\3)\3)\3*\3*\3"+ - "*\5*\u0318\n*\3+\3+\5+\u031c\n+\3,\7,\u031f\n,\f,\16,\u0322\13,\3,\3,"+ - "\3,\5,\u0327\n,\3,\5,\u032a\n,\3,\5,\u032d\n,\3,\3,\3-\3-\3-\3-\3-\3-"+ - "\3-\3-\5-\u0339\n-\3.\3.\3.\3.\3/\3/\3/\7/\u0342\n/\f/\16/\u0345\13/\3"+ - "\60\3\60\3\60\3\61\3\61\3\61\3\62\3\62\3\62\7\62\u0350\n\62\f\62\16\62"+ - "\u0353\13\62\3\63\3\63\7\63\u0357\n\63\f\63\16\63\u035a\13\63\3\63\3\63"+ - "\3\64\3\64\3\64\5\64\u0361\n\64\3\65\3\65\3\65\3\65\3\65\5\65\u0368\n"+ - "\65\3\66\7\66\u036b\n\66\f\66\16\66\u036e\13\66\3\66\5\66\u0371\n\66\3"+ - "\66\3\66\3\66\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\5\67\u037e\n\67"+ - "\38\38\38\78\u0383\n8\f8\168\u0386\138\39\39\39\59\u038b\n9\3:\3:\5:\u038f"+ - "\n:\3;\3;\5;\u0393\n;\3<\3<\5<\u0397\n<\3=\3=\5=\u039b\n=\3>\3>\3>\5>"+ - "\u03a0\n>\3?\3?\5?\u03a4\n?\3?\3?\7?\u03a8\n?\f?\16?\u03ab\13?\3@\3@\5"+ - "@\u03af\n@\3@\3@\3@\7@\u03b4\n@\f@\16@\u03b7\13@\3@\3@\5@\u03bb\n@\5@"+ - "\u03bd\n@\3A\3A\7A\u03c1\nA\fA\16A\u03c4\13A\3A\3A\5A\u03c8\nA\3B\3B\5"+ - "B\u03cc\nB\3C\3C\3D\3D\3E\3E\3F\3F\3G\3G\3G\3G\3G\3G\3G\3G\3G\5G\u03df"+ - "\nG\3H\7H\u03e2\nH\fH\16H\u03e5\13H\3H\3H\3H\3I\3I\3I\3I\3I\3I\3I\3I\3"+ - "I\3I\5I\u03f4\nI\3J\5J\u03f7\nJ\3J\3J\5J\u03fb\nJ\3J\3J\7J\u03ff\nJ\f"+ - "J\16J\u0402\13J\3J\5J\u0405\nJ\3J\3J\5J\u0409\nJ\5J\u040b\nJ\3K\3K\5K"+ - "\u040f\nK\3L\3L\3L\5L\u0414\nL\3L\3L\5L\u0418\nL\3M\3M\3M\3M\3M\5M\u041f"+ - "\nM\3N\3N\3N\7N\u0424\nN\fN\16N\u0427\13N\3N\3N\3N\7N\u042c\nN\fN\16N"+ - "\u042f\13N\5N\u0431\nN\3O\7O\u0434\nO\fO\16O\u0437\13O\3O\5O\u043a\nO"+ - "\3O\3O\3P\3P\5P\u0440\nP\3Q\7Q\u0443\nQ\fQ\16Q\u0446\13Q\3Q\3Q\7Q\u044a"+ - "\nQ\fQ\16Q\u044d\13Q\3Q\3Q\3Q\3Q\5Q\u0453\nQ\3R\7R\u0456\nR\fR\16R\u0459"+ - "\13R\3R\3R\3R\5R\u045e\nR\3R\3R\3S\3S\3S\3T\3T\3T\7T\u0468\nT\fT\16T\u046b"+ - "\13T\3U\3U\5U\u046f\nU\3V\3V\5V\u0473\nV\3W\3W\3X\3X\3X\3Y\7Y\u047b\n"+ - "Y\fY\16Y\u047e\13Y\3Y\3Y\5Y\u0482\nY\3Y\3Y\3Z\3Z\3Z\3Z\5Z\u048a\nZ\3["+ - "\5[\u048d\n[\3[\3[\3[\5[\u0492\n[\3[\3[\3\\\3\\\3]\3]\5]\u049a\n]\3]\5"+ - "]\u049d\n]\3]\3]\3^\5^\u04a2\n^\3^\3^\3^\5^\u04a7\n^\3^\3^\3^\5^\u04ac"+ - "\n^\3^\3^\3^\5^\u04b1\n^\3^\3^\3^\3^\3^\5^\u04b8\n^\3^\3^\3^\5^\u04bd"+ - "\n^\3^\3^\3^\3^\3^\3^\5^\u04c5\n^\3^\3^\3^\5^\u04ca\n^\3^\3^\3^\5^\u04cf"+ - "\n^\3_\7_\u04d2\n_\f_\16_\u04d5\13_\3_\3_\3_\5_\u04da\n_\3_\3_\3`\3`\5"+ - "`\u04e0\n`\3`\5`\u04e3\n`\3`\5`\u04e6\n`\3`\3`\3a\3a\3a\7a\u04ed\na\f"+ - "a\16a\u04f0\13a\3b\7b\u04f3\nb\fb\16b\u04f6\13b\3b\3b\3b\5b\u04fb\nb\3"+ - "b\5b\u04fe\nb\3b\5b\u0501\nb\3c\3c\3d\3d\7d\u0507\nd\fd\16d\u050a\13d"+ - "\3e\3e\5e\u050e\ne\3f\7f\u0511\nf\ff\16f\u0514\13f\3f\3f\3f\5f\u0519\n"+ - "f\3f\5f\u051c\nf\3f\3f\3g\3g\3g\3g\3g\3g\3g\5g\u0527\ng\3h\3h\3h\3i\3"+ - "i\7i\u052e\ni\fi\16i\u0531\13i\3i\3i\3j\3j\3j\3j\3j\5j\u053a\nj\3k\7k"+ - "\u053d\nk\fk\16k\u0540\13k\3k\3k\3k\3k\3l\3l\3l\3l\5l\u054a\nl\3m\7m\u054d"+ - "\nm\fm\16m\u0550\13m\3m\3m\3m\3n\3n\3n\3n\3n\3n\5n\u055b\nn\3o\7o\u055e"+ - "\no\fo\16o\u0561\13o\3o\3o\3o\3o\3o\3p\3p\7p\u056a\np\fp\16p\u056d\13"+ - "p\3p\3p\3q\3q\3q\3q\3q\5q\u0576\nq\3r\7r\u0579\nr\fr\16r\u057c\13r\3r"+ - "\3r\3r\3r\3r\5r\u0583\nr\3r\5r\u0586\nr\3r\3r\3s\3s\3s\5s\u058d\ns\3t"+ - "\3t\3t\3u\3u\3u\5u\u0595\nu\3v\3v\3v\3v\5v\u059b\nv\3v\3v\3w\3w\3w\7w"+ - "\u05a2\nw\fw\16w\u05a5\13w\3x\3x\3x\3x\3y\3y\3y\5y\u05ae\ny\3z\3z\5z\u05b2"+ - "\nz\3z\5z\u05b5\nz\3z\3z\3{\3{\3{\7{\u05bc\n{\f{\16{\u05bf\13{\3|\3|\3"+ - "|\3}\3}\3}\3}\3}\3}\3~\3~\5~\u05cc\n~\3~\5~\u05cf\n~\3~\3~\3\177\3\177"+ - "\3\177\7\177\u05d6\n\177\f\177\16\177\u05d9\13\177\3\u0080\3\u0080\5\u0080"+ - "\u05dd\n\u0080\3\u0080\3\u0080\3\u0081\3\u0081\7\u0081\u05e3\n\u0081\f"+ - "\u0081\16\u0081\u05e6\13\u0081\3\u0082\3\u0082\3\u0082\5\u0082\u05eb\n"+ - "\u0082\3\u0083\3\u0083\3\u0083\3\u0084\3\u0084\5\u0084\u05f2\n\u0084\3"+ - "\u0085\7\u0085\u05f5\n\u0085\f\u0085\16\u0085\u05f8\13\u0085\3\u0085\3"+ - "\u0085\3\u0085\3\u0086\3\u0086\3\u0086\3\u0086\3\u0086\3\u0086\5\u0086"+ - "\u0603\n\u0086\3\u0087\3\u0087\3\u0087\3\u0087\3\u0087\5\u0087\u060a\n"+ - "\u0087\3\u0088\3\u0088\3\u0088\3\u0088\3\u0088\3\u0088\3\u0088\3\u0088"+ - "\3\u0088\3\u0088\3\u0088\3\u0088\5\u0088\u0618\n\u0088\3\u0089\3\u0089"+ - "\3\u008a\3\u008a\3\u008a\3\u008a\3\u008b\3\u008b\3\u008b\3\u008b\3\u008c"+ - "\3\u008c\3\u008c\3\u008d\3\u008d\3\u008d\3\u008d\3\u008d\3\u008d\3\u008d"+ - "\5\u008d\u062e\n\u008d\3\u008e\3\u008e\3\u008e\3\u008e\3\u008e\3\u008e"+ - "\3\u008f\3\u008f\3\u008f\3\u008f\3\u008f\3\u008f\3\u008f\3\u008f\3\u0090"+ - "\3\u0090\3\u0090\3\u0090\3\u0090\3\u0090\3\u0090\3\u0090\3\u0091\3\u0091"+ - "\3\u0091\3\u0091\3\u0091\3\u0091\3\u0091\3\u0091\3\u0091\3\u0091\5\u0091"+ - "\u0650\n\u0091\3\u0092\3\u0092\3\u0092\3\u0092\3\u0092\3\u0092\3\u0093"+ - "\3\u0093\7\u0093\u065a\n\u0093\f\u0093\16\u0093\u065d\13\u0093\3\u0093"+ - "\7\u0093\u0660\n\u0093\f\u0093\16\u0093\u0663\13\u0093\3\u0093\3\u0093"+ - "\3\u0094\3\u0094\3\u0094\3\u0095\3\u0095\7\u0095\u066c\n\u0095\f\u0095"+ - "\16\u0095\u066f\13\u0095\3\u0096\3\u0096\3\u0096\3\u0096\3\u0096\3\u0096"+ - "\3\u0096\3\u0096\3\u0096\3\u0096\5\u0096\u067b\n\u0096\3\u0097\3\u0097"+ - "\3\u0098\3\u0098\3\u0098\3\u0098\3\u0098\3\u0098\3\u0099\3\u0099\3\u0099"+ - "\3\u0099\3\u0099\3\u0099\3\u009a\3\u009a\3\u009a\3\u009a\3\u009a\3\u009a"+ - "\3\u009a\3\u009a\3\u009b\3\u009b\5\u009b\u0695\n\u009b\3\u009c\3\u009c"+ - "\5\u009c\u0699\n\u009c\3\u009d\3\u009d\3\u009d\5\u009d\u069e\n\u009d\3"+ - "\u009d\3\u009d\5\u009d\u06a2\n\u009d\3\u009d\3\u009d\5\u009d\u06a6\n\u009d"+ - "\3\u009d\3\u009d\3\u009d\3\u009e\3\u009e\3\u009e\5\u009e\u06ae\n\u009e"+ - "\3\u009e\3\u009e\5\u009e\u06b2\n\u009e\3\u009e\3\u009e\5\u009e\u06b6\n"+ - "\u009e\3\u009e\3\u009e\3\u009e\3\u009f\3\u009f\5\u009f\u06bd\n\u009f\3"+ - "\u00a0\3\u00a0\3\u00a1\3\u00a1\3\u00a1\7\u00a1\u06c4\n\u00a1\f\u00a1\16"+ - "\u00a1\u06c7\13\u00a1\3\u00a2\3\u00a2\3\u00a2\7\u00a2\u06cc\n\u00a2\f"+ - "\u00a2\16\u00a2\u06cf\13\u00a2\3\u00a2\3\u00a2\3\u00a2\3\u00a2\3\u00a2"+ - "\3\u00a2\3\u00a2\3\u00a3\3\u00a3\3\u00a3\7\u00a3\u06db\n\u00a3\f\u00a3"+ - "\16\u00a3\u06de\13\u00a3\3\u00a3\3\u00a3\3\u00a3\3\u00a3\3\u00a3\3\u00a3"+ - "\3\u00a3\3\u00a4\3\u00a4\5\u00a4\u06e9\n\u00a4\3\u00a4\3\u00a4\3\u00a5"+ - "\3\u00a5\5\u00a5\u06ef\n\u00a5\3\u00a5\3\u00a5\3\u00a6\3\u00a6\5\u00a6"+ - "\u06f5\n\u00a6\3\u00a6\3\u00a6\3\u00a7\3\u00a7\3\u00a7\3\u00a7\3\u00a8"+ - "\3\u00a8\3\u00a8\3\u00a8\3\u00a8\3\u00a8\3\u00a9\3\u00a9\3\u00a9\3\u00a9"+ - "\3\u00a9\3\u00a9\3\u00a9\5\u00a9\u070a\n\u00a9\3\u00a9\3\u00a9\3\u00a9"+ - "\5\u00a9\u070f\n\u00a9\3\u00aa\3\u00aa\7\u00aa\u0713\n\u00aa\f\u00aa\16"+ - "\u00aa\u0716\13\u00aa\3\u00ab\3\u00ab\3\u00ab\3\u00ab\3\u00ab\3\u00ab"+ - "\3\u00ac\7\u00ac\u071f\n\u00ac\f\u00ac\16\u00ac\u0722\13\u00ac\3\u00ac"+ - "\3\u00ac\3\u00ac\3\u00ad\3\u00ad\3\u00ad\7\u00ad\u072a\n\u00ad\f\u00ad"+ - "\16\u00ad\u072d\13\u00ad\3\u00ae\3\u00ae\3\u00ae\3\u00af\3\u00af\3\u00af"+ - "\3\u00af\5\u00af\u0736\n\u00af\3\u00af\5\u00af\u0739\n\u00af\3\u00b0\3"+ - "\u00b0\3\u00b0\5\u00b0\u073e\n\u00b0\3\u00b0\3\u00b0\3\u00b1\3\u00b1\3"+ - "\u00b1\7\u00b1\u0745\n\u00b1\f\u00b1\16\u00b1\u0748\13\u00b1\3\u00b2\7"+ - "\u00b2\u074b\n\u00b2\f\u00b2\16\u00b2\u074e\13\u00b2\3\u00b2\3\u00b2\3"+ - "\u00b2\3\u00b2\3\u00b2\3\u00b3\3\u00b3\5\u00b3\u0757\n\u00b3\3\u00b3\7"+ - "\u00b3\u075a\n\u00b3\f\u00b3\16\u00b3\u075d\13\u00b3\3\u00b4\3\u00b4\3"+ - "\u00b4\3\u00b4\7\u00b4\u0763\n\u00b4\f\u00b4\16\u00b4\u0766\13\u00b4\3"+ - "\u00b4\3\u00b4\3\u00b4\3\u00b4\3\u00b4\3\u00b4\3\u00b4\3\u00b4\3\u00b4"+ - "\3\u00b4\3\u00b4\3\u00b4\3\u00b4\3\u00b4\3\u00b4\3\u00b4\3\u00b4\3\u00b4"+ - "\3\u00b4\3\u00b4\5\u00b4\u077c\n\u00b4\3\u00b5\3\u00b5\3\u00b6\3\u00b6"+ - "\3\u00b6\3\u00b6\7\u00b6\u0784\n\u00b6\f\u00b6\16\u00b6\u0787\13\u00b6"+ - "\3\u00b6\3\u00b6\3\u00b6\3\u00b6\3\u00b6\3\u00b6\3\u00b6\3\u00b6\3\u00b6"+ - "\3\u00b6\3\u00b6\3\u00b6\3\u00b6\3\u00b6\3\u00b6\3\u00b6\3\u00b6\3\u00b6"+ - "\3\u00b6\5\u00b6\u079c\n\u00b6\3\u00b7\3\u00b7\3\u00b7\3\u00b7\3\u00b7"+ - "\5\u00b7\u07a3\n\u00b7\3\u00b8\3\u00b8\3\u00b9\3\u00b9\3\u00b9\3\u00b9"+ - "\5\u00b9\u07ab\n\u00b9\3\u00ba\3\u00ba\3\u00ba\3\u00ba\7\u00ba\u07b1\n"+ - "\u00ba\f\u00ba\16\u00ba\u07b4\13\u00ba\3\u00ba\3\u00ba\3\u00ba\3\u00ba"+ - "\3\u00ba\3\u00ba\7\u00ba\u07bc\n\u00ba\f\u00ba\16\u00ba\u07bf\13\u00ba"+ - "\3\u00ba\3\u00ba\3\u00ba\3\u00ba\3\u00ba\3\u00ba\3\u00ba\3\u00ba\3\u00ba"+ - "\3\u00ba\3\u00ba\3\u00ba\3\u00ba\3\u00ba\3\u00ba\3\u00ba\3\u00ba\3\u00ba"+ - "\3\u00ba\3\u00ba\5\u00ba\u07d5\n\u00ba\3\u00bb\3\u00bb\3\u00bc\3\u00bc"+ - "\3\u00bc\3\u00bc\7\u00bc\u07dd\n\u00bc\f\u00bc\16\u00bc\u07e0\13\u00bc"+ - "\3\u00bc\3\u00bc\3\u00bc\3\u00bc\3\u00bc\3\u00bc\7\u00bc\u07e8\n\u00bc"+ - "\f\u00bc\16\u00bc\u07eb\13\u00bc\3\u00bc\3\u00bc\3\u00bc\3\u00bc\3\u00bc"+ - "\3\u00bc\3\u00bc\3\u00bc\3\u00bc\3\u00bc\3\u00bc\3\u00bc\3\u00bc\3\u00bc"+ - "\3\u00bc\3\u00bc\3\u00bc\3\u00bc\3\u00bc\5\u00bc\u0800\n\u00bc\3\u00bd"+ - "\3\u00bd\5\u00bd\u0804\n\u00bd\3\u00bd\7\u00bd\u0807\n\u00bd\f\u00bd\16"+ - "\u00bd\u080a\13\u00bd\3\u00bd\3\u00bd\3\u00bd\7\u00bd\u080f\n\u00bd\f"+ - "\u00bd\16\u00bd\u0812\13\u00bd\3\u00bd\7\u00bd\u0815\n\u00bd\f\u00bd\16"+ - "\u00bd\u0818\13\u00bd\3\u00bd\5\u00bd\u081b\n\u00bd\3\u00bd\3\u00bd\5"+ - "\u00bd\u081f\n\u00bd\3\u00bd\3\u00bd\5\u00bd\u0823\n\u00bd\3\u00bd\3\u00bd"+ - "\3\u00bd\3\u00bd\5\u00bd\u0829\n\u00bd\3\u00bd\7\u00bd\u082c\n\u00bd\f"+ - "\u00bd\16\u00bd\u082f\13\u00bd\3\u00bd\3\u00bd\5\u00bd\u0833\n\u00bd\3"+ - "\u00bd\3\u00bd\5\u00bd\u0837\n\u00bd\3\u00bd\3\u00bd\5\u00bd\u083b\n\u00bd"+ - "\3\u00bd\3\u00bd\3\u00bd\3\u00bd\5\u00bd\u0841\n\u00bd\3\u00bd\7\u00bd"+ - "\u0844\n\u00bd\f\u00bd\16\u00bd\u0847\13\u00bd\3\u00bd\3\u00bd\5\u00bd"+ - "\u084b\n\u00bd\3\u00bd\3\u00bd\5\u00bd\u084f\n\u00bd\3\u00bd\3\u00bd\5"+ - "\u00bd\u0853\n\u00bd\5\u00bd\u0855\n\u00bd\3\u00be\3\u00be\3\u00be\5\u00be"+ - "\u085a\n\u00be\3\u00be\7\u00be\u085d\n\u00be\f\u00be\16\u00be\u0860\13"+ - "\u00be\3\u00be\3\u00be\5\u00be\u0864\n\u00be\3\u00be\3\u00be\5\u00be\u0868"+ - "\n\u00be\3\u00be\3\u00be\5\u00be\u086c\n\u00be\3\u00bf\3\u00bf\5\u00bf"+ - "\u0870\n\u00bf\3\u00bf\7\u00bf\u0873\n\u00bf\f\u00bf\16\u00bf\u0876\13"+ - "\u00bf\3\u00bf\3\u00bf\3\u00bf\7\u00bf\u087b\n\u00bf\f\u00bf\16\u00bf"+ - "\u087e\13\u00bf\3\u00bf\7\u00bf\u0881\n\u00bf\f\u00bf\16\u00bf\u0884\13"+ - "\u00bf\3\u00bf\5\u00bf\u0887\n\u00bf\3\u00bf\3\u00bf\5\u00bf\u088b\n\u00bf"+ - "\3\u00bf\3\u00bf\5\u00bf\u088f\n\u00bf\3\u00bf\3\u00bf\3\u00bf\3\u00bf"+ - "\5\u00bf\u0895\n\u00bf\3\u00bf\7\u00bf\u0898\n\u00bf\f\u00bf\16\u00bf"+ - "\u089b\13\u00bf\3\u00bf\3\u00bf\5\u00bf\u089f\n\u00bf\3\u00bf\3\u00bf"+ - "\5\u00bf\u08a3\n\u00bf\3\u00bf\3\u00bf\5\u00bf\u08a7\n\u00bf\5\u00bf\u08a9"+ - "\n\u00bf\3\u00c0\3\u00c0\3\u00c0\5\u00c0\u08ae\n\u00c0\3\u00c1\3\u00c1"+ - "\3\u00c1\3\u00c1\3\u00c1\3\u00c1\3\u00c1\3\u00c1\3\u00c1\3\u00c1\3\u00c1"+ - "\3\u00c1\3\u00c1\5\u00c1\u08bd\n\u00c1\3\u00c2\3\u00c2\3\u00c2\3\u00c3"+ - "\3\u00c3\3\u00c3\3\u00c3\3\u00c3\3\u00c3\3\u00c3\3\u00c3\3\u00c3\5\u00c3"+ - "\u08cb\n\u00c3\3\u00c4\3\u00c4\3\u00c4\3\u00c4\3\u00c4\3\u00c4\3\u00c4"+ - "\3\u00c4\3\u00c4\3\u00c4\5\u00c4\u08d7\n\u00c4\3\u00c4\3\u00c4\3\u00c4"+ - "\3\u00c4\3\u00c4\7\u00c4\u08de\n\u00c4\f\u00c4\16\u00c4\u08e1\13\u00c4"+ - "\3\u00c5\3\u00c5\3\u00c5\3\u00c5\3\u00c5\3\u00c5\3\u00c5\3\u00c5\3\u00c5"+ - "\3\u00c5\7\u00c5\u08ed\n\u00c5\f\u00c5\16\u00c5\u08f0\13\u00c5\3\u00c6"+ - "\3\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6"+ - "\5\u00c6\u08fc\n\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6\7\u00c6"+ - "\u0903\n\u00c6\f\u00c6\16\u00c6\u0906\13\u00c6\3\u00c7\3\u00c7\3\u00c7"+ - "\5\u00c7\u090b\n\u00c7\3\u00c7\3\u00c7\3\u00c7\3\u00c7\3\u00c7\5\u00c7"+ - "\u0912\n\u00c7\3\u00c7\3\u00c7\3\u00c7\5\u00c7\u0917\n\u00c7\3\u00c7\3"+ - "\u00c7\3\u00c7\3\u00c7\3\u00c7\5\u00c7\u091e\n\u00c7\3\u00c7\3\u00c7\3"+ - "\u00c7\5\u00c7\u0923\n\u00c7\3\u00c7\3\u00c7\3\u00c7\3\u00c7\3\u00c7\5"+ - "\u00c7\u092a\n\u00c7\3\u00c7\3\u00c7\3\u00c7\5\u00c7\u092f\n\u00c7\3\u00c7"+ - "\3\u00c7\3\u00c7\3\u00c7\3\u00c7\5\u00c7\u0936\n\u00c7\3\u00c7\3\u00c7"+ - "\3\u00c7\5\u00c7\u093b\n\u00c7\3\u00c7\3\u00c7\3\u00c7\3\u00c7\3\u00c7"+ - "\3\u00c7\5\u00c7\u0943\n\u00c7\3\u00c7\3\u00c7\3\u00c7\5\u00c7\u0948\n"+ - "\u00c7\3\u00c7\3\u00c7\5\u00c7\u094c\n\u00c7\3\u00c8\3\u00c8\5\u00c8\u0950"+ - "\n\u00c8\3\u00c8\3\u00c8\3\u00c8\5\u00c8\u0955\n\u00c8\3\u00c8\3\u00c8"+ - "\3\u00c9\3\u00c9\3\u00c9\5\u00c9\u095c\n\u00c9\3\u00c9\3\u00c9\3\u00c9"+ - "\3\u00c9\3\u00c9\5\u00c9\u0963\n\u00c9\3\u00c9\3\u00c9\3\u00c9\5\u00c9"+ - "\u0968\n\u00c9\3\u00c9\3\u00c9\3\u00c9\3\u00c9\3\u00c9\5\u00c9\u096f\n"+ - "\u00c9\3\u00c9\3\u00c9\3\u00c9\5\u00c9\u0974\n\u00c9\3\u00c9\3\u00c9\3"+ - "\u00c9\3\u00c9\3\u00c9\5\u00c9\u097b\n\u00c9\3\u00c9\3\u00c9\3\u00c9\5"+ - "\u00c9\u0980\n\u00c9\3\u00c9\3\u00c9\3\u00c9\3\u00c9\3\u00c9\3\u00c9\5"+ - "\u00c9\u0988\n\u00c9\3\u00c9\3\u00c9\3\u00c9\5\u00c9\u098d\n\u00c9\3\u00c9"+ - "\3\u00c9\5\u00c9\u0991\n\u00c9\3\u00ca\3\u00ca\3\u00ca\7\u00ca\u0996\n"+ - "\u00ca\f\u00ca\16\u00ca\u0999\13\u00ca\3\u00cb\3\u00cb\3\u00cb\5\u00cb"+ - "\u099e\n\u00cb\3\u00cb\3\u00cb\3\u00cb\3\u00cb\3\u00cb\5\u00cb\u09a5\n"+ - "\u00cb\3\u00cb\3\u00cb\3\u00cb\3\u00cb\3\u00cb\5\u00cb\u09ac\n\u00cb\3"+ - "\u00cb\3\u00cb\3\u00cb\3\u00cb\3\u00cb\5\u00cb\u09b3\n\u00cb\3\u00cb\3"+ - "\u00cb\3\u00cb\3\u00cb\3\u00cb\3\u00cb\5\u00cb\u09bb\n\u00cb\3\u00cb\3"+ - "\u00cb\3\u00cb\3\u00cb\3\u00cb\5\u00cb\u09c2\n\u00cb\3\u00cb\3\u00cb\3"+ - "\u00cb\3\u00cb\3\u00cb\3\u00cb\5\u00cb\u09ca\n\u00cb\3\u00cc\3\u00cc\5"+ - "\u00cc\u09ce\n\u00cc\3\u00cc\3\u00cc\3\u00cd\3\u00cd\3\u00cd\5\u00cd\u09d5"+ - "\n\u00cd\3\u00cd\3\u00cd\3\u00cd\3\u00cd\3\u00cd\5\u00cd\u09dc\n\u00cd"+ - "\3\u00cd\3\u00cd\3\u00cd\3\u00cd\3\u00cd\5\u00cd\u09e3\n\u00cd\3\u00cd"+ - "\3\u00cd\3\u00cd\3\u00cd\3\u00cd\3\u00cd\5\u00cd\u09eb\n\u00cd\3\u00cd"+ - "\3\u00cd\3\u00cd\3\u00cd\3\u00cd\5\u00cd\u09f2\n\u00cd\3\u00cd\3\u00cd"+ - "\3\u00cd\3\u00cd\3\u00cd\3\u00cd\5\u00cd\u09fa\n\u00cd\3\u00ce\3\u00ce"+ - "\3\u00ce\3\u00ce\5\u00ce\u0a00\n\u00ce\3\u00ce\3\u00ce\3\u00ce\3\u00ce"+ - "\5\u00ce\u0a06\n\u00ce\3\u00ce\3\u00ce\3\u00ce\3\u00ce\3\u00ce\3\u00ce"+ - "\3\u00ce\3\u00ce\3\u00ce\3\u00ce\5\u00ce\u0a12\n\u00ce\3\u00cf\3\u00cf"+ - "\7\u00cf\u0a16\n\u00cf\f\u00cf\16\u00cf\u0a19\13\u00cf\3\u00d0\7\u00d0"+ - "\u0a1c\n\u00d0\f\u00d0\16\u00d0\u0a1f\13\u00d0\3\u00d0\3\u00d0\3\u00d0"+ - "\3\u00d0\3\u00d1\3\u00d1\3\u00d2\3\u00d2\5\u00d2\u0a29\n\u00d2\3\u00d3"+ - "\3\u00d3\3\u00d3\3\u00d3\3\u00d4\3\u00d4\3\u00d4\5\u00d4\u0a32\n\u00d4"+ - "\3\u00d4\5\u00d4\u0a35\n\u00d4\3\u00d5\3\u00d5\3\u00d5\7\u00d5\u0a3a\n"+ - "\u00d5\f\u00d5\16\u00d5\u0a3d\13\u00d5\3\u00d6\3\u00d6\5\u00d6\u0a41\n"+ - "\u00d6\3\u00d7\3\u00d7\5\u00d7\u0a45\n\u00d7\3\u00d8\3\u00d8\3\u00d8\3"+ - "\u00d8\3\u00d9\3\u00d9\3\u00d9\5\u00d9\u0a4e\n\u00d9\3\u00da\3\u00da\3"+ - "\u00db\3\u00db\3\u00db\3\u00db\3\u00db\3\u00db\3\u00db\5\u00db\u0a59\n"+ - "\u00db\3\u00dc\3\u00dc\3\u00dc\3\u00dc\3\u00dc\3\u00dc\7\u00dc\u0a61\n"+ - "\u00dc\f\u00dc\16\u00dc\u0a64\13\u00dc\3\u00dd\3\u00dd\3\u00dd\3\u00dd"+ - "\3\u00dd\3\u00dd\7\u00dd\u0a6c\n\u00dd\f\u00dd\16\u00dd\u0a6f\13\u00dd"+ - "\3\u00de\3\u00de\3\u00de\3\u00de\3\u00de\3\u00de\7\u00de\u0a77\n\u00de"+ - "\f\u00de\16\u00de\u0a7a\13\u00de\3\u00df\3\u00df\3\u00df\3\u00df\3\u00df"+ - "\3\u00df\7\u00df\u0a82\n\u00df\f\u00df\16\u00df\u0a85\13\u00df\3\u00e0"+ - "\3\u00e0\3\u00e0\3\u00e0\3\u00e0\3\u00e0\7\u00e0\u0a8d\n\u00e0\f\u00e0"+ - "\16\u00e0\u0a90\13\u00e0\3\u00e1\3\u00e1\3\u00e1\3\u00e1\3\u00e1\3\u00e1"+ - "\3\u00e1\3\u00e1\3\u00e1\7\u00e1\u0a9b\n\u00e1\f\u00e1\16\u00e1\u0a9e"+ - "\13\u00e1\3\u00e2\3\u00e2\3\u00e2\3\u00e2\3\u00e2\3\u00e2\3\u00e2\3\u00e2"+ - "\3\u00e2\3\u00e2\3\u00e2\3\u00e2\3\u00e2\3\u00e2\3\u00e2\3\u00e2\3\u00e2"+ - "\3\u00e2\7\u00e2\u0ab2\n\u00e2\f\u00e2\16\u00e2\u0ab5\13\u00e2\3\u00e3"+ - "\3\u00e3\3\u00e3\3\u00e3\3\u00e3\3\u00e3\3\u00e3\3\u00e3\3\u00e3\3\u00e3"+ - "\3\u00e3\3\u00e3\3\u00e3\3\u00e3\3\u00e3\3\u00e3\7\u00e3\u0ac7\n\u00e3"+ - "\f\u00e3\16\u00e3\u0aca\13\u00e3\3\u00e4\3\u00e4\3\u00e4\3\u00e4\3\u00e4"+ - "\3\u00e4\3\u00e4\3\u00e4\3\u00e4\7\u00e4\u0ad5\n\u00e4\f\u00e4\16\u00e4"+ - "\u0ad8\13\u00e4\3\u00e5\3\u00e5\3\u00e5\3\u00e5\3\u00e5\3\u00e5\3\u00e5"+ - "\3\u00e5\3\u00e5\3\u00e5\3\u00e5\3\u00e5\7\u00e5\u0ae6\n\u00e5\f\u00e5"+ - "\16\u00e5\u0ae9\13\u00e5\3\u00e6\3\u00e6\3\u00e6\3\u00e6\3\u00e6\3\u00e6"+ - "\3\u00e6\5\u00e6\u0af2\n\u00e6\3\u00e7\3\u00e7\3\u00e7\3\u00e8\3\u00e8"+ - "\3\u00e8\3\u00e9\3\u00e9\3\u00e9\3\u00e9\3\u00e9\3\u00e9\5\u00e9\u0b00"+ - "\n\u00e9\3\u00ea\3\u00ea\5\u00ea\u0b04\n\u00ea\3\u00ea\3\u00ea\7\u00ea"+ - "\u0b08\n\u00ea\f\u00ea\16\u00ea\u0b0b\13\u00ea\3\u00eb\3\u00eb\3\u00eb"+ - "\3\u00ec\3\u00ec\3\u00ed\3\u00ed\3\u00ed\3\u00ee\3\u00ee\3\u00ef\3\u00ef"+ - "\3\u00ef\3\u00ef\3\u00ef\3\u00ef\3\u00ef\3\u00ef\7\u00ef\u0b1f\n\u00ef"+ - "\f\u00ef\16\u00ef\u0b22\13\u00ef\3\u00ef\3\u00ef\3\u00ef\3\u00ef\3\u00ef"+ - "\3\u00ef\7\u00ef\u0b2a\n\u00ef\f\u00ef\16\u00ef\u0b2d\13\u00ef\3\u00ef"+ - "\3\u00ef\3\u00ef\5\u00ef\u0b32\n\u00ef\3\u00ef\2\17\66:@\u01b6\u01b8\u01ba"+ - "\u01bc\u01be\u01c0\u01c2\u01c4\u01c6\u01c8\u00f0\2\4\6\b\n\f\16\20\22"+ - "\24\26\30\32\34\36 \"$&(*,.\60\62\64\668:<>@BDFHJLNPRTVXZ\\^`bdfhjlnp"+ - "rtvxz|~\u0080\u0082\u0084\u0086\u0088\u008a\u008c\u008e\u0090\u0092\u0094"+ - "\u0096\u0098\u009a\u009c\u009e\u00a0\u00a2\u00a4\u00a6\u00a8\u00aa\u00ac"+ - "\u00ae\u00b0\u00b2\u00b4\u00b6\u00b8\u00ba\u00bc\u00be\u00c0\u00c2\u00c4"+ - "\u00c6\u00c8\u00ca\u00cc\u00ce\u00d0\u00d2\u00d4\u00d6\u00d8\u00da\u00dc"+ - "\u00de\u00e0\u00e2\u00e4\u00e6\u00e8\u00ea\u00ec\u00ee\u00f0\u00f2\u00f4"+ - "\u00f6\u00f8\u00fa\u00fc\u00fe\u0100\u0102\u0104\u0106\u0108\u010a\u010c"+ - "\u010e\u0110\u0112\u0114\u0116\u0118\u011a\u011c\u011e\u0120\u0122\u0124"+ - "\u0126\u0128\u012a\u012c\u012e\u0130\u0132\u0134\u0136\u0138\u013a\u013c"+ - "\u013e\u0140\u0142\u0144\u0146\u0148\u014a\u014c\u014e\u0150\u0152\u0154"+ - "\u0156\u0158\u015a\u015c\u015e\u0160\u0162\u0164\u0166\u0168\u016a\u016c"+ - "\u016e\u0170\u0172\u0174\u0176\u0178\u017a\u017c\u017e\u0180\u0182\u0184"+ - "\u0186\u0188\u018a\u018c\u018e\u0190\u0192\u0194\u0196\u0198\u019a\u019c"+ - "\u019e\u01a0\u01a2\u01a4\u01a6\u01a8\u01aa\u01ac\u01ae\u01b0\u01b2\u01b4"+ - "\u01b6\u01b8\u01ba\u01bc\u01be\u01c0\u01c2\u01c4\u01c6\u01c8\u01ca\u01cc"+ - "\u01ce\u01d0\u01d2\u01d4\u01d6\u01d8\u01da\u01dc\2\6\3\2\66;\7\2\b\b\13"+ - "\13\36\36 ((\4\2\21\21\27\27\4\2EE^h\2\u0c26\2\u01de\3\2\2\2\4\u01e2"+ - "\3\2\2\2\6\u01f2\3\2\2\2\b\u01f6\3\2\2\2\n\u01f8\3\2\2\2\f\u01fa\3\2\2"+ - "\2\16\u01ff\3\2\2\2\20\u0203\3\2\2\2\22\u0221\3\2\2\2\24\u0223\3\2\2\2"+ - "\26\u0231\3\2\2\2\30\u0238\3\2\2\2\32\u023a\3\2\2\2\34\u023c\3\2\2\2\36"+ - "\u0241\3\2\2\2 \u024f\3\2\2\2\"\u0254\3\2\2\2$\u0269\3\2\2\2&\u0270\3"+ - "\2\2\2(\u027c\3\2\2\2*\u027e\3\2\2\2,\u0281\3\2\2\2.\u0285\3\2\2\2\60"+ - "\u028f\3\2\2\2\62\u0294\3\2\2\2\64\u029f\3\2\2\2\66\u02a1\3\2\2\28\u02b1"+ - "\3\2\2\2:\u02b3\3\2\2\2<\u02c3\3\2\2\2>\u02c5\3\2\2\2@\u02c7\3\2\2\2B"+ - "\u02d3\3\2\2\2D\u02e6\3\2\2\2F\u02f4\3\2\2\2H\u02fa\3\2\2\2J\u02fc\3\2"+ - "\2\2L\u0300\3\2\2\2N\u0306\3\2\2\2P\u030d\3\2\2\2R\u0317\3\2\2\2T\u031b"+ - "\3\2\2\2V\u0320\3\2\2\2X\u0338\3\2\2\2Z\u033a\3\2\2\2\\\u033e\3\2\2\2"+ - "^\u0346\3\2\2\2`\u0349\3\2\2\2b\u034c\3\2\2\2d\u0354\3\2\2\2f\u0360\3"+ - "\2\2\2h\u0367\3\2\2\2j\u036c\3\2\2\2l\u037d\3\2\2\2n\u037f\3\2\2\2p\u0387"+ - "\3\2\2\2r\u038c\3\2\2\2t\u0392\3\2\2\2v\u0396\3\2\2\2x\u039a\3\2\2\2z"+ - "\u039f\3\2\2\2|\u03a3\3\2\2\2~\u03bc\3\2\2\2\u0080\u03be\3\2\2\2\u0082"+ - "\u03c9\3\2\2\2\u0084\u03cd\3\2\2\2\u0086\u03cf\3\2\2\2\u0088\u03d1\3\2"+ - "\2\2\u008a\u03d3\3\2\2\2\u008c\u03de\3\2\2\2\u008e\u03e3\3\2\2\2\u0090"+ - "\u03f3\3\2\2\2\u0092\u040a\3\2\2\2\u0094\u040e\3\2\2\2\u0096\u0410\3\2"+ - "\2\2\u0098\u041e\3\2\2\2\u009a\u0430\3\2\2\2\u009c\u0435\3\2\2\2\u009e"+ - "\u043f\3\2\2\2\u00a0\u0452\3\2\2\2\u00a2\u0457\3\2\2\2\u00a4\u0461\3\2"+ - "\2\2\u00a6\u0464\3\2\2\2\u00a8\u046e\3\2\2\2\u00aa\u0472\3\2\2\2\u00ac"+ - "\u0474\3\2\2\2\u00ae\u0476\3\2\2\2\u00b0\u047c\3\2\2\2\u00b2\u0489\3\2"+ - "\2\2\u00b4\u048c\3\2\2\2\u00b6\u0495\3\2\2\2\u00b8\u0497\3\2\2\2\u00ba"+ - "\u04ce\3\2\2\2\u00bc\u04d3\3\2\2\2\u00be\u04dd\3\2\2\2\u00c0\u04e9\3\2"+ - "\2\2\u00c2\u04f4\3\2\2\2\u00c4\u0502\3\2\2\2\u00c6\u0504\3\2\2\2\u00c8"+ - "\u050d\3\2\2\2\u00ca\u0512\3\2\2\2\u00cc\u0526\3\2\2\2\u00ce\u0528\3\2"+ - "\2\2\u00d0\u052b\3\2\2\2\u00d2\u0539\3\2\2\2\u00d4\u053e\3\2\2\2\u00d6"+ - "\u0549\3\2\2\2\u00d8\u054e\3\2\2\2\u00da\u055a\3\2\2\2\u00dc\u055f\3\2"+ - "\2\2\u00de\u0567\3\2\2\2\u00e0\u0575\3\2\2\2\u00e2\u057a\3\2\2\2\u00e4"+ - "\u058c\3\2\2\2\u00e6\u058e\3\2\2\2\u00e8\u0594\3\2\2\2\u00ea\u0596\3\2"+ - "\2\2\u00ec\u059e\3\2\2\2\u00ee\u05a6\3\2\2\2\u00f0\u05ad\3\2\2\2\u00f2"+ - "\u05af\3\2\2\2\u00f4\u05b8\3\2\2\2\u00f6\u05c0\3\2\2\2\u00f8\u05c3\3\2"+ - "\2\2\u00fa\u05c9\3\2\2\2\u00fc\u05d2\3\2\2\2\u00fe\u05da\3\2\2\2\u0100"+ - "\u05e0\3\2\2\2\u0102\u05ea\3\2\2\2\u0104\u05ec\3\2\2\2\u0106\u05f1\3\2"+ - "\2\2\u0108\u05f6\3\2\2\2\u010a\u0602\3\2\2\2\u010c\u0609\3\2\2\2\u010e"+ - "\u0617\3\2\2\2\u0110\u0619\3\2\2\2\u0112\u061b\3\2\2\2\u0114\u061f\3\2"+ - "\2\2\u0116\u0623\3\2\2\2\u0118\u062d\3\2\2\2\u011a\u062f\3\2\2\2\u011c"+ - "\u0635\3\2\2\2\u011e\u063d\3\2\2\2\u0120\u064f\3\2\2\2\u0122\u0651\3\2"+ - "\2\2\u0124\u0657\3\2\2\2\u0126\u0666\3\2\2\2\u0128\u0669\3\2\2\2\u012a"+ - "\u067a\3\2\2\2\u012c\u067c\3\2\2\2\u012e\u067e\3\2\2\2\u0130\u0684\3\2"+ - "\2\2\u0132\u068a\3\2\2\2\u0134\u0694\3\2\2\2\u0136\u0698\3\2\2\2\u0138"+ - "\u069a\3\2\2\2\u013a\u06aa\3\2\2\2\u013c\u06bc\3\2\2\2\u013e\u06be\3\2"+ - "\2\2\u0140\u06c0\3\2\2\2\u0142\u06c8\3\2\2\2\u0144\u06d7\3\2\2\2\u0146"+ - "\u06e6\3\2\2\2\u0148\u06ec\3\2\2\2\u014a\u06f2\3\2\2\2\u014c\u06f8\3\2"+ - "\2\2\u014e\u06fc\3\2\2\2\u0150\u070e\3\2\2\2\u0152\u0710\3\2\2\2\u0154"+ - "\u0717\3\2\2\2\u0156\u0720\3\2\2\2\u0158\u0726\3\2\2\2\u015a\u072e\3\2"+ - "\2\2\u015c\u0731\3\2\2\2\u015e\u073a\3\2\2\2\u0160\u0741\3\2\2\2\u0162"+ - "\u074c\3\2\2\2\u0164\u0756\3\2\2\2\u0166\u077b\3\2\2\2\u0168\u077d\3\2"+ - "\2\2\u016a\u079b\3\2\2\2\u016c\u07a2\3\2\2\2\u016e\u07a4\3\2\2\2\u0170"+ - "\u07aa\3\2\2\2\u0172\u07d4\3\2\2\2\u0174\u07d6\3\2\2\2\u0176\u07ff\3\2"+ - "\2\2\u0178\u0854\3\2\2\2\u017a\u0856\3\2\2\2\u017c\u08a8\3\2\2\2\u017e"+ - "\u08ad\3\2\2\2\u0180\u08bc\3\2\2\2\u0182\u08be\3\2\2\2\u0184\u08ca\3\2"+ - "\2\2\u0186\u08d6\3\2\2\2\u0188\u08e2\3\2\2\2\u018a\u08fb\3\2\2\2\u018c"+ - "\u094b\3\2\2\2\u018e\u094d\3\2\2\2\u0190\u0990\3\2\2\2\u0192\u0992\3\2"+ - "\2\2\u0194\u09c9\3\2\2\2\u0196\u09cb\3\2\2\2\u0198\u09f9\3\2\2\2\u019a"+ - "\u0a11\3\2\2\2\u019c\u0a13\3\2\2\2\u019e\u0a1d\3\2\2\2\u01a0\u0a24\3\2"+ - "\2\2\u01a2\u0a28\3\2\2\2\u01a4\u0a2a\3\2\2\2\u01a6\u0a34\3\2\2\2\u01a8"+ - "\u0a36\3\2\2\2\u01aa\u0a40\3\2\2\2\u01ac\u0a44\3\2\2\2\u01ae\u0a46\3\2"+ - "\2\2\u01b0\u0a4d\3\2\2\2\u01b2\u0a4f\3\2\2\2\u01b4\u0a58\3\2\2\2\u01b6"+ - "\u0a5a\3\2\2\2\u01b8\u0a65\3\2\2\2\u01ba\u0a70\3\2\2\2\u01bc\u0a7b\3\2"+ - "\2\2\u01be\u0a86\3\2\2\2\u01c0\u0a91\3\2\2\2\u01c2\u0a9f\3\2\2\2\u01c4"+ - "\u0ab6\3\2\2\2\u01c6\u0acb\3\2\2\2\u01c8\u0ad9\3\2\2\2\u01ca\u0af1\3\2"+ - "\2\2\u01cc\u0af3\3\2\2\2\u01ce\u0af6\3\2\2\2\u01d0\u0aff\3\2\2\2\u01d2"+ - "\u0b03\3\2\2\2\u01d4\u0b0c\3\2\2\2\u01d6\u0b0f\3\2\2\2\u01d8\u0b11\3\2"+ - "\2\2\u01da\u0b14\3\2\2\2\u01dc\u0b31\3\2\2\2\u01de\u01df\t\2\2\2\u01df"+ - "\3\3\2\2\2\u01e0\u01e3\5\6\4\2\u01e1\u01e3\5\16\b\2\u01e2\u01e0\3\2\2"+ - "\2\u01e2\u01e1\3\2\2\2\u01e3\5\3\2\2\2\u01e4\u01e6\5\u00e8u\2\u01e5\u01e4"+ - "\3\2\2\2\u01e6\u01e9\3\2\2\2\u01e7\u01e5\3\2\2\2\u01e7\u01e8\3\2\2\2\u01e8"+ - "\u01ea\3\2\2\2\u01e9\u01e7\3\2\2\2\u01ea\u01f3\5\b\5\2\u01eb\u01ed\5\u00e8"+ - "u\2\u01ec\u01eb\3\2\2\2\u01ed\u01f0\3\2\2\2\u01ee\u01ec\3\2\2\2\u01ee"+ - "\u01ef\3\2\2\2\u01ef\u01f1\3\2\2\2\u01f0\u01ee\3\2\2\2\u01f1\u01f3\7\6"+ - "\2\2\u01f2\u01e7\3\2\2\2\u01f2\u01ee\3\2\2\2\u01f3\7\3\2\2\2\u01f4\u01f7"+ - "\5\n\6\2\u01f5\u01f7\5\f\7\2\u01f6\u01f4\3\2\2\2\u01f6\u01f5\3\2\2\2\u01f7"+ - "\t\3\2\2\2\u01f8\u01f9\t\3\2\2\u01f9\13\3\2\2\2\u01fa\u01fb\t\4\2\2\u01fb"+ - "\r\3\2\2\2\u01fc\u0200\5\20\t\2\u01fd\u0200\5\36\20\2\u01fe\u0200\5 \21"+ - "\2\u01ff\u01fc\3\2\2\2\u01ff\u01fd\3\2\2\2\u01ff\u01fe\3\2\2\2\u0200\17"+ - "\3\2\2\2\u0201\u0204\5\26\f\2\u0202\u0204\5\34\17\2\u0203\u0201\3\2\2"+ - "\2\u0203\u0202\3\2\2\2\u0204\u0208\3\2\2\2\u0205\u0207\5\24\13\2\u0206"+ - "\u0205\3\2\2\2\u0207\u020a\3\2\2\2\u0208\u0206\3\2\2\2\u0208\u0209\3\2"+ - "\2\2\u0209\21\3\2\2\2\u020a\u0208\3\2\2\2\u020b\u020d\5\u00e8u\2\u020c"+ - "\u020b\3\2\2\2\u020d\u0210\3\2\2\2\u020e\u020c\3\2\2\2\u020e\u020f\3\2"+ - "\2\2\u020f\u0211\3\2\2\2\u0210\u020e\3\2\2\2\u0211\u0213\7i\2\2\u0212"+ - "\u0214\5,\27\2\u0213\u0212\3\2\2\2\u0213\u0214\3\2\2\2\u0214\u0222\3\2"+ - "\2\2\u0215\u0216\5\20\t\2\u0216\u021a\7D\2\2\u0217\u0219\5\u00e8u\2\u0218"+ - "\u0217\3\2\2\2\u0219\u021c\3\2\2\2\u021a\u0218\3\2\2\2\u021a\u021b\3\2"+ - "\2\2\u021b\u021d\3\2\2\2\u021c\u021a\3\2\2\2\u021d\u021f\7i\2\2\u021e"+ - "\u0220\5,\27\2\u021f\u021e\3\2\2\2\u021f\u0220\3\2\2\2\u0220\u0222\3\2"+ - "\2\2\u0221\u020e\3\2\2\2\u0221\u0215\3\2\2\2\u0222\23\3\2\2\2\u0223\u0227"+ - "\7D\2\2\u0224\u0226\5\u00e8u\2\u0225\u0224\3\2\2\2\u0226\u0229\3\2\2\2"+ - "\u0227\u0225\3\2\2\2\u0227\u0228\3\2\2\2\u0228\u022a\3\2\2\2\u0229\u0227"+ - "\3\2\2\2\u022a\u022c\7i\2\2\u022b\u022d\5,\27\2\u022c\u022b\3\2\2\2\u022c"+ - "\u022d\3\2\2\2\u022d\25\3\2\2\2\u022e\u0230\5\u00e8u\2\u022f\u022e\3\2"+ - "\2\2\u0230\u0233\3\2\2\2\u0231\u022f\3\2\2\2\u0231\u0232\3\2\2\2\u0232"+ - "\u0234\3\2\2\2\u0233\u0231\3\2\2\2\u0234\u0236\7i\2\2\u0235\u0237\5,\27"+ - "\2\u0236\u0235\3\2\2\2\u0236\u0237\3\2\2\2\u0237\27\3\2\2\2\u0238\u0239"+ - "\5\22\n\2\u0239\31\3\2\2\2\u023a\u023b\5\24\13\2\u023b\33\3\2\2\2\u023c"+ - "\u023d\5\26\f\2\u023d\35\3\2\2\2\u023e\u0240\5\u00e8u\2\u023f\u023e\3"+ - "\2\2\2\u0240\u0243\3\2\2\2\u0241\u023f\3\2\2\2\u0241\u0242\3\2\2\2\u0242"+ - "\u0244\3\2\2\2\u0243\u0241\3\2\2\2\u0244\u0245\7i\2\2\u0245\37\3\2\2\2"+ - "\u0246\u0247\5\6\4\2\u0247\u0248\5\"\22\2\u0248\u0250\3\2\2\2\u0249\u024a"+ - "\5\20\t\2\u024a\u024b\5\"\22\2\u024b\u0250\3\2\2\2\u024c\u024d\5\36\20"+ - "\2\u024d\u024e\5\"\22\2\u024e\u0250\3\2\2\2\u024f\u0246\3\2\2\2\u024f"+ - "\u0249\3\2\2\2\u024f\u024c\3\2\2\2\u0250!\3\2\2\2\u0251\u0253\5\u00e8"+ - "u\2\u0252\u0251\3\2\2\2\u0253\u0256\3\2\2\2\u0254\u0252\3\2\2\2\u0254"+ - "\u0255\3\2\2\2\u0255\u0257\3\2\2\2\u0256\u0254\3\2\2\2\u0257\u0258\7@"+ - "\2\2\u0258\u0263\7A\2\2\u0259\u025b\5\u00e8u\2\u025a\u0259\3\2\2\2\u025b"+ - "\u025e\3\2\2\2\u025c\u025a\3\2\2\2\u025c\u025d\3\2\2\2\u025d\u025f\3\2"+ - "\2\2\u025e\u025c\3\2\2\2\u025f\u0260\7@\2\2\u0260\u0262\7A\2\2\u0261\u025c"+ - "\3\2\2\2\u0262\u0265\3\2\2\2\u0263\u0261\3\2\2\2\u0263\u0264\3\2\2\2\u0264"+ - "#\3\2\2\2\u0265\u0263\3\2\2\2\u0266\u0268\5&\24\2\u0267\u0266\3\2\2\2"+ - "\u0268\u026b\3\2\2\2\u0269\u0267\3\2\2\2\u0269\u026a\3\2\2\2\u026a\u026c"+ - "\3\2\2\2\u026b\u0269\3\2\2\2\u026c\u026e\7i\2\2\u026d\u026f\5(\25\2\u026e"+ - "\u026d\3\2\2\2\u026e\u026f\3\2\2\2\u026f%\3\2\2\2\u0270\u0271\5\u00e8"+ - "u\2\u0271\'\3\2\2\2\u0272\u0273\7\24\2\2\u0273\u027d\5\36\20\2\u0274\u0275"+ - "\7\24\2\2\u0275\u0279\5\20\t\2\u0276\u0278\5*\26\2\u0277\u0276\3\2\2\2"+ - "\u0278\u027b\3\2\2\2\u0279\u0277\3\2\2\2\u0279\u027a\3\2\2\2\u027a\u027d"+ - "\3\2\2\2\u027b\u0279\3\2\2\2\u027c\u0272\3\2\2\2\u027c\u0274\3\2\2\2\u027d"+ - ")\3\2\2\2\u027e\u027f\7X\2\2\u027f\u0280\5\30\r\2\u0280+\3\2\2\2\u0281"+ - "\u0282\7G\2\2\u0282\u0283\5.\30\2\u0283\u0284\7F\2\2\u0284-\3\2\2\2\u0285"+ - "\u028a\5\60\31\2\u0286\u0287\7C\2\2\u0287\u0289\5\60\31\2\u0288\u0286"+ - "\3\2\2\2\u0289\u028c\3\2\2\2\u028a\u0288\3\2\2\2\u028a\u028b\3\2\2\2\u028b"+ - "/\3\2\2\2\u028c\u028a\3\2\2\2\u028d\u0290\5\16\b\2\u028e\u0290\5\62\32"+ - "\2\u028f\u028d\3\2\2\2\u028f\u028e\3\2\2\2\u0290\61\3\2\2\2\u0291\u0293"+ - "\5\u00e8u\2\u0292\u0291\3\2\2\2\u0293\u0296\3\2\2\2\u0294\u0292\3\2\2"+ - "\2\u0294\u0295\3\2\2\2\u0295\u0297\3\2\2\2\u0296\u0294\3\2\2\2\u0297\u0299"+ - "\7J\2\2\u0298\u029a\5\64\33\2\u0299\u0298\3\2\2\2\u0299\u029a\3\2\2\2"+ - "\u029a\63\3\2\2\2\u029b\u029c\7\24\2\2\u029c\u02a0\5\16\b\2\u029d\u029e"+ - "\7+\2\2\u029e\u02a0\5\16\b\2\u029f\u029b\3\2\2\2\u029f\u029d\3\2\2\2\u02a0"+ - "\65\3\2\2\2\u02a1\u02a2\b\34\1\2\u02a2\u02a3\7i\2\2\u02a3\u02a9\3\2\2"+ - "\2\u02a4\u02a5\f\3\2\2\u02a5\u02a6\7D\2\2\u02a6\u02a8\7i\2\2\u02a7\u02a4"+ - "\3\2\2\2\u02a8\u02ab\3\2\2\2\u02a9\u02a7\3\2\2\2\u02a9\u02aa\3\2\2\2\u02aa"+ - "\67\3\2\2\2\u02ab\u02a9\3\2\2\2\u02ac\u02b2\7i\2\2\u02ad\u02ae\5:\36\2"+ - "\u02ae\u02af\7D\2\2\u02af\u02b0\7i\2\2\u02b0\u02b2\3\2\2\2\u02b1\u02ac"+ - "\3\2\2\2\u02b1\u02ad\3\2\2\2\u02b29\3\2\2\2\u02b3\u02b4\b\36\1\2\u02b4"+ - "\u02b5\7i\2\2\u02b5\u02bb\3\2\2\2\u02b6\u02b7\f\3\2\2\u02b7\u02b8\7D\2"+ - "\2\u02b8\u02ba\7i\2\2\u02b9\u02b6\3\2\2\2\u02ba\u02bd\3\2\2\2\u02bb\u02b9"+ - "\3\2\2\2\u02bb\u02bc\3\2\2\2\u02bc;\3\2\2\2\u02bd\u02bb\3\2\2\2\u02be"+ - "\u02c4\7i\2\2\u02bf\u02c0\5@!\2\u02c0\u02c1\7D\2\2\u02c1\u02c2\7i\2\2"+ - "\u02c2\u02c4\3\2\2\2\u02c3\u02be\3\2\2\2\u02c3\u02bf\3\2\2\2\u02c4=\3"+ - "\2\2\2\u02c5\u02c6\7i\2\2\u02c6?\3\2\2\2\u02c7\u02c8\b!\1\2\u02c8\u02c9"+ - "\7i\2\2\u02c9\u02cf\3\2\2\2\u02ca\u02cb\f\3\2\2\u02cb\u02cc\7D\2\2\u02cc"+ - "\u02ce\7i\2\2\u02cd\u02ca\3\2\2\2\u02ce\u02d1\3\2\2\2\u02cf\u02cd\3\2"+ - "\2\2\u02cf\u02d0\3\2\2\2\u02d0A\3\2\2\2\u02d1\u02cf\3\2\2\2\u02d2\u02d4"+ - "\5D#\2\u02d3\u02d2\3\2\2\2\u02d3\u02d4\3\2\2\2\u02d4\u02d8\3\2\2\2\u02d5"+ - "\u02d7\5H%\2\u02d6\u02d5\3\2\2\2\u02d7\u02da\3\2\2\2\u02d8\u02d6\3\2\2"+ - "\2\u02d8\u02d9\3\2\2\2\u02d9\u02de\3\2\2\2\u02da\u02d8\3\2\2\2\u02db\u02dd"+ - "\5R*\2\u02dc\u02db\3\2\2\2\u02dd\u02e0\3\2\2\2\u02de\u02dc\3\2\2\2\u02de"+ - "\u02df\3\2\2\2\u02df\u02e1\3\2\2\2\u02e0\u02de\3\2\2\2\u02e1\u02e2\7\2"+ - "\2\3\u02e2C\3\2\2\2\u02e3\u02e5\5F$\2\u02e4\u02e3\3\2\2\2\u02e5\u02e8"+ - "\3\2\2\2\u02e6\u02e4\3\2\2\2\u02e6\u02e7\3\2\2\2\u02e7\u02e9\3\2\2\2\u02e8"+ - "\u02e6\3\2\2\2\u02e9\u02ea\7#\2\2\u02ea\u02ef\7i\2\2\u02eb\u02ec\7D\2"+ - "\2\u02ec\u02ee\7i\2\2\u02ed\u02eb\3\2\2\2\u02ee\u02f1\3\2\2\2\u02ef\u02ed"+ - "\3\2\2\2\u02ef\u02f0\3\2\2\2\u02f0\u02f2\3\2\2\2\u02f1\u02ef\3\2\2\2\u02f2"+ - "\u02f3\7B\2\2\u02f3E\3\2\2\2\u02f4\u02f5\5\u00e8u\2\u02f5G\3\2\2\2\u02f6"+ - "\u02fb\5J&\2\u02f7\u02fb\5L\'\2\u02f8\u02fb\5N(\2\u02f9\u02fb\5P)\2\u02fa"+ - "\u02f6\3\2\2\2\u02fa\u02f7\3\2\2\2\u02fa\u02f8\3\2\2\2\u02fa\u02f9\3\2"+ - "\2\2\u02fbI\3\2\2\2\u02fc\u02fd\7\34\2\2\u02fd\u02fe\58\35\2\u02fe\u02ff"+ - "\7B\2\2\u02ffK\3\2\2\2\u0300\u0301\7\34\2\2\u0301\u0302\5:\36\2\u0302"+ - "\u0303\7D\2\2\u0303\u0304\7V\2\2\u0304\u0305\7B\2\2\u0305M\3\2\2\2\u0306"+ - "\u0307\7\34\2\2\u0307\u0308\7)\2\2\u0308\u0309\58\35\2\u0309\u030a\7D"+ - "\2\2\u030a\u030b\7i\2\2\u030b\u030c\7B\2\2\u030cO\3\2\2\2\u030d\u030e"+ - "\7\34\2\2\u030e\u030f\7)\2\2\u030f\u0310\58\35\2\u0310\u0311\7D\2\2\u0311"+ - "\u0312\7V\2\2\u0312\u0313\7B\2\2\u0313Q\3\2\2\2\u0314\u0318\5T+\2\u0315"+ - "\u0318\5\u00c8e\2\u0316\u0318\7B\2\2\u0317\u0314\3\2\2\2\u0317\u0315\3"+ - "\2\2\2\u0317\u0316\3\2\2\2\u0318S\3\2\2\2\u0319\u031c\5V,\2\u031a\u031c"+ - "\5\u00bc_\2\u031b\u0319\3\2\2\2\u031b\u031a\3\2\2\2\u031cU\3\2\2\2\u031d"+ - "\u031f\5X-\2\u031e\u031d\3\2\2\2\u031f\u0322\3\2\2\2\u0320\u031e\3\2\2"+ - "\2\u0320\u0321\3\2\2\2\u0321\u0323\3\2\2\2\u0322\u0320\3\2\2\2\u0323\u0324"+ - "\7\f\2\2\u0324\u0326\7i\2\2\u0325\u0327\5Z.\2\u0326\u0325\3\2\2\2\u0326"+ - "\u0327\3\2\2\2\u0327\u0329\3\2\2\2\u0328\u032a\5^\60\2\u0329\u0328\3\2"+ - "\2\2\u0329\u032a\3\2\2\2\u032a\u032c\3\2\2\2\u032b\u032d\5`\61\2\u032c"+ - "\u032b\3\2\2\2\u032c\u032d\3\2\2\2\u032d\u032e\3\2\2\2\u032e\u032f\5d"+ - "\63\2\u032fW\3\2\2\2\u0330\u0339\5\u00e8u\2\u0331\u0339\7&\2\2\u0332\u0339"+ - "\7%\2\2\u0333\u0339\7$\2\2\u0334\u0339\7\4\2\2\u0335\u0339\7)\2\2\u0336"+ - "\u0339\7\25\2\2\u0337\u0339\7*\2\2\u0338\u0330\3\2\2\2\u0338\u0331\3\2"+ - "\2\2\u0338\u0332\3\2\2\2\u0338\u0333\3\2\2\2\u0338\u0334\3\2\2\2\u0338"+ - "\u0335\3\2\2\2\u0338\u0336\3\2\2\2\u0338\u0337\3\2\2\2\u0339Y\3\2\2\2"+ - "\u033a\u033b\7G\2\2\u033b\u033c\5\\/\2\u033c\u033d\7F\2\2\u033d[\3\2\2"+ - "\2\u033e\u0343\5$\23\2\u033f\u0340\7C\2\2\u0340\u0342\5$\23\2\u0341\u033f"+ - "\3\2\2\2\u0342\u0345\3\2\2\2\u0343\u0341\3\2\2\2\u0343\u0344\3\2\2\2\u0344"+ - "]\3\2\2\2\u0345\u0343\3\2\2\2\u0346\u0347\7\24\2\2\u0347\u0348\5\22\n"+ - "\2\u0348_\3\2\2\2\u0349\u034a\7\33\2\2\u034a\u034b\5b\62\2\u034ba\3\2"+ - "\2\2\u034c\u0351\5\30\r\2\u034d\u034e\7C\2\2\u034e\u0350\5\30\r\2\u034f"+ - "\u034d\3\2\2\2\u0350\u0353\3\2\2\2\u0351\u034f\3\2\2\2\u0351\u0352\3\2"+ - "\2\2\u0352c\3\2\2\2\u0353\u0351\3\2\2\2\u0354\u0358\7>\2\2\u0355\u0357"+ - "\5f\64\2\u0356\u0355\3\2\2\2\u0357\u035a\3\2\2\2\u0358\u0356\3\2\2\2\u0358"+ - "\u0359\3\2\2\2\u0359\u035b\3\2\2\2\u035a\u0358\3\2\2\2\u035b\u035c\7?"+ - "\2\2\u035ce\3\2\2\2\u035d\u0361\5h\65\2\u035e\u0361\5\u00acW\2\u035f\u0361"+ - "\5\u00aeX\2\u0360\u035d\3\2\2\2\u0360\u035e\3\2\2\2\u0360\u035f\3\2\2"+ - "\2\u0361g\3\2\2\2\u0362\u0368\5j\66\2\u0363\u0368\5\u008eH\2\u0364\u0368"+ - "\5T+\2\u0365\u0368\5\u00c8e\2\u0366\u0368\7B\2\2\u0367\u0362\3\2\2\2\u0367"+ - "\u0363\3\2\2\2\u0367\u0364\3\2\2\2\u0367\u0365\3\2\2\2\u0367\u0366\3\2"+ - "\2\2\u0368i\3\2\2\2\u0369\u036b\5l\67\2\u036a\u0369\3\2\2\2\u036b\u036e"+ - "\3\2\2\2\u036c\u036a\3\2\2\2\u036c\u036d\3\2\2\2\u036d\u0370\3\2\2\2\u036e"+ - "\u036c\3\2\2\2\u036f\u0371\5\u0106\u0084\2\u0370\u036f\3\2\2\2\u0370\u0371"+ - "\3\2\2\2\u0371\u0372\3\2\2\2\u0372\u0373\5n8\2\u0373\u0374\7B\2\2\u0374"+ - "k\3\2\2\2\u0375\u037e\5\u00e8u\2\u0376\u037e\7&\2\2\u0377\u037e\7%\2\2"+ - "\u0378\u037e\7$\2\2\u0379\u037e\7)\2\2\u037a\u037e\7\25\2\2\u037b\u037e"+ - "\7\61\2\2\u037c\u037e\7\64\2\2\u037d\u0375\3\2\2\2\u037d\u0376\3\2\2\2"+ - "\u037d\u0377\3\2\2\2\u037d\u0378\3\2\2\2\u037d\u0379\3\2\2\2\u037d\u037a"+ - "\3\2\2\2\u037d\u037b\3\2\2\2\u037d\u037c\3\2\2\2\u037em\3\2\2\2\u037f"+ - "\u0384\5p9\2\u0380\u0381\7C\2\2\u0381\u0383\5p9\2\u0382\u0380\3\2\2\2"+ - "\u0383\u0386\3\2\2\2\u0384\u0382\3\2\2\2\u0384\u0385\3\2\2\2\u0385o\3"+ - "\2\2\2\u0386\u0384\3\2\2\2\u0387\u038a\5r:\2\u0388\u0389\7E\2\2\u0389"+ - "\u038b\5t;\2\u038a\u0388\3\2\2\2\u038a\u038b\3\2\2\2\u038bq\3\2\2\2\u038c"+ - "\u038e\7i\2\2\u038d\u038f\5\"\22\2\u038e\u038d\3\2\2\2\u038e\u038f\3\2"+ - "\2\2\u038fs\3\2\2\2\u0390\u0393\5\u01a2\u00d2\2\u0391\u0393\5\u00fa~\2"+ - "\u0392\u0390\3\2\2\2\u0392\u0391\3\2\2\2\u0393u\3\2\2\2\u0394\u0397\5"+ - "x=\2\u0395\u0397\5z>\2\u0396\u0394\3\2\2\2\u0396\u0395\3\2\2\2\u0397w"+ - "\3\2\2\2\u0398\u039b\5\b\5\2\u0399\u039b\7\6\2\2\u039a\u0398\3\2\2\2\u039a"+ - "\u0399\3\2\2\2\u039by\3\2\2\2\u039c\u03a0\5|?\2\u039d\u03a0\5\u008aF\2"+ - "\u039e\u03a0\5\u008cG\2\u039f\u039c\3\2\2\2\u039f\u039d\3\2\2\2\u039f"+ - "\u039e\3\2\2\2\u03a0{\3\2\2\2\u03a1\u03a4\5\u0082B\2\u03a2\u03a4\5\u0088"+ - "E\2\u03a3\u03a1\3\2\2\2\u03a3\u03a2\3\2\2\2\u03a4\u03a9\3\2\2\2\u03a5"+ - "\u03a8\5\u0080A\2\u03a6\u03a8\5\u0086D\2\u03a7\u03a5\3\2\2\2\u03a7\u03a6"+ - "\3\2\2\2\u03a8\u03ab\3\2\2\2\u03a9\u03a7\3\2\2\2\u03a9\u03aa\3\2\2\2\u03aa"+ - "}\3\2\2\2\u03ab\u03a9\3\2\2\2\u03ac\u03ae\7i\2\2\u03ad\u03af\5,\27\2\u03ae"+ - "\u03ad\3\2\2\2\u03ae\u03af\3\2\2\2\u03af\u03bd\3\2\2\2\u03b0\u03b1\5|"+ - "?\2\u03b1\u03b5\7D\2\2\u03b2\u03b4\5\u00e8u\2\u03b3\u03b2\3\2\2\2\u03b4"+ - "\u03b7\3\2\2\2\u03b5\u03b3\3\2\2\2\u03b5\u03b6\3\2\2\2\u03b6\u03b8\3\2"+ - "\2\2\u03b7\u03b5\3\2\2\2\u03b8\u03ba\7i\2\2\u03b9\u03bb\5,\27\2\u03ba"+ - "\u03b9\3\2\2\2\u03ba\u03bb\3\2\2\2\u03bb\u03bd\3\2\2\2\u03bc\u03ac\3\2"+ - "\2\2\u03bc\u03b0\3\2\2\2\u03bd\177\3\2\2\2\u03be\u03c2\7D\2\2\u03bf\u03c1"+ - "\5\u00e8u\2\u03c0\u03bf\3\2\2\2\u03c1\u03c4\3\2\2\2\u03c2\u03c0\3\2\2"+ - "\2\u03c2\u03c3\3\2\2\2\u03c3\u03c5\3\2\2\2\u03c4\u03c2\3\2\2\2\u03c5\u03c7"+ - "\7i\2\2\u03c6\u03c8\5,\27\2\u03c7\u03c6\3\2\2\2\u03c7\u03c8\3\2\2\2\u03c8"+ - "\u0081\3\2\2\2\u03c9\u03cb\7i\2\2\u03ca\u03cc\5,\27\2\u03cb\u03ca\3\2"+ - "\2\2\u03cb\u03cc\3\2\2\2\u03cc\u0083\3\2\2\2\u03cd\u03ce\5~@\2\u03ce\u0085"+ - "\3\2\2\2\u03cf\u03d0\5\u0080A\2\u03d0\u0087\3\2\2\2\u03d1\u03d2\5\u0082"+ - "B\2\u03d2\u0089\3\2\2\2\u03d3\u03d4\7i\2\2\u03d4\u008b\3\2\2\2\u03d5\u03d6"+ - "\5x=\2\u03d6\u03d7\5\"\22\2\u03d7\u03df\3\2\2\2\u03d8\u03d9\5|?\2\u03d9"+ - "\u03da\5\"\22\2\u03da\u03df\3\2\2\2\u03db\u03dc\5\u008aF\2\u03dc\u03dd"+ - "\5\"\22\2\u03dd\u03df\3\2\2\2\u03de\u03d5\3\2\2\2\u03de\u03d8\3\2\2\2"+ - "\u03de\u03db\3\2\2\2\u03df\u008d\3\2\2\2\u03e0\u03e2\5\u0090I\2\u03e1"+ - "\u03e0\3\2\2\2\u03e2\u03e5\3\2\2\2\u03e3\u03e1\3\2\2\2\u03e3\u03e4\3\2"+ - "\2\2\u03e4\u03e6\3\2\2\2\u03e5\u03e3\3\2\2\2\u03e6\u03e7\5\u0092J\2\u03e7"+ - "\u03e8\5\u00aaV\2\u03e8\u008f\3\2\2\2\u03e9\u03f4\5\u00e8u\2\u03ea\u03f4"+ - "\7&\2\2\u03eb\u03f4\7%\2\2\u03ec\u03f4\7$\2\2\u03ed\u03f4\7\4\2\2\u03ee"+ - "\u03f4\7)\2\2\u03ef\u03f4\7\25\2\2\u03f0\u03f4\7-\2\2\u03f1\u03f4\7!\2"+ - "\2\u03f2\u03f4\7*\2\2\u03f3\u03e9\3\2\2\2\u03f3\u03ea\3\2\2\2\u03f3\u03eb"+ - "\3\2\2\2\u03f3\u03ec\3\2\2\2\u03f3\u03ed\3\2\2\2\u03f3\u03ee\3\2\2\2\u03f3"+ - "\u03ef\3\2\2\2\u03f3\u03f0\3\2\2\2\u03f3\u03f1\3\2\2\2\u03f3\u03f2\3\2"+ - "\2\2\u03f4\u0091\3\2\2\2\u03f5\u03f7\5\u0094K\2\u03f6\u03f5\3\2\2\2\u03f6"+ - "\u03f7\3\2\2\2\u03f7\u03f8\3\2\2\2\u03f8\u03fa\5\u0096L\2\u03f9\u03fb"+ - "\5\u00a4S\2\u03fa\u03f9\3\2\2\2\u03fa\u03fb\3\2\2\2\u03fb\u040b\3\2\2"+ - "\2\u03fc\u0400\5Z.\2\u03fd\u03ff\5\u00e8u\2\u03fe\u03fd\3\2\2\2\u03ff"+ - "\u0402\3\2\2\2\u0400\u03fe\3\2\2\2\u0400\u0401\3\2\2\2\u0401\u0404\3\2"+ - "\2\2\u0402\u0400\3\2\2\2\u0403\u0405\5\u0094K\2\u0404\u0403\3\2\2\2\u0404"+ - "\u0405\3\2\2\2\u0405\u0406\3\2\2\2\u0406\u0408\5\u0096L\2\u0407\u0409"+ - "\5\u00a4S\2\u0408\u0407\3\2\2\2\u0408\u0409\3\2\2\2\u0409\u040b\3\2\2"+ - "\2\u040a\u03f6\3\2\2\2\u040a\u03fc\3\2\2\2\u040b\u0093\3\2\2\2\u040c\u040f"+ - "\5v<\2\u040d\u040f\7\63\2\2\u040e\u040c\3\2\2\2\u040e\u040d\3\2\2\2\u040f"+ - "\u0095\3\2\2\2\u0410\u0411\7i\2\2\u0411\u0413\7<\2\2\u0412\u0414\5\u0098"+ - "M\2\u0413\u0412\3\2\2\2\u0413\u0414\3\2\2\2\u0414\u0415\3\2\2\2\u0415"+ - "\u0417\7=\2\2\u0416\u0418\5\"\22\2\u0417\u0416\3\2\2\2\u0417\u0418\3\2"+ - "\2\2\u0418\u0097\3\2\2\2\u0419\u041a\5\u009aN\2\u041a\u041b\7C\2\2\u041b"+ - "\u041c\5\u00a0Q\2\u041c\u041f\3\2\2\2\u041d\u041f\5\u00a0Q\2\u041e\u0419"+ - "\3\2\2\2\u041e\u041d\3\2\2\2\u041f\u0099\3\2\2\2\u0420\u0425\5\u009cO"+ - "\2\u0421\u0422\7C\2\2\u0422\u0424\5\u009cO\2\u0423\u0421\3\2\2\2\u0424"+ - "\u0427\3\2\2\2\u0425\u0423\3\2\2\2\u0425\u0426\3\2\2\2\u0426\u0431\3\2"+ - "\2\2\u0427\u0425\3\2\2\2\u0428\u042d\5\u00a2R\2\u0429\u042a\7C\2\2\u042a"+ - "\u042c\5\u009cO\2\u042b\u0429\3\2\2\2\u042c\u042f\3\2\2\2\u042d\u042b"+ - "\3\2\2\2\u042d\u042e\3\2\2\2\u042e\u0431\3\2\2\2\u042f\u042d\3\2\2\2\u0430"+ - "\u0420\3\2\2\2\u0430\u0428\3\2\2\2\u0431\u009b\3\2\2\2\u0432\u0434\5\u009e"+ - "P\2\u0433\u0432\3\2\2\2\u0434\u0437\3\2\2\2\u0435\u0433\3\2\2\2\u0435"+ - "\u0436\3\2\2\2\u0436\u0439\3\2\2\2\u0437\u0435\3\2\2\2\u0438\u043a\5v"+ - "<\2\u0439\u0438\3\2\2\2\u0439\u043a\3\2\2\2\u043a\u043b\3\2\2\2\u043b"+ - "\u043c\5r:\2\u043c\u009d\3\2\2\2\u043d\u0440\5\u00e8u\2\u043e\u0440\7"+ - "\25\2\2\u043f\u043d\3\2\2\2\u043f\u043e\3\2\2\2\u0440\u009f\3\2\2\2\u0441"+ - "\u0443\5\u009eP\2\u0442\u0441\3\2\2\2\u0443\u0446\3\2\2\2\u0444\u0442"+ - "\3\2\2\2\u0444\u0445\3\2\2\2\u0445\u0447\3\2\2\2\u0446\u0444\3\2\2\2\u0447"+ - "\u044b\5v<\2\u0448\u044a\5\u00e8u\2\u0449\u0448\3\2\2\2\u044a\u044d\3"+ - "\2\2\2\u044b\u0449\3\2\2\2\u044b\u044c\3\2\2\2\u044c\u044e\3\2\2\2\u044d"+ - "\u044b\3\2\2\2\u044e\u044f\7k\2\2\u044f\u0450\5r:\2\u0450\u0453\3\2\2"+ - "\2\u0451\u0453\5\u009cO\2\u0452\u0444\3\2\2\2\u0452\u0451\3\2\2\2\u0453"+ - "\u00a1\3\2\2\2\u0454\u0456\5\u00e8u\2\u0455\u0454\3\2\2\2\u0456\u0459"+ - "\3\2\2\2\u0457\u0455\3\2\2\2\u0457\u0458\3\2\2\2\u0458\u045a\3\2\2\2\u0459"+ - "\u0457\3\2\2\2\u045a\u045d\5v<\2\u045b\u045c\7i\2\2\u045c\u045e\7D\2\2"+ - "\u045d\u045b\3\2\2\2\u045d\u045e\3\2\2\2\u045e\u045f\3\2\2\2\u045f\u0460"+ - "\7.\2\2\u0460\u00a3\3\2\2\2\u0461\u0462\7\60\2\2\u0462\u0463\5\u00a6T"+ - "\2\u0463\u00a5\3\2\2\2\u0464\u0469\5\u00a8U\2\u0465\u0466\7C\2\2\u0466"+ - "\u0468\5\u00a8U\2\u0467\u0465\3\2\2\2\u0468\u046b\3\2\2\2\u0469\u0467"+ - "\3\2\2\2\u0469\u046a\3\2\2\2\u046a\u00a7\3\2\2\2\u046b\u0469\3\2\2\2\u046c"+ - "\u046f\5\22\n\2\u046d\u046f\5\36\20\2\u046e\u046c\3\2\2\2\u046e\u046d"+ - "\3\2\2\2\u046f\u00a9\3\2\2\2\u0470\u0473\5\u00fe\u0080\2\u0471\u0473\7"+ - "B\2\2\u0472\u0470\3\2\2\2\u0472\u0471\3\2\2\2\u0473\u00ab\3\2\2\2\u0474"+ - "\u0475\5\u00fe\u0080\2\u0475\u00ad\3\2\2\2\u0476\u0477\7)\2\2\u0477\u0478"+ - "\5\u00fe\u0080\2\u0478\u00af\3\2\2\2\u0479\u047b\5\u00b2Z\2\u047a\u0479"+ - "\3\2\2\2\u047b\u047e\3\2\2\2\u047c\u047a\3\2\2\2\u047c\u047d\3\2\2\2\u047d"+ - "\u047f\3\2\2\2\u047e\u047c\3\2\2\2\u047f\u0481\5\u00b4[\2\u0480\u0482"+ - "\5\u00a4S\2\u0481\u0480\3\2\2\2\u0481\u0482\3\2\2\2\u0482\u0483\3\2\2"+ - "\2\u0483\u0484\5\u00b8]\2\u0484\u00b1\3\2\2\2\u0485\u048a\5\u00e8u\2\u0486"+ - "\u048a\7&\2\2\u0487\u048a\7%\2\2\u0488\u048a\7$\2\2\u0489\u0485\3\2\2"+ - "\2\u0489\u0486\3\2\2\2\u0489\u0487\3\2\2\2\u0489\u0488\3\2\2\2\u048a\u00b3"+ - "\3\2\2\2\u048b\u048d\5Z.\2\u048c\u048b\3\2\2\2\u048c\u048d\3\2\2\2\u048d"+ - "\u048e\3\2\2\2\u048e\u048f\5\u00b6\\\2\u048f\u0491\7<\2\2\u0490\u0492"+ - "\5\u0098M\2\u0491\u0490\3\2\2\2\u0491\u0492\3\2\2\2\u0492\u0493\3\2\2"+ - "\2\u0493\u0494\7=\2\2\u0494\u00b5\3\2\2\2\u0495\u0496\7i\2\2\u0496\u00b7"+ - "\3\2\2\2\u0497\u0499\7>\2\2\u0498\u049a\5\u00ba^\2\u0499\u0498\3\2\2\2"+ - "\u0499\u049a\3\2\2\2\u049a\u049c\3\2\2\2\u049b\u049d\5\u0100\u0081\2\u049c"+ - "\u049b\3\2\2\2\u049c\u049d\3\2\2\2\u049d\u049e\3\2\2\2\u049e\u049f\7?"+ - "\2\2\u049f\u00b9\3\2\2\2\u04a0\u04a2\5,\27\2\u04a1\u04a0\3\2\2\2\u04a1"+ - "\u04a2\3\2\2\2\u04a2\u04a3\3\2\2\2\u04a3\u04a4\7.\2\2\u04a4\u04a6\7<\2"+ - "\2\u04a5\u04a7\5\u0192\u00ca\2\u04a6\u04a5\3\2\2\2\u04a6\u04a7\3\2\2\2"+ - "\u04a7\u04a8\3\2\2\2\u04a8\u04a9\7=\2\2\u04a9\u04cf\7B\2\2\u04aa\u04ac"+ - "\5,\27\2\u04ab\u04aa\3\2\2\2\u04ab\u04ac\3\2\2\2\u04ac\u04ad\3\2\2\2\u04ad"+ - "\u04ae\7+\2\2\u04ae\u04b0\7<\2\2\u04af\u04b1\5\u0192\u00ca\2\u04b0\u04af"+ - "\3\2\2\2\u04b0\u04b1\3\2\2\2\u04b1\u04b2\3\2\2\2\u04b2\u04b3\7=\2\2\u04b3"+ - "\u04cf\7B\2\2\u04b4\u04b5\5<\37\2\u04b5\u04b7\7D\2\2\u04b6\u04b8\5,\27"+ - "\2\u04b7\u04b6\3\2\2\2\u04b7\u04b8\3\2\2\2\u04b8\u04b9\3\2\2\2\u04b9\u04ba"+ - "\7+\2\2\u04ba\u04bc\7<\2\2\u04bb\u04bd\5\u0192\u00ca\2\u04bc\u04bb\3\2"+ - "\2\2\u04bc\u04bd\3\2\2\2\u04bd\u04be\3\2\2\2\u04be\u04bf\7=\2\2\u04bf"+ - "\u04c0\7B\2\2\u04c0\u04cf\3\2\2\2\u04c1\u04c2\5\u0164\u00b3\2\u04c2\u04c4"+ - "\7D\2\2\u04c3\u04c5\5,\27\2\u04c4\u04c3\3\2\2\2\u04c4\u04c5\3\2\2\2\u04c5"+ - "\u04c6\3\2\2\2\u04c6\u04c7\7+\2\2\u04c7\u04c9\7<\2\2\u04c8\u04ca\5\u0192"+ - "\u00ca\2\u04c9\u04c8\3\2\2\2\u04c9\u04ca\3\2\2\2\u04ca\u04cb\3\2\2\2\u04cb"+ - "\u04cc\7=\2\2\u04cc\u04cd\7B\2\2\u04cd\u04cf\3\2\2\2\u04ce\u04a1\3\2\2"+ - "\2\u04ce\u04ab\3\2\2\2\u04ce\u04b4\3\2\2\2\u04ce\u04c1\3\2\2\2\u04cf\u00bb"+ - "\3\2\2\2\u04d0\u04d2\5X-\2\u04d1\u04d0\3\2\2\2\u04d2\u04d5\3\2\2\2\u04d3"+ - "\u04d1\3\2\2\2\u04d3\u04d4\3\2\2\2\u04d4\u04d6\3\2\2\2\u04d5\u04d3\3\2"+ - "\2\2\u04d6\u04d7\7\23\2\2\u04d7\u04d9\7i\2\2\u04d8\u04da\5`\61\2\u04d9"+ - "\u04d8\3\2\2\2\u04d9\u04da\3\2\2\2\u04da\u04db\3\2\2\2\u04db\u04dc\5\u00be"+ - "`\2\u04dc\u00bd\3\2\2\2\u04dd\u04df\7>\2\2\u04de\u04e0\5\u00c0a\2\u04df"+ - "\u04de\3\2\2\2\u04df\u04e0\3\2\2\2\u04e0\u04e2\3\2\2\2\u04e1\u04e3\7C"+ - "\2\2\u04e2\u04e1\3\2\2\2\u04e2\u04e3\3\2\2\2\u04e3\u04e5\3\2\2\2\u04e4"+ - "\u04e6\5\u00c6d\2\u04e5\u04e4\3\2\2\2\u04e5\u04e6\3\2\2\2\u04e6\u04e7"+ - "\3\2\2\2\u04e7\u04e8\7?\2\2\u04e8\u00bf\3\2\2\2\u04e9\u04ee\5\u00c2b\2"+ - "\u04ea\u04eb\7C\2\2\u04eb\u04ed\5\u00c2b\2\u04ec\u04ea\3\2\2\2\u04ed\u04f0"+ - "\3\2\2\2\u04ee\u04ec\3\2\2\2\u04ee\u04ef\3\2\2\2\u04ef\u00c1\3\2\2\2\u04f0"+ - "\u04ee\3\2\2\2\u04f1\u04f3\5\u00c4c\2\u04f2\u04f1\3\2\2\2\u04f3\u04f6"+ - "\3\2\2\2\u04f4\u04f2\3\2\2\2\u04f4\u04f5\3\2\2\2\u04f5\u04f7\3\2\2\2\u04f6"+ - "\u04f4\3\2\2\2\u04f7\u04fd\7i\2\2\u04f8\u04fa\7<\2\2\u04f9\u04fb\5\u0192"+ - "\u00ca\2\u04fa\u04f9\3\2\2\2\u04fa\u04fb\3\2\2\2\u04fb\u04fc\3\2\2\2\u04fc"+ - "\u04fe\7=\2\2\u04fd\u04f8\3\2\2\2\u04fd\u04fe\3\2\2\2\u04fe\u0500\3\2"+ - "\2\2\u04ff\u0501\5d\63\2\u0500\u04ff\3\2\2\2\u0500\u0501\3\2\2\2\u0501"+ - "\u00c3\3\2\2\2\u0502\u0503\5\u00e8u\2\u0503\u00c5\3\2\2\2\u0504\u0508"+ - "\7B\2\2\u0505\u0507\5f\64\2\u0506\u0505\3\2\2\2\u0507\u050a\3\2\2\2\u0508"+ - "\u0506\3\2\2\2\u0508\u0509\3\2\2\2\u0509\u00c7\3\2\2\2\u050a\u0508\3\2"+ - "\2\2\u050b\u050e\5\u00caf\2\u050c\u050e\5\u00dco\2\u050d\u050b\3\2\2\2"+ - "\u050d\u050c\3\2\2\2\u050e\u00c9\3\2\2\2\u050f\u0511\5\u00ccg\2\u0510"+ - "\u050f\3\2\2\2\u0511\u0514\3\2\2\2\u0512\u0510\3\2\2\2\u0512\u0513\3\2"+ - "\2\2\u0513\u0515\3\2\2\2\u0514\u0512\3\2\2\2\u0515\u0516\7\37\2\2\u0516"+ - "\u0518\7i\2\2\u0517\u0519\5Z.\2\u0518\u0517\3\2\2\2\u0518\u0519\3\2\2"+ - "\2\u0519\u051b\3\2\2\2\u051a\u051c\5\u00ceh\2\u051b\u051a\3\2\2\2\u051b"+ - "\u051c\3\2\2\2\u051c\u051d\3\2\2\2\u051d\u051e\5\u00d0i\2\u051e\u00cb"+ - "\3\2\2\2\u051f\u0527\5\u00e8u\2\u0520\u0527\7&\2\2\u0521\u0527\7%\2\2"+ - "\u0522\u0527\7$\2\2\u0523\u0527\7\4\2\2\u0524\u0527\7)\2\2\u0525\u0527"+ - "\7*\2\2\u0526\u051f\3\2\2\2\u0526\u0520\3\2\2\2\u0526\u0521\3\2\2\2\u0526"+ - "\u0522\3\2\2\2\u0526\u0523\3\2\2\2\u0526\u0524\3\2\2\2\u0526\u0525\3\2"+ - "\2\2\u0527\u00cd\3\2\2\2\u0528\u0529\7\24\2\2\u0529\u052a\5b\62\2\u052a"+ - "\u00cf\3\2\2\2\u052b\u052f\7>\2\2\u052c\u052e\5\u00d2j\2\u052d\u052c\3"+ - "\2\2\2\u052e\u0531\3\2\2\2\u052f\u052d\3\2\2\2\u052f\u0530\3\2\2\2\u0530"+ - "\u0532\3\2\2\2\u0531\u052f\3\2\2\2\u0532\u0533\7?\2\2\u0533\u00d1\3\2"+ - "\2\2\u0534\u053a\5\u00d4k\2\u0535\u053a\5\u00d8m\2\u0536\u053a\5T+\2\u0537"+ - "\u053a\5\u00c8e\2\u0538\u053a\7B\2\2\u0539\u0534\3\2\2\2\u0539\u0535\3"+ - "\2\2\2\u0539\u0536\3\2\2\2\u0539\u0537\3\2\2\2\u0539\u0538\3\2\2\2\u053a"+ - "\u00d3\3\2\2\2\u053b\u053d\5\u00d6l\2\u053c\u053b\3\2\2\2\u053d\u0540"+ - "\3\2\2\2\u053e\u053c\3\2\2\2\u053e\u053f\3\2\2\2\u053f\u0541\3\2\2\2\u0540"+ - "\u053e\3\2\2\2\u0541\u0542\5v<\2\u0542\u0543\5n8\2\u0543\u0544\7B\2\2"+ - "\u0544\u00d5\3\2\2\2\u0545\u054a\5\u00e8u\2\u0546\u054a\7&\2\2\u0547\u054a"+ - "\7)\2\2\u0548\u054a\7\25\2\2\u0549\u0545\3\2\2\2\u0549\u0546\3\2\2\2\u0549"+ - "\u0547\3\2\2\2\u0549\u0548\3\2\2\2\u054a\u00d7\3\2\2\2\u054b\u054d\5\u00da"+ - "n\2\u054c\u054b\3\2\2\2\u054d\u0550\3\2\2\2\u054e\u054c\3\2\2\2\u054e"+ - "\u054f\3\2\2\2\u054f\u0551\3\2\2\2\u0550\u054e\3\2\2\2\u0551\u0552\5\u0092"+ - "J\2\u0552\u0553\5\u00aaV\2\u0553\u00d9\3\2\2\2\u0554\u055b\5\u00e8u\2"+ - "\u0555\u055b\7&\2\2\u0556\u055b\7\4\2\2\u0557\u055b\7\17\2\2\u0558\u055b"+ - "\7)\2\2\u0559\u055b\7*\2\2\u055a\u0554\3\2\2\2\u055a\u0555\3\2\2\2\u055a"+ - "\u0556\3\2\2\2\u055a\u0557\3\2\2\2\u055a\u0558\3\2\2\2\u055a\u0559\3\2"+ - "\2\2\u055b\u00db\3\2\2\2\u055c\u055e\5\u00ccg\2\u055d\u055c\3\2\2\2\u055e"+ - "\u0561\3\2\2\2\u055f\u055d\3\2\2\2\u055f\u0560\3\2\2\2\u0560\u0562\3\2"+ - "\2\2\u0561\u055f\3\2\2\2\u0562\u0563\7j\2\2\u0563\u0564\7\37\2\2\u0564"+ - "\u0565\7i\2\2\u0565\u0566\5\u00dep\2\u0566\u00dd\3\2\2\2\u0567\u056b\7"+ - ">\2\2\u0568\u056a\5\u00e0q\2\u0569\u0568\3\2\2\2\u056a\u056d\3\2\2\2\u056b"+ - "\u0569\3\2\2\2\u056b\u056c\3\2\2\2\u056c\u056e\3\2\2\2\u056d\u056b\3\2"+ - "\2\2\u056e\u056f\7?\2\2\u056f\u00df\3\2\2\2\u0570\u0576\5\u00e2r\2\u0571"+ - "\u0576\5\u00d4k\2\u0572\u0576\5T+\2\u0573\u0576\5\u00c8e\2\u0574\u0576"+ - "\7B\2\2\u0575\u0570\3\2\2\2\u0575\u0571\3\2\2\2\u0575\u0572\3\2\2\2\u0575"+ - "\u0573\3\2\2\2\u0575\u0574\3\2\2\2\u0576\u00e1\3\2\2\2\u0577\u0579\5\u00e4"+ - "s\2\u0578\u0577\3\2\2\2\u0579\u057c\3\2\2\2\u057a\u0578\3\2\2\2\u057a"+ - "\u057b\3\2\2\2\u057b\u057d\3\2\2\2\u057c\u057a\3\2\2\2\u057d\u057e\5v"+ - "<\2\u057e\u057f\7i\2\2\u057f\u0580\7<\2\2\u0580\u0582\7=\2\2\u0581\u0583"+ - "\5\"\22\2\u0582\u0581\3\2\2\2\u0582\u0583\3\2\2\2\u0583\u0585\3\2\2\2"+ - "\u0584\u0586\5\u00e6t\2\u0585\u0584\3\2\2\2\u0585\u0586\3\2\2\2\u0586"+ - "\u0587\3\2\2\2\u0587\u0588\7B\2\2\u0588\u00e3\3\2\2\2\u0589\u058d\5\u00e8"+ - "u\2\u058a\u058d\7&\2\2\u058b\u058d\7\4\2\2\u058c\u0589\3\2\2\2\u058c\u058a"+ - "\3\2\2\2\u058c\u058b\3\2\2\2\u058d\u00e5\3\2\2\2\u058e\u058f\7\17\2\2"+ - "\u058f\u0590\5\u00f0y\2\u0590\u00e7\3\2\2\2\u0591\u0595\5\u00eav\2\u0592"+ - "\u0595\5\u00f6|\2\u0593\u0595\5\u00f8}\2\u0594\u0591\3\2\2\2\u0594\u0592"+ - "\3\2\2\2\u0594\u0593\3\2\2\2\u0595\u00e9\3\2\2\2\u0596\u0597\7j\2\2\u0597"+ - "\u0598\58\35\2\u0598\u059a\7<\2\2\u0599\u059b\5\u00ecw\2\u059a\u0599\3"+ - "\2\2\2\u059a\u059b\3\2\2\2\u059b\u059c\3\2\2\2\u059c\u059d\7=\2\2\u059d"+ - "\u00eb\3\2\2\2\u059e\u05a3\5\u00eex\2\u059f\u05a0\7C\2\2\u05a0\u05a2\5"+ - "\u00eex\2\u05a1\u059f\3\2\2\2\u05a2\u05a5\3\2\2\2\u05a3\u05a1\3\2\2\2"+ - "\u05a3\u05a4\3\2\2\2\u05a4\u00ed\3\2\2\2\u05a5\u05a3\3\2\2\2\u05a6\u05a7"+ - "\7i\2\2\u05a7\u05a8\7E\2\2\u05a8\u05a9\5\u00f0y\2\u05a9\u00ef\3\2\2\2"+ - "\u05aa\u05ae\5\u01b4\u00db\2\u05ab\u05ae\5\u00f2z\2\u05ac\u05ae\5\u00e8"+ - "u\2\u05ad\u05aa\3\2\2\2\u05ad\u05ab\3\2\2\2\u05ad\u05ac\3\2\2\2\u05ae"+ - "\u00f1\3\2\2\2\u05af\u05b1\7>\2\2\u05b0\u05b2\5\u00f4{\2\u05b1\u05b0\3"+ - "\2\2\2\u05b1\u05b2\3\2\2\2\u05b2\u05b4\3\2\2\2\u05b3\u05b5\7C\2\2\u05b4"+ - "\u05b3\3\2\2\2\u05b4\u05b5\3\2\2\2\u05b5\u05b6\3\2\2\2\u05b6\u05b7\7?"+ - "\2\2\u05b7\u00f3\3\2\2\2\u05b8\u05bd\5\u00f0y\2\u05b9\u05ba\7C\2\2\u05ba"+ - "\u05bc\5\u00f0y\2\u05bb\u05b9\3\2\2\2\u05bc\u05bf\3\2\2\2\u05bd\u05bb"+ - "\3\2\2\2\u05bd\u05be\3\2\2\2\u05be\u00f5\3\2\2\2\u05bf\u05bd\3\2\2\2\u05c0"+ - "\u05c1\7j\2\2\u05c1\u05c2\58\35\2\u05c2\u00f7\3\2\2\2\u05c3\u05c4\7j\2"+ - "\2\u05c4\u05c5\58\35\2\u05c5\u05c6\7<\2\2\u05c6\u05c7\5\u00f0y\2\u05c7"+ - "\u05c8\7=\2\2\u05c8\u00f9\3\2\2\2\u05c9\u05cb\7>\2\2\u05ca\u05cc\5\u00fc"+ - "\177\2\u05cb\u05ca\3\2\2\2\u05cb\u05cc\3\2\2\2\u05cc\u05ce\3\2\2\2\u05cd"+ - "\u05cf\7C\2\2\u05ce\u05cd\3\2\2\2\u05ce\u05cf\3\2\2\2\u05cf\u05d0\3\2"+ - "\2\2\u05d0\u05d1\7?\2\2\u05d1\u00fb\3\2\2\2\u05d2\u05d7\5t;\2\u05d3\u05d4"+ - "\7C\2\2\u05d4\u05d6\5t;\2\u05d5\u05d3\3\2\2\2\u05d6\u05d9\3\2\2\2\u05d7"+ - "\u05d5\3\2\2\2\u05d7\u05d8\3\2\2\2\u05d8\u00fd\3\2\2\2\u05d9\u05d7\3\2"+ - "\2\2\u05da\u05dc\7>\2\2\u05db\u05dd\5\u0100\u0081\2\u05dc\u05db\3\2\2"+ - "\2\u05dc\u05dd\3\2\2\2\u05dd\u05de\3\2\2\2\u05de\u05df\7?\2\2\u05df\u00ff"+ - "\3\2\2\2\u05e0\u05e4\5\u0102\u0082\2\u05e1\u05e3\5\u0102\u0082\2\u05e2"+ - "\u05e1\3\2\2\2\u05e3\u05e6\3\2\2\2\u05e4\u05e2\3\2\2\2\u05e4\u05e5\3\2"+ - "\2\2\u05e5\u0101\3\2\2\2\u05e6\u05e4\3\2\2\2\u05e7\u05eb\5\u0104\u0083"+ - "\2\u05e8\u05eb\5T+\2\u05e9\u05eb\5\u010a\u0086\2\u05ea\u05e7\3\2\2\2\u05ea"+ - "\u05e8\3\2\2\2\u05ea\u05e9\3\2\2\2\u05eb\u0103\3\2\2\2\u05ec\u05ed\5\u0108"+ - "\u0085\2\u05ed\u05ee\7B\2\2\u05ee\u0105\3\2\2\2\u05ef\u05f2\5v<\2\u05f0"+ - "\u05f2\7\3\2\2\u05f1\u05ef\3\2\2\2\u05f1\u05f0\3\2\2\2\u05f2\u0107\3\2"+ - "\2\2\u05f3\u05f5\5\u009eP\2\u05f4\u05f3\3\2\2\2\u05f5\u05f8\3\2\2\2\u05f6"+ - "\u05f4\3\2\2\2\u05f6\u05f7\3\2\2\2\u05f7\u05f9\3\2\2\2\u05f8\u05f6\3\2"+ - "\2\2\u05f9\u05fa\5\u0106\u0084\2\u05fa\u05fb\5n8\2\u05fb\u0109\3\2\2\2"+ - "\u05fc\u0603\5\u010e\u0088\2\u05fd\u0603\5\u0112\u008a\2\u05fe\u0603\5"+ - "\u011a\u008e\2\u05ff\u0603\5\u011c\u008f\2\u0600\u0603\5\u012e\u0098\2"+ - "\u0601\u0603\5\u0134\u009b\2\u0602\u05fc\3\2\2\2\u0602\u05fd\3\2\2\2\u0602"+ - "\u05fe\3\2\2\2\u0602\u05ff\3\2\2\2\u0602\u0600\3\2\2\2\u0602\u0601\3\2"+ - "\2\2\u0603\u010b\3\2\2\2\u0604\u060a\5\u010e\u0088\2\u0605\u060a\5\u0114"+ - "\u008b\2\u0606\u060a\5\u011e\u0090\2\u0607\u060a\5\u0130\u0099\2\u0608"+ - "\u060a\5\u0136\u009c\2\u0609\u0604\3\2\2\2\u0609\u0605\3\2\2\2\u0609\u0606"+ - "\3\2\2\2\u0609\u0607\3\2\2\2\u0609\u0608\3\2\2\2\u060a\u010d\3\2\2\2\u060b"+ - "\u0618\5\u00fe\u0080\2\u060c\u0618\5\u0110\u0089\2\u060d\u0618\5\u0116"+ - "\u008c\2\u060e\u0618\5\u0120\u0091\2\u060f\u0618\5\u0122\u0092\2\u0610"+ - "\u0618\5\u0132\u009a\2\u0611\u0618\5\u0146\u00a4\2\u0612\u0618\5\u0148"+ - "\u00a5\2\u0613\u0618\5\u014a\u00a6\2\u0614\u0618\5\u014e\u00a8\2\u0615"+ - "\u0618\5\u014c\u00a7\2\u0616\u0618\5\u0150\u00a9\2\u0617\u060b\3\2\2\2"+ - "\u0617\u060c\3\2\2\2\u0617\u060d\3\2\2\2\u0617\u060e\3\2\2\2\u0617\u060f"+ - "\3\2\2\2\u0617\u0610\3\2\2\2\u0617\u0611\3\2\2\2\u0617\u0612\3\2\2\2\u0617"+ - "\u0613\3\2\2\2\u0617\u0614\3\2\2\2\u0617\u0615\3\2\2\2\u0617\u0616\3\2"+ - "\2\2\u0618\u010f\3\2\2\2\u0619\u061a\7B\2\2\u061a\u0111\3\2\2\2\u061b"+ - "\u061c\7i\2\2\u061c\u061d\7K\2\2\u061d\u061e\5\u010a\u0086\2\u061e\u0113"+ - "\3\2\2\2\u061f\u0620\7i\2\2\u0620\u0621\7K\2\2\u0621\u0622\5\u010c\u0087"+ - "\2\u0622\u0115\3\2\2\2\u0623\u0624\5\u0118\u008d\2\u0624\u0625\7B\2\2"+ - "\u0625\u0117\3\2\2\2\u0626\u062e\5\u01ae\u00d8\2\u0627\u062e\5\u01cc\u00e7"+ - "\2\u0628\u062e\5\u01ce\u00e8\2\u0629\u062e\5\u01d4\u00eb\2\u062a\u062e"+ - "\5\u01d8\u00ed\2\u062b\u062e\5\u018c\u00c7\2\u062c\u062e\5\u0178\u00bd"+ - "\2\u062d\u0626\3\2\2\2\u062d\u0627\3\2\2\2\u062d\u0628\3\2\2\2\u062d\u0629"+ - "\3\2\2\2\u062d\u062a\3\2\2\2\u062d\u062b\3\2\2\2\u062d\u062c\3\2\2\2\u062e"+ - "\u0119\3\2\2\2\u062f\u0630\7\31\2\2\u0630\u0631\7<\2\2\u0631\u0632\5\u01a2"+ - "\u00d2\2\u0632\u0633\7=\2\2\u0633\u0634\5\u010a\u0086\2\u0634\u011b\3"+ - "\2\2\2\u0635\u0636\7\31\2\2\u0636\u0637\7<\2\2\u0637\u0638\5\u01a2\u00d2"+ - "\2\u0638\u0639\7=\2\2\u0639\u063a\5\u010c\u0087\2\u063a\u063b\7\22\2\2"+ - "\u063b\u063c\5\u010a\u0086\2\u063c\u011d\3\2\2\2\u063d\u063e\7\31\2\2"+ - "\u063e\u063f\7<\2\2\u063f\u0640\5\u01a2\u00d2\2\u0640\u0641\7=\2\2\u0641"+ - "\u0642\5\u010c\u0087\2\u0642\u0643\7\22\2\2\u0643\u0644\5\u010c\u0087"+ - "\2\u0644\u011f\3\2\2\2\u0645\u0646\7\5\2\2\u0646\u0647\5\u01a2\u00d2\2"+ - "\u0647\u0648\7B\2\2\u0648\u0650\3\2\2\2\u0649\u064a\7\5\2\2\u064a\u064b"+ - "\5\u01a2\u00d2\2\u064b\u064c\7K\2\2\u064c\u064d\5\u01a2\u00d2\2\u064d"+ - "\u064e\7B\2\2\u064e\u0650\3\2\2\2\u064f\u0645\3\2\2\2\u064f\u0649\3\2"+ - "\2\2\u0650\u0121\3\2\2\2\u0651\u0652\7,\2\2\u0652\u0653\7<\2\2\u0653\u0654"+ - "\5\u01a2\u00d2\2\u0654\u0655\7=\2\2\u0655\u0656\5\u0124\u0093\2\u0656"+ - "\u0123\3\2\2\2\u0657\u065b\7>\2\2\u0658\u065a\5\u0126\u0094\2\u0659\u0658"+ - "\3\2\2\2\u065a\u065d\3\2\2\2\u065b\u0659\3\2\2\2\u065b\u065c\3\2\2\2\u065c"+ - "\u0661\3\2\2\2\u065d\u065b\3\2\2\2\u065e\u0660\5\u012a\u0096\2\u065f\u065e"+ - "\3\2\2\2\u0660\u0663\3\2\2\2\u0661\u065f\3\2\2\2\u0661\u0662\3\2\2\2\u0662"+ - "\u0664\3\2\2\2\u0663\u0661\3\2\2\2\u0664\u0665\7?\2\2\u0665\u0125\3\2"+ - "\2\2\u0666\u0667\5\u0128\u0095\2\u0667\u0668\5\u0100\u0081\2\u0668\u0127"+ - "\3\2\2\2\u0669\u066d\5\u012a\u0096\2\u066a\u066c\5\u012a\u0096\2\u066b"+ - "\u066a\3\2\2\2\u066c\u066f\3\2\2\2\u066d\u066b\3\2\2\2\u066d\u066e\3\2"+ - "\2\2\u066e\u0129\3\2\2\2\u066f\u066d\3\2\2\2\u0670\u0671\7\t\2\2\u0671"+ - "\u0672\5\u01a0\u00d1\2\u0672\u0673\7K\2\2\u0673\u067b\3\2\2\2\u0674\u0675"+ - "\7\t\2\2\u0675\u0676\5\u012c\u0097\2\u0676\u0677\7K\2\2\u0677\u067b\3"+ - "\2\2\2\u0678\u0679\7\17\2\2\u0679\u067b\7K\2\2\u067a\u0670\3\2\2\2\u067a"+ - "\u0674\3\2\2\2\u067a\u0678\3\2\2\2\u067b\u012b\3\2\2\2\u067c\u067d\7i"+ - "\2\2\u067d\u012d\3\2\2\2\u067e\u067f\7\65\2\2\u067f\u0680\7<\2\2\u0680"+ - "\u0681\5\u01a2\u00d2\2\u0681\u0682\7=\2\2\u0682\u0683\5\u010a\u0086\2"+ - "\u0683\u012f\3\2\2\2\u0684\u0685\7\65\2\2\u0685\u0686\7<\2\2\u0686\u0687"+ - "\5\u01a2\u00d2\2\u0687\u0688\7=\2\2\u0688\u0689\5\u010c\u0087\2\u0689"+ - "\u0131\3\2\2\2\u068a\u068b\7\20\2\2\u068b\u068c\5\u010a\u0086\2\u068c"+ - "\u068d\7\65\2\2\u068d\u068e\7<\2\2\u068e\u068f\5\u01a2\u00d2\2\u068f\u0690"+ - "\7=\2\2\u0690\u0691\7B\2\2\u0691\u0133\3\2\2\2\u0692\u0695\5\u0138\u009d"+ - "\2\u0693\u0695\5\u0142\u00a2\2\u0694\u0692\3\2\2\2\u0694\u0693\3\2\2\2"+ - "\u0695\u0135\3\2\2\2\u0696\u0699\5\u013a\u009e\2\u0697\u0699\5\u0144\u00a3"+ - "\2\u0698\u0696\3\2\2\2\u0698\u0697\3\2\2\2\u0699\u0137\3\2\2\2\u069a\u069b"+ - "\7\30\2\2\u069b\u069d\7<\2\2\u069c\u069e\5\u013c\u009f\2\u069d\u069c\3"+ - "\2\2\2\u069d\u069e\3\2\2\2\u069e\u069f\3\2\2\2\u069f\u06a1\7B\2\2\u06a0"+ - "\u06a2\5\u01a2\u00d2\2\u06a1\u06a0\3\2\2\2\u06a1\u06a2\3\2\2\2\u06a2\u06a3"+ - "\3\2\2\2\u06a3\u06a5\7B\2\2\u06a4\u06a6\5\u013e\u00a0\2\u06a5\u06a4\3"+ - "\2\2\2\u06a5\u06a6\3\2\2\2\u06a6\u06a7\3\2\2\2\u06a7\u06a8\7=\2\2\u06a8"+ - "\u06a9\5\u010a\u0086\2\u06a9\u0139\3\2\2\2\u06aa\u06ab\7\30\2\2\u06ab"+ - "\u06ad\7<\2\2\u06ac\u06ae\5\u013c\u009f\2\u06ad\u06ac\3\2\2\2\u06ad\u06ae"+ - "\3\2\2\2\u06ae\u06af\3\2\2\2\u06af\u06b1\7B\2\2\u06b0\u06b2\5\u01a2\u00d2"+ - "\2\u06b1\u06b0\3\2\2\2\u06b1\u06b2\3\2\2\2\u06b2\u06b3\3\2\2\2\u06b3\u06b5"+ - "\7B\2\2\u06b4\u06b6\5\u013e\u00a0\2\u06b5\u06b4\3\2\2\2\u06b5\u06b6\3"+ - "\2\2\2\u06b6\u06b7\3\2\2\2\u06b7\u06b8\7=\2\2\u06b8\u06b9\5\u010c\u0087"+ - "\2\u06b9\u013b\3\2\2\2\u06ba\u06bd\5\u0140\u00a1\2\u06bb\u06bd\5\u0108"+ - "\u0085\2\u06bc\u06ba\3\2\2\2\u06bc\u06bb\3\2\2\2\u06bd\u013d\3\2\2\2\u06be"+ - "\u06bf\5\u0140\u00a1\2\u06bf\u013f\3\2\2\2\u06c0\u06c5\5\u0118\u008d\2"+ - "\u06c1\u06c2\7C\2\2\u06c2\u06c4\5\u0118\u008d\2\u06c3\u06c1\3\2\2\2\u06c4"+ - "\u06c7\3\2\2\2\u06c5\u06c3\3\2\2\2\u06c5\u06c6\3\2\2\2\u06c6\u0141\3\2"+ - "\2\2\u06c7\u06c5\3\2\2\2\u06c8\u06c9\7\30\2\2\u06c9\u06cd\7<\2\2\u06ca"+ - "\u06cc\5\u009eP\2\u06cb\u06ca\3\2\2\2\u06cc\u06cf\3\2\2\2\u06cd\u06cb"+ - "\3\2\2\2\u06cd\u06ce\3\2\2\2\u06ce\u06d0\3\2\2\2\u06cf\u06cd\3\2\2\2\u06d0"+ - "\u06d1\5v<\2\u06d1\u06d2\5r:\2\u06d2\u06d3\7K\2\2\u06d3\u06d4\5\u01a2"+ - "\u00d2\2\u06d4\u06d5\7=\2\2\u06d5\u06d6\5\u010a\u0086\2\u06d6\u0143\3"+ - "\2\2\2\u06d7\u06d8\7\30\2\2\u06d8\u06dc\7<\2\2\u06d9\u06db\5\u009eP\2"+ - "\u06da\u06d9\3\2\2\2\u06db\u06de\3\2\2\2\u06dc\u06da\3\2\2\2\u06dc\u06dd"+ - "\3\2\2\2\u06dd\u06df\3\2\2\2\u06de\u06dc\3\2\2\2\u06df\u06e0\5v<\2\u06e0"+ - "\u06e1\5r:\2\u06e1\u06e2\7K\2\2\u06e2\u06e3\5\u01a2\u00d2\2\u06e3\u06e4"+ - "\7=\2\2\u06e4\u06e5\5\u010c\u0087\2\u06e5\u0145\3\2\2\2\u06e6\u06e8\7"+ - "\7\2\2\u06e7\u06e9\7i\2\2\u06e8\u06e7\3\2\2\2\u06e8\u06e9\3\2\2\2\u06e9"+ - "\u06ea\3\2\2\2\u06ea\u06eb\7B\2\2\u06eb\u0147\3\2\2\2\u06ec\u06ee\7\16"+ - "\2\2\u06ed\u06ef\7i\2\2\u06ee\u06ed\3\2\2\2\u06ee\u06ef\3\2\2\2\u06ef"+ - "\u06f0\3\2\2\2\u06f0\u06f1\7B\2\2\u06f1\u0149\3\2\2\2\u06f2\u06f4\7\'"+ - "\2\2\u06f3\u06f5\5\u01a2\u00d2\2\u06f4\u06f3\3\2\2\2\u06f4\u06f5\3\2\2"+ - "\2\u06f5\u06f6\3\2\2\2\u06f6\u06f7\7B\2\2\u06f7\u014b\3\2\2\2\u06f8\u06f9"+ - "\7/\2\2\u06f9\u06fa\5\u01a2\u00d2\2\u06fa\u06fb\7B\2\2\u06fb\u014d\3\2"+ - "\2\2\u06fc\u06fd\7-\2\2\u06fd\u06fe\7<\2\2\u06fe\u06ff\5\u01a2\u00d2\2"+ - "\u06ff\u0700\7=\2\2\u0700\u0701\5\u00fe\u0080\2\u0701\u014f\3\2\2\2\u0702"+ - "\u0703\7\62\2\2\u0703\u0704\5\u00fe\u0080\2\u0704\u0705\5\u0152\u00aa"+ - "\2\u0705\u070f\3\2\2\2\u0706\u0707\7\62\2\2\u0707\u0709\5\u00fe\u0080"+ - "\2\u0708\u070a\5\u0152\u00aa\2\u0709\u0708\3\2\2\2\u0709\u070a\3\2\2\2"+ - "\u070a\u070b\3\2\2\2\u070b\u070c\5\u015a\u00ae\2\u070c\u070f\3\2\2\2\u070d"+ - "\u070f\5\u015c\u00af\2\u070e\u0702\3\2\2\2\u070e\u0706\3\2\2\2\u070e\u070d"+ - "\3\2\2\2\u070f\u0151\3\2\2\2\u0710\u0714\5\u0154\u00ab\2\u0711\u0713\5"+ - "\u0154\u00ab\2\u0712\u0711\3\2\2\2\u0713\u0716\3\2\2\2\u0714\u0712\3\2"+ - "\2\2\u0714\u0715\3\2\2\2\u0715\u0153\3\2\2\2\u0716\u0714\3\2\2\2\u0717"+ - "\u0718\7\n\2\2\u0718\u0719\7<\2\2\u0719\u071a\5\u0156\u00ac\2\u071a\u071b"+ - "\7=\2\2\u071b\u071c\5\u00fe\u0080\2\u071c\u0155\3\2\2\2\u071d\u071f\5"+ - "\u009eP\2\u071e\u071d\3\2\2\2\u071f\u0722\3\2\2\2\u0720\u071e\3\2\2\2"+ - "\u0720\u0721\3\2\2\2\u0721\u0723\3\2\2\2\u0722\u0720\3\2\2\2\u0723\u0724"+ - "\5\u0158\u00ad\2\u0724\u0725\5r:\2\u0725\u0157\3\2\2\2\u0726\u072b\5~"+ - "@\2\u0727\u0728\7Y\2\2\u0728\u072a\5\22\n\2\u0729\u0727\3\2\2\2\u072a"+ - "\u072d\3\2\2\2\u072b\u0729\3\2\2\2\u072b\u072c\3\2\2\2\u072c\u0159\3\2"+ - "\2\2\u072d\u072b\3\2\2\2\u072e\u072f\7\26\2\2\u072f\u0730\5\u00fe\u0080"+ - "\2\u0730\u015b\3\2\2\2\u0731\u0732\7\62\2\2\u0732\u0733\5\u015e\u00b0"+ - "\2\u0733\u0735\5\u00fe\u0080\2\u0734\u0736\5\u0152\u00aa\2\u0735\u0734"+ - "\3\2\2\2\u0735\u0736\3\2\2\2\u0736\u0738\3\2\2\2\u0737\u0739\5\u015a\u00ae"+ - "\2\u0738\u0737\3\2\2\2\u0738\u0739\3\2\2\2\u0739\u015d\3\2\2\2\u073a\u073b"+ - "\7<\2\2\u073b\u073d\5\u0160\u00b1\2\u073c\u073e\7B\2\2\u073d\u073c\3\2"+ - "\2\2\u073d\u073e\3\2\2\2\u073e\u073f\3\2\2\2\u073f\u0740\7=\2\2\u0740"+ - "\u015f\3\2\2\2\u0741\u0746\5\u0162\u00b2\2\u0742\u0743\7B\2\2\u0743\u0745"+ - "\5\u0162\u00b2\2\u0744\u0742\3\2\2\2\u0745\u0748\3\2\2\2\u0746\u0744\3"+ - "\2\2\2\u0746\u0747\3\2\2\2\u0747\u0161\3\2\2\2\u0748\u0746\3\2\2\2\u0749"+ - "\u074b\5\u009eP\2\u074a\u0749\3\2\2\2\u074b\u074e\3\2\2\2\u074c\u074a"+ - "\3\2\2\2\u074c\u074d\3\2\2\2\u074d\u074f\3\2\2\2\u074e\u074c\3\2\2\2\u074f"+ - "\u0750\5v<\2\u0750\u0751\5r:\2\u0751\u0752\7E\2\2\u0752\u0753\5\u01a2"+ - "\u00d2\2\u0753\u0163\3\2\2\2\u0754\u0757\5\u0172\u00ba\2\u0755\u0757\5"+ - "\u019a\u00ce\2\u0756\u0754\3\2\2\2\u0756\u0755\3\2\2\2\u0757\u075b\3\2"+ - "\2\2\u0758\u075a\5\u016c\u00b7\2\u0759\u0758\3\2\2\2\u075a\u075d\3\2\2"+ - "\2\u075b\u0759\3\2\2\2\u075b\u075c\3\2\2\2\u075c\u0165\3\2\2\2\u075d\u075b"+ - "\3\2\2\2\u075e\u077c\5\2\2\2\u075f\u0764\58\35\2\u0760\u0761\7@\2\2\u0761"+ - "\u0763\7A\2\2\u0762\u0760\3\2\2\2\u0763\u0766\3\2\2\2\u0764\u0762\3\2"+ - "\2\2\u0764\u0765\3\2\2\2\u0765\u0767\3\2\2\2\u0766\u0764\3\2\2\2\u0767"+ - "\u0768\7D\2\2\u0768\u0769\7\f\2\2\u0769\u077c\3\2\2\2\u076a\u076b\7\63"+ - "\2\2\u076b\u076c\7D\2\2\u076c\u077c\7\f\2\2\u076d\u077c\7.\2\2\u076e\u076f"+ - "\58\35\2\u076f\u0770\7D\2\2\u0770\u0771\7.\2\2\u0771\u077c\3\2\2\2\u0772"+ - "\u0773\7<\2\2\u0773\u0774\5\u01a2\u00d2\2\u0774\u0775\7=\2\2\u0775\u077c"+ - "\3\2\2\2\u0776\u077c\5\u0178\u00bd\2\u0777\u077c\5\u0180\u00c1\2\u0778"+ - "\u077c\5\u0186\u00c4\2\u0779\u077c\5\u018c\u00c7\2\u077a\u077c\5\u0194"+ - "\u00cb\2\u077b\u075e\3\2\2\2\u077b\u075f\3\2\2\2\u077b\u076a\3\2\2\2\u077b"+ - "\u076d\3\2\2\2\u077b\u076e\3\2\2\2\u077b\u0772\3\2\2\2\u077b\u0776\3\2"+ - "\2\2\u077b\u0777\3\2\2\2\u077b\u0778\3\2\2\2\u077b\u0779\3\2\2\2\u077b"+ - "\u077a\3\2\2\2\u077c\u0167\3\2\2\2\u077d\u077e\3\2\2\2\u077e\u0169\3\2"+ - "\2\2\u077f\u079c\5\2\2\2\u0780\u0785\58\35\2\u0781\u0782\7@\2\2\u0782"+ - "\u0784\7A\2\2\u0783\u0781\3\2\2\2\u0784\u0787\3\2\2\2\u0785\u0783\3\2"+ - "\2\2\u0785\u0786\3\2\2\2\u0786\u0788\3\2\2\2\u0787\u0785\3\2\2\2\u0788"+ - "\u0789\7D\2\2\u0789\u078a\7\f\2\2\u078a\u079c\3\2\2\2\u078b\u078c\7\63"+ - "\2\2\u078c\u078d\7D\2\2\u078d\u079c\7\f\2\2\u078e\u079c\7.\2\2\u078f\u0790"+ - "\58\35\2\u0790\u0791\7D\2\2\u0791\u0792\7.\2\2\u0792\u079c\3\2\2\2\u0793"+ - "\u0794\7<\2\2\u0794\u0795\5\u01a2\u00d2\2\u0795\u0796\7=\2\2\u0796\u079c"+ - "\3\2\2\2\u0797\u079c\5\u0178\u00bd\2\u0798\u079c\5\u0180\u00c1\2\u0799"+ - "\u079c\5\u018c\u00c7\2\u079a\u079c\5\u0194\u00cb\2\u079b\u077f\3\2\2\2"+ - "\u079b\u0780\3\2\2\2\u079b\u078b\3\2\2\2\u079b\u078e\3\2\2\2\u079b\u078f"+ - "\3\2\2\2\u079b\u0793\3\2\2\2\u079b\u0797\3\2\2\2\u079b\u0798\3\2\2\2\u079b"+ - "\u0799\3\2\2\2\u079b\u079a\3\2\2\2\u079c\u016b\3\2\2\2\u079d\u07a3\5\u017a"+ - "\u00be\2\u079e\u07a3\5\u0182\u00c2\2\u079f\u07a3\5\u0188\u00c5\2\u07a0"+ - "\u07a3\5\u018e\u00c8\2\u07a1\u07a3\5\u0196\u00cc\2\u07a2\u079d\3\2\2\2"+ - "\u07a2\u079e\3\2\2\2\u07a2\u079f\3\2\2\2\u07a2\u07a0\3\2\2\2\u07a2\u07a1"+ - "\3\2\2\2\u07a3\u016d\3\2\2\2\u07a4\u07a5\3\2\2\2\u07a5\u016f\3\2\2\2\u07a6"+ - "\u07ab\5\u017a\u00be\2\u07a7\u07ab\5\u0182\u00c2\2\u07a8\u07ab\5\u018e"+ - "\u00c8\2\u07a9\u07ab\5\u0196\u00cc\2\u07aa\u07a6\3\2\2\2\u07aa\u07a7\3"+ - "\2\2\2\u07aa\u07a8\3\2\2\2\u07aa\u07a9\3\2\2\2\u07ab\u0171\3\2\2\2\u07ac"+ - "\u07d5\5\2\2\2\u07ad\u07b2\58\35\2\u07ae\u07af\7@\2\2\u07af\u07b1\7A\2"+ - "\2\u07b0\u07ae\3\2\2\2\u07b1\u07b4\3\2\2\2\u07b2\u07b0\3\2\2\2\u07b2\u07b3"+ - "\3\2\2\2\u07b3\u07b5\3\2\2\2\u07b4\u07b2\3\2\2\2\u07b5\u07b6\7D\2\2\u07b6"+ - "\u07b7\7\f\2\2\u07b7\u07d5\3\2\2\2\u07b8\u07bd\5x=\2\u07b9\u07ba\7@\2"+ - "\2\u07ba\u07bc\7A\2\2\u07bb\u07b9\3\2\2\2\u07bc\u07bf\3\2\2\2\u07bd\u07bb"+ - "\3\2\2\2\u07bd\u07be\3\2\2\2\u07be\u07c0\3\2\2\2\u07bf\u07bd\3\2\2\2\u07c0"+ - "\u07c1\7D\2\2\u07c1\u07c2\7\f\2\2\u07c2\u07d5\3\2\2\2\u07c3\u07c4\7\63"+ - "\2\2\u07c4\u07c5\7D\2\2\u07c5\u07d5\7\f\2\2\u07c6\u07d5\7.\2\2\u07c7\u07c8"+ - "\58\35\2\u07c8\u07c9\7D\2\2\u07c9\u07ca\7.\2\2\u07ca\u07d5\3\2\2\2\u07cb"+ - "\u07cc\7<\2\2\u07cc\u07cd\5\u01a2\u00d2\2\u07cd\u07ce\7=\2\2\u07ce\u07d5"+ - "\3\2\2\2\u07cf\u07d5\5\u017c\u00bf\2\u07d0\u07d5\5\u0184\u00c3\2\u07d1"+ - "\u07d5\5\u018a\u00c6\2\u07d2\u07d5\5\u0190\u00c9\2\u07d3\u07d5\5\u0198"+ - "\u00cd\2\u07d4\u07ac\3\2\2\2\u07d4\u07ad\3\2\2\2\u07d4\u07b8\3\2\2\2\u07d4"+ - "\u07c3\3\2\2\2\u07d4\u07c6\3\2\2\2\u07d4\u07c7\3\2\2\2\u07d4\u07cb\3\2"+ - "\2\2\u07d4\u07cf\3\2\2\2\u07d4\u07d0\3\2\2\2\u07d4\u07d1\3\2\2\2\u07d4"+ - "\u07d2\3\2\2\2\u07d4\u07d3\3\2\2\2\u07d5\u0173\3\2\2\2\u07d6\u07d7\3\2"+ - "\2\2\u07d7\u0175\3\2\2\2\u07d8\u0800\5\2\2\2\u07d9\u07de\58\35\2\u07da"+ - "\u07db\7@\2\2\u07db\u07dd\7A\2\2\u07dc\u07da\3\2\2\2\u07dd\u07e0\3\2\2"+ - "\2\u07de\u07dc\3\2\2\2\u07de\u07df\3\2\2\2\u07df\u07e1\3\2\2\2\u07e0\u07de"+ - "\3\2\2\2\u07e1\u07e2\7D\2\2\u07e2\u07e3\7\f\2\2\u07e3\u0800\3\2\2\2\u07e4"+ - "\u07e9\5x=\2\u07e5\u07e6\7@\2\2\u07e6\u07e8\7A\2\2\u07e7\u07e5\3\2\2\2"+ - "\u07e8\u07eb\3\2\2\2\u07e9\u07e7\3\2\2\2\u07e9\u07ea\3\2\2\2\u07ea\u07ec"+ - "\3\2\2\2\u07eb\u07e9\3\2\2\2\u07ec\u07ed\7D\2\2\u07ed\u07ee\7\f\2\2\u07ee"+ - "\u0800\3\2\2\2\u07ef\u07f0\7\63\2\2\u07f0\u07f1\7D\2\2\u07f1\u0800\7\f"+ - "\2\2\u07f2\u0800\7.\2\2\u07f3\u07f4\58\35\2\u07f4\u07f5\7D\2\2\u07f5\u07f6"+ - "\7.\2\2\u07f6\u0800\3\2\2\2\u07f7\u07f8\7<\2\2\u07f8\u07f9\5\u01a2\u00d2"+ - "\2\u07f9\u07fa\7=\2\2\u07fa\u0800\3\2\2\2\u07fb\u0800\5\u017c\u00bf\2"+ - "\u07fc\u0800\5\u0184\u00c3\2\u07fd\u0800\5\u0190\u00c9\2\u07fe\u0800\5"+ - "\u0198\u00cd\2\u07ff\u07d8\3\2\2\2\u07ff\u07d9\3\2\2\2\u07ff\u07e4\3\2"+ - "\2\2\u07ff\u07ef\3\2\2\2\u07ff\u07f2\3\2\2\2\u07ff\u07f3\3\2\2\2\u07ff"+ - "\u07f7\3\2\2\2\u07ff\u07fb\3\2\2\2\u07ff\u07fc\3\2\2\2\u07ff\u07fd\3\2"+ - "\2\2\u07ff\u07fe\3\2\2\2\u0800\u0177\3\2\2\2\u0801\u0803\7\"\2\2\u0802"+ - "\u0804\5,\27\2\u0803\u0802\3\2\2\2\u0803\u0804\3\2\2\2\u0804\u0808\3\2"+ - "\2\2\u0805\u0807\5\u00e8u\2\u0806\u0805\3\2\2\2\u0807\u080a\3\2\2\2\u0808"+ - "\u0806\3\2\2\2\u0808\u0809\3\2\2\2\u0809\u080b\3\2\2\2\u080a\u0808\3\2"+ - "\2\2\u080b\u0816\7i\2\2\u080c\u0810\7D\2\2\u080d\u080f\5\u00e8u\2\u080e"+ - "\u080d\3\2\2\2\u080f\u0812\3\2\2\2\u0810\u080e\3\2\2\2\u0810\u0811\3\2"+ - "\2\2\u0811\u0813\3\2\2\2\u0812\u0810\3\2\2\2\u0813\u0815\7i\2\2\u0814"+ - "\u080c\3\2\2\2\u0815\u0818\3\2\2\2\u0816\u0814\3\2\2\2\u0816\u0817\3\2"+ - "\2\2\u0817\u081a\3\2\2\2\u0818\u0816\3\2\2\2\u0819\u081b\5\u017e\u00c0"+ - "\2\u081a\u0819\3\2\2\2\u081a\u081b\3\2\2\2\u081b\u081c\3\2\2\2\u081c\u081e"+ - "\7<\2\2\u081d\u081f\5\u0192\u00ca\2\u081e\u081d\3\2\2\2\u081e\u081f\3"+ - "\2\2\2\u081f\u0820\3\2\2\2\u0820\u0822\7=\2\2\u0821\u0823\5d\63\2\u0822"+ - "\u0821\3\2\2\2\u0822\u0823\3\2\2\2\u0823\u0855\3\2\2\2\u0824\u0825\5<"+ - "\37\2\u0825\u0826\7D\2\2\u0826\u0828\7\"\2\2\u0827\u0829\5,\27\2\u0828"+ - "\u0827\3\2\2\2\u0828\u0829\3\2\2\2\u0829\u082d\3\2\2\2\u082a\u082c\5\u00e8"+ - "u\2\u082b\u082a\3\2\2\2\u082c\u082f\3\2\2\2\u082d\u082b\3\2\2\2\u082d"+ - "\u082e\3\2\2\2\u082e\u0830\3\2\2\2\u082f\u082d\3\2\2\2\u0830\u0832\7i"+ - "\2\2\u0831\u0833\5\u017e\u00c0\2\u0832\u0831\3\2\2\2\u0832\u0833\3\2\2"+ - "\2\u0833\u0834\3\2\2\2\u0834\u0836\7<\2\2\u0835\u0837\5\u0192\u00ca\2"+ - "\u0836\u0835\3\2\2\2\u0836\u0837\3\2\2\2\u0837\u0838\3\2\2\2\u0838\u083a"+ - "\7=\2\2\u0839\u083b\5d\63\2\u083a\u0839\3\2\2\2\u083a\u083b\3\2\2\2\u083b"+ - "\u0855\3\2\2\2\u083c\u083d\5\u0164\u00b3\2\u083d\u083e\7D\2\2\u083e\u0840"+ - "\7\"\2\2\u083f\u0841\5,\27\2\u0840\u083f\3\2\2\2\u0840\u0841\3\2\2\2\u0841"+ - "\u0845\3\2\2\2\u0842\u0844\5\u00e8u\2\u0843\u0842\3\2\2\2\u0844\u0847"+ - "\3\2\2\2\u0845\u0843\3\2\2\2\u0845\u0846\3\2\2\2\u0846\u0848\3\2\2\2\u0847"+ - "\u0845\3\2\2\2\u0848\u084a\7i\2\2\u0849\u084b\5\u017e\u00c0\2\u084a\u0849"+ - "\3\2\2\2\u084a\u084b\3\2\2\2\u084b\u084c\3\2\2\2\u084c\u084e\7<\2\2\u084d"+ - "\u084f\5\u0192\u00ca\2\u084e\u084d\3\2\2\2\u084e\u084f\3\2\2\2\u084f\u0850"+ - "\3\2\2\2\u0850\u0852\7=\2\2\u0851\u0853\5d\63\2\u0852\u0851\3\2\2\2\u0852"+ - "\u0853\3\2\2\2\u0853\u0855\3\2\2\2\u0854\u0801\3\2\2\2\u0854\u0824\3\2"+ - "\2\2\u0854\u083c\3\2\2\2\u0855\u0179\3\2\2\2\u0856\u0857\7D\2\2\u0857"+ - "\u0859\7\"\2\2\u0858\u085a\5,\27\2\u0859\u0858\3\2\2\2\u0859\u085a\3\2"+ - "\2\2\u085a\u085e\3\2\2\2\u085b\u085d\5\u00e8u\2\u085c\u085b\3\2\2\2\u085d"+ - "\u0860\3\2\2\2\u085e\u085c\3\2\2\2\u085e\u085f\3\2\2\2\u085f\u0861\3\2"+ - "\2\2\u0860\u085e\3\2\2\2\u0861\u0863\7i\2\2\u0862\u0864\5\u017e\u00c0"+ - "\2\u0863\u0862\3\2\2\2\u0863\u0864\3\2\2\2\u0864\u0865\3\2\2\2\u0865\u0867"+ - "\7<\2\2\u0866\u0868\5\u0192\u00ca\2\u0867\u0866\3\2\2\2\u0867\u0868\3"+ - "\2\2\2\u0868\u0869\3\2\2\2\u0869\u086b\7=\2\2\u086a\u086c\5d\63\2\u086b"+ - "\u086a\3\2\2\2\u086b\u086c\3\2\2\2\u086c\u017b\3\2\2\2\u086d\u086f\7\""+ - "\2\2\u086e\u0870\5,\27\2\u086f\u086e\3\2\2\2\u086f\u0870\3\2\2\2\u0870"+ - "\u0874\3\2\2\2\u0871\u0873\5\u00e8u\2\u0872\u0871\3\2\2\2\u0873\u0876"+ - "\3\2\2\2\u0874\u0872\3\2\2\2\u0874\u0875\3\2\2\2\u0875\u0877\3\2\2\2\u0876"+ - "\u0874\3\2\2\2\u0877\u0882\7i\2\2\u0878\u087c\7D\2\2\u0879\u087b\5\u00e8"+ - "u\2\u087a\u0879\3\2\2\2\u087b\u087e\3\2\2\2\u087c\u087a\3\2\2\2\u087c"+ - "\u087d\3\2\2\2\u087d\u087f\3\2\2\2\u087e\u087c\3\2\2\2\u087f\u0881\7i"+ - "\2\2\u0880\u0878\3\2\2\2\u0881\u0884\3\2\2\2\u0882\u0880\3\2\2\2\u0882"+ - "\u0883\3\2\2\2\u0883\u0886\3\2\2\2\u0884\u0882\3\2\2\2\u0885\u0887\5\u017e"+ - "\u00c0\2\u0886\u0885\3\2\2\2\u0886\u0887\3\2\2\2\u0887\u0888\3\2\2\2\u0888"+ - "\u088a\7<\2\2\u0889\u088b\5\u0192\u00ca\2\u088a\u0889\3\2\2\2\u088a\u088b"+ - "\3\2\2\2\u088b\u088c\3\2\2\2\u088c\u088e\7=\2\2\u088d\u088f\5d\63\2\u088e"+ - "\u088d\3\2\2\2\u088e\u088f\3\2\2\2\u088f\u08a9\3\2\2\2\u0890\u0891\5<"+ - "\37\2\u0891\u0892\7D\2\2\u0892\u0894\7\"\2\2\u0893\u0895\5,\27\2\u0894"+ - "\u0893\3\2\2\2\u0894\u0895\3\2\2\2\u0895\u0899\3\2\2\2\u0896\u0898\5\u00e8"+ - "u\2\u0897\u0896\3\2\2\2\u0898\u089b\3\2\2\2\u0899\u0897\3\2\2\2\u0899"+ - "\u089a\3\2\2\2\u089a\u089c\3\2\2\2\u089b\u0899\3\2\2\2\u089c\u089e\7i"+ - "\2\2\u089d\u089f\5\u017e\u00c0\2\u089e\u089d\3\2\2\2\u089e\u089f\3\2\2"+ - "\2\u089f\u08a0\3\2\2\2\u08a0\u08a2\7<\2\2\u08a1\u08a3\5\u0192\u00ca\2"+ - "\u08a2\u08a1\3\2\2\2\u08a2\u08a3\3\2\2\2\u08a3\u08a4\3\2\2\2\u08a4\u08a6"+ - "\7=\2\2\u08a5\u08a7\5d\63\2\u08a6\u08a5\3\2\2\2\u08a6\u08a7\3\2\2\2\u08a7"+ - "\u08a9\3\2\2\2\u08a8\u086d\3\2\2\2\u08a8\u0890\3\2\2\2\u08a9\u017d\3\2"+ - "\2\2\u08aa\u08ae\5,\27\2\u08ab\u08ac\7G\2\2\u08ac\u08ae\7F\2\2\u08ad\u08aa"+ - "\3\2\2\2\u08ad\u08ab\3\2\2\2\u08ae\u017f\3\2\2\2\u08af\u08b0\5\u0164\u00b3"+ - "\2\u08b0\u08b1\7D\2\2\u08b1\u08b2\7i\2\2\u08b2\u08bd\3\2\2\2\u08b3\u08b4"+ - "\7+\2\2\u08b4\u08b5\7D\2\2\u08b5\u08bd\7i\2\2\u08b6\u08b7\58\35\2\u08b7"+ - "\u08b8\7D\2\2\u08b8\u08b9\7+\2\2\u08b9\u08ba\7D\2\2\u08ba\u08bb\7i\2\2"+ - "\u08bb\u08bd\3\2\2\2\u08bc\u08af\3\2\2\2\u08bc\u08b3\3\2\2\2\u08bc\u08b6"+ - "\3\2\2\2\u08bd\u0181\3\2\2\2\u08be\u08bf\7D\2\2\u08bf\u08c0\7i\2\2\u08c0"+ - "\u0183\3\2\2\2\u08c1\u08c2\7+\2\2\u08c2\u08c3\7D\2\2\u08c3\u08cb\7i\2"+ - "\2\u08c4\u08c5\58\35\2\u08c5\u08c6\7D\2\2\u08c6\u08c7\7+\2\2\u08c7\u08c8"+ - "\7D\2\2\u08c8\u08c9\7i\2\2\u08c9\u08cb\3\2\2\2\u08ca\u08c1\3\2\2\2\u08ca"+ - "\u08c4\3\2\2\2\u08cb\u0185\3\2\2\2\u08cc\u08cd\5<\37\2\u08cd\u08ce\7@"+ - "\2\2\u08ce\u08cf\5\u01a2\u00d2\2\u08cf\u08d0\7A\2\2\u08d0\u08d7\3\2\2"+ - "\2\u08d1\u08d2\5\u016a\u00b6\2\u08d2\u08d3\7@\2\2\u08d3\u08d4\5\u01a2"+ - "\u00d2\2\u08d4\u08d5\7A\2\2\u08d5\u08d7\3\2\2\2\u08d6\u08cc\3\2\2\2\u08d6"+ - "\u08d1\3\2\2\2\u08d7\u08df\3\2\2\2\u08d8\u08d9\5\u0168\u00b5\2\u08d9\u08da"+ - "\7@\2\2\u08da\u08db\5\u01a2\u00d2\2\u08db\u08dc\7A\2\2\u08dc\u08de\3\2"+ - "\2\2\u08dd\u08d8\3\2\2\2\u08de\u08e1\3\2\2\2\u08df\u08dd\3\2\2\2\u08df"+ - "\u08e0\3\2\2\2\u08e0\u0187\3\2\2\2\u08e1\u08df\3\2\2\2\u08e2\u08e3\5\u0170"+ - "\u00b9\2\u08e3\u08e4\7@\2\2\u08e4\u08e5\5\u01a2\u00d2\2\u08e5\u08e6\7"+ - "A\2\2\u08e6\u08ee\3\2\2\2\u08e7\u08e8\5\u016e\u00b8\2\u08e8\u08e9\7@\2"+ - "\2\u08e9\u08ea\5\u01a2\u00d2\2\u08ea\u08eb\7A\2\2\u08eb\u08ed\3\2\2\2"+ - "\u08ec\u08e7\3\2\2\2\u08ed\u08f0\3\2\2\2\u08ee\u08ec\3\2\2\2\u08ee\u08ef"+ - "\3\2\2\2\u08ef\u0189\3\2\2\2\u08f0\u08ee\3\2\2\2\u08f1\u08f2\5<\37\2\u08f2"+ - "\u08f3\7@\2\2\u08f3\u08f4\5\u01a2\u00d2\2\u08f4\u08f5\7A\2\2\u08f5\u08fc"+ - "\3\2\2\2\u08f6\u08f7\5\u0176\u00bc\2\u08f7\u08f8\7@\2\2\u08f8\u08f9\5"+ - "\u01a2\u00d2\2\u08f9\u08fa\7A\2\2\u08fa\u08fc\3\2\2\2\u08fb\u08f1\3\2"+ - "\2\2\u08fb\u08f6\3\2\2\2\u08fc\u0904\3\2\2\2\u08fd\u08fe\5\u0174\u00bb"+ - "\2\u08fe\u08ff\7@\2\2\u08ff\u0900\5\u01a2\u00d2\2\u0900\u0901\7A\2\2\u0901"+ - "\u0903\3\2\2\2\u0902\u08fd\3\2\2\2\u0903\u0906\3\2\2\2\u0904\u0902\3\2"+ - "\2\2\u0904\u0905\3\2\2\2\u0905\u018b\3\2\2\2\u0906\u0904\3\2\2\2\u0907"+ - "\u0908\5> \2\u0908\u090a\7<\2\2\u0909\u090b\5\u0192\u00ca\2\u090a\u0909"+ - "\3\2\2\2\u090a\u090b\3\2\2\2\u090b\u090c\3\2\2\2\u090c\u090d\7=\2\2\u090d"+ - "\u094c\3\2\2\2\u090e\u090f\58\35\2\u090f\u0911\7D\2\2\u0910\u0912\5,\27"+ - "\2\u0911\u0910\3\2\2\2\u0911\u0912\3\2\2\2\u0912\u0913\3\2\2\2\u0913\u0914"+ - "\7i\2\2\u0914\u0916\7<\2\2\u0915\u0917\5\u0192\u00ca\2\u0916\u0915\3\2"+ - "\2\2\u0916\u0917\3\2\2\2\u0917\u0918\3\2\2\2\u0918\u0919\7=\2\2\u0919"+ - "\u094c\3\2\2\2\u091a\u091b\5<\37\2\u091b\u091d\7D\2\2\u091c\u091e\5,\27"+ - "\2\u091d\u091c\3\2\2\2\u091d\u091e\3\2\2\2\u091e\u091f\3\2\2\2\u091f\u0920"+ - "\7i\2\2\u0920\u0922\7<\2\2\u0921\u0923\5\u0192\u00ca\2\u0922\u0921\3\2"+ - "\2\2\u0922\u0923\3\2\2\2\u0923\u0924\3\2\2\2\u0924\u0925\7=\2\2\u0925"+ - "\u094c\3\2\2\2\u0926\u0927\5\u0164\u00b3\2\u0927\u0929\7D\2\2\u0928\u092a"+ - "\5,\27\2\u0929\u0928\3\2\2\2\u0929\u092a\3\2\2\2\u092a\u092b\3\2\2\2\u092b"+ - "\u092c\7i\2\2\u092c\u092e\7<\2\2\u092d\u092f\5\u0192\u00ca\2\u092e\u092d"+ - "\3\2\2\2\u092e\u092f\3\2\2\2\u092f\u0930\3\2\2\2\u0930\u0931\7=\2\2\u0931"+ - "\u094c\3\2\2\2\u0932\u0933\7+\2\2\u0933\u0935\7D\2\2\u0934\u0936\5,\27"+ - "\2\u0935\u0934\3\2\2\2\u0935\u0936\3\2\2\2\u0936\u0937\3\2\2\2\u0937\u0938"+ - "\7i\2\2\u0938\u093a\7<\2\2\u0939\u093b\5\u0192\u00ca\2\u093a\u0939\3\2"+ - "\2\2\u093a\u093b\3\2\2\2\u093b\u093c\3\2\2\2\u093c\u094c\7=\2\2\u093d"+ - "\u093e\58\35\2\u093e\u093f\7D\2\2\u093f\u0940\7+\2\2\u0940\u0942\7D\2"+ - "\2\u0941\u0943\5,\27\2\u0942\u0941\3\2\2\2\u0942\u0943\3\2\2\2\u0943\u0944"+ - "\3\2\2\2\u0944\u0945\7i\2\2\u0945\u0947\7<\2\2\u0946\u0948\5\u0192\u00ca"+ - "\2\u0947\u0946\3\2\2\2\u0947\u0948\3\2\2\2\u0948\u0949\3\2\2\2\u0949\u094a"+ - "\7=\2\2\u094a\u094c\3\2\2\2\u094b\u0907\3\2\2\2\u094b\u090e\3\2\2\2\u094b"+ - "\u091a\3\2\2\2\u094b\u0926\3\2\2\2\u094b\u0932\3\2\2\2\u094b\u093d\3\2"+ - "\2\2\u094c\u018d\3\2\2\2\u094d\u094f\7D\2\2\u094e\u0950\5,\27\2\u094f"+ - "\u094e\3\2\2\2\u094f\u0950\3\2\2\2\u0950\u0951\3\2\2\2\u0951\u0952\7i"+ - "\2\2\u0952\u0954\7<\2\2\u0953\u0955\5\u0192\u00ca\2\u0954\u0953\3\2\2"+ - "\2\u0954\u0955\3\2\2\2\u0955\u0956\3\2\2\2\u0956\u0957\7=\2\2\u0957\u018f"+ - "\3\2\2\2\u0958\u0959\5> \2\u0959\u095b\7<\2\2\u095a\u095c\5\u0192\u00ca"+ - "\2\u095b\u095a\3\2\2\2\u095b\u095c\3\2\2\2\u095c\u095d\3\2\2\2\u095d\u095e"+ - "\7=\2\2\u095e\u0991\3\2\2\2\u095f\u0960\58\35\2\u0960\u0962\7D\2\2\u0961"+ - "\u0963\5,\27\2\u0962\u0961\3\2\2\2\u0962\u0963\3\2\2\2\u0963\u0964\3\2"+ - "\2\2\u0964\u0965\7i\2\2\u0965\u0967\7<\2\2\u0966\u0968\5\u0192\u00ca\2"+ - "\u0967\u0966\3\2\2\2\u0967\u0968\3\2\2"; - private static final String _serializedATNSegment1 = - "\2\u0968\u0969\3\2\2\2\u0969\u096a\7=\2\2\u096a\u0991\3\2\2\2\u096b\u096c"+ - "\5<\37\2\u096c\u096e\7D\2\2\u096d\u096f\5,\27\2\u096e\u096d\3\2\2\2\u096e"+ - "\u096f\3\2\2\2\u096f\u0970\3\2\2\2\u0970\u0971\7i\2\2\u0971\u0973\7<\2"+ - "\2\u0972\u0974\5\u0192\u00ca\2\u0973\u0972\3\2\2\2\u0973\u0974\3\2\2\2"+ - "\u0974\u0975\3\2\2\2\u0975\u0976\7=\2\2\u0976\u0991\3\2\2\2\u0977\u0978"+ - "\7+\2\2\u0978\u097a\7D\2\2\u0979\u097b\5,\27\2\u097a\u0979\3\2\2\2\u097a"+ - "\u097b\3\2\2\2\u097b\u097c\3\2\2\2\u097c\u097d\7i\2\2\u097d\u097f\7<\2"+ - "\2\u097e\u0980\5\u0192\u00ca\2\u097f\u097e\3\2\2\2\u097f\u0980\3\2\2\2"+ - "\u0980\u0981\3\2\2\2\u0981\u0991\7=\2\2\u0982\u0983\58\35\2\u0983\u0984"+ - "\7D\2\2\u0984\u0985\7+\2\2\u0985\u0987\7D\2\2\u0986\u0988\5,\27\2\u0987"+ - "\u0986\3\2\2\2\u0987\u0988\3\2\2\2\u0988\u0989\3\2\2\2\u0989\u098a\7i"+ - "\2\2\u098a\u098c\7<\2\2\u098b\u098d\5\u0192\u00ca\2\u098c\u098b\3\2\2"+ - "\2\u098c\u098d\3\2\2\2\u098d\u098e\3\2\2\2\u098e\u098f\7=\2\2\u098f\u0991"+ - "\3\2\2\2\u0990\u0958\3\2\2\2\u0990\u095f\3\2\2\2\u0990\u096b\3\2\2\2\u0990"+ - "\u0977\3\2\2\2\u0990\u0982\3\2\2\2\u0991\u0191\3\2\2\2\u0992\u0997\5\u01a2"+ - "\u00d2\2\u0993\u0994\7C\2\2\u0994\u0996\5\u01a2\u00d2\2\u0995\u0993\3"+ - "\2\2\2\u0996\u0999\3\2\2\2\u0997\u0995\3\2\2\2\u0997\u0998\3\2\2\2\u0998"+ - "\u0193\3\2\2\2\u0999\u0997\3\2\2\2\u099a\u099b\5<\37\2\u099b\u099d\7]"+ - "\2\2\u099c\u099e\5,\27\2\u099d\u099c\3\2\2\2\u099d\u099e\3\2\2\2\u099e"+ - "\u099f\3\2\2\2\u099f\u09a0\7i\2\2\u09a0\u09ca\3\2\2\2\u09a1\u09a2\5\16"+ - "\b\2\u09a2\u09a4\7]\2\2\u09a3\u09a5\5,\27\2\u09a4\u09a3\3\2\2\2\u09a4"+ - "\u09a5\3\2\2\2\u09a5\u09a6\3\2\2\2\u09a6\u09a7\7i\2\2\u09a7\u09ca\3\2"+ - "\2\2\u09a8\u09a9\5\u0164\u00b3\2\u09a9\u09ab\7]\2\2\u09aa\u09ac\5,\27"+ - "\2\u09ab\u09aa\3\2\2\2\u09ab\u09ac\3\2\2\2\u09ac\u09ad\3\2\2\2\u09ad\u09ae"+ - "\7i\2\2\u09ae\u09ca\3\2\2\2\u09af\u09b0\7+\2\2\u09b0\u09b2\7]\2\2\u09b1"+ - "\u09b3\5,\27\2\u09b2\u09b1\3\2\2\2\u09b2\u09b3\3\2\2\2\u09b3\u09b4\3\2"+ - "\2\2\u09b4\u09ca\7i\2\2\u09b5\u09b6\58\35\2\u09b6\u09b7\7D\2\2\u09b7\u09b8"+ - "\7+\2\2\u09b8\u09ba\7]\2\2\u09b9\u09bb\5,\27\2\u09ba\u09b9\3\2\2\2\u09ba"+ - "\u09bb\3\2\2\2\u09bb\u09bc\3\2\2\2\u09bc\u09bd\7i\2\2\u09bd\u09ca\3\2"+ - "\2\2\u09be\u09bf\5\22\n\2\u09bf\u09c1\7]\2\2\u09c0\u09c2\5,\27\2\u09c1"+ - "\u09c0\3\2\2\2\u09c1\u09c2\3\2\2\2\u09c2\u09c3\3\2\2\2\u09c3\u09c4\7\""+ - "\2\2\u09c4\u09ca\3\2\2\2\u09c5\u09c6\5 \21\2\u09c6\u09c7\7]\2\2\u09c7"+ - "\u09c8\7\"\2\2\u09c8\u09ca\3\2\2\2\u09c9\u099a\3\2\2\2\u09c9\u09a1\3\2"+ - "\2\2\u09c9\u09a8\3\2\2\2\u09c9\u09af\3\2\2\2\u09c9\u09b5\3\2\2\2\u09c9"+ - "\u09be\3\2\2\2\u09c9\u09c5\3\2\2\2\u09ca\u0195\3\2\2\2\u09cb\u09cd\7]"+ - "\2\2\u09cc\u09ce\5,\27\2\u09cd\u09cc\3\2\2\2\u09cd\u09ce\3\2\2\2\u09ce"+ - "\u09cf\3\2\2\2\u09cf\u09d0\7i\2\2\u09d0\u0197\3\2\2\2\u09d1\u09d2\5<\37"+ - "\2\u09d2\u09d4\7]\2\2\u09d3\u09d5\5,\27\2\u09d4\u09d3\3\2\2\2\u09d4\u09d5"+ - "\3\2\2\2\u09d5\u09d6\3\2\2\2\u09d6\u09d7\7i\2\2\u09d7\u09fa\3\2\2\2\u09d8"+ - "\u09d9\5\16\b\2\u09d9\u09db\7]\2\2\u09da\u09dc\5,\27\2\u09db\u09da\3\2"+ - "\2\2\u09db\u09dc\3\2\2\2\u09dc\u09dd\3\2\2\2\u09dd\u09de\7i\2\2\u09de"+ - "\u09fa\3\2\2\2\u09df\u09e0\7+\2\2\u09e0\u09e2\7]\2\2\u09e1\u09e3\5,\27"+ - "\2\u09e2\u09e1\3\2\2\2\u09e2\u09e3\3\2\2\2\u09e3\u09e4\3\2\2\2\u09e4\u09fa"+ - "\7i\2\2\u09e5\u09e6\58\35\2\u09e6\u09e7\7D\2\2\u09e7\u09e8\7+\2\2\u09e8"+ - "\u09ea\7]\2\2\u09e9\u09eb\5,\27\2\u09ea\u09e9\3\2\2\2\u09ea\u09eb\3\2"+ - "\2\2\u09eb\u09ec\3\2\2\2\u09ec\u09ed\7i\2\2\u09ed\u09fa\3\2\2\2\u09ee"+ - "\u09ef\5\22\n\2\u09ef\u09f1\7]\2\2\u09f0\u09f2\5,\27\2\u09f1\u09f0\3\2"+ - "\2\2\u09f1\u09f2\3\2\2\2\u09f2\u09f3\3\2\2\2\u09f3\u09f4\7\"\2\2\u09f4"+ - "\u09fa\3\2\2\2\u09f5\u09f6\5 \21\2\u09f6\u09f7\7]\2\2\u09f7\u09f8\7\""+ - "\2\2\u09f8\u09fa\3\2\2\2\u09f9\u09d1\3\2\2\2\u09f9\u09d8\3\2\2\2\u09f9"+ - "\u09df\3\2\2\2\u09f9\u09e5\3\2\2\2\u09f9\u09ee\3\2\2\2\u09f9\u09f5\3\2"+ - "\2\2\u09fa\u0199\3\2\2\2\u09fb\u09fc\7\"\2\2\u09fc\u09fd\5\6\4\2\u09fd"+ - "\u09ff\5\u019c\u00cf\2\u09fe\u0a00\5\"\22\2\u09ff\u09fe\3\2\2\2\u09ff"+ - "\u0a00\3\2\2\2\u0a00\u0a12\3\2\2\2\u0a01\u0a02\7\"\2\2\u0a02\u0a03\5\20"+ - "\t\2\u0a03\u0a05\5\u019c\u00cf\2\u0a04\u0a06\5\"\22\2\u0a05\u0a04\3\2"+ - "\2\2\u0a05\u0a06\3\2\2\2\u0a06\u0a12\3\2\2\2\u0a07\u0a08\7\"\2\2\u0a08"+ - "\u0a09\5\6\4\2\u0a09\u0a0a\5\"\22\2\u0a0a\u0a0b\5\u00fa~\2\u0a0b\u0a12"+ - "\3\2\2\2\u0a0c\u0a0d\7\"\2\2\u0a0d\u0a0e\5\20\t\2\u0a0e\u0a0f\5\"\22\2"+ - "\u0a0f\u0a10\5\u00fa~\2\u0a10\u0a12\3\2\2\2\u0a11\u09fb\3\2\2\2\u0a11"+ - "\u0a01\3\2\2\2\u0a11\u0a07\3\2\2\2\u0a11\u0a0c\3\2\2\2\u0a12\u019b\3\2"+ - "\2\2\u0a13\u0a17\5\u019e\u00d0\2\u0a14\u0a16\5\u019e\u00d0\2\u0a15\u0a14"+ - "\3\2\2\2\u0a16\u0a19\3\2\2\2\u0a17\u0a15\3\2\2\2\u0a17\u0a18\3\2\2\2\u0a18"+ - "\u019d\3\2\2\2\u0a19\u0a17\3\2\2\2\u0a1a\u0a1c\5\u00e8u\2\u0a1b\u0a1a"+ - "\3\2\2\2\u0a1c\u0a1f\3\2\2\2\u0a1d\u0a1b\3\2\2\2\u0a1d\u0a1e\3\2\2\2\u0a1e"+ - "\u0a20\3\2\2\2\u0a1f\u0a1d\3\2\2\2\u0a20\u0a21\7@\2\2\u0a21\u0a22\5\u01a2"+ - "\u00d2\2\u0a22\u0a23\7A\2\2\u0a23\u019f\3\2\2\2\u0a24\u0a25\5\u01a2\u00d2"+ - "\2\u0a25\u01a1\3\2\2\2\u0a26\u0a29\5\u01a4\u00d3\2\u0a27\u0a29\5\u01ac"+ - "\u00d7\2\u0a28\u0a26\3\2\2\2\u0a28\u0a27\3\2\2\2\u0a29\u01a3\3\2\2\2\u0a2a"+ - "\u0a2b\5\u01a6\u00d4\2\u0a2b\u0a2c\7\\\2\2\u0a2c\u0a2d\5\u01aa\u00d6\2"+ - "\u0a2d\u01a5\3\2\2\2\u0a2e\u0a35\7i\2\2\u0a2f\u0a31\7<\2\2\u0a30\u0a32"+ - "\5\u0098M\2\u0a31\u0a30\3\2\2\2\u0a31\u0a32\3\2\2\2\u0a32\u0a33\3\2\2"+ - "\2\u0a33\u0a35\7=\2\2\u0a34\u0a2e\3\2\2\2\u0a34\u0a2f\3\2\2\2\u0a35\u01a7"+ - "\3\2\2\2\u0a36\u0a3b\7i\2\2\u0a37\u0a38\7C\2\2\u0a38\u0a3a\7i\2\2\u0a39"+ - "\u0a37\3\2\2\2\u0a3a\u0a3d\3\2\2\2\u0a3b\u0a39\3\2\2\2\u0a3b\u0a3c\3\2"+ - "\2\2\u0a3c\u01a9\3\2\2\2\u0a3d\u0a3b\3\2\2\2\u0a3e\u0a41\5\u01a2\u00d2"+ - "\2\u0a3f\u0a41\5\u00fe\u0080\2\u0a40\u0a3e\3\2\2\2\u0a40\u0a3f\3\2\2\2"+ - "\u0a41\u01ab\3\2\2\2\u0a42\u0a45\5\u01b4\u00db\2\u0a43\u0a45\5\u01ae\u00d8"+ - "\2\u0a44\u0a42\3\2\2\2\u0a44\u0a43\3\2\2\2\u0a45\u01ad\3\2\2\2\u0a46\u0a47"+ - "\5\u01b0\u00d9\2\u0a47\u0a48\5\u01b2\u00da\2\u0a48\u0a49\5\u01a2\u00d2"+ - "\2\u0a49\u01af\3\2\2\2\u0a4a\u0a4e\5<\37\2\u0a4b\u0a4e\5\u0180\u00c1\2"+ - "\u0a4c\u0a4e\5\u0186\u00c4\2\u0a4d\u0a4a\3\2\2\2\u0a4d\u0a4b\3\2\2\2\u0a4d"+ - "\u0a4c\3\2\2\2\u0a4e\u01b1\3\2\2\2\u0a4f\u0a50\t\5\2\2\u0a50\u01b3\3\2"+ - "\2\2\u0a51\u0a59\5\u01b6\u00dc\2\u0a52\u0a53\5\u01b6\u00dc\2\u0a53\u0a54"+ - "\7J\2\2\u0a54\u0a55\5\u01a2\u00d2\2\u0a55\u0a56\7K\2\2\u0a56\u0a57\5\u01b4"+ - "\u00db\2\u0a57\u0a59\3\2\2\2\u0a58\u0a51\3\2\2\2\u0a58\u0a52\3\2\2\2\u0a59"+ - "\u01b5\3\2\2\2\u0a5a\u0a5b\b\u00dc\1\2\u0a5b\u0a5c\5\u01b8\u00dd\2\u0a5c"+ - "\u0a62\3\2\2\2\u0a5d\u0a5e\f\3\2\2\u0a5e\u0a5f\7Q\2\2\u0a5f\u0a61\5\u01b8"+ - "\u00dd\2\u0a60\u0a5d\3\2\2\2\u0a61\u0a64\3\2\2\2\u0a62\u0a60\3\2\2\2\u0a62"+ - "\u0a63\3\2\2\2\u0a63\u01b7\3\2\2\2\u0a64\u0a62\3\2\2\2\u0a65\u0a66\b\u00dd"+ - "\1\2\u0a66\u0a67\5\u01ba\u00de\2\u0a67\u0a6d\3\2\2\2\u0a68\u0a69\f\3\2"+ - "\2\u0a69\u0a6a\7P\2\2\u0a6a\u0a6c\5\u01ba\u00de\2\u0a6b\u0a68\3\2\2\2"+ - "\u0a6c\u0a6f\3\2\2\2\u0a6d\u0a6b\3\2\2\2\u0a6d\u0a6e\3\2\2\2\u0a6e\u01b9"+ - "\3\2\2\2\u0a6f\u0a6d\3\2\2\2\u0a70\u0a71\b\u00de\1\2\u0a71\u0a72\5\u01bc"+ - "\u00df\2\u0a72\u0a78\3\2\2\2\u0a73\u0a74\f\3\2\2\u0a74\u0a75\7Y\2\2\u0a75"+ - "\u0a77\5\u01bc\u00df\2\u0a76\u0a73\3\2\2\2\u0a77\u0a7a\3\2\2\2\u0a78\u0a76"+ - "\3\2\2\2\u0a78\u0a79\3\2\2\2\u0a79\u01bb\3\2\2\2\u0a7a\u0a78\3\2\2\2\u0a7b"+ - "\u0a7c\b\u00df\1\2\u0a7c\u0a7d\5\u01be\u00e0\2\u0a7d\u0a83\3\2\2\2\u0a7e"+ - "\u0a7f\f\3\2\2\u0a7f\u0a80\7Z\2\2\u0a80\u0a82\5\u01be\u00e0\2\u0a81\u0a7e"+ - "\3\2\2\2\u0a82\u0a85\3\2\2\2\u0a83\u0a81\3\2\2\2\u0a83\u0a84\3\2\2\2\u0a84"+ - "\u01bd\3\2\2\2\u0a85\u0a83\3\2\2\2\u0a86\u0a87\b\u00e0\1\2\u0a87\u0a88"+ - "\5\u01c0\u00e1\2\u0a88\u0a8e\3\2\2\2\u0a89\u0a8a\f\3\2\2\u0a8a\u0a8b\7"+ - "X\2\2\u0a8b\u0a8d\5\u01c0\u00e1\2\u0a8c\u0a89\3\2\2\2\u0a8d\u0a90\3\2"+ - "\2\2\u0a8e\u0a8c\3\2\2\2\u0a8e\u0a8f\3\2\2\2\u0a8f\u01bf\3\2\2\2\u0a90"+ - "\u0a8e\3\2\2\2\u0a91\u0a92\b\u00e1\1\2\u0a92\u0a93\5\u01c2\u00e2\2\u0a93"+ - "\u0a9c\3\2\2\2\u0a94\u0a95\f\4\2\2\u0a95\u0a96\7L\2\2\u0a96\u0a9b\5\u01c2"+ - "\u00e2\2\u0a97\u0a98\f\3\2\2\u0a98\u0a99\7O\2\2\u0a99\u0a9b\5\u01c2\u00e2"+ - "\2\u0a9a\u0a94\3\2\2\2\u0a9a\u0a97\3\2\2\2\u0a9b\u0a9e\3\2\2\2\u0a9c\u0a9a"+ - "\3\2\2\2\u0a9c\u0a9d\3\2\2\2\u0a9d\u01c1\3\2\2\2\u0a9e\u0a9c\3\2\2\2\u0a9f"+ - "\u0aa0\b\u00e2\1\2\u0aa0\u0aa1\5\u01c4\u00e3\2\u0aa1\u0ab3\3\2\2\2\u0aa2"+ - "\u0aa3\f\7\2\2\u0aa3\u0aa4\7G\2\2\u0aa4\u0ab2\5\u01c4\u00e3\2\u0aa5\u0aa6"+ - "\f\6\2\2\u0aa6\u0aa7\7F\2\2\u0aa7\u0ab2\5\u01c4\u00e3\2\u0aa8\u0aa9\f"+ - "\5\2\2\u0aa9\u0aaa\7M\2\2\u0aaa\u0ab2\5\u01c4\u00e3\2\u0aab\u0aac\f\4"+ - "\2\2\u0aac\u0aad\7N\2\2\u0aad\u0ab2\5\u01c4\u00e3\2\u0aae\u0aaf\f\3\2"+ - "\2\u0aaf\u0ab0\7\35\2\2\u0ab0\u0ab2\5\16\b\2\u0ab1\u0aa2\3\2\2\2\u0ab1"+ - "\u0aa5\3\2\2\2\u0ab1\u0aa8\3\2\2\2\u0ab1\u0aab\3\2\2\2\u0ab1\u0aae\3\2"+ - "\2\2\u0ab2\u0ab5\3\2\2\2\u0ab3\u0ab1\3\2\2\2\u0ab3\u0ab4\3\2\2\2\u0ab4"+ - "\u01c3\3\2\2\2\u0ab5\u0ab3\3\2\2\2\u0ab6\u0ab7\b\u00e3\1\2\u0ab7\u0ab8"+ - "\5\u01c6\u00e4\2\u0ab8\u0ac8\3\2\2\2\u0ab9\u0aba\f\5\2\2\u0aba\u0abb\7"+ - "G\2\2\u0abb\u0abc\7G\2\2\u0abc\u0ac7\5\u01c6\u00e4\2\u0abd\u0abe\f\4\2"+ - "\2\u0abe\u0abf\7F\2\2\u0abf\u0ac0\7F\2\2\u0ac0\u0ac7\5\u01c6\u00e4\2\u0ac1"+ - "\u0ac2\f\3\2\2\u0ac2\u0ac3\7F\2\2\u0ac3\u0ac4\7F\2\2\u0ac4\u0ac5\7F\2"+ - "\2\u0ac5\u0ac7\5\u01c6\u00e4\2\u0ac6\u0ab9\3\2\2\2\u0ac6\u0abd\3\2\2\2"+ - "\u0ac6\u0ac1\3\2\2\2\u0ac7\u0aca\3\2\2\2\u0ac8\u0ac6\3\2\2\2\u0ac8\u0ac9"+ - "\3\2\2\2\u0ac9\u01c5\3\2\2\2\u0aca\u0ac8\3\2\2\2\u0acb\u0acc\b\u00e4\1"+ - "\2\u0acc\u0acd\5\u01c8\u00e5\2\u0acd\u0ad6\3\2\2\2\u0ace\u0acf\f\4\2\2"+ - "\u0acf\u0ad0\7T\2\2\u0ad0\u0ad5\5\u01c8\u00e5\2\u0ad1\u0ad2\f\3\2\2\u0ad2"+ - "\u0ad3\7U\2\2\u0ad3\u0ad5\5\u01c8\u00e5\2\u0ad4\u0ace\3\2\2\2\u0ad4\u0ad1"+ - "\3\2\2\2\u0ad5\u0ad8\3\2\2\2\u0ad6\u0ad4\3\2\2\2\u0ad6\u0ad7\3\2\2\2\u0ad7"+ - "\u01c7\3\2\2\2\u0ad8\u0ad6\3\2\2\2\u0ad9\u0ada\b\u00e5\1\2\u0ada\u0adb"+ - "\5\u01ca\u00e6\2\u0adb\u0ae7\3\2\2\2\u0adc\u0add\f\5\2\2\u0add\u0ade\7"+ - "V\2\2\u0ade\u0ae6\5\u01ca\u00e6\2\u0adf\u0ae0\f\4\2\2\u0ae0\u0ae1\7W\2"+ - "\2\u0ae1\u0ae6\5\u01ca\u00e6\2\u0ae2\u0ae3\f\3\2\2\u0ae3\u0ae4\7[\2\2"+ - "\u0ae4\u0ae6\5\u01ca\u00e6\2\u0ae5\u0adc\3\2\2\2\u0ae5\u0adf\3\2\2\2\u0ae5"+ - "\u0ae2\3\2\2\2\u0ae6\u0ae9\3\2\2\2\u0ae7\u0ae5\3\2\2\2\u0ae7\u0ae8\3\2"+ - "\2\2\u0ae8\u01c9\3\2\2\2\u0ae9\u0ae7\3\2\2\2\u0aea\u0af2\5\u01cc\u00e7"+ - "\2\u0aeb\u0af2\5\u01ce\u00e8\2\u0aec\u0aed\7T\2\2\u0aed\u0af2\5\u01ca"+ - "\u00e6\2\u0aee\u0aef\7U\2\2\u0aef\u0af2\5\u01ca\u00e6\2\u0af0\u0af2\5"+ - "\u01d0\u00e9\2\u0af1\u0aea\3\2\2\2\u0af1\u0aeb\3\2\2\2\u0af1\u0aec\3\2"+ - "\2\2\u0af1\u0aee\3\2\2\2\u0af1\u0af0\3\2\2\2\u0af2\u01cb\3\2\2\2\u0af3"+ - "\u0af4\7R\2\2\u0af4\u0af5\5\u01ca\u00e6\2\u0af5\u01cd\3\2\2\2\u0af6\u0af7"+ - "\7S\2\2\u0af7\u0af8\5\u01ca\u00e6\2\u0af8\u01cf\3\2\2\2\u0af9\u0b00\5"+ - "\u01d2\u00ea\2\u0afa\u0afb\7I\2\2\u0afb\u0b00\5\u01ca\u00e6\2\u0afc\u0afd"+ - "\7H\2\2\u0afd\u0b00\5\u01ca\u00e6\2\u0afe\u0b00\5\u01dc\u00ef\2\u0aff"+ - "\u0af9\3\2\2\2\u0aff\u0afa\3\2\2\2\u0aff\u0afc\3\2\2\2\u0aff\u0afe\3\2"+ - "\2\2\u0b00\u01d1\3\2\2\2\u0b01\u0b04\5\u0164\u00b3\2\u0b02\u0b04\5<\37"+ - "\2\u0b03\u0b01\3\2\2\2\u0b03\u0b02\3\2\2\2\u0b04\u0b09\3\2\2\2\u0b05\u0b08"+ - "\5\u01d6\u00ec\2\u0b06\u0b08\5\u01da\u00ee\2\u0b07\u0b05\3\2\2\2\u0b07"+ - "\u0b06\3\2\2\2\u0b08\u0b0b\3\2\2\2\u0b09\u0b07\3\2\2\2\u0b09\u0b0a\3\2"+ - "\2\2\u0b0a\u01d3\3\2\2\2\u0b0b\u0b09\3\2\2\2\u0b0c\u0b0d\5\u01d2\u00ea"+ - "\2\u0b0d\u0b0e\7R\2\2\u0b0e\u01d5\3\2\2\2\u0b0f\u0b10\7R\2\2\u0b10\u01d7"+ - "\3\2\2\2\u0b11\u0b12\5\u01d2\u00ea\2\u0b12\u0b13\7S\2\2\u0b13\u01d9\3"+ - "\2\2\2\u0b14\u0b15\7S\2\2\u0b15\u01db\3\2\2\2\u0b16\u0b17\7<\2\2\u0b17"+ - "\u0b18\5\6\4\2\u0b18\u0b19\7=\2\2\u0b19\u0b1a\5\u01ca\u00e6\2\u0b1a\u0b32"+ - "\3\2\2\2\u0b1b\u0b1c\7<\2\2\u0b1c\u0b20\5\16\b\2\u0b1d\u0b1f\5*\26\2\u0b1e"+ - "\u0b1d\3\2\2\2\u0b1f\u0b22\3\2\2\2\u0b20\u0b1e\3\2\2\2\u0b20\u0b21\3\2"+ - "\2\2\u0b21\u0b23\3\2\2\2\u0b22\u0b20\3\2\2\2\u0b23\u0b24\7=\2\2\u0b24"+ - "\u0b25\5\u01d0\u00e9\2\u0b25\u0b32\3\2\2\2\u0b26\u0b27\7<\2\2\u0b27\u0b2b"+ - "\5\16\b\2\u0b28\u0b2a\5*\26\2\u0b29\u0b28\3\2\2\2\u0b2a\u0b2d\3\2\2\2"+ - "\u0b2b\u0b29\3\2\2\2\u0b2b\u0b2c\3\2\2\2\u0b2c\u0b2e\3\2\2\2\u0b2d\u0b2b"+ - "\3\2\2\2\u0b2e\u0b2f\7=\2\2\u0b2f\u0b30\5\u01a4\u00d3\2\u0b30\u0b32\3"+ - "\2\2\2\u0b31\u0b16\3\2\2\2\u0b31\u0b1b\3\2\2\2\u0b31\u0b26\3\2\2\2\u0b32"+ - "\u01dd\3\2\2\2\u014a\u01e2\u01e7\u01ee\u01f2\u01f6\u01ff\u0203\u0208\u020e"+ - "\u0213\u021a\u021f\u0221\u0227\u022c\u0231\u0236\u0241\u024f\u0254\u025c"+ - "\u0263\u0269\u026e\u0279\u027c\u028a\u028f\u0294\u0299\u029f\u02a9\u02b1"+ - "\u02bb\u02c3\u02cf\u02d3\u02d8\u02de\u02e6\u02ef\u02fa\u0317\u031b\u0320"+ - "\u0326\u0329\u032c\u0338\u0343\u0351\u0358\u0360\u0367\u036c\u0370\u037d"+ - "\u0384\u038a\u038e\u0392\u0396\u039a\u039f\u03a3\u03a7\u03a9\u03ae\u03b5"+ - "\u03ba\u03bc\u03c2\u03c7\u03cb\u03de\u03e3\u03f3\u03f6\u03fa\u0400\u0404"+ - "\u0408\u040a\u040e\u0413\u0417\u041e\u0425\u042d\u0430\u0435\u0439\u043f"+ - "\u0444\u044b\u0452\u0457\u045d\u0469\u046e\u0472\u047c\u0481\u0489\u048c"+ - "\u0491\u0499\u049c\u04a1\u04a6\u04ab\u04b0\u04b7\u04bc\u04c4\u04c9\u04ce"+ - "\u04d3\u04d9\u04df\u04e2\u04e5\u04ee\u04f4\u04fa\u04fd\u0500\u0508\u050d"+ - "\u0512\u0518\u051b\u0526\u052f\u0539\u053e\u0549\u054e\u055a\u055f\u056b"+ - "\u0575\u057a\u0582\u0585\u058c\u0594\u059a\u05a3\u05ad\u05b1\u05b4\u05bd"+ - "\u05cb\u05ce\u05d7\u05dc\u05e4\u05ea\u05f1\u05f6\u0602\u0609\u0617\u062d"+ - "\u064f\u065b\u0661\u066d\u067a\u0694\u0698\u069d\u06a1\u06a5\u06ad\u06b1"+ - "\u06b5\u06bc\u06c5\u06cd\u06dc\u06e8\u06ee\u06f4\u0709\u070e\u0714\u0720"+ - "\u072b\u0735\u0738\u073d\u0746\u074c\u0756\u075b\u0764\u077b\u0785\u079b"+ - "\u07a2\u07aa\u07b2\u07bd\u07d4\u07de\u07e9\u07ff\u0803\u0808\u0810\u0816"+ - "\u081a\u081e\u0822\u0828\u082d\u0832\u0836\u083a\u0840\u0845\u084a\u084e"+ - "\u0852\u0854\u0859\u085e\u0863\u0867\u086b\u086f\u0874\u087c\u0882\u0886"+ - "\u088a\u088e\u0894\u0899\u089e\u08a2\u08a6\u08a8\u08ad\u08bc\u08ca\u08d6"+ - "\u08df\u08ee\u08fb\u0904\u090a\u0911\u0916\u091d\u0922\u0929\u092e\u0935"+ - "\u093a\u0942\u0947\u094b\u094f\u0954\u095b\u0962\u0967\u096e\u0973\u097a"+ - "\u097f\u0987\u098c\u0990\u0997\u099d\u09a4\u09ab\u09b2\u09ba\u09c1\u09c9"+ - "\u09cd\u09d4\u09db\u09e2\u09ea\u09f1\u09f9\u09ff\u0a05\u0a11\u0a17\u0a1d"+ - "\u0a28\u0a31\u0a34\u0a3b\u0a40\u0a44\u0a4d\u0a58\u0a62\u0a6d\u0a78\u0a83"+ - "\u0a8e\u0a9a\u0a9c\u0ab1\u0ab3\u0ac6\u0ac8\u0ad4\u0ad6\u0ae5\u0ae7\u0af1"+ - "\u0aff\u0b03\u0b07\u0b09\u0b20\u0b2b\u0b31"; - public static final String _serializedATN = Utils.join( - new String[] { - _serializedATNSegment0, - _serializedATNSegment1 - }, - "" - ); - public static final ATN _ATN = - new ATNDeserializer().deserialize(_serializedATN.toCharArray()); - static { - _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; - for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { - _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); - } - } -} \ No newline at end of file diff --git a/src/de/dhbwstuttgart/sat/asp/parser/antlr/UnifyResultBaseListener.java b/src/de/dhbwstuttgart/sat/asp/parser/antlr/UnifyResultBaseListener.java deleted file mode 100644 index f33525d70..000000000 --- a/src/de/dhbwstuttgart/sat/asp/parser/antlr/UnifyResultBaseListener.java +++ /dev/null @@ -1,159 +0,0 @@ -// Generated from UnifyResult.g4 by ANTLR 4.7 -package de.dhbwstuttgart.sat.asp.parser.antlr; - -import org.antlr.v4.runtime.ParserRuleContext; -import org.antlr.v4.runtime.tree.ErrorNode; -import org.antlr.v4.runtime.tree.TerminalNode; - -/** - * This class provides an empty implementation of {@link UnifyResultListener}, - * which can be extended to create a listener which only needs to handle a subset - * of the available methods. - */ -public class UnifyResultBaseListener implements UnifyResultListener { - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterAnswer(UnifyResultParser.AnswerContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitAnswer(UnifyResultParser.AnswerContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterResultSetRule(UnifyResultParser.ResultSetRuleContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitResultSetRule(UnifyResultParser.ResultSetRuleContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterParameterList(UnifyResultParser.ParameterListContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitParameterList(UnifyResultParser.ParameterListContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterValue(UnifyResultParser.ValueContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitValue(UnifyResultParser.ValueContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterParameter(UnifyResultParser.ParameterContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitParameter(UnifyResultParser.ParameterContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterEquals(UnifyResultParser.EqualsContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitEquals(UnifyResultParser.EqualsContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterSmaller(UnifyResultParser.SmallerContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitSmaller(UnifyResultParser.SmallerContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterTypeVar(UnifyResultParser.TypeVarContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitTypeVar(UnifyResultParser.TypeVarContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterType(UnifyResultParser.TypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitType(UnifyResultParser.TypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterOtherRule(UnifyResultParser.OtherRuleContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitOtherRule(UnifyResultParser.OtherRuleContext ctx) { } - - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterEveryRule(ParserRuleContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitEveryRule(ParserRuleContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void visitTerminal(TerminalNode node) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void visitErrorNode(ErrorNode node) { } -} \ No newline at end of file diff --git a/src/de/dhbwstuttgart/sat/asp/parser/antlr/UnifyResultLexer.java b/src/de/dhbwstuttgart/sat/asp/parser/antlr/UnifyResultLexer.java deleted file mode 100644 index b8660ebaf..000000000 --- a/src/de/dhbwstuttgart/sat/asp/parser/antlr/UnifyResultLexer.java +++ /dev/null @@ -1,134 +0,0 @@ -// Generated from UnifyResult.g4 by ANTLR 4.7 -package de.dhbwstuttgart.sat.asp.parser.antlr; -import org.antlr.v4.runtime.Lexer; -import org.antlr.v4.runtime.CharStream; -import org.antlr.v4.runtime.Token; -import org.antlr.v4.runtime.TokenStream; -import org.antlr.v4.runtime.*; -import org.antlr.v4.runtime.atn.*; -import org.antlr.v4.runtime.dfa.DFA; -import org.antlr.v4.runtime.misc.*; - -@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) -public class UnifyResultLexer extends Lexer { - static { RuntimeMetaData.checkVersion("4.7", RuntimeMetaData.VERSION); } - - protected static final DFA[] _decisionToDFA; - protected static final PredictionContextCache _sharedContextCache = - new PredictionContextCache(); - public static final int - T__0=1, T__1=2, T__2=3, T__3=4, T__4=5, PARAMLIST_NAME=6, EQUALS_NAME=7, - SMALLER_NAME=8, TYPEVAR_NAME=9, TYPE_NAME=10, NAME=11, WS=12, LINE_COMMENT=13; - public static String[] channelNames = { - "DEFAULT_TOKEN_CHANNEL", "HIDDEN" - }; - - public static String[] modeNames = { - "DEFAULT_MODE" - }; - - public static final String[] ruleNames = { - "T__0", "T__1", "T__2", "T__3", "T__4", "PARAMLIST_NAME", "EQUALS_NAME", - "SMALLER_NAME", "TYPEVAR_NAME", "TYPE_NAME", "NAME", "WS", "LINE_COMMENT" - }; - - private static final String[] _LITERAL_NAMES = { - null, "'ANSWER'", "'.'", "'('", "','", "')'", "'param'", "'equals'", "'smaller'", - "'typeVar'", "'type'" - }; - private static final String[] _SYMBOLIC_NAMES = { - null, null, null, null, null, null, "PARAMLIST_NAME", "EQUALS_NAME", "SMALLER_NAME", - "TYPEVAR_NAME", "TYPE_NAME", "NAME", "WS", "LINE_COMMENT" - }; - public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); - - /** - * @deprecated Use {@link #VOCABULARY} instead. - */ - @Deprecated - public static final String[] tokenNames; - static { - tokenNames = new String[_SYMBOLIC_NAMES.length]; - for (int i = 0; i < tokenNames.length; i++) { - tokenNames[i] = VOCABULARY.getLiteralName(i); - if (tokenNames[i] == null) { - tokenNames[i] = VOCABULARY.getSymbolicName(i); - } - - if (tokenNames[i] == null) { - tokenNames[i] = ""; - } - } - } - - @Override - @Deprecated - public String[] getTokenNames() { - return tokenNames; - } - - @Override - - public Vocabulary getVocabulary() { - return VOCABULARY; - } - - - public UnifyResultLexer(CharStream input) { - super(input); - _interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); - } - - @Override - public String getGrammarFileName() { return "UnifyResult.g4"; } - - @Override - public String[] getRuleNames() { return ruleNames; } - - @Override - public String getSerializedATN() { return _serializedATN; } - - @Override - public String[] getChannelNames() { return channelNames; } - - @Override - public String[] getModeNames() { return modeNames; } - - @Override - public ATN getATN() { return _ATN; } - - public static final String _serializedATN = - "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2\17c\b\1\4\2\t\2\4"+ - "\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13\t"+ - "\13\4\f\t\f\4\r\t\r\4\16\t\16\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\3\3\3\3\4"+ - "\3\4\3\5\3\5\3\6\3\6\3\7\3\7\3\7\3\7\3\7\3\7\3\b\3\b\3\b\3\b\3\b\3\b\3"+ - "\b\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\n\3\n\3\n\3\n\3\n\3\n\3\n\3\n\3\13"+ - "\3\13\3\13\3\13\3\13\3\f\6\fP\n\f\r\f\16\fQ\3\r\6\rU\n\r\r\r\16\rV\3\r"+ - "\3\r\3\16\3\16\7\16]\n\16\f\16\16\16`\13\16\3\16\3\16\2\2\17\3\3\5\4\7"+ - "\5\t\6\13\7\r\b\17\t\21\n\23\13\25\f\27\r\31\16\33\17\3\2\5\6\2\62;C\\"+ - "aac|\5\2\13\f\16\17\"\"\4\2\f\f\17\17\2e\2\3\3\2\2\2\2\5\3\2\2\2\2\7\3"+ - "\2\2\2\2\t\3\2\2\2\2\13\3\2\2\2\2\r\3\2\2\2\2\17\3\2\2\2\2\21\3\2\2\2"+ - "\2\23\3\2\2\2\2\25\3\2\2\2\2\27\3\2\2\2\2\31\3\2\2\2\2\33\3\2\2\2\3\35"+ - "\3\2\2\2\5$\3\2\2\2\7&\3\2\2\2\t(\3\2\2\2\13*\3\2\2\2\r,\3\2\2\2\17\62"+ - "\3\2\2\2\219\3\2\2\2\23A\3\2\2\2\25I\3\2\2\2\27O\3\2\2\2\31T\3\2\2\2\33"+ - "Z\3\2\2\2\35\36\7C\2\2\36\37\7P\2\2\37 \7U\2\2 !\7Y\2\2!\"\7G\2\2\"#\7"+ - "T\2\2#\4\3\2\2\2$%\7\60\2\2%\6\3\2\2\2&\'\7*\2\2\'\b\3\2\2\2()\7.\2\2"+ - ")\n\3\2\2\2*+\7+\2\2+\f\3\2\2\2,-\7r\2\2-.\7c\2\2./\7t\2\2/\60\7c\2\2"+ - "\60\61\7o\2\2\61\16\3\2\2\2\62\63\7g\2\2\63\64\7s\2\2\64\65\7w\2\2\65"+ - "\66\7c\2\2\66\67\7n\2\2\678\7u\2\28\20\3\2\2\29:\7u\2\2:;\7o\2\2;<\7c"+ - "\2\2<=\7n\2\2=>\7n\2\2>?\7g\2\2?@\7t\2\2@\22\3\2\2\2AB\7v\2\2BC\7{\2\2"+ - "CD\7r\2\2DE\7g\2\2EF\7X\2\2FG\7c\2\2GH\7t\2\2H\24\3\2\2\2IJ\7v\2\2JK\7"+ - "{\2\2KL\7r\2\2LM\7g\2\2M\26\3\2\2\2NP\t\2\2\2ON\3\2\2\2PQ\3\2\2\2QO\3"+ - "\2\2\2QR\3\2\2\2R\30\3\2\2\2SU\t\3\2\2TS\3\2\2\2UV\3\2\2\2VT\3\2\2\2V"+ - "W\3\2\2\2WX\3\2\2\2XY\b\r\2\2Y\32\3\2\2\2Z^\7\'\2\2[]\n\4\2\2\\[\3\2\2"+ - "\2]`\3\2\2\2^\\\3\2\2\2^_\3\2\2\2_a\3\2\2\2`^\3\2\2\2ab\b\16\2\2b\34\3"+ - "\2\2\2\6\2QV^\3\b\2\2"; - public static final ATN _ATN = - new ATNDeserializer().deserialize(_serializedATN.toCharArray()); - static { - _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; - for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { - _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); - } - } -} \ No newline at end of file diff --git a/src/de/dhbwstuttgart/sat/asp/parser/antlr/UnifyResultListener.java b/src/de/dhbwstuttgart/sat/asp/parser/antlr/UnifyResultListener.java deleted file mode 100644 index 6158b1236..000000000 --- a/src/de/dhbwstuttgart/sat/asp/parser/antlr/UnifyResultListener.java +++ /dev/null @@ -1,110 +0,0 @@ -// Generated from UnifyResult.g4 by ANTLR 4.7 -package de.dhbwstuttgart.sat.asp.parser.antlr; -import org.antlr.v4.runtime.tree.ParseTreeListener; - -/** - * This interface defines a complete listener for a parse tree produced by - * {@link UnifyResultParser}. - */ -public interface UnifyResultListener extends ParseTreeListener { - /** - * Enter a parse tree produced by {@link UnifyResultParser#answer}. - * @param ctx the parse tree - */ - void enterAnswer(UnifyResultParser.AnswerContext ctx); - /** - * Exit a parse tree produced by {@link UnifyResultParser#answer}. - * @param ctx the parse tree - */ - void exitAnswer(UnifyResultParser.AnswerContext ctx); - /** - * Enter a parse tree produced by {@link UnifyResultParser#resultSetRule}. - * @param ctx the parse tree - */ - void enterResultSetRule(UnifyResultParser.ResultSetRuleContext ctx); - /** - * Exit a parse tree produced by {@link UnifyResultParser#resultSetRule}. - * @param ctx the parse tree - */ - void exitResultSetRule(UnifyResultParser.ResultSetRuleContext ctx); - /** - * Enter a parse tree produced by {@link UnifyResultParser#parameterList}. - * @param ctx the parse tree - */ - void enterParameterList(UnifyResultParser.ParameterListContext ctx); - /** - * Exit a parse tree produced by {@link UnifyResultParser#parameterList}. - * @param ctx the parse tree - */ - void exitParameterList(UnifyResultParser.ParameterListContext ctx); - /** - * Enter a parse tree produced by {@link UnifyResultParser#value}. - * @param ctx the parse tree - */ - void enterValue(UnifyResultParser.ValueContext ctx); - /** - * Exit a parse tree produced by {@link UnifyResultParser#value}. - * @param ctx the parse tree - */ - void exitValue(UnifyResultParser.ValueContext ctx); - /** - * Enter a parse tree produced by {@link UnifyResultParser#parameter}. - * @param ctx the parse tree - */ - void enterParameter(UnifyResultParser.ParameterContext ctx); - /** - * Exit a parse tree produced by {@link UnifyResultParser#parameter}. - * @param ctx the parse tree - */ - void exitParameter(UnifyResultParser.ParameterContext ctx); - /** - * Enter a parse tree produced by {@link UnifyResultParser#equals}. - * @param ctx the parse tree - */ - void enterEquals(UnifyResultParser.EqualsContext ctx); - /** - * Exit a parse tree produced by {@link UnifyResultParser#equals}. - * @param ctx the parse tree - */ - void exitEquals(UnifyResultParser.EqualsContext ctx); - /** - * Enter a parse tree produced by {@link UnifyResultParser#smaller}. - * @param ctx the parse tree - */ - void enterSmaller(UnifyResultParser.SmallerContext ctx); - /** - * Exit a parse tree produced by {@link UnifyResultParser#smaller}. - * @param ctx the parse tree - */ - void exitSmaller(UnifyResultParser.SmallerContext ctx); - /** - * Enter a parse tree produced by {@link UnifyResultParser#typeVar}. - * @param ctx the parse tree - */ - void enterTypeVar(UnifyResultParser.TypeVarContext ctx); - /** - * Exit a parse tree produced by {@link UnifyResultParser#typeVar}. - * @param ctx the parse tree - */ - void exitTypeVar(UnifyResultParser.TypeVarContext ctx); - /** - * Enter a parse tree produced by {@link UnifyResultParser#type}. - * @param ctx the parse tree - */ - void enterType(UnifyResultParser.TypeContext ctx); - /** - * Exit a parse tree produced by {@link UnifyResultParser#type}. - * @param ctx the parse tree - */ - void exitType(UnifyResultParser.TypeContext ctx); - /** - * Enter a parse tree produced by {@link UnifyResultParser#otherRule}. - * @param ctx the parse tree - */ - void enterOtherRule(UnifyResultParser.OtherRuleContext ctx); - /** - * Exit a parse tree produced by {@link UnifyResultParser#otherRule}. - * @param ctx the parse tree - */ - void exitOtherRule(UnifyResultParser.OtherRuleContext ctx); -} \ No newline at end of file diff --git a/src/de/dhbwstuttgart/sat/asp/parser/antlr/UnifyResultParser.java b/src/de/dhbwstuttgart/sat/asp/parser/antlr/UnifyResultParser.java deleted file mode 100644 index bf0789f1e..000000000 --- a/src/de/dhbwstuttgart/sat/asp/parser/antlr/UnifyResultParser.java +++ /dev/null @@ -1,639 +0,0 @@ -// Generated from UnifyResult.g4 by ANTLR 4.7 -package de.dhbwstuttgart.sat.asp.parser.antlr; -import org.antlr.v4.runtime.atn.*; -import org.antlr.v4.runtime.dfa.DFA; -import org.antlr.v4.runtime.*; -import org.antlr.v4.runtime.misc.*; -import org.antlr.v4.runtime.tree.*; -import java.util.List; -import java.util.Iterator; -import java.util.ArrayList; - -@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) -public class UnifyResultParser extends Parser { - static { RuntimeMetaData.checkVersion("4.7", RuntimeMetaData.VERSION); } - - protected static final DFA[] _decisionToDFA; - protected static final PredictionContextCache _sharedContextCache = - new PredictionContextCache(); - public static final int - T__0=1, T__1=2, T__2=3, T__3=4, T__4=5, PARAMLIST_NAME=6, EQUALS_NAME=7, - SMALLER_NAME=8, TYPEVAR_NAME=9, TYPE_NAME=10, NAME=11, WS=12, LINE_COMMENT=13; - public static final int - RULE_answer = 0, RULE_resultSetRule = 1, RULE_parameterList = 2, RULE_value = 3, - RULE_parameter = 4, RULE_equals = 5, RULE_smaller = 6, RULE_typeVar = 7, - RULE_type = 8, RULE_otherRule = 9; - public static final String[] ruleNames = { - "answer", "resultSetRule", "parameterList", "value", "parameter", "equals", - "smaller", "typeVar", "type", "otherRule" - }; - - private static final String[] _LITERAL_NAMES = { - null, "'ANSWER'", "'.'", "'('", "','", "')'", "'param'", "'equals'", "'smaller'", - "'typeVar'", "'type'" - }; - private static final String[] _SYMBOLIC_NAMES = { - null, null, null, null, null, null, "PARAMLIST_NAME", "EQUALS_NAME", "SMALLER_NAME", - "TYPEVAR_NAME", "TYPE_NAME", "NAME", "WS", "LINE_COMMENT" - }; - public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); - - /** - * @deprecated Use {@link #VOCABULARY} instead. - */ - @Deprecated - public static final String[] tokenNames; - static { - tokenNames = new String[_SYMBOLIC_NAMES.length]; - for (int i = 0; i < tokenNames.length; i++) { - tokenNames[i] = VOCABULARY.getLiteralName(i); - if (tokenNames[i] == null) { - tokenNames[i] = VOCABULARY.getSymbolicName(i); - } - - if (tokenNames[i] == null) { - tokenNames[i] = ""; - } - } - } - - @Override - @Deprecated - public String[] getTokenNames() { - return tokenNames; - } - - @Override - - public Vocabulary getVocabulary() { - return VOCABULARY; - } - - @Override - public String getGrammarFileName() { return "UnifyResult.g4"; } - - @Override - public String[] getRuleNames() { return ruleNames; } - - @Override - public String getSerializedATN() { return _serializedATN; } - - @Override - public ATN getATN() { return _ATN; } - - public UnifyResultParser(TokenStream input) { - super(input); - _interp = new ParserATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); - } - public static class AnswerContext extends ParserRuleContext { - public List resultSetRule() { - return getRuleContexts(ResultSetRuleContext.class); - } - public ResultSetRuleContext resultSetRule(int i) { - return getRuleContext(ResultSetRuleContext.class,i); - } - public AnswerContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_answer; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof UnifyResultListener ) ((UnifyResultListener)listener).enterAnswer(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof UnifyResultListener ) ((UnifyResultListener)listener).exitAnswer(this); - } - } - - public final AnswerContext answer() throws RecognitionException { - AnswerContext _localctx = new AnswerContext(_ctx, getState()); - enterRule(_localctx, 0, RULE_answer); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(20); - match(T__0); - setState(26); - _errHandler.sync(this); - _la = _input.LA(1); - while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << PARAMLIST_NAME) | (1L << EQUALS_NAME) | (1L << SMALLER_NAME) | (1L << TYPEVAR_NAME) | (1L << TYPE_NAME) | (1L << NAME))) != 0)) { - { - { - setState(21); - resultSetRule(); - setState(22); - match(T__1); - } - } - setState(28); - _errHandler.sync(this); - _la = _input.LA(1); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ResultSetRuleContext extends ParserRuleContext { - public ParameterContext parameter() { - return getRuleContext(ParameterContext.class,0); - } - public EqualsContext equals() { - return getRuleContext(EqualsContext.class,0); - } - public SmallerContext smaller() { - return getRuleContext(SmallerContext.class,0); - } - public TypeVarContext typeVar() { - return getRuleContext(TypeVarContext.class,0); - } - public TypeContext type() { - return getRuleContext(TypeContext.class,0); - } - public OtherRuleContext otherRule() { - return getRuleContext(OtherRuleContext.class,0); - } - public ResultSetRuleContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_resultSetRule; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof UnifyResultListener ) ((UnifyResultListener)listener).enterResultSetRule(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof UnifyResultListener ) ((UnifyResultListener)listener).exitResultSetRule(this); - } - } - - public final ResultSetRuleContext resultSetRule() throws RecognitionException { - ResultSetRuleContext _localctx = new ResultSetRuleContext(_ctx, getState()); - enterRule(_localctx, 2, RULE_resultSetRule); - try { - setState(35); - _errHandler.sync(this); - switch (_input.LA(1)) { - case PARAMLIST_NAME: - enterOuterAlt(_localctx, 1); - { - setState(29); - parameter(); - } - break; - case EQUALS_NAME: - enterOuterAlt(_localctx, 2); - { - setState(30); - equals(); - } - break; - case SMALLER_NAME: - enterOuterAlt(_localctx, 3); - { - setState(31); - smaller(); - } - break; - case TYPEVAR_NAME: - enterOuterAlt(_localctx, 4); - { - setState(32); - typeVar(); - } - break; - case TYPE_NAME: - enterOuterAlt(_localctx, 5); - { - setState(33); - type(); - } - break; - case NAME: - enterOuterAlt(_localctx, 6); - { - setState(34); - otherRule(); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ParameterListContext extends ParserRuleContext { - public List value() { - return getRuleContexts(ValueContext.class); - } - public ValueContext value(int i) { - return getRuleContext(ValueContext.class,i); - } - public ParameterListContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_parameterList; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof UnifyResultListener ) ((UnifyResultListener)listener).enterParameterList(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof UnifyResultListener ) ((UnifyResultListener)listener).exitParameterList(this); - } - } - - public final ParameterListContext parameterList() throws RecognitionException { - ParameterListContext _localctx = new ParameterListContext(_ctx, getState()); - enterRule(_localctx, 4, RULE_parameterList); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(37); - match(T__2); - setState(38); - value(); - setState(43); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==T__3) { - { - { - setState(39); - match(T__3); - setState(40); - value(); - } - } - setState(45); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(46); - match(T__4); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ValueContext extends ParserRuleContext { - public TerminalNode NAME() { return getToken(UnifyResultParser.NAME, 0); } - public ResultSetRuleContext resultSetRule() { - return getRuleContext(ResultSetRuleContext.class,0); - } - public ValueContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_value; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof UnifyResultListener ) ((UnifyResultListener)listener).enterValue(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof UnifyResultListener ) ((UnifyResultListener)listener).exitValue(this); - } - } - - public final ValueContext value() throws RecognitionException { - ValueContext _localctx = new ValueContext(_ctx, getState()); - enterRule(_localctx, 6, RULE_value); - try { - setState(50); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,3,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(48); - match(NAME); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(49); - resultSetRule(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ParameterContext extends ParserRuleContext { - public TerminalNode PARAMLIST_NAME() { return getToken(UnifyResultParser.PARAMLIST_NAME, 0); } - public ParameterListContext parameterList() { - return getRuleContext(ParameterListContext.class,0); - } - public ParameterContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_parameter; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof UnifyResultListener ) ((UnifyResultListener)listener).enterParameter(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof UnifyResultListener ) ((UnifyResultListener)listener).exitParameter(this); - } - } - - public final ParameterContext parameter() throws RecognitionException { - ParameterContext _localctx = new ParameterContext(_ctx, getState()); - enterRule(_localctx, 8, RULE_parameter); - try { - enterOuterAlt(_localctx, 1); - { - setState(52); - match(PARAMLIST_NAME); - setState(53); - parameterList(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class EqualsContext extends ParserRuleContext { - public TerminalNode EQUALS_NAME() { return getToken(UnifyResultParser.EQUALS_NAME, 0); } - public ParameterListContext parameterList() { - return getRuleContext(ParameterListContext.class,0); - } - public EqualsContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_equals; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof UnifyResultListener ) ((UnifyResultListener)listener).enterEquals(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof UnifyResultListener ) ((UnifyResultListener)listener).exitEquals(this); - } - } - - public final EqualsContext equals() throws RecognitionException { - EqualsContext _localctx = new EqualsContext(_ctx, getState()); - enterRule(_localctx, 10, RULE_equals); - try { - enterOuterAlt(_localctx, 1); - { - setState(55); - match(EQUALS_NAME); - setState(56); - parameterList(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class SmallerContext extends ParserRuleContext { - public TerminalNode SMALLER_NAME() { return getToken(UnifyResultParser.SMALLER_NAME, 0); } - public ParameterListContext parameterList() { - return getRuleContext(ParameterListContext.class,0); - } - public SmallerContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_smaller; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof UnifyResultListener ) ((UnifyResultListener)listener).enterSmaller(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof UnifyResultListener ) ((UnifyResultListener)listener).exitSmaller(this); - } - } - - public final SmallerContext smaller() throws RecognitionException { - SmallerContext _localctx = new SmallerContext(_ctx, getState()); - enterRule(_localctx, 12, RULE_smaller); - try { - enterOuterAlt(_localctx, 1); - { - setState(58); - match(SMALLER_NAME); - setState(59); - parameterList(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class TypeVarContext extends ParserRuleContext { - public TerminalNode TYPEVAR_NAME() { return getToken(UnifyResultParser.TYPEVAR_NAME, 0); } - public ParameterListContext parameterList() { - return getRuleContext(ParameterListContext.class,0); - } - public TypeVarContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_typeVar; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof UnifyResultListener ) ((UnifyResultListener)listener).enterTypeVar(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof UnifyResultListener ) ((UnifyResultListener)listener).exitTypeVar(this); - } - } - - public final TypeVarContext typeVar() throws RecognitionException { - TypeVarContext _localctx = new TypeVarContext(_ctx, getState()); - enterRule(_localctx, 14, RULE_typeVar); - try { - enterOuterAlt(_localctx, 1); - { - setState(61); - match(TYPEVAR_NAME); - setState(62); - parameterList(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class TypeContext extends ParserRuleContext { - public TerminalNode TYPE_NAME() { return getToken(UnifyResultParser.TYPE_NAME, 0); } - public ParameterListContext parameterList() { - return getRuleContext(ParameterListContext.class,0); - } - public TypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_type; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof UnifyResultListener ) ((UnifyResultListener)listener).enterType(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof UnifyResultListener ) ((UnifyResultListener)listener).exitType(this); - } - } - - public final TypeContext type() throws RecognitionException { - TypeContext _localctx = new TypeContext(_ctx, getState()); - enterRule(_localctx, 16, RULE_type); - try { - enterOuterAlt(_localctx, 1); - { - setState(64); - match(TYPE_NAME); - setState(65); - parameterList(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class OtherRuleContext extends ParserRuleContext { - public TerminalNode NAME() { return getToken(UnifyResultParser.NAME, 0); } - public ParameterListContext parameterList() { - return getRuleContext(ParameterListContext.class,0); - } - public OtherRuleContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_otherRule; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof UnifyResultListener ) ((UnifyResultListener)listener).enterOtherRule(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof UnifyResultListener ) ((UnifyResultListener)listener).exitOtherRule(this); - } - } - - public final OtherRuleContext otherRule() throws RecognitionException { - OtherRuleContext _localctx = new OtherRuleContext(_ctx, getState()); - enterRule(_localctx, 18, RULE_otherRule); - try { - enterOuterAlt(_localctx, 1); - { - setState(67); - match(NAME); - setState(68); - parameterList(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static final String _serializedATN = - "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\3\17I\4\2\t\2\4\3\t"+ - "\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13\t\13\3"+ - "\2\3\2\3\2\3\2\7\2\33\n\2\f\2\16\2\36\13\2\3\3\3\3\3\3\3\3\3\3\3\3\5\3"+ - "&\n\3\3\4\3\4\3\4\3\4\7\4,\n\4\f\4\16\4/\13\4\3\4\3\4\3\5\3\5\5\5\65\n"+ - "\5\3\6\3\6\3\6\3\7\3\7\3\7\3\b\3\b\3\b\3\t\3\t\3\t\3\n\3\n\3\n\3\13\3"+ - "\13\3\13\3\13\2\2\f\2\4\6\b\n\f\16\20\22\24\2\2\2F\2\26\3\2\2\2\4%\3\2"+ - "\2\2\6\'\3\2\2\2\b\64\3\2\2\2\n\66\3\2\2\2\f9\3\2\2\2\16<\3\2\2\2\20?"+ - "\3\2\2\2\22B\3\2\2\2\24E\3\2\2\2\26\34\7\3\2\2\27\30\5\4\3\2\30\31\7\4"+ - "\2\2\31\33\3\2\2\2\32\27\3\2\2\2\33\36\3\2\2\2\34\32\3\2\2\2\34\35\3\2"+ - "\2\2\35\3\3\2\2\2\36\34\3\2\2\2\37&\5\n\6\2 &\5\f\7\2!&\5\16\b\2\"&\5"+ - "\20\t\2#&\5\22\n\2$&\5\24\13\2%\37\3\2\2\2% \3\2\2\2%!\3\2\2\2%\"\3\2"+ - "\2\2%#\3\2\2\2%$\3\2\2\2&\5\3\2\2\2\'(\7\5\2\2(-\5\b\5\2)*\7\6\2\2*,\5"+ - "\b\5\2+)\3\2\2\2,/\3\2\2\2-+\3\2\2\2-.\3\2\2\2.\60\3\2\2\2/-\3\2\2\2\60"+ - "\61\7\7\2\2\61\7\3\2\2\2\62\65\7\r\2\2\63\65\5\4\3\2\64\62\3\2\2\2\64"+ - "\63\3\2\2\2\65\t\3\2\2\2\66\67\7\b\2\2\678\5\6\4\28\13\3\2\2\29:\7\t\2"+ - "\2:;\5\6\4\2;\r\3\2\2\2<=\7\n\2\2=>\5\6\4\2>\17\3\2\2\2?@\7\13\2\2@A\5"+ - "\6\4\2A\21\3\2\2\2BC\7\f\2\2CD\5\6\4\2D\23\3\2\2\2EF\7\r\2\2FG\5\6\4\2"+ - "G\25\3\2\2\2\6\34%-\64"; - public static final ATN _ATN = - new ATNDeserializer().deserialize(_serializedATN.toCharArray()); - static { - _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; - for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { - _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); - } - } -} \ No newline at end of file diff --git a/src/de/dhbwstuttgart/parser/antlr/Java8.g4 b/src/main/antlr4/java8/Java8.g4 similarity index 100% rename from src/de/dhbwstuttgart/parser/antlr/Java8.g4 rename to src/main/antlr4/java8/Java8.g4 diff --git a/src/de/dhbwstuttgart/parser/antlr/Java8.tokens b/src/main/antlr4/java8/Java8.tokens similarity index 100% rename from src/de/dhbwstuttgart/parser/antlr/Java8.tokens rename to src/main/antlr4/java8/Java8.tokens diff --git a/src/de/dhbwstuttgart/parser/antlr/Java8Lexer.tokens b/src/main/antlr4/java8/Java8Lexer.tokens similarity index 100% rename from src/de/dhbwstuttgart/parser/antlr/Java8Lexer.tokens rename to src/main/antlr4/java8/Java8Lexer.tokens diff --git a/src/de/dhbwstuttgart/sat/asp/parser/antlr/UnifyResult.g4 b/src/main/antlr4/sat/UnifyResult.g4 similarity index 100% rename from src/de/dhbwstuttgart/sat/asp/parser/antlr/UnifyResult.g4 rename to src/main/antlr4/sat/UnifyResult.g4 diff --git a/src/de/dhbwstuttgart/sat/asp/parser/antlr/UnifyResult.tokens b/src/main/antlr4/sat/UnifyResult.tokens similarity index 100% rename from src/de/dhbwstuttgart/sat/asp/parser/antlr/UnifyResult.tokens rename to src/main/antlr4/sat/UnifyResult.tokens diff --git a/src/de/dhbwstuttgart/sat/asp/parser/antlr/UnifyResultLexer.tokens b/src/main/antlr4/sat/UnifyResultLexer.tokens similarity index 100% rename from src/de/dhbwstuttgart/sat/asp/parser/antlr/UnifyResultLexer.tokens rename to src/main/antlr4/sat/UnifyResultLexer.tokens diff --git a/src/de/dhbwstuttgart/.DS_Store b/src/main/java/de/dhbwstuttgart/.DS_Store similarity index 100% rename from src/de/dhbwstuttgart/.DS_Store rename to src/main/java/de/dhbwstuttgart/.DS_Store diff --git a/src/de/dhbwstuttgart/bytecode/AStatement.java b/src/main/java/de/dhbwstuttgart/bytecode/AStatement.java similarity index 100% rename from src/de/dhbwstuttgart/bytecode/AStatement.java rename to src/main/java/de/dhbwstuttgart/bytecode/AStatement.java diff --git a/src/de/dhbwstuttgart/bytecode/ArgumentExpr.java b/src/main/java/de/dhbwstuttgart/bytecode/ArgumentExpr.java similarity index 100% rename from src/de/dhbwstuttgart/bytecode/ArgumentExpr.java rename to src/main/java/de/dhbwstuttgart/bytecode/ArgumentExpr.java diff --git a/src/de/dhbwstuttgart/bytecode/ArgumentVisitor.java b/src/main/java/de/dhbwstuttgart/bytecode/ArgumentVisitor.java similarity index 100% rename from src/de/dhbwstuttgart/bytecode/ArgumentVisitor.java rename to src/main/java/de/dhbwstuttgart/bytecode/ArgumentVisitor.java diff --git a/src/de/dhbwstuttgart/bytecode/AssignStmt.java b/src/main/java/de/dhbwstuttgart/bytecode/AssignStmt.java similarity index 100% rename from src/de/dhbwstuttgart/bytecode/AssignStmt.java rename to src/main/java/de/dhbwstuttgart/bytecode/AssignStmt.java diff --git a/src/de/dhbwstuttgart/bytecode/BytecodeGen.java b/src/main/java/de/dhbwstuttgart/bytecode/BytecodeGen.java similarity index 100% rename from src/de/dhbwstuttgart/bytecode/BytecodeGen.java rename to src/main/java/de/dhbwstuttgart/bytecode/BytecodeGen.java diff --git a/src/de/dhbwstuttgart/bytecode/BytecodeGenMethod.java b/src/main/java/de/dhbwstuttgart/bytecode/BytecodeGenMethod.java similarity index 100% rename from src/de/dhbwstuttgart/bytecode/BytecodeGenMethod.java rename to src/main/java/de/dhbwstuttgart/bytecode/BytecodeGenMethod.java diff --git a/src/de/dhbwstuttgart/bytecode/IStatement.java b/src/main/java/de/dhbwstuttgart/bytecode/IStatement.java similarity index 100% rename from src/de/dhbwstuttgart/bytecode/IStatement.java rename to src/main/java/de/dhbwstuttgart/bytecode/IStatement.java diff --git a/src/de/dhbwstuttgart/bytecode/IfStatement.java b/src/main/java/de/dhbwstuttgart/bytecode/IfStatement.java similarity index 100% rename from src/de/dhbwstuttgart/bytecode/IfStatement.java rename to src/main/java/de/dhbwstuttgart/bytecode/IfStatement.java diff --git a/src/de/dhbwstuttgart/bytecode/LoopStmt.java b/src/main/java/de/dhbwstuttgart/bytecode/LoopStmt.java similarity index 100% rename from src/de/dhbwstuttgart/bytecode/LoopStmt.java rename to src/main/java/de/dhbwstuttgart/bytecode/LoopStmt.java diff --git a/src/de/dhbwstuttgart/bytecode/ReturnStmt.java b/src/main/java/de/dhbwstuttgart/bytecode/ReturnStmt.java similarity index 100% rename from src/de/dhbwstuttgart/bytecode/ReturnStmt.java rename to src/main/java/de/dhbwstuttgart/bytecode/ReturnStmt.java diff --git a/src/de/dhbwstuttgart/bytecode/TPHExtractor.java b/src/main/java/de/dhbwstuttgart/bytecode/TPHExtractor.java similarity index 100% rename from src/de/dhbwstuttgart/bytecode/TPHExtractor.java rename to src/main/java/de/dhbwstuttgart/bytecode/TPHExtractor.java diff --git a/src/de/dhbwstuttgart/bytecode/constraint/EqualConstraint.java b/src/main/java/de/dhbwstuttgart/bytecode/constraint/EqualConstraint.java similarity index 100% rename from src/de/dhbwstuttgart/bytecode/constraint/EqualConstraint.java rename to src/main/java/de/dhbwstuttgart/bytecode/constraint/EqualConstraint.java diff --git a/src/de/dhbwstuttgart/bytecode/constraint/ExtendsConstraint.java b/src/main/java/de/dhbwstuttgart/bytecode/constraint/ExtendsConstraint.java similarity index 100% rename from src/de/dhbwstuttgart/bytecode/constraint/ExtendsConstraint.java rename to src/main/java/de/dhbwstuttgart/bytecode/constraint/ExtendsConstraint.java diff --git a/src/de/dhbwstuttgart/bytecode/constraint/TPHConstraint.java b/src/main/java/de/dhbwstuttgart/bytecode/constraint/TPHConstraint.java similarity index 100% rename from src/de/dhbwstuttgart/bytecode/constraint/TPHConstraint.java rename to src/main/java/de/dhbwstuttgart/bytecode/constraint/TPHConstraint.java diff --git a/src/de/dhbwstuttgart/bytecode/descriptor/DescriptorToString.java b/src/main/java/de/dhbwstuttgart/bytecode/descriptor/DescriptorToString.java similarity index 100% rename from src/de/dhbwstuttgart/bytecode/descriptor/DescriptorToString.java rename to src/main/java/de/dhbwstuttgart/bytecode/descriptor/DescriptorToString.java diff --git a/src/de/dhbwstuttgart/bytecode/descriptor/DescriptorVisitor.java b/src/main/java/de/dhbwstuttgart/bytecode/descriptor/DescriptorVisitor.java similarity index 100% rename from src/de/dhbwstuttgart/bytecode/descriptor/DescriptorVisitor.java rename to src/main/java/de/dhbwstuttgart/bytecode/descriptor/DescriptorVisitor.java diff --git a/src/de/dhbwstuttgart/bytecode/descriptor/TypeToDescriptor.java b/src/main/java/de/dhbwstuttgart/bytecode/descriptor/TypeToDescriptor.java similarity index 100% rename from src/de/dhbwstuttgart/bytecode/descriptor/TypeToDescriptor.java rename to src/main/java/de/dhbwstuttgart/bytecode/descriptor/TypeToDescriptor.java diff --git a/src/de/dhbwstuttgart/bytecode/signature/Signature.java b/src/main/java/de/dhbwstuttgart/bytecode/signature/Signature.java similarity index 100% rename from src/de/dhbwstuttgart/bytecode/signature/Signature.java rename to src/main/java/de/dhbwstuttgart/bytecode/signature/Signature.java diff --git a/src/de/dhbwstuttgart/bytecode/signature/TypeToSignature.java b/src/main/java/de/dhbwstuttgart/bytecode/signature/TypeToSignature.java similarity index 100% rename from src/de/dhbwstuttgart/bytecode/signature/TypeToSignature.java rename to src/main/java/de/dhbwstuttgart/bytecode/signature/TypeToSignature.java diff --git a/src/de/dhbwstuttgart/bytecode/signature/TypeToString.java b/src/main/java/de/dhbwstuttgart/bytecode/signature/TypeToString.java similarity index 100% rename from src/de/dhbwstuttgart/bytecode/signature/TypeToString.java rename to src/main/java/de/dhbwstuttgart/bytecode/signature/TypeToString.java diff --git a/src/de/dhbwstuttgart/bytecode/utilities/KindOfLambda.java b/src/main/java/de/dhbwstuttgart/bytecode/utilities/KindOfLambda.java similarity index 100% rename from src/de/dhbwstuttgart/bytecode/utilities/KindOfLambda.java rename to src/main/java/de/dhbwstuttgart/bytecode/utilities/KindOfLambda.java diff --git a/src/de/dhbwstuttgart/bytecode/utilities/Lambda.java b/src/main/java/de/dhbwstuttgart/bytecode/utilities/Lambda.java similarity index 100% rename from src/de/dhbwstuttgart/bytecode/utilities/Lambda.java rename to src/main/java/de/dhbwstuttgart/bytecode/utilities/Lambda.java diff --git a/src/de/dhbwstuttgart/bytecode/utilities/MethodAndTPH.java b/src/main/java/de/dhbwstuttgart/bytecode/utilities/MethodAndTPH.java similarity index 100% rename from src/de/dhbwstuttgart/bytecode/utilities/MethodAndTPH.java rename to src/main/java/de/dhbwstuttgart/bytecode/utilities/MethodAndTPH.java diff --git a/src/de/dhbwstuttgart/bytecode/utilities/MethodFromMethodCall.java b/src/main/java/de/dhbwstuttgart/bytecode/utilities/MethodFromMethodCall.java similarity index 100% rename from src/de/dhbwstuttgart/bytecode/utilities/MethodFromMethodCall.java rename to src/main/java/de/dhbwstuttgart/bytecode/utilities/MethodFromMethodCall.java diff --git a/src/de/dhbwstuttgart/bytecode/utilities/NormalConstructor.java b/src/main/java/de/dhbwstuttgart/bytecode/utilities/NormalConstructor.java similarity index 100% rename from src/de/dhbwstuttgart/bytecode/utilities/NormalConstructor.java rename to src/main/java/de/dhbwstuttgart/bytecode/utilities/NormalConstructor.java diff --git a/src/de/dhbwstuttgart/bytecode/utilities/NormalMethod.java b/src/main/java/de/dhbwstuttgart/bytecode/utilities/NormalMethod.java similarity index 100% rename from src/de/dhbwstuttgart/bytecode/utilities/NormalMethod.java rename to src/main/java/de/dhbwstuttgart/bytecode/utilities/NormalMethod.java diff --git a/src/de/dhbwstuttgart/bytecode/utilities/SamMethod.java b/src/main/java/de/dhbwstuttgart/bytecode/utilities/SamMethod.java similarity index 100% rename from src/de/dhbwstuttgart/bytecode/utilities/SamMethod.java rename to src/main/java/de/dhbwstuttgart/bytecode/utilities/SamMethod.java diff --git a/src/de/dhbwstuttgart/bytecode/utilities/Simplify.java b/src/main/java/de/dhbwstuttgart/bytecode/utilities/Simplify.java similarity index 100% rename from src/de/dhbwstuttgart/bytecode/utilities/Simplify.java rename to src/main/java/de/dhbwstuttgart/bytecode/utilities/Simplify.java diff --git a/src/de/dhbwstuttgart/core/ConsoleInterface.java b/src/main/java/de/dhbwstuttgart/core/ConsoleInterface.java similarity index 100% rename from src/de/dhbwstuttgart/core/ConsoleInterface.java rename to src/main/java/de/dhbwstuttgart/core/ConsoleInterface.java diff --git a/src/de/dhbwstuttgart/core/IItemWithOffset.java b/src/main/java/de/dhbwstuttgart/core/IItemWithOffset.java similarity index 100% rename from src/de/dhbwstuttgart/core/IItemWithOffset.java rename to src/main/java/de/dhbwstuttgart/core/IItemWithOffset.java diff --git a/src/de/dhbwstuttgart/core/JavaTXCompiler.java b/src/main/java/de/dhbwstuttgart/core/JavaTXCompiler.java similarity index 100% rename from src/de/dhbwstuttgart/core/JavaTXCompiler.java rename to src/main/java/de/dhbwstuttgart/core/JavaTXCompiler.java diff --git a/src/de/dhbwstuttgart/environment/CompilationEnvironment.java b/src/main/java/de/dhbwstuttgart/environment/CompilationEnvironment.java similarity index 100% rename from src/de/dhbwstuttgart/environment/CompilationEnvironment.java rename to src/main/java/de/dhbwstuttgart/environment/CompilationEnvironment.java diff --git a/src/de/dhbwstuttgart/environment/PackageCrawler.java b/src/main/java/de/dhbwstuttgart/environment/PackageCrawler.java similarity index 100% rename from src/de/dhbwstuttgart/environment/PackageCrawler.java rename to src/main/java/de/dhbwstuttgart/environment/PackageCrawler.java diff --git a/src/de/dhbwstuttgart/exceptions/DebugException.java b/src/main/java/de/dhbwstuttgart/exceptions/DebugException.java similarity index 100% rename from src/de/dhbwstuttgart/exceptions/DebugException.java rename to src/main/java/de/dhbwstuttgart/exceptions/DebugException.java diff --git a/src/de/dhbwstuttgart/exceptions/NotImplementedException.java b/src/main/java/de/dhbwstuttgart/exceptions/NotImplementedException.java similarity index 100% rename from src/de/dhbwstuttgart/exceptions/NotImplementedException.java rename to src/main/java/de/dhbwstuttgart/exceptions/NotImplementedException.java diff --git a/src/de/dhbwstuttgart/exceptions/ParserError.java b/src/main/java/de/dhbwstuttgart/exceptions/ParserError.java similarity index 100% rename from src/de/dhbwstuttgart/exceptions/ParserError.java rename to src/main/java/de/dhbwstuttgart/exceptions/ParserError.java diff --git a/src/de/dhbwstuttgart/exceptions/TypeinferenceException.java b/src/main/java/de/dhbwstuttgart/exceptions/TypeinferenceException.java similarity index 100% rename from src/de/dhbwstuttgart/exceptions/TypeinferenceException.java rename to src/main/java/de/dhbwstuttgart/exceptions/TypeinferenceException.java diff --git a/src/de/dhbwstuttgart/parser/JavaTXParser.java b/src/main/java/de/dhbwstuttgart/parser/JavaTXParser.java similarity index 100% rename from src/de/dhbwstuttgart/parser/JavaTXParser.java rename to src/main/java/de/dhbwstuttgart/parser/JavaTXParser.java diff --git a/src/de/dhbwstuttgart/parser/NullToken.java b/src/main/java/de/dhbwstuttgart/parser/NullToken.java similarity index 100% rename from src/de/dhbwstuttgart/parser/NullToken.java rename to src/main/java/de/dhbwstuttgart/parser/NullToken.java diff --git a/src/de/dhbwstuttgart/parser/SyntaxTreeGenerator/AssignToLocal.java b/src/main/java/de/dhbwstuttgart/parser/SyntaxTreeGenerator/AssignToLocal.java similarity index 100% rename from src/de/dhbwstuttgart/parser/SyntaxTreeGenerator/AssignToLocal.java rename to src/main/java/de/dhbwstuttgart/parser/SyntaxTreeGenerator/AssignToLocal.java diff --git a/src/de/dhbwstuttgart/parser/SyntaxTreeGenerator/FCGenerator.java b/src/main/java/de/dhbwstuttgart/parser/SyntaxTreeGenerator/FCGenerator.java similarity index 100% rename from src/de/dhbwstuttgart/parser/SyntaxTreeGenerator/FCGenerator.java rename to src/main/java/de/dhbwstuttgart/parser/SyntaxTreeGenerator/FCGenerator.java diff --git a/src/de/dhbwstuttgart/parser/SyntaxTreeGenerator/GenericContext.java b/src/main/java/de/dhbwstuttgart/parser/SyntaxTreeGenerator/GenericContext.java similarity index 100% rename from src/de/dhbwstuttgart/parser/SyntaxTreeGenerator/GenericContext.java rename to src/main/java/de/dhbwstuttgart/parser/SyntaxTreeGenerator/GenericContext.java diff --git a/src/de/dhbwstuttgart/parser/SyntaxTreeGenerator/StatementGenerator.java b/src/main/java/de/dhbwstuttgart/parser/SyntaxTreeGenerator/StatementGenerator.java similarity index 100% rename from src/de/dhbwstuttgart/parser/SyntaxTreeGenerator/StatementGenerator.java rename to src/main/java/de/dhbwstuttgart/parser/SyntaxTreeGenerator/StatementGenerator.java diff --git a/src/de/dhbwstuttgart/parser/SyntaxTreeGenerator/SyntacticSugar.java b/src/main/java/de/dhbwstuttgart/parser/SyntaxTreeGenerator/SyntacticSugar.java similarity index 100% rename from src/de/dhbwstuttgart/parser/SyntaxTreeGenerator/SyntacticSugar.java rename to src/main/java/de/dhbwstuttgart/parser/SyntaxTreeGenerator/SyntacticSugar.java diff --git a/src/de/dhbwstuttgart/parser/SyntaxTreeGenerator/SyntaxTreeGenerator.java b/src/main/java/de/dhbwstuttgart/parser/SyntaxTreeGenerator/SyntaxTreeGenerator.java similarity index 100% rename from src/de/dhbwstuttgart/parser/SyntaxTreeGenerator/SyntaxTreeGenerator.java rename to src/main/java/de/dhbwstuttgart/parser/SyntaxTreeGenerator/SyntaxTreeGenerator.java diff --git a/src/de/dhbwstuttgart/parser/SyntaxTreeGenerator/TypeGenerator.java b/src/main/java/de/dhbwstuttgart/parser/SyntaxTreeGenerator/TypeGenerator.java similarity index 100% rename from src/de/dhbwstuttgart/parser/SyntaxTreeGenerator/TypeGenerator.java rename to src/main/java/de/dhbwstuttgart/parser/SyntaxTreeGenerator/TypeGenerator.java diff --git a/src/de/dhbwstuttgart/parser/TODO b/src/main/java/de/dhbwstuttgart/parser/TODO similarity index 100% rename from src/de/dhbwstuttgart/parser/TODO rename to src/main/java/de/dhbwstuttgart/parser/TODO diff --git a/src/de/dhbwstuttgart/parser/notes/GetNames b/src/main/java/de/dhbwstuttgart/parser/notes/GetNames similarity index 100% rename from src/de/dhbwstuttgart/parser/notes/GetNames rename to src/main/java/de/dhbwstuttgart/parser/notes/GetNames diff --git a/src/de/dhbwstuttgart/parser/notes/TODO b/src/main/java/de/dhbwstuttgart/parser/notes/TODO similarity index 100% rename from src/de/dhbwstuttgart/parser/notes/TODO rename to src/main/java/de/dhbwstuttgart/parser/notes/TODO diff --git a/src/de/dhbwstuttgart/parser/notes/questions b/src/main/java/de/dhbwstuttgart/parser/notes/questions similarity index 100% rename from src/de/dhbwstuttgart/parser/notes/questions rename to src/main/java/de/dhbwstuttgart/parser/notes/questions diff --git a/src/de/dhbwstuttgart/parser/parse_tree b/src/main/java/de/dhbwstuttgart/parser/parse_tree similarity index 100% rename from src/de/dhbwstuttgart/parser/parse_tree rename to src/main/java/de/dhbwstuttgart/parser/parse_tree diff --git a/src/de/dhbwstuttgart/parser/scope/GatherNames.java b/src/main/java/de/dhbwstuttgart/parser/scope/GatherNames.java similarity index 100% rename from src/de/dhbwstuttgart/parser/scope/GatherNames.java rename to src/main/java/de/dhbwstuttgart/parser/scope/GatherNames.java diff --git a/src/de/dhbwstuttgart/parser/scope/GenericsRegistry.java b/src/main/java/de/dhbwstuttgart/parser/scope/GenericsRegistry.java similarity index 100% rename from src/de/dhbwstuttgart/parser/scope/GenericsRegistry.java rename to src/main/java/de/dhbwstuttgart/parser/scope/GenericsRegistry.java diff --git a/src/de/dhbwstuttgart/parser/scope/JavaClassName.java b/src/main/java/de/dhbwstuttgart/parser/scope/JavaClassName.java similarity index 100% rename from src/de/dhbwstuttgart/parser/scope/JavaClassName.java rename to src/main/java/de/dhbwstuttgart/parser/scope/JavaClassName.java diff --git a/src/de/dhbwstuttgart/parser/scope/JavaClassRegistry.java b/src/main/java/de/dhbwstuttgart/parser/scope/JavaClassRegistry.java similarity index 100% rename from src/de/dhbwstuttgart/parser/scope/JavaClassRegistry.java rename to src/main/java/de/dhbwstuttgart/parser/scope/JavaClassRegistry.java diff --git a/src/de/dhbwstuttgart/sat/CNF/CNF.java b/src/main/java/de/dhbwstuttgart/sat/CNF/CNF.java similarity index 100% rename from src/de/dhbwstuttgart/sat/CNF/CNF.java rename to src/main/java/de/dhbwstuttgart/sat/CNF/CNF.java diff --git a/src/de/dhbwstuttgart/sat/CNF/Writer.java b/src/main/java/de/dhbwstuttgart/sat/CNF/Writer.java similarity index 100% rename from src/de/dhbwstuttgart/sat/CNF/Writer.java rename to src/main/java/de/dhbwstuttgart/sat/CNF/Writer.java diff --git a/src/de/dhbwstuttgart/sat/asp/ASPStringConverter.java b/src/main/java/de/dhbwstuttgart/sat/asp/ASPStringConverter.java similarity index 100% rename from src/de/dhbwstuttgart/sat/asp/ASPStringConverter.java rename to src/main/java/de/dhbwstuttgart/sat/asp/ASPStringConverter.java diff --git a/src/de/dhbwstuttgart/sat/asp/Clingo.java b/src/main/java/de/dhbwstuttgart/sat/asp/Clingo.java similarity index 100% rename from src/de/dhbwstuttgart/sat/asp/Clingo.java rename to src/main/java/de/dhbwstuttgart/sat/asp/Clingo.java diff --git a/src/de/dhbwstuttgart/sat/asp/model/ASPGencayRule.java b/src/main/java/de/dhbwstuttgart/sat/asp/model/ASPGencayRule.java similarity index 100% rename from src/de/dhbwstuttgart/sat/asp/model/ASPGencayRule.java rename to src/main/java/de/dhbwstuttgart/sat/asp/model/ASPGencayRule.java diff --git a/src/de/dhbwstuttgart/sat/asp/model/ASPRule.java b/src/main/java/de/dhbwstuttgart/sat/asp/model/ASPRule.java similarity index 100% rename from src/de/dhbwstuttgart/sat/asp/model/ASPRule.java rename to src/main/java/de/dhbwstuttgart/sat/asp/model/ASPRule.java diff --git a/src/de/dhbwstuttgart/sat/asp/parser/ASPParser.java b/src/main/java/de/dhbwstuttgart/sat/asp/parser/ASPParser.java similarity index 100% rename from src/de/dhbwstuttgart/sat/asp/parser/ASPParser.java rename to src/main/java/de/dhbwstuttgart/sat/asp/parser/ASPParser.java diff --git a/src/de/dhbwstuttgart/sat/asp/parser/model/ParsedType.java b/src/main/java/de/dhbwstuttgart/sat/asp/parser/model/ParsedType.java similarity index 100% rename from src/de/dhbwstuttgart/sat/asp/parser/model/ParsedType.java rename to src/main/java/de/dhbwstuttgart/sat/asp/parser/model/ParsedType.java diff --git a/src/de/dhbwstuttgart/sat/asp/writer/ASPFactory.java b/src/main/java/de/dhbwstuttgart/sat/asp/writer/ASPFactory.java similarity index 100% rename from src/de/dhbwstuttgart/sat/asp/writer/ASPFactory.java rename to src/main/java/de/dhbwstuttgart/sat/asp/writer/ASPFactory.java diff --git a/src/de/dhbwstuttgart/sat/asp/writer/ASPGencayFactory.java b/src/main/java/de/dhbwstuttgart/sat/asp/writer/ASPGencayFactory.java similarity index 100% rename from src/de/dhbwstuttgart/sat/asp/writer/ASPGencayFactory.java rename to src/main/java/de/dhbwstuttgart/sat/asp/writer/ASPGencayFactory.java diff --git a/src/de/dhbwstuttgart/sat/asp/writer/ASPStatement.java b/src/main/java/de/dhbwstuttgart/sat/asp/writer/ASPStatement.java similarity index 100% rename from src/de/dhbwstuttgart/sat/asp/writer/ASPStatement.java rename to src/main/java/de/dhbwstuttgart/sat/asp/writer/ASPStatement.java diff --git a/src/de/dhbwstuttgart/sat/asp/writer/ASPWriter.java b/src/main/java/de/dhbwstuttgart/sat/asp/writer/ASPWriter.java similarity index 100% rename from src/de/dhbwstuttgart/sat/asp/writer/ASPWriter.java rename to src/main/java/de/dhbwstuttgart/sat/asp/writer/ASPWriter.java diff --git a/src/de/dhbwstuttgart/syntaxtree/ASTVisitor.java b/src/main/java/de/dhbwstuttgart/syntaxtree/ASTVisitor.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/ASTVisitor.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/ASTVisitor.java diff --git a/src/de/dhbwstuttgart/syntaxtree/AbstractASTWalker.java b/src/main/java/de/dhbwstuttgart/syntaxtree/AbstractASTWalker.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/AbstractASTWalker.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/AbstractASTWalker.java diff --git a/src/de/dhbwstuttgart/syntaxtree/ClassOrInterface.java b/src/main/java/de/dhbwstuttgart/syntaxtree/ClassOrInterface.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/ClassOrInterface.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/ClassOrInterface.java diff --git a/src/de/dhbwstuttgart/syntaxtree/Constructor.java b/src/main/java/de/dhbwstuttgart/syntaxtree/Constructor.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/Constructor.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/Constructor.java diff --git a/src/de/dhbwstuttgart/syntaxtree/ExceptionList.java b/src/main/java/de/dhbwstuttgart/syntaxtree/ExceptionList.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/ExceptionList.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/ExceptionList.java diff --git a/src/de/dhbwstuttgart/syntaxtree/Field.java b/src/main/java/de/dhbwstuttgart/syntaxtree/Field.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/Field.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/Field.java diff --git a/src/de/dhbwstuttgart/syntaxtree/FieldDeclaration.java b/src/main/java/de/dhbwstuttgart/syntaxtree/FieldDeclaration.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/FieldDeclaration.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/FieldDeclaration.java diff --git a/src/de/dhbwstuttgart/syntaxtree/FormalParameter.java b/src/main/java/de/dhbwstuttgart/syntaxtree/FormalParameter.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/FormalParameter.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/FormalParameter.java diff --git a/src/de/dhbwstuttgart/syntaxtree/GenericDeclarationList.java b/src/main/java/de/dhbwstuttgart/syntaxtree/GenericDeclarationList.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/GenericDeclarationList.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/GenericDeclarationList.java diff --git a/src/de/dhbwstuttgart/syntaxtree/GenericTypeVar.java b/src/main/java/de/dhbwstuttgart/syntaxtree/GenericTypeVar.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/GenericTypeVar.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/GenericTypeVar.java diff --git a/src/de/dhbwstuttgart/syntaxtree/Method.java b/src/main/java/de/dhbwstuttgart/syntaxtree/Method.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/Method.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/Method.java diff --git a/src/de/dhbwstuttgart/syntaxtree/ParameterList.java b/src/main/java/de/dhbwstuttgart/syntaxtree/ParameterList.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/ParameterList.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/ParameterList.java diff --git a/src/de/dhbwstuttgart/syntaxtree/SourceFile.java b/src/main/java/de/dhbwstuttgart/syntaxtree/SourceFile.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/SourceFile.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/SourceFile.java diff --git a/src/de/dhbwstuttgart/syntaxtree/StatementVisitor.java b/src/main/java/de/dhbwstuttgart/syntaxtree/StatementVisitor.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/StatementVisitor.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/StatementVisitor.java diff --git a/src/de/dhbwstuttgart/syntaxtree/SyntaxTreeNode.java b/src/main/java/de/dhbwstuttgart/syntaxtree/SyntaxTreeNode.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/SyntaxTreeNode.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/SyntaxTreeNode.java diff --git a/src/de/dhbwstuttgart/syntaxtree/TypeScope.java b/src/main/java/de/dhbwstuttgart/syntaxtree/TypeScope.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/TypeScope.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/TypeScope.java diff --git a/src/de/dhbwstuttgart/syntaxtree/factory/ASTFactory.java b/src/main/java/de/dhbwstuttgart/syntaxtree/factory/ASTFactory.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/factory/ASTFactory.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/factory/ASTFactory.java diff --git a/src/de/dhbwstuttgart/syntaxtree/factory/NameGenerator.java b/src/main/java/de/dhbwstuttgart/syntaxtree/factory/NameGenerator.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/factory/NameGenerator.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/factory/NameGenerator.java diff --git a/src/de/dhbwstuttgart/syntaxtree/factory/PrimitiveMethodsGenerator.java b/src/main/java/de/dhbwstuttgart/syntaxtree/factory/PrimitiveMethodsGenerator.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/factory/PrimitiveMethodsGenerator.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/factory/PrimitiveMethodsGenerator.java diff --git a/src/de/dhbwstuttgart/syntaxtree/factory/UnifyTypeFactory.java b/src/main/java/de/dhbwstuttgart/syntaxtree/factory/UnifyTypeFactory.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/factory/UnifyTypeFactory.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/factory/UnifyTypeFactory.java diff --git a/src/de/dhbwstuttgart/syntaxtree/statement/ArgumentList.java b/src/main/java/de/dhbwstuttgart/syntaxtree/statement/ArgumentList.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/statement/ArgumentList.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/statement/ArgumentList.java diff --git a/src/de/dhbwstuttgart/syntaxtree/statement/Assign.java b/src/main/java/de/dhbwstuttgart/syntaxtree/statement/Assign.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/statement/Assign.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/statement/Assign.java diff --git a/src/de/dhbwstuttgart/syntaxtree/statement/AssignLeftSide.java b/src/main/java/de/dhbwstuttgart/syntaxtree/statement/AssignLeftSide.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/statement/AssignLeftSide.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/statement/AssignLeftSide.java diff --git a/src/de/dhbwstuttgart/syntaxtree/statement/AssignToField.java b/src/main/java/de/dhbwstuttgart/syntaxtree/statement/AssignToField.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/statement/AssignToField.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/statement/AssignToField.java diff --git a/src/de/dhbwstuttgart/syntaxtree/statement/BinaryExpr.java b/src/main/java/de/dhbwstuttgart/syntaxtree/statement/BinaryExpr.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/statement/BinaryExpr.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/statement/BinaryExpr.java diff --git a/src/de/dhbwstuttgart/syntaxtree/statement/Block.java b/src/main/java/de/dhbwstuttgart/syntaxtree/statement/Block.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/statement/Block.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/statement/Block.java diff --git a/src/de/dhbwstuttgart/syntaxtree/statement/CastExpr.java b/src/main/java/de/dhbwstuttgart/syntaxtree/statement/CastExpr.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/statement/CastExpr.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/statement/CastExpr.java diff --git a/src/de/dhbwstuttgart/syntaxtree/statement/DoStmt.java b/src/main/java/de/dhbwstuttgart/syntaxtree/statement/DoStmt.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/statement/DoStmt.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/statement/DoStmt.java diff --git a/src/de/dhbwstuttgart/syntaxtree/statement/EmptyStmt.java b/src/main/java/de/dhbwstuttgart/syntaxtree/statement/EmptyStmt.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/statement/EmptyStmt.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/statement/EmptyStmt.java diff --git a/src/de/dhbwstuttgart/syntaxtree/statement/Expression.java b/src/main/java/de/dhbwstuttgart/syntaxtree/statement/Expression.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/statement/Expression.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/statement/Expression.java diff --git a/src/de/dhbwstuttgart/syntaxtree/statement/ExpressionReceiver.java b/src/main/java/de/dhbwstuttgart/syntaxtree/statement/ExpressionReceiver.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/statement/ExpressionReceiver.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/statement/ExpressionReceiver.java diff --git a/src/de/dhbwstuttgart/syntaxtree/statement/FieldVar.java b/src/main/java/de/dhbwstuttgart/syntaxtree/statement/FieldVar.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/statement/FieldVar.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/statement/FieldVar.java diff --git a/src/de/dhbwstuttgart/syntaxtree/statement/ForStmt.java b/src/main/java/de/dhbwstuttgart/syntaxtree/statement/ForStmt.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/statement/ForStmt.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/statement/ForStmt.java diff --git a/src/de/dhbwstuttgart/syntaxtree/statement/IfStmt.java b/src/main/java/de/dhbwstuttgart/syntaxtree/statement/IfStmt.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/statement/IfStmt.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/statement/IfStmt.java diff --git a/src/de/dhbwstuttgart/syntaxtree/statement/InstanceOf.java b/src/main/java/de/dhbwstuttgart/syntaxtree/statement/InstanceOf.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/statement/InstanceOf.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/statement/InstanceOf.java diff --git a/src/de/dhbwstuttgart/syntaxtree/statement/JavaInternalExpression.java b/src/main/java/de/dhbwstuttgart/syntaxtree/statement/JavaInternalExpression.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/statement/JavaInternalExpression.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/statement/JavaInternalExpression.java diff --git a/src/de/dhbwstuttgart/syntaxtree/statement/LambdaExpression.java b/src/main/java/de/dhbwstuttgart/syntaxtree/statement/LambdaExpression.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/statement/LambdaExpression.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/statement/LambdaExpression.java diff --git a/src/de/dhbwstuttgart/syntaxtree/statement/Literal.java b/src/main/java/de/dhbwstuttgart/syntaxtree/statement/Literal.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/statement/Literal.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/statement/Literal.java diff --git a/src/de/dhbwstuttgart/syntaxtree/statement/LocalVar.java b/src/main/java/de/dhbwstuttgart/syntaxtree/statement/LocalVar.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/statement/LocalVar.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/statement/LocalVar.java diff --git a/src/de/dhbwstuttgart/syntaxtree/statement/LocalVarDecl.java b/src/main/java/de/dhbwstuttgart/syntaxtree/statement/LocalVarDecl.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/statement/LocalVarDecl.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/statement/LocalVarDecl.java diff --git a/src/de/dhbwstuttgart/syntaxtree/statement/MethodCall.java b/src/main/java/de/dhbwstuttgart/syntaxtree/statement/MethodCall.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/statement/MethodCall.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/statement/MethodCall.java diff --git a/src/de/dhbwstuttgart/syntaxtree/statement/NewArray.java b/src/main/java/de/dhbwstuttgart/syntaxtree/statement/NewArray.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/statement/NewArray.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/statement/NewArray.java diff --git a/src/de/dhbwstuttgart/syntaxtree/statement/NewClass.java b/src/main/java/de/dhbwstuttgart/syntaxtree/statement/NewClass.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/statement/NewClass.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/statement/NewClass.java diff --git a/src/de/dhbwstuttgart/syntaxtree/statement/Receiver.java b/src/main/java/de/dhbwstuttgart/syntaxtree/statement/Receiver.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/statement/Receiver.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/statement/Receiver.java diff --git a/src/de/dhbwstuttgart/syntaxtree/statement/Return.java b/src/main/java/de/dhbwstuttgart/syntaxtree/statement/Return.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/statement/Return.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/statement/Return.java diff --git a/src/de/dhbwstuttgart/syntaxtree/statement/ReturnVoid.java b/src/main/java/de/dhbwstuttgart/syntaxtree/statement/ReturnVoid.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/statement/ReturnVoid.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/statement/ReturnVoid.java diff --git a/src/de/dhbwstuttgart/syntaxtree/statement/Statement.java b/src/main/java/de/dhbwstuttgart/syntaxtree/statement/Statement.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/statement/Statement.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/statement/Statement.java diff --git a/src/de/dhbwstuttgart/syntaxtree/statement/StaticClassName.java b/src/main/java/de/dhbwstuttgart/syntaxtree/statement/StaticClassName.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/statement/StaticClassName.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/statement/StaticClassName.java diff --git a/src/de/dhbwstuttgart/syntaxtree/statement/Super.java b/src/main/java/de/dhbwstuttgart/syntaxtree/statement/Super.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/statement/Super.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/statement/Super.java diff --git a/src/de/dhbwstuttgart/syntaxtree/statement/SuperCall.java b/src/main/java/de/dhbwstuttgart/syntaxtree/statement/SuperCall.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/statement/SuperCall.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/statement/SuperCall.java diff --git a/src/de/dhbwstuttgart/syntaxtree/statement/This.java b/src/main/java/de/dhbwstuttgart/syntaxtree/statement/This.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/statement/This.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/statement/This.java diff --git a/src/de/dhbwstuttgart/syntaxtree/statement/ThisCall.java b/src/main/java/de/dhbwstuttgart/syntaxtree/statement/ThisCall.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/statement/ThisCall.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/statement/ThisCall.java diff --git a/src/de/dhbwstuttgart/syntaxtree/statement/TypableStatement.java b/src/main/java/de/dhbwstuttgart/syntaxtree/statement/TypableStatement.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/statement/TypableStatement.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/statement/TypableStatement.java diff --git a/src/de/dhbwstuttgart/syntaxtree/statement/UnaryExpr.java b/src/main/java/de/dhbwstuttgart/syntaxtree/statement/UnaryExpr.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/statement/UnaryExpr.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/statement/UnaryExpr.java diff --git a/src/de/dhbwstuttgart/syntaxtree/statement/WhileStmt.java b/src/main/java/de/dhbwstuttgart/syntaxtree/statement/WhileStmt.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/statement/WhileStmt.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/statement/WhileStmt.java diff --git a/src/de/dhbwstuttgart/syntaxtree/type/ExtendsWildcardType.java b/src/main/java/de/dhbwstuttgart/syntaxtree/type/ExtendsWildcardType.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/type/ExtendsWildcardType.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/type/ExtendsWildcardType.java diff --git a/src/de/dhbwstuttgart/syntaxtree/type/FunN.java b/src/main/java/de/dhbwstuttgart/syntaxtree/type/FunN.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/type/FunN.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/type/FunN.java diff --git a/src/de/dhbwstuttgart/syntaxtree/type/GenericRefType.java b/src/main/java/de/dhbwstuttgart/syntaxtree/type/GenericRefType.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/type/GenericRefType.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/type/GenericRefType.java diff --git a/src/de/dhbwstuttgart/syntaxtree/type/RefType.java b/src/main/java/de/dhbwstuttgart/syntaxtree/type/RefType.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/type/RefType.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/type/RefType.java diff --git a/src/de/dhbwstuttgart/syntaxtree/type/RefTypeOrTPHOrWildcardOrGeneric.java b/src/main/java/de/dhbwstuttgart/syntaxtree/type/RefTypeOrTPHOrWildcardOrGeneric.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/type/RefTypeOrTPHOrWildcardOrGeneric.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/type/RefTypeOrTPHOrWildcardOrGeneric.java diff --git a/src/de/dhbwstuttgart/syntaxtree/type/SuperWildcardType.java b/src/main/java/de/dhbwstuttgart/syntaxtree/type/SuperWildcardType.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/type/SuperWildcardType.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/type/SuperWildcardType.java diff --git a/src/de/dhbwstuttgart/syntaxtree/type/TypePlaceholder.java b/src/main/java/de/dhbwstuttgart/syntaxtree/type/TypePlaceholder.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/type/TypePlaceholder.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/type/TypePlaceholder.java diff --git a/src/de/dhbwstuttgart/syntaxtree/type/TypeVisitor.java b/src/main/java/de/dhbwstuttgart/syntaxtree/type/TypeVisitor.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/type/TypeVisitor.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/type/TypeVisitor.java diff --git a/src/de/dhbwstuttgart/syntaxtree/type/Void.java b/src/main/java/de/dhbwstuttgart/syntaxtree/type/Void.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/type/Void.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/type/Void.java diff --git a/src/de/dhbwstuttgart/syntaxtree/type/WildcardType.java b/src/main/java/de/dhbwstuttgart/syntaxtree/type/WildcardType.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/type/WildcardType.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/type/WildcardType.java diff --git a/src/de/dhbwstuttgart/syntaxtree/visual/ASTPrinter.java b/src/main/java/de/dhbwstuttgart/syntaxtree/visual/ASTPrinter.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/visual/ASTPrinter.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/visual/ASTPrinter.java diff --git a/src/de/dhbwstuttgart/syntaxtree/visual/ASTTypePrinter.java b/src/main/java/de/dhbwstuttgart/syntaxtree/visual/ASTTypePrinter.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/visual/ASTTypePrinter.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/visual/ASTTypePrinter.java diff --git a/src/de/dhbwstuttgart/syntaxtree/visual/OutputGenerator.java b/src/main/java/de/dhbwstuttgart/syntaxtree/visual/OutputGenerator.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/visual/OutputGenerator.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/visual/OutputGenerator.java diff --git a/src/de/dhbwstuttgart/syntaxtree/visual/ResultSetOutputGenerator.java b/src/main/java/de/dhbwstuttgart/syntaxtree/visual/ResultSetOutputGenerator.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/visual/ResultSetOutputGenerator.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/visual/ResultSetOutputGenerator.java diff --git a/src/de/dhbwstuttgart/syntaxtree/visual/ResultSetPrinter.java b/src/main/java/de/dhbwstuttgart/syntaxtree/visual/ResultSetPrinter.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/visual/ResultSetPrinter.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/visual/ResultSetPrinter.java diff --git a/src/de/dhbwstuttgart/syntaxtree/visual/TypeOutputGenerator.java b/src/main/java/de/dhbwstuttgart/syntaxtree/visual/TypeOutputGenerator.java similarity index 100% rename from src/de/dhbwstuttgart/syntaxtree/visual/TypeOutputGenerator.java rename to src/main/java/de/dhbwstuttgart/syntaxtree/visual/TypeOutputGenerator.java diff --git a/src/de/dhbwstuttgart/typedeployment/TypeInsert.java b/src/main/java/de/dhbwstuttgart/typedeployment/TypeInsert.java similarity index 100% rename from src/de/dhbwstuttgart/typedeployment/TypeInsert.java rename to src/main/java/de/dhbwstuttgart/typedeployment/TypeInsert.java diff --git a/src/de/dhbwstuttgart/typedeployment/TypeInsertFactory.java b/src/main/java/de/dhbwstuttgart/typedeployment/TypeInsertFactory.java similarity index 100% rename from src/de/dhbwstuttgart/typedeployment/TypeInsertFactory.java rename to src/main/java/de/dhbwstuttgart/typedeployment/TypeInsertFactory.java diff --git a/src/de/dhbwstuttgart/typedeployment/TypeInsertPlacer.java b/src/main/java/de/dhbwstuttgart/typedeployment/TypeInsertPlacer.java similarity index 100% rename from src/de/dhbwstuttgart/typedeployment/TypeInsertPlacer.java rename to src/main/java/de/dhbwstuttgart/typedeployment/TypeInsertPlacer.java diff --git a/src/de/dhbwstuttgart/typedeployment/TypeInsertPoint.java b/src/main/java/de/dhbwstuttgart/typedeployment/TypeInsertPoint.java similarity index 100% rename from src/de/dhbwstuttgart/typedeployment/TypeInsertPoint.java rename to src/main/java/de/dhbwstuttgart/typedeployment/TypeInsertPoint.java diff --git a/src/de/dhbwstuttgart/typeinference/assumptions/Assumption.java b/src/main/java/de/dhbwstuttgart/typeinference/assumptions/Assumption.java similarity index 100% rename from src/de/dhbwstuttgart/typeinference/assumptions/Assumption.java rename to src/main/java/de/dhbwstuttgart/typeinference/assumptions/Assumption.java diff --git a/src/de/dhbwstuttgart/typeinference/assumptions/FieldAssumption.java b/src/main/java/de/dhbwstuttgart/typeinference/assumptions/FieldAssumption.java similarity index 100% rename from src/de/dhbwstuttgart/typeinference/assumptions/FieldAssumption.java rename to src/main/java/de/dhbwstuttgart/typeinference/assumptions/FieldAssumption.java diff --git a/src/de/dhbwstuttgart/typeinference/assumptions/FunNClass.java b/src/main/java/de/dhbwstuttgart/typeinference/assumptions/FunNClass.java similarity index 100% rename from src/de/dhbwstuttgart/typeinference/assumptions/FunNClass.java rename to src/main/java/de/dhbwstuttgart/typeinference/assumptions/FunNClass.java diff --git a/src/de/dhbwstuttgart/typeinference/assumptions/MethodAssumption.java b/src/main/java/de/dhbwstuttgart/typeinference/assumptions/MethodAssumption.java similarity index 100% rename from src/de/dhbwstuttgart/typeinference/assumptions/MethodAssumption.java rename to src/main/java/de/dhbwstuttgart/typeinference/assumptions/MethodAssumption.java diff --git a/src/de/dhbwstuttgart/typeinference/assumptions/TypeInferenceBlockInformation.java b/src/main/java/de/dhbwstuttgart/typeinference/assumptions/TypeInferenceBlockInformation.java similarity index 100% rename from src/de/dhbwstuttgart/typeinference/assumptions/TypeInferenceBlockInformation.java rename to src/main/java/de/dhbwstuttgart/typeinference/assumptions/TypeInferenceBlockInformation.java diff --git a/src/de/dhbwstuttgart/typeinference/assumptions/TypeInferenceInformation.java b/src/main/java/de/dhbwstuttgart/typeinference/assumptions/TypeInferenceInformation.java similarity index 100% rename from src/de/dhbwstuttgart/typeinference/assumptions/TypeInferenceInformation.java rename to src/main/java/de/dhbwstuttgart/typeinference/assumptions/TypeInferenceInformation.java diff --git a/src/de/dhbwstuttgart/typeinference/assumptions/TypeScopeContainer.java b/src/main/java/de/dhbwstuttgart/typeinference/assumptions/TypeScopeContainer.java similarity index 100% rename from src/de/dhbwstuttgart/typeinference/assumptions/TypeScopeContainer.java rename to src/main/java/de/dhbwstuttgart/typeinference/assumptions/TypeScopeContainer.java diff --git a/src/de/dhbwstuttgart/typeinference/constraints/Constraint.java b/src/main/java/de/dhbwstuttgart/typeinference/constraints/Constraint.java similarity index 100% rename from src/de/dhbwstuttgart/typeinference/constraints/Constraint.java rename to src/main/java/de/dhbwstuttgart/typeinference/constraints/Constraint.java diff --git a/src/de/dhbwstuttgart/typeinference/constraints/ConstraintSet.java b/src/main/java/de/dhbwstuttgart/typeinference/constraints/ConstraintSet.java similarity index 100% rename from src/de/dhbwstuttgart/typeinference/constraints/ConstraintSet.java rename to src/main/java/de/dhbwstuttgart/typeinference/constraints/ConstraintSet.java diff --git a/src/de/dhbwstuttgart/typeinference/constraints/GenericsResolver.java b/src/main/java/de/dhbwstuttgart/typeinference/constraints/GenericsResolver.java similarity index 100% rename from src/de/dhbwstuttgart/typeinference/constraints/GenericsResolver.java rename to src/main/java/de/dhbwstuttgart/typeinference/constraints/GenericsResolver.java diff --git a/src/de/dhbwstuttgart/typeinference/constraints/Pair.java b/src/main/java/de/dhbwstuttgart/typeinference/constraints/Pair.java similarity index 100% rename from src/de/dhbwstuttgart/typeinference/constraints/Pair.java rename to src/main/java/de/dhbwstuttgart/typeinference/constraints/Pair.java diff --git a/src/de/dhbwstuttgart/typeinference/result/GenericInsertPair.java b/src/main/java/de/dhbwstuttgart/typeinference/result/GenericInsertPair.java similarity index 100% rename from src/de/dhbwstuttgart/typeinference/result/GenericInsertPair.java rename to src/main/java/de/dhbwstuttgart/typeinference/result/GenericInsertPair.java diff --git a/src/de/dhbwstuttgart/typeinference/result/PairTPHEqualTPH.java b/src/main/java/de/dhbwstuttgart/typeinference/result/PairTPHEqualTPH.java similarity index 100% rename from src/de/dhbwstuttgart/typeinference/result/PairTPHEqualTPH.java rename to src/main/java/de/dhbwstuttgart/typeinference/result/PairTPHEqualTPH.java diff --git a/src/de/dhbwstuttgart/typeinference/result/PairTPHequalRefTypeOrWildcardType.java b/src/main/java/de/dhbwstuttgart/typeinference/result/PairTPHequalRefTypeOrWildcardType.java similarity index 100% rename from src/de/dhbwstuttgart/typeinference/result/PairTPHequalRefTypeOrWildcardType.java rename to src/main/java/de/dhbwstuttgart/typeinference/result/PairTPHequalRefTypeOrWildcardType.java diff --git a/src/de/dhbwstuttgart/typeinference/result/PairTPHsmallerTPH.java b/src/main/java/de/dhbwstuttgart/typeinference/result/PairTPHsmallerTPH.java similarity index 100% rename from src/de/dhbwstuttgart/typeinference/result/PairTPHsmallerTPH.java rename to src/main/java/de/dhbwstuttgart/typeinference/result/PairTPHsmallerTPH.java diff --git a/src/de/dhbwstuttgart/typeinference/result/ResolvedType.java b/src/main/java/de/dhbwstuttgart/typeinference/result/ResolvedType.java similarity index 100% rename from src/de/dhbwstuttgart/typeinference/result/ResolvedType.java rename to src/main/java/de/dhbwstuttgart/typeinference/result/ResolvedType.java diff --git a/src/de/dhbwstuttgart/typeinference/result/ResultPair.java b/src/main/java/de/dhbwstuttgart/typeinference/result/ResultPair.java similarity index 100% rename from src/de/dhbwstuttgart/typeinference/result/ResultPair.java rename to src/main/java/de/dhbwstuttgart/typeinference/result/ResultPair.java diff --git a/src/de/dhbwstuttgart/typeinference/result/ResultPairVisitor.java b/src/main/java/de/dhbwstuttgart/typeinference/result/ResultPairVisitor.java similarity index 100% rename from src/de/dhbwstuttgart/typeinference/result/ResultPairVisitor.java rename to src/main/java/de/dhbwstuttgart/typeinference/result/ResultPairVisitor.java diff --git a/src/de/dhbwstuttgart/typeinference/result/ResultSet.java b/src/main/java/de/dhbwstuttgart/typeinference/result/ResultSet.java similarity index 100% rename from src/de/dhbwstuttgart/typeinference/result/ResultSet.java rename to src/main/java/de/dhbwstuttgart/typeinference/result/ResultSet.java diff --git a/src/de/dhbwstuttgart/typeinference/result/ResultSetVisitor.java b/src/main/java/de/dhbwstuttgart/typeinference/result/ResultSetVisitor.java similarity index 100% rename from src/de/dhbwstuttgart/typeinference/result/ResultSetVisitor.java rename to src/main/java/de/dhbwstuttgart/typeinference/result/ResultSetVisitor.java diff --git a/src/de/dhbwstuttgart/typeinference/typeAlgo/GenericsResolverSameName.java b/src/main/java/de/dhbwstuttgart/typeinference/typeAlgo/GenericsResolverSameName.java similarity index 100% rename from src/de/dhbwstuttgart/typeinference/typeAlgo/GenericsResolverSameName.java rename to src/main/java/de/dhbwstuttgart/typeinference/typeAlgo/GenericsResolverSameName.java diff --git a/src/de/dhbwstuttgart/typeinference/typeAlgo/TYPE.java b/src/main/java/de/dhbwstuttgart/typeinference/typeAlgo/TYPE.java similarity index 100% rename from src/de/dhbwstuttgart/typeinference/typeAlgo/TYPE.java rename to src/main/java/de/dhbwstuttgart/typeinference/typeAlgo/TYPE.java diff --git a/src/de/dhbwstuttgart/typeinference/typeAlgo/TYPEStmt.java b/src/main/java/de/dhbwstuttgart/typeinference/typeAlgo/TYPEStmt.java similarity index 100% rename from src/de/dhbwstuttgart/typeinference/typeAlgo/TYPEStmt.java rename to src/main/java/de/dhbwstuttgart/typeinference/typeAlgo/TYPEStmt.java diff --git a/src/de/dhbwstuttgart/typeinference/unify/GuavaSetOperations.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/GuavaSetOperations.java similarity index 100% rename from src/de/dhbwstuttgart/typeinference/unify/GuavaSetOperations.java rename to src/main/java/de/dhbwstuttgart/typeinference/unify/GuavaSetOperations.java diff --git a/src/de/dhbwstuttgart/typeinference/unify/MartelliMontanariUnify.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/MartelliMontanariUnify.java similarity index 100% rename from src/de/dhbwstuttgart/typeinference/unify/MartelliMontanariUnify.java rename to src/main/java/de/dhbwstuttgart/typeinference/unify/MartelliMontanariUnify.java diff --git a/src/de/dhbwstuttgart/typeinference/unify/Match.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/Match.java similarity index 100% rename from src/de/dhbwstuttgart/typeinference/unify/Match.java rename to src/main/java/de/dhbwstuttgart/typeinference/unify/Match.java diff --git a/src/de/dhbwstuttgart/typeinference/unify/RuleSet.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/RuleSet.java similarity index 100% rename from src/de/dhbwstuttgart/typeinference/unify/RuleSet.java rename to src/main/java/de/dhbwstuttgart/typeinference/unify/RuleSet.java diff --git a/src/de/dhbwstuttgart/typeinference/unify/TypeUnify.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnify.java similarity index 100% rename from src/de/dhbwstuttgart/typeinference/unify/TypeUnify.java rename to src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnify.java diff --git a/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java similarity index 100% rename from src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java rename to src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java diff --git a/src/de/dhbwstuttgart/typeinference/unify/Unifikationsalgorithmus.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/Unifikationsalgorithmus.java similarity index 100% rename from src/de/dhbwstuttgart/typeinference/unify/Unifikationsalgorithmus.java rename to src/main/java/de/dhbwstuttgart/typeinference/unify/Unifikationsalgorithmus.java diff --git a/src/de/dhbwstuttgart/typeinference/unify/distributeVariance.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/distributeVariance.java similarity index 100% rename from src/de/dhbwstuttgart/typeinference/unify/distributeVariance.java rename to src/main/java/de/dhbwstuttgart/typeinference/unify/distributeVariance.java diff --git a/src/de/dhbwstuttgart/typeinference/unify/freshPlaceholder.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/freshPlaceholder.java similarity index 100% rename from src/de/dhbwstuttgart/typeinference/unify/freshPlaceholder.java rename to src/main/java/de/dhbwstuttgart/typeinference/unify/freshPlaceholder.java diff --git a/src/de/dhbwstuttgart/typeinference/unify/interfaces/IFiniteClosure.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/interfaces/IFiniteClosure.java similarity index 100% rename from src/de/dhbwstuttgart/typeinference/unify/interfaces/IFiniteClosure.java rename to src/main/java/de/dhbwstuttgart/typeinference/unify/interfaces/IFiniteClosure.java diff --git a/src/de/dhbwstuttgart/typeinference/unify/interfaces/IMatch.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/interfaces/IMatch.java similarity index 100% rename from src/de/dhbwstuttgart/typeinference/unify/interfaces/IMatch.java rename to src/main/java/de/dhbwstuttgart/typeinference/unify/interfaces/IMatch.java diff --git a/src/de/dhbwstuttgart/typeinference/unify/interfaces/IRuleSet.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/interfaces/IRuleSet.java similarity index 100% rename from src/de/dhbwstuttgart/typeinference/unify/interfaces/IRuleSet.java rename to src/main/java/de/dhbwstuttgart/typeinference/unify/interfaces/IRuleSet.java diff --git a/src/de/dhbwstuttgart/typeinference/unify/interfaces/ISetOperations.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/interfaces/ISetOperations.java similarity index 100% rename from src/de/dhbwstuttgart/typeinference/unify/interfaces/ISetOperations.java rename to src/main/java/de/dhbwstuttgart/typeinference/unify/interfaces/ISetOperations.java diff --git a/src/de/dhbwstuttgart/typeinference/unify/interfaces/IUnify.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/interfaces/IUnify.java similarity index 100% rename from src/de/dhbwstuttgart/typeinference/unify/interfaces/IUnify.java rename to src/main/java/de/dhbwstuttgart/typeinference/unify/interfaces/IUnify.java diff --git a/src/de/dhbwstuttgart/typeinference/unify/interfaces/UnifyTypeVisitor.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/interfaces/UnifyTypeVisitor.java similarity index 100% rename from src/de/dhbwstuttgart/typeinference/unify/interfaces/UnifyTypeVisitor.java rename to src/main/java/de/dhbwstuttgart/typeinference/unify/interfaces/UnifyTypeVisitor.java diff --git a/src/de/dhbwstuttgart/typeinference/unify/model/ExtendsType.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/model/ExtendsType.java similarity index 100% rename from src/de/dhbwstuttgart/typeinference/unify/model/ExtendsType.java rename to src/main/java/de/dhbwstuttgart/typeinference/unify/model/ExtendsType.java diff --git a/src/de/dhbwstuttgart/typeinference/unify/model/FiniteClosure.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/model/FiniteClosure.java similarity index 100% rename from src/de/dhbwstuttgart/typeinference/unify/model/FiniteClosure.java rename to src/main/java/de/dhbwstuttgart/typeinference/unify/model/FiniteClosure.java diff --git a/src/de/dhbwstuttgart/typeinference/unify/model/FunNType.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/model/FunNType.java similarity index 100% rename from src/de/dhbwstuttgart/typeinference/unify/model/FunNType.java rename to src/main/java/de/dhbwstuttgart/typeinference/unify/model/FunNType.java diff --git a/src/de/dhbwstuttgart/typeinference/unify/model/Node.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/model/Node.java similarity index 100% rename from src/de/dhbwstuttgart/typeinference/unify/model/Node.java rename to src/main/java/de/dhbwstuttgart/typeinference/unify/model/Node.java diff --git a/src/de/dhbwstuttgart/typeinference/unify/model/OrderingUnifyPair.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/model/OrderingUnifyPair.java similarity index 100% rename from src/de/dhbwstuttgart/typeinference/unify/model/OrderingUnifyPair.java rename to src/main/java/de/dhbwstuttgart/typeinference/unify/model/OrderingUnifyPair.java diff --git a/src/de/dhbwstuttgart/typeinference/unify/model/Pair.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/model/Pair.java similarity index 100% rename from src/de/dhbwstuttgart/typeinference/unify/model/Pair.java rename to src/main/java/de/dhbwstuttgart/typeinference/unify/model/Pair.java diff --git a/src/de/dhbwstuttgart/typeinference/unify/model/PairOperator.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/model/PairOperator.java similarity index 100% rename from src/de/dhbwstuttgart/typeinference/unify/model/PairOperator.java rename to src/main/java/de/dhbwstuttgart/typeinference/unify/model/PairOperator.java diff --git a/src/de/dhbwstuttgart/typeinference/unify/model/PlaceholderType.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/model/PlaceholderType.java similarity index 100% rename from src/de/dhbwstuttgart/typeinference/unify/model/PlaceholderType.java rename to src/main/java/de/dhbwstuttgart/typeinference/unify/model/PlaceholderType.java diff --git a/src/de/dhbwstuttgart/typeinference/unify/model/ReferenceType.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/model/ReferenceType.java similarity index 100% rename from src/de/dhbwstuttgart/typeinference/unify/model/ReferenceType.java rename to src/main/java/de/dhbwstuttgart/typeinference/unify/model/ReferenceType.java diff --git a/src/de/dhbwstuttgart/typeinference/unify/model/SuperType.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/model/SuperType.java similarity index 100% rename from src/de/dhbwstuttgart/typeinference/unify/model/SuperType.java rename to src/main/java/de/dhbwstuttgart/typeinference/unify/model/SuperType.java diff --git a/src/de/dhbwstuttgart/typeinference/unify/model/TypeParams.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/model/TypeParams.java similarity index 100% rename from src/de/dhbwstuttgart/typeinference/unify/model/TypeParams.java rename to src/main/java/de/dhbwstuttgart/typeinference/unify/model/TypeParams.java diff --git a/src/de/dhbwstuttgart/typeinference/unify/model/Unifier.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/model/Unifier.java similarity index 100% rename from src/de/dhbwstuttgart/typeinference/unify/model/Unifier.java rename to src/main/java/de/dhbwstuttgart/typeinference/unify/model/Unifier.java diff --git a/src/de/dhbwstuttgart/typeinference/unify/model/UnifyPair.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/model/UnifyPair.java similarity index 100% rename from src/de/dhbwstuttgart/typeinference/unify/model/UnifyPair.java rename to src/main/java/de/dhbwstuttgart/typeinference/unify/model/UnifyPair.java diff --git a/src/de/dhbwstuttgart/typeinference/unify/model/UnifyType.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/model/UnifyType.java similarity index 100% rename from src/de/dhbwstuttgart/typeinference/unify/model/UnifyType.java rename to src/main/java/de/dhbwstuttgart/typeinference/unify/model/UnifyType.java diff --git a/src/de/dhbwstuttgart/typeinference/unify/model/WildcardType.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/model/WildcardType.java similarity index 100% rename from src/de/dhbwstuttgart/typeinference/unify/model/WildcardType.java rename to src/main/java/de/dhbwstuttgart/typeinference/unify/model/WildcardType.java diff --git a/src/de/dhbwstuttgart/typeinference/unify/visitUnifyTypeVisitor.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/visitUnifyTypeVisitor.java similarity index 100% rename from src/de/dhbwstuttgart/typeinference/unify/visitUnifyTypeVisitor.java rename to src/main/java/de/dhbwstuttgart/typeinference/unify/visitUnifyTypeVisitor.java diff --git a/test/asp/ClingoTest.java b/src/test/java/asp/ClingoTest.java similarity index 100% rename from test/asp/ClingoTest.java rename to src/test/java/asp/ClingoTest.java diff --git a/test/asp/UnifyWithoutWildcards.java b/src/test/java/asp/UnifyWithoutWildcards.java similarity index 100% rename from test/asp/UnifyWithoutWildcards.java rename to src/test/java/asp/UnifyWithoutWildcards.java diff --git a/test/asp/gencay/GeneratorTest.java b/src/test/java/asp/gencay/GeneratorTest.java similarity index 100% rename from test/asp/gencay/GeneratorTest.java rename to src/test/java/asp/gencay/GeneratorTest.java diff --git a/test/asp/typeinference/ASPTest.java b/src/test/java/asp/typeinference/ASPTest.java similarity index 100% rename from test/asp/typeinference/ASPTest.java rename to src/test/java/asp/typeinference/ASPTest.java diff --git a/test/asp/typeinference/GenericsTest.java b/src/test/java/asp/typeinference/GenericsTest.java similarity index 100% rename from test/asp/typeinference/GenericsTest.java rename to src/test/java/asp/typeinference/GenericsTest.java diff --git a/test/asp/typeinference/VectorTest.java b/src/test/java/asp/typeinference/VectorTest.java similarity index 100% rename from test/asp/typeinference/VectorTest.java rename to src/test/java/asp/typeinference/VectorTest.java diff --git a/test/asp/unifywithoutwildcards/ASPTests.java b/src/test/java/asp/unifywithoutwildcards/ASPTests.java similarity index 100% rename from test/asp/unifywithoutwildcards/ASPTests.java rename to src/test/java/asp/unifywithoutwildcards/ASPTests.java diff --git a/test/astfactory/ASTFactoryTest.java b/src/test/java/astfactory/ASTFactoryTest.java similarity index 100% rename from test/astfactory/ASTFactoryTest.java rename to src/test/java/astfactory/ASTFactoryTest.java diff --git a/test/bytecode/BinaryTest.java b/src/test/java/bytecode/BinaryTest.java similarity index 100% rename from test/bytecode/BinaryTest.java rename to src/test/java/bytecode/BinaryTest.java diff --git a/test/bytecode/FacTest.java b/src/test/java/bytecode/FacTest.java similarity index 100% rename from test/bytecode/FacTest.java rename to src/test/java/bytecode/FacTest.java diff --git a/test/bytecode/FacultyTest.java b/src/test/java/bytecode/FacultyTest.java similarity index 100% rename from test/bytecode/FacultyTest.java rename to src/test/java/bytecode/FacultyTest.java diff --git a/test/bytecode/FieldTest.java b/src/test/java/bytecode/FieldTest.java similarity index 100% rename from test/bytecode/FieldTest.java rename to src/test/java/bytecode/FieldTest.java diff --git a/test/bytecode/FieldTph.java b/src/test/java/bytecode/FieldTph.java similarity index 100% rename from test/bytecode/FieldTph.java rename to src/test/java/bytecode/FieldTph.java diff --git a/test/bytecode/FieldTph2Test.java b/src/test/java/bytecode/FieldTph2Test.java similarity index 100% rename from test/bytecode/FieldTph2Test.java rename to src/test/java/bytecode/FieldTph2Test.java diff --git a/test/bytecode/FunOLTest.java b/src/test/java/bytecode/FunOLTest.java similarity index 100% rename from test/bytecode/FunOLTest.java rename to src/test/java/bytecode/FunOLTest.java diff --git a/test/bytecode/GenTest.java b/src/test/java/bytecode/GenTest.java similarity index 100% rename from test/bytecode/GenTest.java rename to src/test/java/bytecode/GenTest.java diff --git a/test/bytecode/GreaterEqualTest.java b/src/test/java/bytecode/GreaterEqualTest.java similarity index 100% rename from test/bytecode/GreaterEqualTest.java rename to src/test/java/bytecode/GreaterEqualTest.java diff --git a/test/bytecode/GreaterThanTest.java b/src/test/java/bytecode/GreaterThanTest.java similarity index 100% rename from test/bytecode/GreaterThanTest.java rename to src/test/java/bytecode/GreaterThanTest.java diff --git a/test/bytecode/LambdaCapturetest.java b/src/test/java/bytecode/LambdaCapturetest.java similarity index 100% rename from test/bytecode/LambdaCapturetest.java rename to src/test/java/bytecode/LambdaCapturetest.java diff --git a/test/bytecode/LambdaTest.java b/src/test/java/bytecode/LambdaTest.java similarity index 100% rename from test/bytecode/LambdaTest.java rename to src/test/java/bytecode/LambdaTest.java diff --git a/test/bytecode/LambdaVoidTest.java b/src/test/java/bytecode/LambdaVoidTest.java similarity index 100% rename from test/bytecode/LambdaVoidTest.java rename to src/test/java/bytecode/LambdaVoidTest.java diff --git a/test/bytecode/LessEqualTest.java b/src/test/java/bytecode/LessEqualTest.java similarity index 100% rename from test/bytecode/LessEqualTest.java rename to src/test/java/bytecode/LessEqualTest.java diff --git a/test/bytecode/LessThanTest.java b/src/test/java/bytecode/LessThanTest.java similarity index 100% rename from test/bytecode/LessThanTest.java rename to src/test/java/bytecode/LessThanTest.java diff --git a/test/bytecode/MatrixOpTest.java b/src/test/java/bytecode/MatrixOpTest.java similarity index 100% rename from test/bytecode/MatrixOpTest.java rename to src/test/java/bytecode/MatrixOpTest.java diff --git a/test/bytecode/MatrixTest.java b/src/test/java/bytecode/MatrixTest.java similarity index 100% rename from test/bytecode/MatrixTest.java rename to src/test/java/bytecode/MatrixTest.java diff --git a/test/bytecode/MergeTest.java b/src/test/java/bytecode/MergeTest.java similarity index 100% rename from test/bytecode/MergeTest.java rename to src/test/java/bytecode/MergeTest.java diff --git a/test/bytecode/OLTest.java b/src/test/java/bytecode/OLTest.java similarity index 100% rename from test/bytecode/OLTest.java rename to src/test/java/bytecode/OLTest.java diff --git a/test/bytecode/OpTest.java b/src/test/java/bytecode/OpTest.java similarity index 100% rename from test/bytecode/OpTest.java rename to src/test/java/bytecode/OpTest.java diff --git a/test/bytecode/OverloadingSortingTest.java b/src/test/java/bytecode/OverloadingSortingTest.java similarity index 100% rename from test/bytecode/OverloadingSortingTest.java rename to src/test/java/bytecode/OverloadingSortingTest.java diff --git a/test/bytecode/OverloadingTest.java b/src/test/java/bytecode/OverloadingTest.java similarity index 100% rename from test/bytecode/OverloadingTest.java rename to src/test/java/bytecode/OverloadingTest.java diff --git a/test/bytecode/PlusTest.java b/src/test/java/bytecode/PlusTest.java similarity index 100% rename from test/bytecode/PlusTest.java rename to src/test/java/bytecode/PlusTest.java diff --git a/test/bytecode/PostIncTest.java b/src/test/java/bytecode/PostIncTest.java similarity index 100% rename from test/bytecode/PostIncTest.java rename to src/test/java/bytecode/PostIncTest.java diff --git a/test/bytecode/PreIncTest.java b/src/test/java/bytecode/PreIncTest.java similarity index 100% rename from test/bytecode/PreIncTest.java rename to src/test/java/bytecode/PreIncTest.java diff --git a/test/bytecode/RelOpsTest.java b/src/test/java/bytecode/RelOpsTest.java similarity index 100% rename from test/bytecode/RelOpsTest.java rename to src/test/java/bytecode/RelOpsTest.java diff --git a/test/bytecode/SortingTest.java b/src/test/java/bytecode/SortingTest.java similarity index 100% rename from test/bytecode/SortingTest.java rename to src/test/java/bytecode/SortingTest.java diff --git a/test/bytecode/SubMatTest.java b/src/test/java/bytecode/SubMatTest.java similarity index 100% rename from test/bytecode/SubMatTest.java rename to src/test/java/bytecode/SubMatTest.java diff --git a/test/bytecode/Tph2Test.java b/src/test/java/bytecode/Tph2Test.java similarity index 100% rename from test/bytecode/Tph2Test.java rename to src/test/java/bytecode/Tph2Test.java diff --git a/test/bytecode/Tph3Test.java b/src/test/java/bytecode/Tph3Test.java similarity index 100% rename from test/bytecode/Tph3Test.java rename to src/test/java/bytecode/Tph3Test.java diff --git a/test/bytecode/Tph5Test.java b/src/test/java/bytecode/Tph5Test.java similarity index 100% rename from test/bytecode/Tph5Test.java rename to src/test/java/bytecode/Tph5Test.java diff --git a/test/bytecode/TphTest.java b/src/test/java/bytecode/TphTest.java similarity index 100% rename from test/bytecode/TphTest.java rename to src/test/java/bytecode/TphTest.java diff --git a/test/bytecode/WhileTest.java b/src/test/java/bytecode/WhileTest.java similarity index 100% rename from test/bytecode/WhileTest.java rename to src/test/java/bytecode/WhileTest.java diff --git a/test/bytecode/YTest.java b/src/test/java/bytecode/YTest.java similarity index 100% rename from test/bytecode/YTest.java rename to src/test/java/bytecode/YTest.java diff --git a/test/bytecode/applyLambdaTest.java b/src/test/java/bytecode/applyLambdaTest.java similarity index 92% rename from test/bytecode/applyLambdaTest.java rename to src/test/java/bytecode/applyLambdaTest.java index b73cf5073..c7b5d7ad6 100644 --- a/test/bytecode/applyLambdaTest.java +++ b/src/test/java/bytecode/applyLambdaTest.java @@ -22,7 +22,7 @@ public class applyLambdaTest { @Test public void generateBC() throws Exception { - path = System.getProperty("user.dir")+"/test/bytecode/javFiles/applyLambda.jav"; + path = System.getProperty("user.dir")+"/src/test/resources/bytecode/javFiles/applyLambda.jav"; fileToTest = new File(path); compiler = new JavaTXCompiler(fileToTest); compiler.generateBytecode(System.getProperty("user.dir")+"/testBytecode/generatedBC/"); diff --git a/test/bytecode/simplifyalgo/CycleTest.java b/src/test/java/bytecode/simplifyalgo/CycleTest.java similarity index 100% rename from test/bytecode/simplifyalgo/CycleTest.java rename to src/test/java/bytecode/simplifyalgo/CycleTest.java diff --git a/test/bytecode/simplifyalgo/SameLeftSide.java b/src/test/java/bytecode/simplifyalgo/SameLeftSide.java similarity index 100% rename from test/bytecode/simplifyalgo/SameLeftSide.java rename to src/test/java/bytecode/simplifyalgo/SameLeftSide.java diff --git a/test/bytecode/simplifyalgo/SimpleCycle.java b/src/test/java/bytecode/simplifyalgo/SimpleCycle.java similarity index 100% rename from test/bytecode/simplifyalgo/SimpleCycle.java rename to src/test/java/bytecode/simplifyalgo/SimpleCycle.java diff --git a/test/finiteClosure/SuperInterfacesTest.java b/src/test/java/finiteClosure/SuperInterfacesTest.java similarity index 100% rename from test/finiteClosure/SuperInterfacesTest.java rename to src/test/java/finiteClosure/SuperInterfacesTest.java diff --git a/test/logFiles/.gitignore b/src/test/java/logFiles/.gitignore similarity index 100% rename from test/logFiles/.gitignore rename to src/test/java/logFiles/.gitignore diff --git a/test/parser/AntlrTest.jav b/src/test/java/parser/AntlrTest.jav similarity index 100% rename from test/parser/AntlrTest.jav rename to src/test/java/parser/AntlrTest.jav diff --git a/test/parser/BoundedParameter.jav b/src/test/java/parser/BoundedParameter.jav similarity index 100% rename from test/parser/BoundedParameter.jav rename to src/test/java/parser/BoundedParameter.jav diff --git a/test/parser/CastTest.jav b/src/test/java/parser/CastTest.jav similarity index 100% rename from test/parser/CastTest.jav rename to src/test/java/parser/CastTest.jav diff --git a/test/parser/ExtendsTest.jav b/src/test/java/parser/ExtendsTest.jav similarity index 100% rename from test/parser/ExtendsTest.jav rename to src/test/java/parser/ExtendsTest.jav diff --git a/test/parser/FeatherWeightJava.jav b/src/test/java/parser/FeatherWeightJava.jav similarity index 100% rename from test/parser/FeatherWeightJava.jav rename to src/test/java/parser/FeatherWeightJava.jav diff --git a/test/parser/FieldInitializationTest.jav b/src/test/java/parser/FieldInitializationTest.jav similarity index 100% rename from test/parser/FieldInitializationTest.jav rename to src/test/java/parser/FieldInitializationTest.jav diff --git a/test/parser/FieldVarTest.jav b/src/test/java/parser/FieldVarTest.jav similarity index 100% rename from test/parser/FieldVarTest.jav rename to src/test/java/parser/FieldVarTest.jav diff --git a/test/parser/GeneralParserTest.java b/src/test/java/parser/GeneralParserTest.java similarity index 100% rename from test/parser/GeneralParserTest.java rename to src/test/java/parser/GeneralParserTest.java diff --git a/test/parser/GenericFieldVarTest.jav b/src/test/java/parser/GenericFieldVarTest.jav similarity index 100% rename from test/parser/GenericFieldVarTest.jav rename to src/test/java/parser/GenericFieldVarTest.jav diff --git a/test/parser/ImportTest.jav b/src/test/java/parser/ImportTest.jav similarity index 100% rename from test/parser/ImportTest.jav rename to src/test/java/parser/ImportTest.jav diff --git a/test/parser/ImportTest2.jav b/src/test/java/parser/ImportTest2.jav similarity index 100% rename from test/parser/ImportTest2.jav rename to src/test/java/parser/ImportTest2.jav diff --git a/test/parser/ImportTestGeneric.jav b/src/test/java/parser/ImportTestGeneric.jav similarity index 100% rename from test/parser/ImportTestGeneric.jav rename to src/test/java/parser/ImportTestGeneric.jav diff --git a/test/parser/NewTest.jav b/src/test/java/parser/NewTest.jav similarity index 100% rename from test/parser/NewTest.jav rename to src/test/java/parser/NewTest.jav diff --git a/test/parser/OpratorTest.jav b/src/test/java/parser/OpratorTest.jav similarity index 100% rename from test/parser/OpratorTest.jav rename to src/test/java/parser/OpratorTest.jav diff --git a/test/parser/PackageNameTest.jav b/src/test/java/parser/PackageNameTest.jav similarity index 100% rename from test/parser/PackageNameTest.jav rename to src/test/java/parser/PackageNameTest.jav diff --git a/test/parser/StatementsTest.jav b/src/test/java/parser/StatementsTest.jav similarity index 100% rename from test/parser/StatementsTest.jav rename to src/test/java/parser/StatementsTest.jav diff --git a/test/parser/StructuralTypes.jav b/src/test/java/parser/StructuralTypes.jav similarity index 100% rename from test/parser/StructuralTypes.jav rename to src/test/java/parser/StructuralTypes.jav diff --git a/test/parser/WhileTest.jav b/src/test/java/parser/WhileTest.jav similarity index 100% rename from test/parser/WhileTest.jav rename to src/test/java/parser/WhileTest.jav diff --git a/test/typeinference/JavaTXCompilerTest.java b/src/test/java/typeinference/JavaTXCompilerTest.java similarity index 100% rename from test/typeinference/JavaTXCompilerTest.java rename to src/test/java/typeinference/JavaTXCompilerTest.java diff --git a/test/typeinference/Meth_GenTest.java b/src/test/java/typeinference/Meth_GenTest.java similarity index 100% rename from test/typeinference/Meth_GenTest.java rename to src/test/java/typeinference/Meth_GenTest.java diff --git a/test/typeinference/UnifyTest.java b/src/test/java/typeinference/UnifyTest.java similarity index 100% rename from test/typeinference/UnifyTest.java rename to src/test/java/typeinference/UnifyTest.java diff --git a/test/visualisation/ToString.java b/src/test/java/visualisation/ToString.java similarity index 100% rename from test/visualisation/ToString.java rename to src/test/java/visualisation/ToString.java diff --git a/test/bytecode/javFiles/AssignToLit.jav b/src/test/resources/bytecode/javFiles/AssignToLit.jav similarity index 100% rename from test/bytecode/javFiles/AssignToLit.jav rename to src/test/resources/bytecode/javFiles/AssignToLit.jav diff --git a/test/bytecode/javFiles/BinaryInMeth.jav b/src/test/resources/bytecode/javFiles/BinaryInMeth.jav similarity index 100% rename from test/bytecode/javFiles/BinaryInMeth.jav rename to src/test/resources/bytecode/javFiles/BinaryInMeth.jav diff --git a/test/bytecode/javFiles/DuMethod.jav b/src/test/resources/bytecode/javFiles/DuMethod.jav similarity index 100% rename from test/bytecode/javFiles/DuMethod.jav rename to src/test/resources/bytecode/javFiles/DuMethod.jav diff --git a/test/bytecode/javFiles/EmptyMethod.jav b/src/test/resources/bytecode/javFiles/EmptyMethod.jav similarity index 100% rename from test/bytecode/javFiles/EmptyMethod.jav rename to src/test/resources/bytecode/javFiles/EmptyMethod.jav diff --git a/test/bytecode/javFiles/Example.jav b/src/test/resources/bytecode/javFiles/Example.jav similarity index 100% rename from test/bytecode/javFiles/Example.jav rename to src/test/resources/bytecode/javFiles/Example.jav diff --git a/test/bytecode/javFiles/Exceptions.jav b/src/test/resources/bytecode/javFiles/Exceptions.jav similarity index 100% rename from test/bytecode/javFiles/Exceptions.jav rename to src/test/resources/bytecode/javFiles/Exceptions.jav diff --git a/test/bytecode/javFiles/Fac.jav b/src/test/resources/bytecode/javFiles/Fac.jav similarity index 100% rename from test/bytecode/javFiles/Fac.jav rename to src/test/resources/bytecode/javFiles/Fac.jav diff --git a/test/bytecode/javFiles/Faculty.jav b/src/test/resources/bytecode/javFiles/Faculty.jav similarity index 100% rename from test/bytecode/javFiles/Faculty.jav rename to src/test/resources/bytecode/javFiles/Faculty.jav diff --git a/test/bytecode/javFiles/Faculty2.jav b/src/test/resources/bytecode/javFiles/Faculty2.jav similarity index 100% rename from test/bytecode/javFiles/Faculty2.jav rename to src/test/resources/bytecode/javFiles/Faculty2.jav diff --git a/test/bytecode/javFiles/Field.jav b/src/test/resources/bytecode/javFiles/Field.jav similarity index 100% rename from test/bytecode/javFiles/Field.jav rename to src/test/resources/bytecode/javFiles/Field.jav diff --git a/test/bytecode/javFiles/FieldTph.jav b/src/test/resources/bytecode/javFiles/FieldTph.jav similarity index 100% rename from test/bytecode/javFiles/FieldTph.jav rename to src/test/resources/bytecode/javFiles/FieldTph.jav diff --git a/test/bytecode/javFiles/FieldTph2.jav b/src/test/resources/bytecode/javFiles/FieldTph2.jav similarity index 100% rename from test/bytecode/javFiles/FieldTph2.jav rename to src/test/resources/bytecode/javFiles/FieldTph2.jav diff --git a/test/bytecode/javFiles/For.jav b/src/test/resources/bytecode/javFiles/For.jav similarity index 100% rename from test/bytecode/javFiles/For.jav rename to src/test/resources/bytecode/javFiles/For.jav diff --git a/test/bytecode/javFiles/FunOL.jav b/src/test/resources/bytecode/javFiles/FunOL.jav similarity index 100% rename from test/bytecode/javFiles/FunOL.jav rename to src/test/resources/bytecode/javFiles/FunOL.jav diff --git a/test/bytecode/javFiles/Gen.jav b/src/test/resources/bytecode/javFiles/Gen.jav similarity index 100% rename from test/bytecode/javFiles/Gen.jav rename to src/test/resources/bytecode/javFiles/Gen.jav diff --git a/test/bytecode/javFiles/Generics.jav b/src/test/resources/bytecode/javFiles/Generics.jav similarity index 100% rename from test/bytecode/javFiles/Generics.jav rename to src/test/resources/bytecode/javFiles/Generics.jav diff --git a/test/bytecode/javFiles/Generics2.jav b/src/test/resources/bytecode/javFiles/Generics2.jav similarity index 100% rename from test/bytecode/javFiles/Generics2.jav rename to src/test/resources/bytecode/javFiles/Generics2.jav diff --git a/test/bytecode/javFiles/GreaterEqual.jav b/src/test/resources/bytecode/javFiles/GreaterEqual.jav similarity index 100% rename from test/bytecode/javFiles/GreaterEqual.jav rename to src/test/resources/bytecode/javFiles/GreaterEqual.jav diff --git a/test/bytecode/javFiles/GreaterThan.jav b/src/test/resources/bytecode/javFiles/GreaterThan.jav similarity index 100% rename from test/bytecode/javFiles/GreaterThan.jav rename to src/test/resources/bytecode/javFiles/GreaterThan.jav diff --git a/test/bytecode/javFiles/IfTest.jav b/src/test/resources/bytecode/javFiles/IfTest.jav similarity index 100% rename from test/bytecode/javFiles/IfTest.jav rename to src/test/resources/bytecode/javFiles/IfTest.jav diff --git a/test/bytecode/javFiles/Import.jav b/src/test/resources/bytecode/javFiles/Import.jav similarity index 100% rename from test/bytecode/javFiles/Import.jav rename to src/test/resources/bytecode/javFiles/Import.jav diff --git a/test/bytecode/javFiles/Interface1.jav b/src/test/resources/bytecode/javFiles/Interface1.jav similarity index 100% rename from test/bytecode/javFiles/Interface1.jav rename to src/test/resources/bytecode/javFiles/Interface1.jav diff --git a/test/bytecode/javFiles/LamRunnable.jav b/src/test/resources/bytecode/javFiles/LamRunnable.jav similarity index 100% rename from test/bytecode/javFiles/LamRunnable.jav rename to src/test/resources/bytecode/javFiles/LamRunnable.jav diff --git a/test/bytecode/javFiles/Lambda.jav b/src/test/resources/bytecode/javFiles/Lambda.jav similarity index 100% rename from test/bytecode/javFiles/Lambda.jav rename to src/test/resources/bytecode/javFiles/Lambda.jav diff --git a/test/bytecode/javFiles/Lambda2.jav b/src/test/resources/bytecode/javFiles/Lambda2.jav similarity index 100% rename from test/bytecode/javFiles/Lambda2.jav rename to src/test/resources/bytecode/javFiles/Lambda2.jav diff --git a/test/bytecode/javFiles/Lambda3.jav b/src/test/resources/bytecode/javFiles/Lambda3.jav similarity index 100% rename from test/bytecode/javFiles/Lambda3.jav rename to src/test/resources/bytecode/javFiles/Lambda3.jav diff --git a/test/bytecode/javFiles/Lambda4.jav b/src/test/resources/bytecode/javFiles/Lambda4.jav similarity index 100% rename from test/bytecode/javFiles/Lambda4.jav rename to src/test/resources/bytecode/javFiles/Lambda4.jav diff --git a/test/bytecode/javFiles/LambdaCapture.jav b/src/test/resources/bytecode/javFiles/LambdaCapture.jav similarity index 100% rename from test/bytecode/javFiles/LambdaCapture.jav rename to src/test/resources/bytecode/javFiles/LambdaCapture.jav diff --git a/test/bytecode/javFiles/LambdaVoid.jav b/src/test/resources/bytecode/javFiles/LambdaVoid.jav similarity index 100% rename from test/bytecode/javFiles/LambdaVoid.jav rename to src/test/resources/bytecode/javFiles/LambdaVoid.jav diff --git a/test/bytecode/javFiles/LessEqual.jav b/src/test/resources/bytecode/javFiles/LessEqual.jav similarity index 100% rename from test/bytecode/javFiles/LessEqual.jav rename to src/test/resources/bytecode/javFiles/LessEqual.jav diff --git a/test/bytecode/javFiles/LessThan.jav b/src/test/resources/bytecode/javFiles/LessThan.jav similarity index 100% rename from test/bytecode/javFiles/LessThan.jav rename to src/test/resources/bytecode/javFiles/LessThan.jav diff --git a/test/bytecode/javFiles/Matrix.jav b/src/test/resources/bytecode/javFiles/Matrix.jav similarity index 100% rename from test/bytecode/javFiles/Matrix.jav rename to src/test/resources/bytecode/javFiles/Matrix.jav diff --git a/test/bytecode/javFiles/MatrixOP.jav b/src/test/resources/bytecode/javFiles/MatrixOP.jav similarity index 100% rename from test/bytecode/javFiles/MatrixOP.jav rename to src/test/resources/bytecode/javFiles/MatrixOP.jav diff --git a/test/bytecode/javFiles/Merge.jav b/src/test/resources/bytecode/javFiles/Merge.jav similarity index 100% rename from test/bytecode/javFiles/Merge.jav rename to src/test/resources/bytecode/javFiles/Merge.jav diff --git a/test/bytecode/javFiles/Methods.jav b/src/test/resources/bytecode/javFiles/Methods.jav similarity index 100% rename from test/bytecode/javFiles/Methods.jav rename to src/test/resources/bytecode/javFiles/Methods.jav diff --git a/test/bytecode/javFiles/OL.jav b/src/test/resources/bytecode/javFiles/OL.jav similarity index 100% rename from test/bytecode/javFiles/OL.jav rename to src/test/resources/bytecode/javFiles/OL.jav diff --git a/test/bytecode/javFiles/Op.jav b/src/test/resources/bytecode/javFiles/Op.jav similarity index 100% rename from test/bytecode/javFiles/Op.jav rename to src/test/resources/bytecode/javFiles/Op.jav diff --git a/test/bytecode/javFiles/Op2.jav b/src/test/resources/bytecode/javFiles/Op2.jav similarity index 100% rename from test/bytecode/javFiles/Op2.jav rename to src/test/resources/bytecode/javFiles/Op2.jav diff --git a/test/bytecode/javFiles/OverlaodGen.jav b/src/test/resources/bytecode/javFiles/OverlaodGen.jav similarity index 100% rename from test/bytecode/javFiles/OverlaodGen.jav rename to src/test/resources/bytecode/javFiles/OverlaodGen.jav diff --git a/test/bytecode/javFiles/Overloading.jav b/src/test/resources/bytecode/javFiles/Overloading.jav similarity index 100% rename from test/bytecode/javFiles/Overloading.jav rename to src/test/resources/bytecode/javFiles/Overloading.jav diff --git a/test/bytecode/javFiles/Plus.jav b/src/test/resources/bytecode/javFiles/Plus.jav similarity index 100% rename from test/bytecode/javFiles/Plus.jav rename to src/test/resources/bytecode/javFiles/Plus.jav diff --git a/test/bytecode/javFiles/PostIncDec.jav b/src/test/resources/bytecode/javFiles/PostIncDec.jav similarity index 100% rename from test/bytecode/javFiles/PostIncDec.jav rename to src/test/resources/bytecode/javFiles/PostIncDec.jav diff --git a/test/bytecode/javFiles/PreInc.jav b/src/test/resources/bytecode/javFiles/PreInc.jav similarity index 100% rename from test/bytecode/javFiles/PreInc.jav rename to src/test/resources/bytecode/javFiles/PreInc.jav diff --git a/test/bytecode/javFiles/RecursiveMeth.jav b/src/test/resources/bytecode/javFiles/RecursiveMeth.jav similarity index 100% rename from test/bytecode/javFiles/RecursiveMeth.jav rename to src/test/resources/bytecode/javFiles/RecursiveMeth.jav diff --git a/test/bytecode/javFiles/RelOps.jav b/src/test/resources/bytecode/javFiles/RelOps.jav similarity index 100% rename from test/bytecode/javFiles/RelOps.jav rename to src/test/resources/bytecode/javFiles/RelOps.jav diff --git a/test/bytecode/javFiles/ReturnMethod.jav b/src/test/resources/bytecode/javFiles/ReturnMethod.jav similarity index 100% rename from test/bytecode/javFiles/ReturnMethod.jav rename to src/test/resources/bytecode/javFiles/ReturnMethod.jav diff --git a/test/bytecode/javFiles/Sorting.jav b/src/test/resources/bytecode/javFiles/Sorting.jav similarity index 100% rename from test/bytecode/javFiles/Sorting.jav rename to src/test/resources/bytecode/javFiles/Sorting.jav diff --git a/test/bytecode/javFiles/StaticM.jav b/src/test/resources/bytecode/javFiles/StaticM.jav similarity index 100% rename from test/bytecode/javFiles/StaticM.jav rename to src/test/resources/bytecode/javFiles/StaticM.jav diff --git a/test/bytecode/javFiles/SubMatrix.jav b/src/test/resources/bytecode/javFiles/SubMatrix.jav similarity index 100% rename from test/bytecode/javFiles/SubMatrix.jav rename to src/test/resources/bytecode/javFiles/SubMatrix.jav diff --git a/test/bytecode/javFiles/Tph.jav b/src/test/resources/bytecode/javFiles/Tph.jav similarity index 100% rename from test/bytecode/javFiles/Tph.jav rename to src/test/resources/bytecode/javFiles/Tph.jav diff --git a/test/bytecode/javFiles/Tph2.jav b/src/test/resources/bytecode/javFiles/Tph2.jav similarity index 100% rename from test/bytecode/javFiles/Tph2.jav rename to src/test/resources/bytecode/javFiles/Tph2.jav diff --git a/test/bytecode/javFiles/Tph3.jav b/src/test/resources/bytecode/javFiles/Tph3.jav similarity index 100% rename from test/bytecode/javFiles/Tph3.jav rename to src/test/resources/bytecode/javFiles/Tph3.jav diff --git a/test/bytecode/javFiles/Tph4.jav b/src/test/resources/bytecode/javFiles/Tph4.jav similarity index 100% rename from test/bytecode/javFiles/Tph4.jav rename to src/test/resources/bytecode/javFiles/Tph4.jav diff --git a/test/bytecode/javFiles/Tph5.jav b/src/test/resources/bytecode/javFiles/Tph5.jav similarity index 100% rename from test/bytecode/javFiles/Tph5.jav rename to src/test/resources/bytecode/javFiles/Tph5.jav diff --git a/test/bytecode/javFiles/VectorAdd.jav b/src/test/resources/bytecode/javFiles/VectorAdd.jav similarity index 100% rename from test/bytecode/javFiles/VectorAdd.jav rename to src/test/resources/bytecode/javFiles/VectorAdd.jav diff --git a/test/bytecode/javFiles/VoidMeth.jav b/src/test/resources/bytecode/javFiles/VoidMeth.jav similarity index 100% rename from test/bytecode/javFiles/VoidMeth.jav rename to src/test/resources/bytecode/javFiles/VoidMeth.jav diff --git a/test/bytecode/javFiles/WC.jav b/src/test/resources/bytecode/javFiles/WC.jav similarity index 100% rename from test/bytecode/javFiles/WC.jav rename to src/test/resources/bytecode/javFiles/WC.jav diff --git a/test/bytecode/javFiles/While.jav b/src/test/resources/bytecode/javFiles/While.jav similarity index 100% rename from test/bytecode/javFiles/While.jav rename to src/test/resources/bytecode/javFiles/While.jav diff --git a/test/bytecode/javFiles/Y.jav b/src/test/resources/bytecode/javFiles/Y.jav similarity index 100% rename from test/bytecode/javFiles/Y.jav rename to src/test/resources/bytecode/javFiles/Y.jav diff --git a/test/bytecode/javFiles/applyLambda.jav b/src/test/resources/bytecode/javFiles/applyLambda.jav similarity index 100% rename from test/bytecode/javFiles/applyLambda.jav rename to src/test/resources/bytecode/javFiles/applyLambda.jav diff --git a/test/javFiles/AddLong.jav b/src/test/resources/javFiles/AddLong.jav similarity index 100% rename from test/javFiles/AddLong.jav rename to src/test/resources/javFiles/AddLong.jav diff --git a/test/javFiles/EmptyClass.jav b/src/test/resources/javFiles/EmptyClass.jav similarity index 100% rename from test/javFiles/EmptyClass.jav rename to src/test/resources/javFiles/EmptyClass.jav diff --git a/test/javFiles/EmptyMethod.jav b/src/test/resources/javFiles/EmptyMethod.jav similarity index 100% rename from test/javFiles/EmptyMethod.jav rename to src/test/resources/javFiles/EmptyMethod.jav diff --git a/test/javFiles/Expressions.jav b/src/test/resources/javFiles/Expressions.jav similarity index 100% rename from test/javFiles/Expressions.jav rename to src/test/resources/javFiles/Expressions.jav diff --git a/test/javFiles/FC_Matrix.jav b/src/test/resources/javFiles/FC_Matrix.jav similarity index 100% rename from test/javFiles/FC_Matrix.jav rename to src/test/resources/javFiles/FC_Matrix.jav diff --git a/test/javFiles/Faculty.jav b/src/test/resources/javFiles/Faculty.jav similarity index 100% rename from test/javFiles/Faculty.jav rename to src/test/resources/javFiles/Faculty.jav diff --git a/test/javFiles/FacultyIf.jav b/src/test/resources/javFiles/FacultyIf.jav similarity index 100% rename from test/javFiles/FacultyIf.jav rename to src/test/resources/javFiles/FacultyIf.jav diff --git a/test/javFiles/FacultyTyped.jav b/src/test/resources/javFiles/FacultyTyped.jav similarity index 100% rename from test/javFiles/FacultyTyped.jav rename to src/test/resources/javFiles/FacultyTyped.jav diff --git a/test/javFiles/Fields.jav b/src/test/resources/javFiles/Fields.jav similarity index 100% rename from test/javFiles/Fields.jav rename to src/test/resources/javFiles/Fields.jav diff --git a/test/javFiles/Generics.jav b/src/test/resources/javFiles/Generics.jav similarity index 100% rename from test/javFiles/Generics.jav rename to src/test/resources/javFiles/Generics.jav diff --git a/test/javFiles/IfTest.jav b/src/test/resources/javFiles/IfTest.jav similarity index 100% rename from test/javFiles/IfTest.jav rename to src/test/resources/javFiles/IfTest.jav diff --git a/test/javFiles/Import.jav b/src/test/resources/javFiles/Import.jav similarity index 100% rename from test/javFiles/Import.jav rename to src/test/resources/javFiles/Import.jav diff --git a/test/javFiles/Lambda.jav b/src/test/resources/javFiles/Lambda.jav similarity index 100% rename from test/javFiles/Lambda.jav rename to src/test/resources/javFiles/Lambda.jav diff --git a/test/javFiles/Lambda2.jav b/src/test/resources/javFiles/Lambda2.jav similarity index 100% rename from test/javFiles/Lambda2.jav rename to src/test/resources/javFiles/Lambda2.jav diff --git a/test/javFiles/Lambda3.jav b/src/test/resources/javFiles/Lambda3.jav similarity index 100% rename from test/javFiles/Lambda3.jav rename to src/test/resources/javFiles/Lambda3.jav diff --git a/test/javFiles/LambdaField.jav b/src/test/resources/javFiles/LambdaField.jav similarity index 100% rename from test/javFiles/LambdaField.jav rename to src/test/resources/javFiles/LambdaField.jav diff --git a/test/javFiles/LambdaRunnable.jav b/src/test/resources/javFiles/LambdaRunnable.jav similarity index 100% rename from test/javFiles/LambdaRunnable.jav rename to src/test/resources/javFiles/LambdaRunnable.jav diff --git a/test/javFiles/ListenerOverload.jav b/src/test/resources/javFiles/ListenerOverload.jav similarity index 100% rename from test/javFiles/ListenerOverload.jav rename to src/test/resources/javFiles/ListenerOverload.jav diff --git a/test/javFiles/Matrix.jav b/src/test/resources/javFiles/Matrix.jav similarity index 100% rename from test/javFiles/Matrix.jav rename to src/test/resources/javFiles/Matrix.jav diff --git a/test/javFiles/Meth_Gen.jav b/src/test/resources/javFiles/Meth_Gen.jav similarity index 100% rename from test/javFiles/Meth_Gen.jav rename to src/test/resources/javFiles/Meth_Gen.jav diff --git a/test/javFiles/MethodCallGenerics.jav b/src/test/resources/javFiles/MethodCallGenerics.jav similarity index 100% rename from test/javFiles/MethodCallGenerics.jav rename to src/test/resources/javFiles/MethodCallGenerics.jav diff --git a/test/javFiles/Methods.jav b/src/test/resources/javFiles/Methods.jav similarity index 100% rename from test/javFiles/Methods.jav rename to src/test/resources/javFiles/Methods.jav diff --git a/test/javFiles/MethodsEasy.jav b/src/test/resources/javFiles/MethodsEasy.jav similarity index 100% rename from test/javFiles/MethodsEasy.jav rename to src/test/resources/javFiles/MethodsEasy.jav diff --git a/test/javFiles/Op1.jav b/src/test/resources/javFiles/Op1.jav similarity index 100% rename from test/javFiles/Op1.jav rename to src/test/resources/javFiles/Op1.jav diff --git a/test/javFiles/Package.jav b/src/test/resources/javFiles/Package.jav similarity index 100% rename from test/javFiles/Package.jav rename to src/test/resources/javFiles/Package.jav diff --git a/test/javFiles/Sorting.jav b/src/test/resources/javFiles/Sorting.jav similarity index 100% rename from test/javFiles/Sorting.jav rename to src/test/resources/javFiles/Sorting.jav diff --git a/test/javFiles/Subclass.jav b/src/test/resources/javFiles/Subclass.jav similarity index 100% rename from test/javFiles/Subclass.jav rename to src/test/resources/javFiles/Subclass.jav diff --git a/test/javFiles/Superclass.jav b/src/test/resources/javFiles/Superclass.jav similarity index 100% rename from test/javFiles/Superclass.jav rename to src/test/resources/javFiles/Superclass.jav diff --git a/test/javFiles/Vector.jav b/src/test/resources/javFiles/Vector.jav similarity index 100% rename from test/javFiles/Vector.jav rename to src/test/resources/javFiles/Vector.jav diff --git a/test/javFiles/fc.jav b/src/test/resources/javFiles/fc.jav similarity index 100% rename from test/javFiles/fc.jav rename to src/test/resources/javFiles/fc.jav diff --git a/test/javFiles/mathStruc.jav b/src/test/resources/javFiles/mathStruc.jav similarity index 100% rename from test/javFiles/mathStruc.jav rename to src/test/resources/javFiles/mathStruc.jav diff --git a/test/javFiles/test.jav b/src/test/resources/javFiles/test.jav similarity index 100% rename from test/javFiles/test.jav rename to src/test/resources/javFiles/test.jav diff --git a/test/javFiles/test1.jav b/src/test/resources/javFiles/test1.jav similarity index 100% rename from test/javFiles/test1.jav rename to src/test/resources/javFiles/test1.jav diff --git a/test/log4jTesting.xml b/src/test/resources/log4jTesting.xml similarity index 100% rename from test/log4jTesting.xml rename to src/test/resources/log4jTesting.xml diff --git a/testBytecode/generatedBC/.gitignore b/src/test/resources/testBytecode/generatedBC/.gitignore similarity index 100% rename from testBytecode/generatedBC/.gitignore rename to src/test/resources/testBytecode/generatedBC/.gitignore diff --git a/testBytecode/manually/Fac1.java b/src/test/resources/testBytecode/manually/Fac1.java similarity index 100% rename from testBytecode/manually/Fac1.java rename to src/test/resources/testBytecode/manually/Fac1.java diff --git a/testBytecode/manually/Fac2.java b/src/test/resources/testBytecode/manually/Fac2.java similarity index 100% rename from testBytecode/manually/Fac2.java rename to src/test/resources/testBytecode/manually/Fac2.java diff --git a/testBytecode/manually/LamAssign.java b/src/test/resources/testBytecode/manually/LamAssign.java similarity index 100% rename from testBytecode/manually/LamAssign.java rename to src/test/resources/testBytecode/manually/LamAssign.java diff --git a/testBytecode/manually/LamAssignWithM.java b/src/test/resources/testBytecode/manually/LamAssignWithM.java similarity index 100% rename from testBytecode/manually/LamAssignWithM.java rename to src/test/resources/testBytecode/manually/LamAssignWithM.java diff --git a/testBytecode/manually/LamWithAnField.java b/src/test/resources/testBytecode/manually/LamWithAnField.java similarity index 100% rename from testBytecode/manually/LamWithAnField.java rename to src/test/resources/testBytecode/manually/LamWithAnField.java diff --git a/testBytecode/manually/LamWithField.java b/src/test/resources/testBytecode/manually/LamWithField.java similarity index 100% rename from testBytecode/manually/LamWithField.java rename to src/test/resources/testBytecode/manually/LamWithField.java diff --git a/testBytecode/manually/ReturnM1.java b/src/test/resources/testBytecode/manually/ReturnM1.java similarity index 100% rename from testBytecode/manually/ReturnM1.java rename to src/test/resources/testBytecode/manually/ReturnM1.java diff --git a/testBytecode/Field.java b/testBytecode/Field.java deleted file mode 100644 index 50002082b..000000000 --- a/testBytecode/Field.java +++ /dev/null @@ -1,6 +0,0 @@ -public class Field{ - public void m(){ - MethFieldVar mF = new MethFieldVar(); - mF.s1 = "Field S1"; - } -} diff --git a/testBytecode/Import.java b/testBytecode/Import.java deleted file mode 100644 index f3519acb2..000000000 --- a/testBytecode/Import.java +++ /dev/null @@ -1,8 +0,0 @@ -import java.util.Vector; - -class Import { - void methode(){ - Vector v = new Vector(); - v.add(v); - } -} diff --git a/testBytecode/Lam1.java b/testBytecode/Lam1.java deleted file mode 100644 index 142feed2e..000000000 --- a/testBytecode/Lam1.java +++ /dev/null @@ -1,10 +0,0 @@ -import java.util.function.Function; -public class Lam1{ - public Lam1() { - Function fun = (x) -> x+"1"; - fun.apply("2"); - - Runnable lam = () -> System.out.println("lambda"); - lam.run(); - } -} diff --git a/testBytecode/LamRun.java b/testBytecode/LamRun.java deleted file mode 100644 index fdaf0852e..000000000 --- a/testBytecode/LamRun.java +++ /dev/null @@ -1,8 +0,0 @@ -public class LamRun{ - - public void mRun(){ - - Runnable lam = () -> System.out.println("lambda"); - lam.run(); - } -} diff --git a/testBytecode/MethFieldVar.java b/testBytecode/MethFieldVar.java deleted file mode 100644 index 74086a016..000000000 --- a/testBytecode/MethFieldVar.java +++ /dev/null @@ -1,38 +0,0 @@ -public class MethFieldVar{ - String s1;// = ""; - String s2; - -/* public void meth(Integer i, String j, Boolean b){ - //String local = "a"; - //int localL = local.length(); - //int l = s.length(); - String s = null; - //s = ""; - //return s.length();//l+localL; - } -*/ - public void mm(){ -// return "mm"; - } - public void m2(){ - System.out.println(""); - // Math.abs(1); - // String lV = "local"; - // s1 = "1"; - // s1.concat("2"); - s2 = s1; - - mm(); - - Clazz i = new Clazz(); - - Runnable lam = ()->{ - String test = ""; - String b = "b"; - test = b; - System.out.println(test); - }; - } -} - -class Clazz{} diff --git a/testBytecode/Subclass.java b/testBytecode/Subclass.java deleted file mode 100644 index 3e8b58538..000000000 --- a/testBytecode/Subclass.java +++ /dev/null @@ -1,6 +0,0 @@ -public class Subclass extends Superclass { - - public void printMethod() { - super.printMethod(); - } -} diff --git a/testBytecode/SuperTest.java b/testBytecode/SuperTest.java deleted file mode 100644 index 1b6ac2680..000000000 --- a/testBytecode/SuperTest.java +++ /dev/null @@ -1,14 +0,0 @@ -public class Superclass { - - public void printMethod() { - System.out.println("Printed in Superclass."); - } -} - -public class Subclass extends Superclass { - - public void printMethod() { - super.printMethod(); - - } -} diff --git a/testBytecode/Superclass.java b/testBytecode/Superclass.java deleted file mode 100644 index d58089de6..000000000 --- a/testBytecode/Superclass.java +++ /dev/null @@ -1,6 +0,0 @@ -public class Superclass { - - public void printMethod() { - System.out.println("Printed in Superclass."); - } -} diff --git a/testBytecode/TestMyTest.java b/testBytecode/TestMyTest.java deleted file mode 100644 index e1305f761..000000000 --- a/testBytecode/TestMyTest.java +++ /dev/null @@ -1,11 +0,0 @@ -class TestMyTest{ -public static void main(String[] a){ - //test1 - //new TestClass(); - //test if statement - //new TestIf(new Boolean(true)); - // test lambda - //new TestClass(); - new LamRun(); -} -} diff --git a/testBytecode/public b/testBytecode/public deleted file mode 100644 index 8b1378917..000000000 --- a/testBytecode/public +++ /dev/null @@ -1 +0,0 @@ - diff --git a/testBytecode/testF.java b/testBytecode/testF.java deleted file mode 100644 index fa4a50b7f..000000000 --- a/testBytecode/testF.java +++ /dev/null @@ -1,5 +0,0 @@ -public class testTets(){ - public static void main(String[] args){ - new tetsF(); - } -} diff --git a/testBytecode/testTets.java b/testBytecode/testTets.java deleted file mode 100644 index 4f95cbc00..000000000 --- a/testBytecode/testTets.java +++ /dev/null @@ -1,5 +0,0 @@ -public class testTets{ - public static void main(String[] args){ - new TetsF(); - } -} diff --git a/testBytecode/testTetsF.java b/testBytecode/testTetsF.java deleted file mode 100644 index fa4a50b7f..000000000 --- a/testBytecode/testTetsF.java +++ /dev/null @@ -1,5 +0,0 @@ -public class testTets(){ - public static void main(String[] args){ - new tetsF(); - } -} From 20abd181b6de312e160863197fc611db936a3544 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Pl=C3=BCmicke?= Date: Fri, 28 Dec 2018 19:37:45 +0100 Subject: [PATCH 17/31] modified: ../../pom.xml modified: ../../src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java Abfrage, ob OderConstraints empty sind, bei der Unify-Abbruchbedingungen eingefuegt modified: ../../src/test/java/bytecode/BinaryTest.java modified: ../../src/test/java/bytecode/MatrixTest.java modified: ../../src/test/java/bytecode/applyLambdaTest.java Pfadanpassungen --- pom.xml | 4 +-- .../typeinference/unify/TypeUnifyTask.java | 31 +++++++++++++------ src/test/java/bytecode/BinaryTest.java | 4 +-- src/test/java/bytecode/MatrixTest.java | 4 +-- src/test/java/bytecode/applyLambdaTest.java | 4 +-- 5 files changed, 30 insertions(+), 17 deletions(-) diff --git a/pom.xml b/pom.xml index 3c15eec5c..d69740e08 100644 --- a/pom.xml +++ b/pom.xml @@ -140,7 +140,7 @@ - + org.apache.maven.plugins maven-compiler-plugin diff --git a/src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java index 306552b33..a28f45df8 100644 --- a/src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java +++ b/src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java @@ -520,12 +520,13 @@ public class TypeUnifyTask extends RecursiveTask>> { Set undefinedPairs = new HashSet<>(); if (printtag) System.out.println("eq2s " + eq2s); //writeLog("BufferSet: " + bufferSet.toString()+"\n"); - List>> oderConstraintsOutput = new ArrayList<>(oderConstraints); + List>> oderConstraintsOutput = new ArrayList<>();//new ArrayList<>(oderConstraints); Set>>> secondLevelSets = calculatePairSets(eq2s, oderConstraints, fc, undefinedPairs, oderConstraintsOutput); //PL 2017-09-20: Im calculatePairSets wird möglicherweise O .< java.lang.Integer //nicht ausgewertet Faculty Beispiel im 1. Schritt //PL 2017-10-03 geloest, muesste noch mit FCs mit kleineren //Typen getestet werden. + writeLog(nOfUnify.toString() + " Oderconstraints2: " + oderConstraintsOutput.toString()); if (printtag) System.out.println("secondLevelSets:" +secondLevelSets); // If pairs occured that did not match one of the cartesian product cases, // those pairs are contradictory and the unification is impossible. @@ -616,7 +617,8 @@ public class TypeUnifyTask extends RecursiveTask>> { * Step 6 a) Restart (fork) for pairs where subst was applied */ if(parallel) { - if (eqPrime.equals(eq) && !eqPrimePrime.isPresent()) //PL 2017-09-29 //(!eqPrimePrime.isPresent()) auskommentiert und durch + if (eqPrime.equals(eq) && !eqPrimePrime.isPresent() + && oderConstraints.isEmpty()) //PL 2017-09-29 //(!eqPrimePrime.isPresent()) auskommentiert und durch //PL 2017-09-29 dies ersetzt //(!eqPrimePrime.isPresent()) //PL 2018-05-18 beide Bedingungen muessen gelten, da eqPrime Veränderungen in allem ausser subst //eqPrimePrime Veraenderungen in subst repraesentieren. @@ -636,17 +638,20 @@ public class TypeUnifyTask extends RecursiveTask>> { } else { // sequentiell (Step 6b is included) if (printtag) System.out.println("nextStep: " + eqPrimePrime); - if (eqPrime.equals(eq) && !eqPrimePrime.isPresent()) { //PL 2017-09-29 //(!eqPrimePrime.isPresent()) auskommentiert und durch + if (eqPrime.equals(eq) && !eqPrimePrime.isPresent() + && oderConstraints.isEmpty()) { //PL 2017-09-29 //(!eqPrimePrime.isPresent()) auskommentiert und durch //PL 2017-09-29 dies ersetzt //(!eqPrimePrime.isPresent()) //PL 2018-05-18 beide Bedingungen muessen gelten, da eqPrime Veränderungen in allem ausser subst //eqPrimePrime Veraenderungen in subst repraesentieren. try { if (isSolvedForm(eqPrime)) { - logFile.write(eqPrime.toString()+"\n"); + logFile.write("eqPrime:" + eqPrime.toString()+"\n"); logFile.flush(); } } - catch (IOException e) { } + catch (IOException e) { + System.err.println("log-File nicht vorhanden"); + } eqPrimePrimeSet.add(eqPrime); } else if(eqPrimePrime.isPresent()) { @@ -808,14 +813,19 @@ public class TypeUnifyTask extends RecursiveTask>> { { //Alle Variablen bestimmen die nicht hinzugefügt wurden in a - List vars_a = a.stream().filter(x -> (x.getLhsType().getName().equals(x.getBasePair().getLhsType().getName()) - ||x.getLhsType().getName().equals(x.getBasePair().getRhsType().getName()))).map(y -> (PlaceholderType)y.getLhsType()).collect(Collectors.toCollection(ArrayList::new)); + //PL 2018-12-28: Hier gab es eine ClassCastException, war nicht reproduzierbar + List vars_a = + a.stream().filter(x -> (x.getLhsType().getName().equals(x.getBasePair().getLhsType().getName()) + ||x.getLhsType().getName().equals(x.getBasePair().getRhsType().getName()))) + .map(y -> (PlaceholderType)y.getLhsType()).collect(Collectors.toCollection(ArrayList::new)); Set fstElemRes = res.iterator().next(); Set compRes = fstElemRes.stream().filter(x -> vars_a.contains(((PlaceholderType)x.getLhsType()))).collect(Collectors.toCollection(HashSet::new)); //Alle Variablen bestimmen die nicht hinzugefügt wurden in a_last - List varsLast_a = a_last.stream().filter(x -> (x.getLhsType().getName().equals(x.getBasePair().getLhsType().getName()) - ||x.getLhsType().getName().equals(x.getBasePair().getRhsType().getName()))).map(y -> (PlaceholderType)y.getLhsType()).collect(Collectors.toCollection(ArrayList::new)); + List varsLast_a = + a_last.stream().filter(x -> (x.getLhsType().getName().equals(x.getBasePair().getLhsType().getName()) + ||x.getLhsType().getName().equals(x.getBasePair().getRhsType().getName()))) + .map(y -> (PlaceholderType)y.getLhsType()).collect(Collectors.toCollection(ArrayList::new)); //erstes Element genügt, da vars immer auf die gleichen Elemente zugeordnet werden muessen Set fstElemResult = result.iterator().next(); Set compResult = fstElemResult.stream().filter(x -> varsLast_a.contains(((PlaceholderType)x.getLhsType()))).collect(Collectors.toCollection(HashSet::new));; @@ -1254,6 +1264,7 @@ public class TypeUnifyTask extends RecursiveTask>> { * (as in case 1 where sigma is added to the innermost set). */ protected Set>>> calculatePairSets(Set eq2s, List>> oderConstraintsInput, IFiniteClosure fc, Set undefined, List>> oderConstraintsOutput) { + oderConstraintsOutput.addAll(oderConstraintsInput); List>>> result = new ArrayList<>(9); // Init all 8 cases + 9. Case: oderConstraints @@ -1298,6 +1309,8 @@ public class TypeUnifyTask extends RecursiveTask>> { if (eq2sAsList.isEmpty() && first) {//Alle eq2s sind empty und alle oderConstraints mit Variance != 0 sind bearbeitet if (!oderConstraintsOutput.isEmpty()) { Set> ret = oderConstraintsOutput.remove(0); + if (ret.iterator().next().iterator().next().getLhsType().getName().equals("M")) + System.out.println("M"); //Set retFlat = new HashSet<>(); //ret.stream().forEach(x -> retFlat.addAll(x)); ret.stream().forEach(x -> x.stream().forEach(y -> y.addSubstitutions(x))); diff --git a/src/test/java/bytecode/BinaryTest.java b/src/test/java/bytecode/BinaryTest.java index 84f102b78..aad81defe 100644 --- a/src/test/java/bytecode/BinaryTest.java +++ b/src/test/java/bytecode/BinaryTest.java @@ -23,10 +23,10 @@ public class BinaryTest { @BeforeClass public static void setUpBeforeClass() throws Exception { - path = System.getProperty("user.dir")+"/test/bytecode/javFiles/BinaryInMeth.jav"; + path = System.getProperty("user.dir")+"/src/test/resources/bytecode/javFiles/BinaryInMeth.jav"; fileToTest = new File(path); compiler = new JavaTXCompiler(fileToTest); - pathToClassFile = System.getProperty("user.dir")+"/testBytecode/generatedBC/"; + pathToClassFile = System.getProperty("user.dir")+"/src/test/resources/testBytecode/generatedBC/"; compiler.generateBytecode(pathToClassFile); loader = new URLClassLoader(new URL[] {new URL("file://"+pathToClassFile)}); classToTest = loader.loadClass("BinaryInMeth"); diff --git a/src/test/java/bytecode/MatrixTest.java b/src/test/java/bytecode/MatrixTest.java index cd0a20b73..c5dae3dfc 100644 --- a/src/test/java/bytecode/MatrixTest.java +++ b/src/test/java/bytecode/MatrixTest.java @@ -28,10 +28,10 @@ public class MatrixTest { @Test public void test() throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, ClassNotFoundException, IOException, InstantiationException { - path = System.getProperty("user.dir")+"/test/bytecode/javFiles/Matrix.jav"; + path = System.getProperty("user.dir")+"/src/test/resources/bytecode/javFiles/Matrix.jav"; fileToTest = new File(path); compiler = new JavaTXCompiler(fileToTest); - pathToClassFile = System.getProperty("user.dir")+"/testBytecode/generatedBC/"; + pathToClassFile = System.getProperty("user.dir")+"/src/test/resources/testBytecode/generatedBC/"; compiler.generateBytecode(pathToClassFile); loader = new URLClassLoader(new URL[] {new URL("file://"+pathToClassFile)}); classToTest = loader.loadClass("Matrix"); diff --git a/src/test/java/bytecode/applyLambdaTest.java b/src/test/java/bytecode/applyLambdaTest.java index c7b5d7ad6..3c7ea4526 100644 --- a/src/test/java/bytecode/applyLambdaTest.java +++ b/src/test/java/bytecode/applyLambdaTest.java @@ -25,8 +25,8 @@ public class applyLambdaTest { path = System.getProperty("user.dir")+"/src/test/resources/bytecode/javFiles/applyLambda.jav"; fileToTest = new File(path); compiler = new JavaTXCompiler(fileToTest); - compiler.generateBytecode(System.getProperty("user.dir")+"/testBytecode/generatedBC/"); - pathToClassFile = System.getProperty("user.dir")+"/testBytecode/generatedBC/"; + compiler.generateBytecode(System.getProperty("user.dir")+"/src/test/resources/testBytecode/generatedBC/"); + pathToClassFile = System.getProperty("user.dir")+"/src/test/resources/testBytecode/generatedBC/"; loader = new URLClassLoader(new URL[] {new URL("file://"+pathToClassFile)}); classToTest = loader.loadClass("applyLambda"); instanceOfClass = classToTest.getDeclaredConstructor().newInstance(); From cbe77d37222d6e06c029b4a6501e80bdd6c94810 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Pl=C3=BCmicke?= Date: Fri, 28 Dec 2018 23:39:59 +0100 Subject: [PATCH 18/31] modified: src/main/java/de/dhbwstuttgart/bytecode/BytecodeGenMethod.java In Zeile 833 catch Exception durch catch Throwable ersetzt, da der UnsupportedClassVersionError geworfen wurde modified: src/test/java/bytecode/FacTest.java modified: src/test/java/bytecode/FacultyTest.java modified: src/test/java/bytecode/FieldTest.java modified: src/test/java/bytecode/FieldTph.java modified: src/test/java/bytecode/FieldTph2Test.java modified: src/test/java/bytecode/FunOLTest.java modified: src/test/java/bytecode/GenTest.java modified: src/test/java/bytecode/GreaterEqualTest.java modified: src/test/java/bytecode/GreaterThanTest.java modified: src/test/java/bytecode/LambdaCapturetest.java modified: src/test/java/bytecode/LambdaTest.java modified: src/test/java/bytecode/LambdaVoidTest.java modified: src/test/java/bytecode/LessEqualTest.java modified: src/test/java/bytecode/LessThanTest.java modified: src/test/java/bytecode/MatrixOpTest.java modified: src/test/java/bytecode/MergeTest.java modified: src/test/java/bytecode/OLTest.java modified: src/test/java/bytecode/OpTest.java modified: src/test/java/bytecode/OverloadingSortingTest.java modified: src/test/java/bytecode/OverloadingTest.java modified: src/test/java/bytecode/PlusTest.java modified: src/test/java/bytecode/PostIncTest.java modified: src/test/java/bytecode/PreIncTest.java modified: src/test/java/bytecode/RelOpsTest.java modified: src/test/java/bytecode/SortingTest.java modified: src/test/java/bytecode/SubMatTest.java modified: src/test/java/bytecode/Tph2Test.java modified: src/test/java/bytecode/Tph3Test.java modified: src/test/java/bytecode/Tph5Test.java modified: src/test/java/bytecode/TphTest.java modified: src/test/java/bytecode/WhileTest.java modified: src/test/java/bytecode/YTest.java Pfade angepasst --- .../java/de/dhbwstuttgart/bytecode/BytecodeGenMethod.java | 3 ++- src/test/java/bytecode/FacTest.java | 4 ++-- src/test/java/bytecode/FacultyTest.java | 6 +++--- src/test/java/bytecode/FieldTest.java | 6 +++--- src/test/java/bytecode/FieldTph.java | 6 +++--- src/test/java/bytecode/FieldTph2Test.java | 6 +++--- src/test/java/bytecode/FunOLTest.java | 6 +++--- src/test/java/bytecode/GenTest.java | 4 ++-- src/test/java/bytecode/GreaterEqualTest.java | 4 ++-- src/test/java/bytecode/GreaterThanTest.java | 4 ++-- src/test/java/bytecode/LambdaCapturetest.java | 6 +++--- src/test/java/bytecode/LambdaTest.java | 6 +++--- src/test/java/bytecode/LambdaVoidTest.java | 6 +++--- src/test/java/bytecode/LessEqualTest.java | 4 ++-- src/test/java/bytecode/LessThanTest.java | 4 ++-- src/test/java/bytecode/MatrixOpTest.java | 4 ++-- src/test/java/bytecode/MergeTest.java | 4 ++-- src/test/java/bytecode/OLTest.java | 4 ++-- src/test/java/bytecode/OpTest.java | 4 ++-- src/test/java/bytecode/OverloadingSortingTest.java | 4 ++-- src/test/java/bytecode/OverloadingTest.java | 4 ++-- src/test/java/bytecode/PlusTest.java | 4 ++-- src/test/java/bytecode/PostIncTest.java | 4 ++-- src/test/java/bytecode/PreIncTest.java | 4 ++-- src/test/java/bytecode/RelOpsTest.java | 4 ++-- src/test/java/bytecode/SortingTest.java | 6 +++--- src/test/java/bytecode/SubMatTest.java | 4 ++-- src/test/java/bytecode/Tph2Test.java | 4 ++-- src/test/java/bytecode/Tph3Test.java | 4 ++-- src/test/java/bytecode/Tph5Test.java | 4 ++-- src/test/java/bytecode/TphTest.java | 4 ++-- src/test/java/bytecode/WhileTest.java | 4 ++-- src/test/java/bytecode/YTest.java | 6 +++--- 33 files changed, 76 insertions(+), 75 deletions(-) diff --git a/src/main/java/de/dhbwstuttgart/bytecode/BytecodeGenMethod.java b/src/main/java/de/dhbwstuttgart/bytecode/BytecodeGenMethod.java index 6fc803479..750dd9bfa 100644 --- a/src/main/java/de/dhbwstuttgart/bytecode/BytecodeGenMethod.java +++ b/src/main/java/de/dhbwstuttgart/bytecode/BytecodeGenMethod.java @@ -829,7 +829,8 @@ public class BytecodeGenMethod implements StatementVisitor { System.out.println(methods[i]); } methodRefl = getMethod(methodCall.name,methodCall.arglist.getArguments().size(),methCallType, typesOfParams,methods); - }catch (Exception e2) { + } + catch (Throwable e2) { //do nothing } } diff --git a/src/test/java/bytecode/FacTest.java b/src/test/java/bytecode/FacTest.java index 387d7387e..fcc45ee21 100644 --- a/src/test/java/bytecode/FacTest.java +++ b/src/test/java/bytecode/FacTest.java @@ -24,10 +24,10 @@ public class FacTest { @BeforeClass public static void setUpBeforeClass() throws Exception { - path = System.getProperty("user.dir")+"/test/bytecode/javFiles/Fac.jav"; + path = System.getProperty("user.dir")+"/src/test/resources/bytecode/javFiles/Fac.jav"; fileToTest = new File(path); compiler = new JavaTXCompiler(fileToTest); - pathToClassFile = System.getProperty("user.dir")+"/testBytecode/generatedBC/"; + pathToClassFile = System.getProperty("user.dir")+"/src/test/resources/testBytecode/generatedBC/"; compiler.generateBytecode(pathToClassFile); loader = new URLClassLoader(new URL[] {new URL("file://"+pathToClassFile)}); classToTest = loader.loadClass("Fac"); diff --git a/src/test/java/bytecode/FacultyTest.java b/src/test/java/bytecode/FacultyTest.java index c347456ae..dd7bb51e4 100644 --- a/src/test/java/bytecode/FacultyTest.java +++ b/src/test/java/bytecode/FacultyTest.java @@ -24,11 +24,11 @@ public class FacultyTest { @Test public void generateBC() throws Exception { - path = System.getProperty("user.dir")+"/test/bytecode/javFiles/Faculty.jav"; + path = System.getProperty("user.dir")+"/src/test/resources/bytecode/javFiles/Faculty.jav"; fileToTest = new File(path); compiler = new JavaTXCompiler(fileToTest); - compiler.generateBytecode(System.getProperty("user.dir")+"/testBytecode/generatedBC/"); - pathToClassFile = System.getProperty("user.dir")+"/testBytecode/generatedBC/"; + compiler.generateBytecode(System.getProperty("user.dir")+"//src/test/resources/testBytecode/generatedBC/"); + pathToClassFile = System.getProperty("user.dir")+"/src/test/resources/testBytecode/generatedBC/"; loader = new URLClassLoader(new URL[] {new URL("file://"+pathToClassFile)}); classToTest = loader.loadClass("Faculty"); instanceOfClass = classToTest.getDeclaredConstructor().newInstance(); diff --git a/src/test/java/bytecode/FieldTest.java b/src/test/java/bytecode/FieldTest.java index a5528b00b..ed1a562f8 100644 --- a/src/test/java/bytecode/FieldTest.java +++ b/src/test/java/bytecode/FieldTest.java @@ -24,11 +24,11 @@ public class FieldTest { @BeforeClass public static void setUpBeforeClass() throws Exception { - path = System.getProperty("user.dir")+"/test/bytecode/javFiles/Field.jav"; + path = System.getProperty("user.dir")+"/src/test/resources/bytecode/javFiles/Field.jav"; fileToTest = new File(path); compiler = new JavaTXCompiler(fileToTest); - compiler.generateBytecode(System.getProperty("user.dir")+"/testBytecode/generatedBC/"); - pathToClassFile = System.getProperty("user.dir")+"/testBytecode/generatedBC/"; + compiler.generateBytecode(System.getProperty("user.dir")+"/src/test/resources/testBytecode/generatedBC/"); + pathToClassFile = System.getProperty("user.dir")+"/src/test/resources/testBytecode/generatedBC/"; loader = new URLClassLoader(new URL[] {new URL("file://"+pathToClassFile)}); classToTest = loader.loadClass("Field"); instanceOfClass = classToTest.getDeclaredConstructor().newInstance(); diff --git a/src/test/java/bytecode/FieldTph.java b/src/test/java/bytecode/FieldTph.java index 3edb43d13..65c7f2917 100644 --- a/src/test/java/bytecode/FieldTph.java +++ b/src/test/java/bytecode/FieldTph.java @@ -24,11 +24,11 @@ public class FieldTph { @BeforeClass public static void setUpBeforeClass() throws Exception { - path = System.getProperty("user.dir")+"/test/bytecode/javFiles/FieldTph.jav"; + path = System.getProperty("user.dir")+"/src/test/resources/bytecode/javFiles/FieldTph.jav"; fileToTest = new File(path); compiler = new JavaTXCompiler(fileToTest); - compiler.generateBytecode(System.getProperty("user.dir")+"/testBytecode/generatedBC/"); - pathToClassFile = System.getProperty("user.dir")+"/testBytecode/generatedBC/"; + compiler.generateBytecode(System.getProperty("user.dir")+"/src/test/resources/testBytecode/generatedBC/"); + pathToClassFile = System.getProperty("user.dir")+"/src/test/resources/testBytecode/generatedBC/"; loader = new URLClassLoader(new URL[] {new URL("file://"+pathToClassFile)}); classToTest = loader.loadClass("FieldTph"); instanceOfClass = classToTest.getDeclaredConstructor().newInstance(); diff --git a/src/test/java/bytecode/FieldTph2Test.java b/src/test/java/bytecode/FieldTph2Test.java index 2ed19d330..f2b4d4134 100644 --- a/src/test/java/bytecode/FieldTph2Test.java +++ b/src/test/java/bytecode/FieldTph2Test.java @@ -25,11 +25,11 @@ public class FieldTph2Test { @BeforeClass public static void setUpBeforeClass() throws Exception { - path = System.getProperty("user.dir")+"/test/bytecode/javFiles/FieldTph2.jav"; + path = System.getProperty("user.dir")+"/src/test/resources/bytecode/javFiles/FieldTph2.jav"; fileToTest = new File(path); compiler = new JavaTXCompiler(fileToTest); - compiler.generateBytecode(System.getProperty("user.dir")+"/testBytecode/generatedBC/"); - pathToClassFile = System.getProperty("user.dir")+"/testBytecode/generatedBC/"; + compiler.generateBytecode(System.getProperty("user.dir")+"/src/test/resources/testBytecode/generatedBC/"); + pathToClassFile = System.getProperty("user.dir")+"/src/test/resources/testBytecode/generatedBC/"; loader = new URLClassLoader(new URL[] {new URL("file://"+pathToClassFile)}); classToTest = loader.loadClass("FieldTph2"); instanceOfClass = classToTest.getDeclaredConstructor().newInstance(); diff --git a/src/test/java/bytecode/FunOLTest.java b/src/test/java/bytecode/FunOLTest.java index 55aba31c1..e46f074a9 100644 --- a/src/test/java/bytecode/FunOLTest.java +++ b/src/test/java/bytecode/FunOLTest.java @@ -23,11 +23,11 @@ public class FunOLTest { @Test public void generateBC() throws Exception { - path = System.getProperty("user.dir")+"/test/bytecode/javFiles/FunOL.jav"; + path = System.getProperty("user.dir")+"/src/test/resources/bytecode/javFiles/FunOL.jav"; fileToTest = new File(path); compiler = new JavaTXCompiler(fileToTest); - compiler.generateBytecode(System.getProperty("user.dir")+"/testBytecode/generatedBC/"); - pathToClassFile = System.getProperty("user.dir")+"/testBytecode/generatedBC/"; + compiler.generateBytecode(System.getProperty("user.dir")+"/src/test/resources/testBytecode/generatedBC/"); + pathToClassFile = System.getProperty("user.dir")+"/src/test/resources/testBytecode/generatedBC/"; loader = new URLClassLoader(new URL[] {new URL("file://"+pathToClassFile)}); classToTest = loader.loadClass("FunOL"); /* diff --git a/src/test/java/bytecode/GenTest.java b/src/test/java/bytecode/GenTest.java index 3ed2f3c3d..09d283a39 100644 --- a/src/test/java/bytecode/GenTest.java +++ b/src/test/java/bytecode/GenTest.java @@ -20,10 +20,10 @@ public class GenTest { @Test public void generateBC() throws Exception { - path = System.getProperty("user.dir")+"/test/bytecode/javFiles/Gen.jav"; + path = System.getProperty("user.dir")+"/src/test/resources/bytecode/javFiles/Gen.jav"; fileToTest = new File(path); compiler = new JavaTXCompiler(fileToTest); - pathToClassFile = System.getProperty("user.dir")+"/testBytecode/generatedBC/"; + pathToClassFile = System.getProperty("user.dir")+"/src/test/resources/testBytecode/generatedBC/"; compiler.generateBytecode(pathToClassFile); } diff --git a/src/test/java/bytecode/GreaterEqualTest.java b/src/test/java/bytecode/GreaterEqualTest.java index b60c446c5..890dea9ee 100644 --- a/src/test/java/bytecode/GreaterEqualTest.java +++ b/src/test/java/bytecode/GreaterEqualTest.java @@ -25,10 +25,10 @@ public class GreaterEqualTest { @BeforeClass public static void setUpBeforeClass() throws Exception { - path = System.getProperty("user.dir")+"/test/bytecode/javFiles/GreaterEqual.jav"; + path = System.getProperty("user.dir")+"/src/test/resources/bytecode/javFiles/GreaterEqual.jav"; fileToTest = new File(path); compiler = new JavaTXCompiler(fileToTest); - pathToClassFile = System.getProperty("user.dir")+"/testBytecode/generatedBC/"; + pathToClassFile = System.getProperty("user.dir")+"/src/test/resources/testBytecode/generatedBC/"; compiler.generateBytecode(pathToClassFile); loader = new URLClassLoader(new URL[] {new URL("File://"+pathToClassFile)}); classToTest = loader.loadClass("GreaterEqual"); diff --git a/src/test/java/bytecode/GreaterThanTest.java b/src/test/java/bytecode/GreaterThanTest.java index 1a460a8cb..472daa493 100644 --- a/src/test/java/bytecode/GreaterThanTest.java +++ b/src/test/java/bytecode/GreaterThanTest.java @@ -25,10 +25,10 @@ public class GreaterThanTest { @BeforeClass public static void setUpBeforeClass() throws Exception { - path = System.getProperty("user.dir")+"/test/bytecode/javFiles/GreaterThan.jav"; + path = System.getProperty("user.dir")+"/src/test/resources/bytecode/javFiles/GreaterThan.jav"; fileToTest = new File(path); compiler = new JavaTXCompiler(fileToTest); - pathToClassFile = System.getProperty("user.dir")+"/testBytecode/generatedBC/"; + pathToClassFile = System.getProperty("user.dir")+"/src/test/resources/testBytecode/generatedBC/"; compiler.generateBytecode(pathToClassFile); loader = new URLClassLoader(new URL[] {new URL("File://"+pathToClassFile)}); classToTest = loader.loadClass("GreaterThan"); diff --git a/src/test/java/bytecode/LambdaCapturetest.java b/src/test/java/bytecode/LambdaCapturetest.java index 438c2315c..24baaf7a9 100644 --- a/src/test/java/bytecode/LambdaCapturetest.java +++ b/src/test/java/bytecode/LambdaCapturetest.java @@ -30,11 +30,11 @@ public class LambdaCapturetest { @Test public void generateBC() throws Exception { - path = System.getProperty("user.dir")+"/test/bytecode/javFiles/LambdaCapture.jav"; + path = System.getProperty("user.dir")+"/src/test/resources/bytecode/javFiles/LambdaCapture.jav"; fileToTest = new File(path); compiler = new JavaTXCompiler(fileToTest); - compiler.generateBytecode(System.getProperty("user.dir")+"/testBytecode/generatedBC/"); - pathToClassFile = System.getProperty("user.dir")+"/testBytecode/generatedBC/"; + compiler.generateBytecode(System.getProperty("user.dir")+"/src/test/resources/testBytecode/generatedBC/"); + pathToClassFile = System.getProperty("user.dir")+"/src/test/resources/testBytecode/generatedBC/"; loader = new URLClassLoader(new URL[] {new URL("file://"+pathToClassFile)}); classToTest = loader.loadClass("LambdaCapture"); instanceOfClass = classToTest.getDeclaredConstructor().newInstance(); diff --git a/src/test/java/bytecode/LambdaTest.java b/src/test/java/bytecode/LambdaTest.java index d2e692493..5428b3338 100644 --- a/src/test/java/bytecode/LambdaTest.java +++ b/src/test/java/bytecode/LambdaTest.java @@ -23,11 +23,11 @@ public class LambdaTest { @Test public void generateBC() throws Exception { - path = System.getProperty("user.dir")+"/test/bytecode/javFiles/Lambda.jav"; + path = System.getProperty("user.dir")+"/src/test/resources/bytecode/javFiles/Lambda.jav"; fileToTest = new File(path); compiler = new JavaTXCompiler(fileToTest); - compiler.generateBytecode(System.getProperty("user.dir")+"/testBytecode/generatedBC/"); - pathToClassFile = System.getProperty("user.dir")+"/testBytecode/generatedBC/"; + compiler.generateBytecode(System.getProperty("user.dir")+"/src/test/resources/testBytecode/generatedBC/"); + pathToClassFile = System.getProperty("user.dir")+"/src/test/resources/testBytecode/generatedBC/"; loader = new URLClassLoader(new URL[] {new URL("file://"+pathToClassFile)}); classToTest = loader.loadClass("Lambda"); instanceOfClass = classToTest.getDeclaredConstructor().newInstance(); diff --git a/src/test/java/bytecode/LambdaVoidTest.java b/src/test/java/bytecode/LambdaVoidTest.java index ea83dbe09..1a737bd32 100644 --- a/src/test/java/bytecode/LambdaVoidTest.java +++ b/src/test/java/bytecode/LambdaVoidTest.java @@ -23,11 +23,11 @@ public class LambdaVoidTest { @Test public void generateBC() throws Exception { - path = System.getProperty("user.dir")+"/test/bytecode/javFiles/Lambda.jav"; + path = System.getProperty("user.dir")+"/src/test/resources/bytecode/javFiles/Lambda.jav"; fileToTest = new File(path); compiler = new JavaTXCompiler(fileToTest); - compiler.generateBytecode(System.getProperty("user.dir")+"/testBytecode/generatedBC/"); - pathToClassFile = System.getProperty("user.dir")+"/testBytecode/generatedBC/"; + compiler.generateBytecode(System.getProperty("user.dir")+"/src/test/resources/testBytecode/generatedBC/"); + pathToClassFile = System.getProperty("user.dir")+"/src/test/resources/testBytecode/generatedBC/"; loader = new URLClassLoader(new URL[] {new URL("file://"+pathToClassFile)}); classToTest = loader.loadClass("Lambda"); instanceOfClass = classToTest.getDeclaredConstructor().newInstance(); diff --git a/src/test/java/bytecode/LessEqualTest.java b/src/test/java/bytecode/LessEqualTest.java index dc439af9c..2e39e072c 100644 --- a/src/test/java/bytecode/LessEqualTest.java +++ b/src/test/java/bytecode/LessEqualTest.java @@ -25,10 +25,10 @@ public class LessEqualTest { @BeforeClass public static void setUpBeforeClass() throws Exception { - path = System.getProperty("user.dir")+"/test/bytecode/javFiles/LessEqual.jav"; + path = System.getProperty("user.dir")+"/src/test/resources/bytecode/javFiles/LessEqual.jav"; fileToTest = new File(path); compiler = new JavaTXCompiler(fileToTest); - pathToClassFile = System.getProperty("user.dir")+"/testBytecode/generatedBC/"; + pathToClassFile = System.getProperty("user.dir")+"/src/test/resources/testBytecode/generatedBC/"; compiler.generateBytecode(pathToClassFile); loader = new URLClassLoader(new URL[] {new URL("file://"+pathToClassFile)}); classToTest = loader.loadClass("LessEqual"); diff --git a/src/test/java/bytecode/LessThanTest.java b/src/test/java/bytecode/LessThanTest.java index 99eba80c8..98830542e 100644 --- a/src/test/java/bytecode/LessThanTest.java +++ b/src/test/java/bytecode/LessThanTest.java @@ -25,10 +25,10 @@ public class LessThanTest { @BeforeClass public static void setUpBeforeClass() throws Exception { - path = System.getProperty("user.dir")+"/test/bytecode/javFiles/LessThan.jav"; + path = System.getProperty("user.dir")+"/src/test/resources/bytecode/javFiles/LessThan.jav"; fileToTest = new File(path); compiler = new JavaTXCompiler(fileToTest); - pathToClassFile = System.getProperty("user.dir")+"/testBytecode/generatedBC/"; + pathToClassFile = System.getProperty("user.dir")+"/src/test/resources/testBytecode/generatedBC/"; compiler.generateBytecode(pathToClassFile); loader = new URLClassLoader(new URL[] {new URL("file://"+pathToClassFile)}); classToTest = loader.loadClass("LessThan"); diff --git a/src/test/java/bytecode/MatrixOpTest.java b/src/test/java/bytecode/MatrixOpTest.java index 178aa43e5..110187018 100644 --- a/src/test/java/bytecode/MatrixOpTest.java +++ b/src/test/java/bytecode/MatrixOpTest.java @@ -28,10 +28,10 @@ public class MatrixOpTest { @Test public void test() throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, ClassNotFoundException, IOException, InstantiationException { - path = System.getProperty("user.dir")+"/test/bytecode/javFiles/MatrixOP.jav"; + path = System.getProperty("user.dir")+"/src/test/resources/bytecode/javFiles/MatrixOP.jav"; fileToTest = new File(path); compiler = new JavaTXCompiler(fileToTest); - pathToClassFile = System.getProperty("user.dir")+"/testBytecode/generatedBC/"; + pathToClassFile = System.getProperty("user.dir")+"/src/test/resources/testBytecode/generatedBC/"; compiler.generateBytecode(pathToClassFile); loader = new URLClassLoader(new URL[] {new URL("file://"+pathToClassFile)}); classToTest = loader.loadClass("MatrixOP"); diff --git a/src/test/java/bytecode/MergeTest.java b/src/test/java/bytecode/MergeTest.java index 9f3943cac..d259ee2cb 100644 --- a/src/test/java/bytecode/MergeTest.java +++ b/src/test/java/bytecode/MergeTest.java @@ -24,10 +24,10 @@ public class MergeTest { @Test public void generateBC() throws Exception { - path = System.getProperty("user.dir")+"/test/bytecode/javFiles/Merge.jav"; + path = System.getProperty("user.dir")+"/src/test/resources/bytecode/javFiles/Merge.jav"; fileToTest = new File(path); compiler = new JavaTXCompiler(fileToTest); - compiler.generateBytecode(System.getProperty("user.dir")+"/testBytecode/generatedBC/"); + compiler.generateBytecode(System.getProperty("user.dir")+"/src/test/resources/testBytecode/generatedBC/"); // pathToClassFile = System.getProperty("user.dir")+"/testBytecode/generatedBC/"; // loader = new URLClassLoader(new URL[] {new URL("file://"+pathToClassFile)}); // classToTest = loader.loadClass("Merge"); diff --git a/src/test/java/bytecode/OLTest.java b/src/test/java/bytecode/OLTest.java index d6ab4dd18..e438e7f9b 100644 --- a/src/test/java/bytecode/OLTest.java +++ b/src/test/java/bytecode/OLTest.java @@ -26,10 +26,10 @@ public class OLTest { @BeforeClass public static void setUpBeforeClass() throws Exception { - path = System.getProperty("user.dir")+"/test/bytecode/javFiles/OL.jav"; + path = System.getProperty("user.dir")+"/src/test/resources/bytecode/javFiles/OL.jav"; fileToTest = new File(path); compiler = new JavaTXCompiler(fileToTest); - pathToClassFile = System.getProperty("user.dir")+"/testBytecode/generatedBC/"; + pathToClassFile = System.getProperty("user.dir")+"/src/test/resources/testBytecode/generatedBC/"; compiler.generateBytecode(pathToClassFile); loader = new URLClassLoader(new URL[] {new URL("file://"+pathToClassFile)}); classToTest = loader.loadClass("OL"); diff --git a/src/test/java/bytecode/OpTest.java b/src/test/java/bytecode/OpTest.java index 3909f0cd8..eeef179b1 100644 --- a/src/test/java/bytecode/OpTest.java +++ b/src/test/java/bytecode/OpTest.java @@ -25,10 +25,10 @@ public class OpTest { @BeforeClass public static void setUpBeforeClass() throws Exception { - path = System.getProperty("user.dir")+"/test/bytecode/javFiles/Op.jav"; + path = System.getProperty("user.dir")+"/src/test/resources/bytecode/javFiles/Op.jav"; fileToTest = new File(path); compiler = new JavaTXCompiler(fileToTest); - pathToClassFile = System.getProperty("user.dir")+"/testBytecode/generatedBC/"; + pathToClassFile = System.getProperty("user.dir")+"/src/test/resources/testBytecode/generatedBC/"; compiler.generateBytecode(pathToClassFile); loader = new URLClassLoader(new URL[] {new URL("file://"+pathToClassFile)}); classToTest = loader.loadClass("Op"); diff --git a/src/test/java/bytecode/OverloadingSortingTest.java b/src/test/java/bytecode/OverloadingSortingTest.java index c6df11cdb..bb174d7d7 100644 --- a/src/test/java/bytecode/OverloadingSortingTest.java +++ b/src/test/java/bytecode/OverloadingSortingTest.java @@ -26,10 +26,10 @@ public class OverloadingSortingTest { @Test public void generateBC() throws Exception { - path = System.getProperty("user.dir")+"/test/bytecode/javFiles/Sorting.jav"; + path = System.getProperty("user.dir")+"/src/test/resources/bytecode/javFiles/Sorting.jav"; fileToTest = new File(path); compiler = new JavaTXCompiler(fileToTest); - pathToClassFile = System.getProperty("user.dir")+"/testBytecode/generatedBC/"; + pathToClassFile = System.getProperty("user.dir")+"/src/test/resources/testBytecode/generatedBC/"; compiler.generateBytecode(pathToClassFile); // loader = new URLClassLoader(new URL[] {new URL("file://"+pathToClassFile)}); // classToTest = loader.loadClass("Sorting"); diff --git a/src/test/java/bytecode/OverloadingTest.java b/src/test/java/bytecode/OverloadingTest.java index 6b4bf8eb2..4645110e3 100644 --- a/src/test/java/bytecode/OverloadingTest.java +++ b/src/test/java/bytecode/OverloadingTest.java @@ -27,10 +27,10 @@ public class OverloadingTest { @BeforeClass public static void setUpBeforeClass() throws Exception { - path = System.getProperty("user.dir")+"/test/bytecode/javFiles/Overloading.jav"; + path = System.getProperty("user.dir")+"/src/test/resources/bytecode/javFiles/Overloading.jav"; fileToTest = new File(path); compiler = new JavaTXCompiler(fileToTest); - pathToClassFile = System.getProperty("user.dir")+"/testBytecode/generatedBC/"; + pathToClassFile = System.getProperty("user.dir")+"/src/test/resources/testBytecode/generatedBC/"; compiler.generateBytecode(pathToClassFile); loader = new URLClassLoader(new URL[] {new URL("file://"+pathToClassFile)}); classToTest = loader.loadClass("Overloading"); diff --git a/src/test/java/bytecode/PlusTest.java b/src/test/java/bytecode/PlusTest.java index 85f05b752..ac20360f9 100644 --- a/src/test/java/bytecode/PlusTest.java +++ b/src/test/java/bytecode/PlusTest.java @@ -24,10 +24,10 @@ public class PlusTest { @BeforeClass public static void setUpBeforeClass() throws Exception { - path = System.getProperty("user.dir")+"/test/bytecode/javFiles/Plus.jav"; + path = System.getProperty("user.dir")+"/src/test/resources/bytecode/javFiles/Plus.jav"; fileToTest = new File(path); compiler = new JavaTXCompiler(fileToTest); - pathToClassFile = System.getProperty("user.dir")+"/testBytecode/generatedBC/"; + pathToClassFile = System.getProperty("user.dir")+"/src/test/resources/testBytecode/generatedBC/"; compiler.generateBytecode(pathToClassFile); loader = new URLClassLoader(new URL[] {new URL("file://"+pathToClassFile)}); classToTest = loader.loadClass("Plus"); diff --git a/src/test/java/bytecode/PostIncTest.java b/src/test/java/bytecode/PostIncTest.java index 6c3ebc330..902fe2210 100644 --- a/src/test/java/bytecode/PostIncTest.java +++ b/src/test/java/bytecode/PostIncTest.java @@ -24,10 +24,10 @@ public class PostIncTest { @BeforeClass public static void setUpBeforeClass() throws Exception { - path = System.getProperty("user.dir")+"/test/bytecode/javFiles/PostIncDec.jav"; + path = System.getProperty("user.dir")+"/src/test/resources/bytecode/javFiles/PostIncDec.jav"; fileToTest = new File(path); compiler = new JavaTXCompiler(fileToTest); - pathToClassFile = System.getProperty("user.dir")+"/testBytecode/generatedBC/"; + pathToClassFile = System.getProperty("user.dir")+"/src/test/resources/testBytecode/generatedBC/"; compiler.generateBytecode(pathToClassFile); loader = new URLClassLoader(new URL[] {new URL("file://"+pathToClassFile)}); classToTest = loader.loadClass("PostIncDec"); diff --git a/src/test/java/bytecode/PreIncTest.java b/src/test/java/bytecode/PreIncTest.java index 29feac338..ac4e2b55c 100644 --- a/src/test/java/bytecode/PreIncTest.java +++ b/src/test/java/bytecode/PreIncTest.java @@ -24,10 +24,10 @@ public class PreIncTest { @BeforeClass public static void setUpBeforeClass() throws Exception { - path = System.getProperty("user.dir")+"/test/bytecode/javFiles/PreInc.jav"; + path = System.getProperty("user.dir")+"/src/test/resources/bytecode/javFiles/PreInc.jav"; fileToTest = new File(path); compiler = new JavaTXCompiler(fileToTest); - pathToClassFile = System.getProperty("user.dir")+"/testBytecode/generatedBC/"; + pathToClassFile = System.getProperty("user.dir")+"/src/test/resources/testBytecode/generatedBC/"; compiler.generateBytecode(pathToClassFile); loader = new URLClassLoader(new URL[] {new URL("file://" + pathToClassFile)}); classToTest = loader.loadClass("PreInc"); diff --git a/src/test/java/bytecode/RelOpsTest.java b/src/test/java/bytecode/RelOpsTest.java index 1bdf1a1d3..9ffeeca20 100644 --- a/src/test/java/bytecode/RelOpsTest.java +++ b/src/test/java/bytecode/RelOpsTest.java @@ -24,10 +24,10 @@ public class RelOpsTest { @BeforeClass public static void setUpBeforeClass() throws Exception { - path = System.getProperty("user.dir")+"/test/bytecode/javFiles/RelOps.jav"; + path = System.getProperty("user.dir")+"/src/test/resources/bytecode/javFiles/RelOps.jav"; fileToTest = new File(path); compiler = new JavaTXCompiler(fileToTest); - pathToClassFile = System.getProperty("user.dir")+"/testBytecode/generatedBC/"; + pathToClassFile = System.getProperty("user.dir")+"/src/test/resources/testBytecode/generatedBC/"; compiler.generateBytecode(pathToClassFile); loader = new URLClassLoader(new URL[] {new URL("file://"+pathToClassFile)}); classToTest = loader.loadClass("RelOps"); diff --git a/src/test/java/bytecode/SortingTest.java b/src/test/java/bytecode/SortingTest.java index 2704fc682..4b8abb613 100644 --- a/src/test/java/bytecode/SortingTest.java +++ b/src/test/java/bytecode/SortingTest.java @@ -23,11 +23,11 @@ public class SortingTest { @Test public void generateBC() throws Exception { - path = System.getProperty("user.dir")+"/test/bytecode/javFiles/Sorting.jav"; + path = System.getProperty("user.dir")+"/src/test/resources/bytecode/javFiles/Sorting.jav"; fileToTest = new File(path); compiler = new JavaTXCompiler(fileToTest); - compiler.generateBytecode(System.getProperty("user.dir")+"/testBytecode/generatedBC/"); - pathToClassFile = System.getProperty("user.dir")+"/testBytecode/generatedBC/"; + compiler.generateBytecode(System.getProperty("user.dir")+"/src/test/resources/testBytecode/generatedBC/"); + pathToClassFile = System.getProperty("user.dir")+"/src/test/resources/testBytecode/generatedBC/"; loader = new URLClassLoader(new URL[] {new URL("file://"+pathToClassFile)}); classToTest = loader.loadClass("Sorting"); /* diff --git a/src/test/java/bytecode/SubMatTest.java b/src/test/java/bytecode/SubMatTest.java index 8818bd40f..000f7569f 100644 --- a/src/test/java/bytecode/SubMatTest.java +++ b/src/test/java/bytecode/SubMatTest.java @@ -17,10 +17,10 @@ public class SubMatTest { @Test public void test() throws ClassNotFoundException, IOException { - path = System.getProperty("user.dir")+"/test/bytecode/javFiles/SubMatrix.jav"; + path = System.getProperty("user.dir")+"/src/test/resources/bytecode/javFiles/SubMatrix.jav"; fileToTest = new File(path); compiler = new JavaTXCompiler(fileToTest); - pathToClassFile = System.getProperty("user.dir")+"/testBytecode/generatedBC/"; + pathToClassFile = System.getProperty("user.dir")+"/src/test/resources/testBytecode/generatedBC/"; compiler.generateBytecode(pathToClassFile); } diff --git a/src/test/java/bytecode/Tph2Test.java b/src/test/java/bytecode/Tph2Test.java index f267f45a2..ad9c06f0b 100644 --- a/src/test/java/bytecode/Tph2Test.java +++ b/src/test/java/bytecode/Tph2Test.java @@ -24,10 +24,10 @@ public class Tph2Test { @BeforeClass public static void setUpBeforeClass() throws Exception { - path = System.getProperty("user.dir")+"/test/bytecode/javFiles/Tph2.jav"; + path = System.getProperty("user.dir")+"/src/test/resources/bytecode/javFiles/Tph2.jav"; fileToTest = new File(path); compiler = new JavaTXCompiler(fileToTest); - pathToClassFile = System.getProperty("user.dir")+"/testBytecode/generatedBC/"; + pathToClassFile = System.getProperty("user.dir")+"/src/test/resources/testBytecode/generatedBC/"; compiler.generateBytecode(pathToClassFile); loader = new URLClassLoader(new URL[] {new URL("file://"+pathToClassFile)}); classToTest = loader.loadClass("Tph2"); diff --git a/src/test/java/bytecode/Tph3Test.java b/src/test/java/bytecode/Tph3Test.java index 58bc9e640..bc680e7ea 100644 --- a/src/test/java/bytecode/Tph3Test.java +++ b/src/test/java/bytecode/Tph3Test.java @@ -21,10 +21,10 @@ public class Tph3Test { @Test public void generateBC() throws Exception { - path = System.getProperty("user.dir")+"/test/bytecode/javFiles/Tph3.jav"; + path = System.getProperty("user.dir")+"/src/test/resources/bytecode/javFiles/Tph3.jav"; fileToTest = new File(path); compiler = new JavaTXCompiler(fileToTest); - pathToClassFile = System.getProperty("user.dir")+"/testBytecode/generatedBC/"; + pathToClassFile = System.getProperty("user.dir")+"/src/test/resources/testBytecode/generatedBC/"; compiler.generateBytecode(pathToClassFile); } diff --git a/src/test/java/bytecode/Tph5Test.java b/src/test/java/bytecode/Tph5Test.java index 4107cca2d..78b2c4009 100644 --- a/src/test/java/bytecode/Tph5Test.java +++ b/src/test/java/bytecode/Tph5Test.java @@ -24,10 +24,10 @@ public class Tph5Test { @BeforeClass public static void setUpBeforeClass() throws Exception { - path = System.getProperty("user.dir")+"/test/bytecode/javFiles/Tph5.jav"; + path = System.getProperty("user.dir")+"/src/test/resources/bytecode/javFiles/Tph5.jav"; fileToTest = new File(path); compiler = new JavaTXCompiler(fileToTest); - pathToClassFile = System.getProperty("user.dir")+"/testBytecode/generatedBC/"; + pathToClassFile = System.getProperty("user.dir")+"/src/test/resources/testBytecode/generatedBC/"; compiler.generateBytecode(pathToClassFile); loader = new URLClassLoader(new URL[] {new URL("file://"+pathToClassFile)}); classToTest = loader.loadClass("Tph5"); diff --git a/src/test/java/bytecode/TphTest.java b/src/test/java/bytecode/TphTest.java index 3f0a7bb3a..45bb698a7 100644 --- a/src/test/java/bytecode/TphTest.java +++ b/src/test/java/bytecode/TphTest.java @@ -24,10 +24,10 @@ public class TphTest { @BeforeClass public static void setUpBeforeClass() throws Exception { - path = System.getProperty("user.dir")+"/test/bytecode/javFiles/Tph.jav"; + path = System.getProperty("user.dir")+"/src/test/resources/bytecode/javFiles/Tph.jav"; fileToTest = new File(path); compiler = new JavaTXCompiler(fileToTest); - pathToClassFile = System.getProperty("user.dir")+"/testBytecode/generatedBC/"; + pathToClassFile = System.getProperty("user.dir")+"/src/test/resources/testBytecode/generatedBC/"; compiler.generateBytecode(pathToClassFile); loader = new URLClassLoader(new URL[] {new URL("file://"+pathToClassFile)}); classToTest = loader.loadClass("Tph"); diff --git a/src/test/java/bytecode/WhileTest.java b/src/test/java/bytecode/WhileTest.java index 67c80c19c..f18577d74 100644 --- a/src/test/java/bytecode/WhileTest.java +++ b/src/test/java/bytecode/WhileTest.java @@ -24,10 +24,10 @@ public class WhileTest { @BeforeClass public static void setUpBeforeClass() throws Exception { - path = System.getProperty("user.dir")+"/test/bytecode/javFiles/While.jav"; + path = System.getProperty("user.dir")+"/src/test/resources/bytecode/javFiles/While.jav"; fileToTest = new File(path); compiler = new JavaTXCompiler(fileToTest); - pathToClassFile = System.getProperty("user.dir")+"/testBytecode/generatedBC/"; + pathToClassFile = System.getProperty("user.dir")+"/src/test/resources/testBytecode/generatedBC/"; compiler.generateBytecode(pathToClassFile); loader = new URLClassLoader(new URL[] {new URL("file://"+pathToClassFile)}); classToTest = loader.loadClass("While"); diff --git a/src/test/java/bytecode/YTest.java b/src/test/java/bytecode/YTest.java index 1c4f13a64..524170ebe 100644 --- a/src/test/java/bytecode/YTest.java +++ b/src/test/java/bytecode/YTest.java @@ -23,11 +23,11 @@ public class YTest { @Test public void generateBC() throws Exception { - path = System.getProperty("user.dir")+"/test/bytecode/javFiles/Y.jav"; + path = System.getProperty("user.dir")+"/src/test/resources/bytecode/javFiles/Y.jav"; fileToTest = new File(path); // compiler = new JavaTXCompiler(fileToTest); -// compiler.generateBytecode(System.getProperty("user.dir")+"/testBytecode/generatedBC/"); -// pathToClassFile = System.getProperty("user.dir")+"/testBytecode/generatedBC/"; +// compiler.generateBytecode(System.getProperty("user.dir")+"/src/test/resources/testBytecode/generatedBC/"); +// pathToClassFile = System.getProperty("user.dir")+"/src/test/resources/testBytecode/generatedBC/"; // loader = new URLClassLoader(new URL[] {new URL("file://"+pathToClassFile)}); // classToTest = loader.loadClass("Y"); /* From 531b484c53589cc383500dd33c1cc0195085af13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Pl=C3=BCmicke?= Date: Sat, 29 Dec 2018 10:20:19 +0100 Subject: [PATCH 19/31] modified: src/main/java/de/dhbwstuttgart/core/JavaTXCompiler.java Pfad des log-Files angepasst Error-Ausgabe in der log-File Exception eingefuegt. --- src/main/java/de/dhbwstuttgart/core/JavaTXCompiler.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/main/java/de/dhbwstuttgart/core/JavaTXCompiler.java b/src/main/java/de/dhbwstuttgart/core/JavaTXCompiler.java index fdc2770c4..1111302f7 100644 --- a/src/main/java/de/dhbwstuttgart/core/JavaTXCompiler.java +++ b/src/main/java/de/dhbwstuttgart/core/JavaTXCompiler.java @@ -45,7 +45,7 @@ public class JavaTXCompiler { final CompilationEnvironment environment; public final Map sourceFiles = new HashMap<>(); - Boolean log = true; //gibt an ob ein Log-File nach System.getProperty("user.dir")+"/test/logFiles/log" geschrieben werden soll? + Boolean log = true; //gibt an ob ein Log-File nach System.getProperty("user.dir")+"src/test/java/logFiles" geschrieben werden soll? public JavaTXCompiler(File sourceFile) throws IOException, ClassNotFoundException { this(Arrays.asList(sourceFile)); @@ -278,7 +278,7 @@ public class JavaTXCompiler { TypeUnify unify = new TypeUnify(); Set> results = new HashSet<>(); try { - FileWriter logFile = new FileWriter(new File(System.getProperty("user.dir")+"/test/logFiles/"+"log")); + FileWriter logFile = new FileWriter(new File(System.getProperty("user.dir")+"/src/test/java/logFiles/"+"log")); logFile.write("FC:\\" + finiteClosure.toString()+"\n"); for(SourceFile sf : this.sourceFiles.values()) { logFile.write(ASTTypePrinter.print(sf)); @@ -385,7 +385,9 @@ public class JavaTXCompiler { logFile.write("PLACEHOLDERS: " + PlaceholderType.EXISTING_PLACEHOLDERS); logFile.flush(); } - catch (IOException e) { } + catch (IOException e) { + System.err.println("kein LogFile"); + } return results.stream().map((unifyPairs -> new ResultSet(UnifyTypeFactory.convert(unifyPairs, generateTPHMap(cons))))).collect(Collectors.toList()); } From 013539e7e8ef8f9d77d28a2f0ce308c8b14fdc8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Pl=C3=BCmicke?= Date: Sun, 30 Dec 2018 19:02:40 +0100 Subject: [PATCH 20/31] =?UTF-8?q?=09modified:=20=20=20../../../../main/jav?= =?UTF-8?q?a/de/dhbwstuttgart/bytecode/BytecodeGenMethod.java=20Throwable?= =?UTF-8?q?=20wieder=20in=20Exception=20zur=C3=BCckgewandelt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit modified: ../../../../main/java/de/dhbwstuttgart/core/JavaTXCompiler.java Log-Files um Name des jeweiligen Jav-Files ergaenzt modified: ../../javFiles/Faculty.jav --- .../java/de/dhbwstuttgart/bytecode/BytecodeGenMethod.java | 3 ++- src/main/java/de/dhbwstuttgart/core/JavaTXCompiler.java | 8 +++++--- src/test/resources/javFiles/Faculty.jav | 2 +- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/main/java/de/dhbwstuttgart/bytecode/BytecodeGenMethod.java b/src/main/java/de/dhbwstuttgart/bytecode/BytecodeGenMethod.java index 750dd9bfa..24611f757 100644 --- a/src/main/java/de/dhbwstuttgart/bytecode/BytecodeGenMethod.java +++ b/src/main/java/de/dhbwstuttgart/bytecode/BytecodeGenMethod.java @@ -830,7 +830,8 @@ public class BytecodeGenMethod implements StatementVisitor { } methodRefl = getMethod(methodCall.name,methodCall.arglist.getArguments().size(),methCallType, typesOfParams,methods); } - catch (Throwable e2) { + catch (Exception e2) { + System.out.println(""); //do nothing } } diff --git a/src/main/java/de/dhbwstuttgart/core/JavaTXCompiler.java b/src/main/java/de/dhbwstuttgart/core/JavaTXCompiler.java index 1111302f7..28a9d20ec 100644 --- a/src/main/java/de/dhbwstuttgart/core/JavaTXCompiler.java +++ b/src/main/java/de/dhbwstuttgart/core/JavaTXCompiler.java @@ -104,6 +104,7 @@ public class JavaTXCompiler { return new ArrayList<>(allClasses); } +/* public List typeInferenceOld() throws ClassNotFoundException { List allClasses = new ArrayList<>();//environment.getAllAvailableClasses(); //Alle Importierten Klassen in allen geparsten Sourcefiles kommen ins FC @@ -226,12 +227,13 @@ public class JavaTXCompiler { return results.stream().map((unifyPairs -> new ResultSet(UnifyTypeFactory.convert(unifyPairs, generateTPHMap(cons))))).collect(Collectors.toList()); } - + */ /** * Vererbt alle Variancen bei Paaren (a <. theta) oder (Theta <. a) * wenn a eine Variance !=0 hat auf alle Typvariablen in Theta. * @param eq The set of constraints */ + /* private void varianceInheritance(Set eq) { Set usedTPH = new HashSet<>(); Set phSet = eq.stream().map(x -> { @@ -258,7 +260,7 @@ public class JavaTXCompiler { phSetVariance.removeIf(x -> (x.getVariance() == 0 || usedTPH.contains(x))); } } - + */ public List typeInference() throws ClassNotFoundException { @@ -278,7 +280,7 @@ public class JavaTXCompiler { TypeUnify unify = new TypeUnify(); Set> results = new HashSet<>(); try { - FileWriter logFile = new FileWriter(new File(System.getProperty("user.dir")+"/src/test/java/logFiles/"+"log")); + FileWriter logFile = new FileWriter(new File(System.getProperty("user.dir")+"/src/test/java/logFiles/"+"log_"+sourceFiles.keySet().iterator().next().getName())); logFile.write("FC:\\" + finiteClosure.toString()+"\n"); for(SourceFile sf : this.sourceFiles.values()) { logFile.write(ASTTypePrinter.print(sf)); diff --git a/src/test/resources/javFiles/Faculty.jav b/src/test/resources/javFiles/Faculty.jav index ca539adda..71f405154 100644 --- a/src/test/resources/javFiles/Faculty.jav +++ b/src/test/resources/javFiles/Faculty.jav @@ -5,7 +5,7 @@ class Faculty { Integer mul(Integer x, Integer y) { return x; } - + m () { var fact = (Integer x) -> { return mul(x, fact.apply(x)); From 72a84323decae62d2b8d53896fa1acc2c5db92c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Pl=C3=BCmicke?= Date: Fri, 4 Jan 2019 01:19:31 +0100 Subject: [PATCH 21/31] modified: ../../../../main/java/de/dhbwstuttgart/typeinference/unify/Match.java modified: ../../../../main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java im Fall 1 die Substitutionen der Typeplaceholders der Muster entfernt modified: ../../../../main/java/de/dhbwstuttgart/typeinference/unify/model/FiniteClosure.java modified: ../../../../main/java/de/dhbwstuttgart/typeinference/unify/model/PlaceholderType.java modified: ../../../../main/java/de/dhbwstuttgart/typeinference/unify/model/UnifyType.java modified: ../../../../main/java/de/dhbwstuttgart/typeinference/unify/model/WildcardType.java modified: ../../bytecode/javFiles/MatrixOP.jav modified: ../../bytecode/javFiles/Merge.jav --- .../typeinference/unify/Match.java | 2 ++ .../typeinference/unify/TypeUnifyTask.java | 19 +++++++++++++------ .../unify/model/FiniteClosure.java | 2 +- .../unify/model/PlaceholderType.java | 2 +- .../typeinference/unify/model/UnifyType.java | 2 +- .../unify/model/WildcardType.java | 2 +- .../resources/bytecode/javFiles/MatrixOP.jav | 2 +- .../resources/bytecode/javFiles/Merge.jav | 4 ++-- 8 files changed, 22 insertions(+), 13 deletions(-) diff --git a/src/main/java/de/dhbwstuttgart/typeinference/unify/Match.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/Match.java index 78f7360f2..3e9956075 100644 --- a/src/main/java/de/dhbwstuttgart/typeinference/unify/Match.java +++ b/src/main/java/de/dhbwstuttgart/typeinference/unify/Match.java @@ -22,6 +22,8 @@ import de.dhbwstuttgart.typeinference.unify.model.UnifyType; public class Match implements IMatch { @Override + //A =. A ==> True + //A =. A ==> False public Optional match(ArrayList termsList) { // Start with the identity unifier. Substitutions will be added later. diff --git a/src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java index a28f45df8..75b070ded 100644 --- a/src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java +++ b/src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java @@ -1309,8 +1309,8 @@ public class TypeUnifyTask extends RecursiveTask>> { if (eq2sAsList.isEmpty() && first) {//Alle eq2s sind empty und alle oderConstraints mit Variance != 0 sind bearbeitet if (!oderConstraintsOutput.isEmpty()) { Set> ret = oderConstraintsOutput.remove(0); - if (ret.iterator().next().iterator().next().getLhsType().getName().equals("M")) - System.out.println("M"); + //if (ret.iterator().next().iterator().next().getLhsType().getName().equals("M")) + // System.out.println("M"); //Set retFlat = new HashSet<>(); //ret.stream().forEach(x -> retFlat.addAll(x)); ret.stream().forEach(x -> x.stream().forEach(y -> y.addSubstitutions(x))); @@ -1476,9 +1476,14 @@ public class TypeUnifyTask extends RecursiveTask>> { allGen = false; break; } - + //if (thetaPrime.getName().equals("java.util.Vector") //Fuer Bug 127 + // && thetaPrime instanceof ReferenceType + // && ((ReferenceType)thetaPrime).getTypeParams().iterator().next().getName().equals("java.util.Vector") + // && ((ReferenceType)((ReferenceType)thetaPrime).getTypeParams().iterator().next()).getTypeParams().iterator().next().getName().equals("java.lang.Integer")) { + // System.out.println(""); + //} Set cs = fc.getAllTypesByName(thetaPrime.getName());//cs= [java.util.Vector, java.util.Vector>, ????java.util.Vector???] - + //Set cs = fc.getAllTypesByMatch(thetaPrime); //PL 2019-01-02 geaendet wegen Bug 127//SO GEHT ES NICHT //PL 18-02-06 entfernt, kommt durch unify wieder rein @@ -1522,19 +1527,21 @@ public class TypeUnifyTask extends RecursiveTask>> { } for(UnifyType tqp : thetaQPrimes) { + Collection tphs = tqp.getInvolvedPlaceholderTypes(); Optional opt = stdUnify.unify(tqp, thetaPrime); if (!opt.isPresent()) { continue; } - Unifier unifier = opt.get(); unifier.swapPlaceholderSubstitutions(thetaPrime.getTypeParams()); Set substitutionSet = new HashSet<>(); for (Entry sigma : unifier) { - substitutionSet.add(new UnifyPair(sigma.getKey(), sigma.getValue(), PairOperator.EQUALSDOT, + if (!tphs.contains(sigma.getKey())) {//eingefuegt PL 2019-02-02 Bug 127 + substitutionSet.add(new UnifyPair(sigma.getKey(), sigma.getValue(), PairOperator.EQUALSDOT, //TODO: nochmals ueberlegen ob hier pair.getSubstitution() korrekt ist, oder ob leere Menge hin müsste //alle folgenden New UnifyPair ebenfalls ueberpruefen PL 2018-04-19 pair.getSubstitution(), pair)); + } } //List freshTphs = new ArrayList<>(); PL 18-02-06 in die For-Schleife verschoben for (UnifyType tq : thetaQs) { diff --git a/src/main/java/de/dhbwstuttgart/typeinference/unify/model/FiniteClosure.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/model/FiniteClosure.java index 4aa769e55..2c2cbd5d7 100644 --- a/src/main/java/de/dhbwstuttgart/typeinference/unify/model/FiniteClosure.java +++ b/src/main/java/de/dhbwstuttgart/typeinference/unify/model/FiniteClosure.java @@ -487,7 +487,7 @@ implements IFiniteClosure { result.add(type); return result; } - + @Override public Set getAllTypesByName(String typeName) { if(!strInheritanceGraph.containsKey(typeName)) diff --git a/src/main/java/de/dhbwstuttgart/typeinference/unify/model/PlaceholderType.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/model/PlaceholderType.java index 012099987..8a357bbb0 100644 --- a/src/main/java/de/dhbwstuttgart/typeinference/unify/model/PlaceholderType.java +++ b/src/main/java/de/dhbwstuttgart/typeinference/unify/model/PlaceholderType.java @@ -157,7 +157,7 @@ public final class PlaceholderType extends UnifyType{ @Override - public Collection getInvolvedPlaceholderTypes() { + public Collection getInvolvedPlaceholderTypes() { ArrayList ret = new ArrayList<>(); ret.add(this); return ret; diff --git a/src/main/java/de/dhbwstuttgart/typeinference/unify/model/UnifyType.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/model/UnifyType.java index bb7bc1c6c..298f87e7d 100644 --- a/src/main/java/de/dhbwstuttgart/typeinference/unify/model/UnifyType.java +++ b/src/main/java/de/dhbwstuttgart/typeinference/unify/model/UnifyType.java @@ -97,7 +97,7 @@ public abstract class UnifyType { return typeName + params; } - public Collection getInvolvedPlaceholderTypes() { + public Collection getInvolvedPlaceholderTypes() { ArrayList ret = new ArrayList<>(); ret.addAll(typeParams.getInvolvedPlaceholderTypes()); return ret; diff --git a/src/main/java/de/dhbwstuttgart/typeinference/unify/model/WildcardType.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/model/WildcardType.java index 81999492b..ea70139ff 100644 --- a/src/main/java/de/dhbwstuttgart/typeinference/unify/model/WildcardType.java +++ b/src/main/java/de/dhbwstuttgart/typeinference/unify/model/WildcardType.java @@ -64,7 +64,7 @@ public abstract class WildcardType extends UnifyType { @Override - public Collection getInvolvedPlaceholderTypes() { + public Collection getInvolvedPlaceholderTypes() { ArrayList ret = new ArrayList<>(); ret.addAll(wildcardedType.getInvolvedPlaceholderTypes()); return ret; diff --git a/src/test/resources/bytecode/javFiles/MatrixOP.jav b/src/test/resources/bytecode/javFiles/MatrixOP.jav index 828a270bd..c78c42c76 100644 --- a/src/test/resources/bytecode/javFiles/MatrixOP.jav +++ b/src/test/resources/bytecode/javFiles/MatrixOP.jav @@ -1,6 +1,6 @@ import java.util.Vector; import java.lang.Integer; -//import java.lang.Byte; +import java.lang.Byte; import java.lang.Boolean; public class MatrixOP extends Vector> { diff --git a/src/test/resources/bytecode/javFiles/Merge.jav b/src/test/resources/bytecode/javFiles/Merge.jav index 9240146e0..ad5e103e0 100644 --- a/src/test/resources/bytecode/javFiles/Merge.jav +++ b/src/test/resources/bytecode/javFiles/Merge.jav @@ -1,8 +1,8 @@ import java.util.List; import java.lang.Integer; -import java.util.Collection; +//import java.util.Collection; -class Merge { +class Merge { merge(a, b) { a.addAll(b); From d0a261f55cdb466e612b42324a9738f43f2312c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Pl=C3=BCmicke?= Date: Wed, 9 Jan 2019 00:40:24 +0100 Subject: [PATCH 22/31] modified: ../../../main/java/de/dhbwstuttgart/core/JavaTXCompiler.java modified: ../../../main/java/de/dhbwstuttgart/syntaxtree/factory/UnifyTypeFactory.java modified: ../../../main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java Set fBounded = new HashSet<>(pair.getfBounded()); //PL 2019-01-09 new HashSet eingefuegt modified: ../../../main/java/de/dhbwstuttgart/typeinference/unify/interfaces/IFiniteClosure.java modified: ../../../main/java/de/dhbwstuttgart/typeinference/unify/model/FiniteClosure.java modified: ../../../main/java/de/dhbwstuttgart/typeinference/unify/model/OrderingUnifyPair.java modified: ../../../main/java/de/dhbwstuttgart/typeinference/unify/model/PlaceholderType.java modified: ../../../main/java/de/dhbwstuttgart/typeinference/unify/model/UnifyPair.java modified: ../../resources/bytecode/javFiles/Matrix.jav --- .../de/dhbwstuttgart/core/JavaTXCompiler.java | 13 +++---- .../syntaxtree/factory/UnifyTypeFactory.java | 5 +-- .../typeinference/unify/TypeUnifyTask.java | 35 ++++++++++++++++--- .../unify/interfaces/IFiniteClosure.java | 1 + .../unify/model/FiniteClosure.java | 35 ++++++++++++++++--- .../unify/model/OrderingUnifyPair.java | 16 ++++++--- .../unify/model/PlaceholderType.java | 9 +++++ .../typeinference/unify/model/UnifyPair.java | 2 +- .../resources/bytecode/javFiles/Matrix.jav | 2 +- 9 files changed, 95 insertions(+), 23 deletions(-) diff --git a/src/main/java/de/dhbwstuttgart/core/JavaTXCompiler.java b/src/main/java/de/dhbwstuttgart/core/JavaTXCompiler.java index 28a9d20ec..8729dd3e5 100644 --- a/src/main/java/de/dhbwstuttgart/core/JavaTXCompiler.java +++ b/src/main/java/de/dhbwstuttgart/core/JavaTXCompiler.java @@ -272,15 +272,16 @@ public class JavaTXCompiler { } final ConstraintSet cons = getConstraints(); - - FiniteClosure finiteClosure = UnifyTypeFactory.generateFC(allClasses); - System.out.println(finiteClosure); - ConstraintSet unifyCons = UnifyTypeFactory.convert(cons); - - TypeUnify unify = new TypeUnify(); Set> results = new HashSet<>(); try { FileWriter logFile = new FileWriter(new File(System.getProperty("user.dir")+"/src/test/java/logFiles/"+"log_"+sourceFiles.keySet().iterator().next().getName())); + + FiniteClosure finiteClosure = UnifyTypeFactory.generateFC(allClasses,logFile); + System.out.println(finiteClosure); + ConstraintSet unifyCons = UnifyTypeFactory.convert(cons); + + TypeUnify unify = new TypeUnify(); + //Set> results = new HashSet<>(); Nach vorne gezogen logFile.write("FC:\\" + finiteClosure.toString()+"\n"); for(SourceFile sf : this.sourceFiles.values()) { logFile.write(ASTTypePrinter.print(sf)); diff --git a/src/main/java/de/dhbwstuttgart/syntaxtree/factory/UnifyTypeFactory.java b/src/main/java/de/dhbwstuttgart/syntaxtree/factory/UnifyTypeFactory.java index 71985334e..743fbb74e 100644 --- a/src/main/java/de/dhbwstuttgart/syntaxtree/factory/UnifyTypeFactory.java +++ b/src/main/java/de/dhbwstuttgart/syntaxtree/factory/UnifyTypeFactory.java @@ -1,5 +1,6 @@ package de.dhbwstuttgart.syntaxtree.factory; +import java.io.FileWriter; import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -29,7 +30,7 @@ public class UnifyTypeFactory { private static ArrayList PLACEHOLDERS = new ArrayList<>(); - public static FiniteClosure generateFC(List fromClasses) throws ClassNotFoundException { + public static FiniteClosure generateFC(List fromClasses, FileWriter logFile) throws ClassNotFoundException { /* Die transitive Hülle muss funktionieren. Man darf schreiben List
extends AL @@ -40,7 +41,7 @@ public class UnifyTypeFactory { Generell dürfen sie immer die gleichen Namen haben. TODO: die transitive Hülle bilden */ - return new FiniteClosure(FCGenerator.toUnifyFC(fromClasses)); + return new FiniteClosure(FCGenerator.toUnifyFC(fromClasses), logFile); } public static UnifyPair generateSmallerPair(UnifyType tl, UnifyType tr){ diff --git a/src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java index 75b070ded..a9d02c955 100644 --- a/src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java +++ b/src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java @@ -814,6 +814,7 @@ public class TypeUnifyTask extends RecursiveTask>> { //Alle Variablen bestimmen die nicht hinzugefügt wurden in a //PL 2018-12-28: Hier gab es eine ClassCastException, war nicht reproduzierbar + System.out.println(""); List vars_a = a.stream().filter(x -> (x.getLhsType().getName().equals(x.getBasePair().getLhsType().getName()) ||x.getLhsType().getName().equals(x.getBasePair().getRhsType().getName()))) @@ -1483,7 +1484,6 @@ public class TypeUnifyTask extends RecursiveTask>> { // System.out.println(""); //} Set cs = fc.getAllTypesByName(thetaPrime.getName());//cs= [java.util.Vector, java.util.Vector>, ????java.util.Vector???] - //Set cs = fc.getAllTypesByMatch(thetaPrime); //PL 2019-01-02 geaendet wegen Bug 127//SO GEHT ES NICHT //PL 18-02-06 entfernt, kommt durch unify wieder rein @@ -1607,6 +1607,7 @@ public class TypeUnifyTask extends RecursiveTask>> { UnifyType aPrime = PlaceholderType.freshPlaceholder(); ((PlaceholderType)aPrime).setVariance(((PlaceholderType)a).getVariance()); + ((PlaceholderType)aPrime).disableWildcardtable(); UnifyType extAPrime = new ExtendsType(aPrime); UnifyType thetaPrime = extThetaPrime.getExtendedType(); Set resultPrime = new HashSet<>(); @@ -1627,12 +1628,14 @@ public class TypeUnifyTask extends RecursiveTask>> { */ private Set> unifyCase3(UnifyPair pair, IFiniteClosure fc) { PlaceholderType a = (PlaceholderType) pair.getLhsType(); + a.reversVariance(); SuperType subThetaPrime = (SuperType) pair.getRhsType(); byte variance = pair.getVariance(); Set> result = new HashSet<>(); UnifyType aPrime = PlaceholderType.freshPlaceholder(); ((PlaceholderType)aPrime).setVariance(((PlaceholderType)a).getVariance()); + ((PlaceholderType)aPrime).disableWildcardtable(); UnifyType supAPrime = new SuperType(aPrime); UnifyType thetaPrime = subThetaPrime.getSuperedType(); Set resultPrime = new HashSet<>(); @@ -1666,7 +1669,28 @@ public class TypeUnifyTask extends RecursiveTask>> { break; } - for(UnifyType thetaS : fc.greater(theta, pair.getfBounded())) { + //eingefuegt PL 2019-01-03 ANFANG + fc.setLogTrue(); + writeLog("FBOUNDED: " + pair.getfBounded()); + writeLog("Pair: " + pair); + Set greater = fc.greater(theta, pair.getfBounded()); + writeLog("GREATER: " + greater + pair + "THETA: " + theta + "FBOUNDED: " + pair.getfBounded() + " "); + + /*if (a.isWildcardable()) { + Set greater_ext = greater.stream().filter(x -> !(x instanceof ExtendsType) && !(x instanceof SuperType)) + .map(x -> { + //BinaryOperator> combiner = (aa,b) -> { aa.putAll(b); return aa;}; //Variablenumbenennung rausgenommen + //HashMap hm = x.getInvolvedPlaceholderTypes().stream() //Variablen muessen wahrscheinlich erhalten bleiben + // .reduce(new HashMap(), + // (aa, b)-> { aa.put(b,PlaceholderType.freshPlaceholder()); return aa; }, combiner); + return new SuperType (x);})//.accept(new freshPlaceholder(), hm));} + .collect(Collectors.toCollection(HashSet::new)); + greater.addAll(greater_ext); + } + //eingefuegt PL 2019-01-03 ENDE + */ + //for(UnifyType thetaS : fc.greater(theta, pair.getfBounded())) { + for(UnifyType thetaS : greater) { Set resultPrime = new HashSet<>(); Match match = new Match(); @@ -1674,7 +1698,7 @@ public class TypeUnifyTask extends RecursiveTask>> { for(int i = 0; !allGen && i < freshTphs.length; i++) { freshTphs[i] = PlaceholderType.freshPlaceholder(); ((PlaceholderType)freshTphs[i]).setVariance(((PlaceholderType)a).getVariance()); - Set fBounded = pair.getfBounded(); + Set fBounded = new HashSet<>(pair.getfBounded()); //PL 2019-01-09 new HashSet eingefuegt int i_ef = i; BiFunction f = (x,y) -> @@ -1688,7 +1712,7 @@ public class TypeUnifyTask extends RecursiveTask>> { //} BinaryOperator bo = (x,y) -> (x || y); if (fBounded.stream().reduce(false,f,bo)) { - resultPrime.add(new UnifyPair(thetaS.getTypeParams().get(i), freshTphs[i], PairOperator.EQUALSDOT, pair.getSubstitution(), pair)); + resultPrime.add(new UnifyPair(freshTphs[i], thetaS.getTypeParams().get(i), PairOperator.EQUALSDOT, pair.getSubstitution(), pair)); } else { fBounded.add(thetaS.getTypeParams().get(i)); @@ -1702,7 +1726,8 @@ public class TypeUnifyTask extends RecursiveTask>> { resultPrime.add(new UnifyPair(a, thetaS.setTypeParams(new TypeParams(freshTphs)), PairOperator.EQUALSDOT, pair.getSubstitution(), pair)); resultPrime = resultPrime.stream().map(x -> { x.setVariance(variance); return x;}).collect(Collectors.toCollection(HashSet::new)); result.add(resultPrime); - //writeLog(resultPrime.toString()); + writeLog("FBOUNDED2: " + pair.getfBounded()); + //writeLog("resultPrime Theta < a: " + greater + pair + "THETA: " + theta + "FBOUNDED: " + pair.getfBounded() + " " + resultPrime.toString()); } return result; diff --git a/src/main/java/de/dhbwstuttgart/typeinference/unify/interfaces/IFiniteClosure.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/interfaces/IFiniteClosure.java index 3e20f4332..37d70d550 100644 --- a/src/main/java/de/dhbwstuttgart/typeinference/unify/interfaces/IFiniteClosure.java +++ b/src/main/java/de/dhbwstuttgart/typeinference/unify/interfaces/IFiniteClosure.java @@ -17,6 +17,7 @@ import de.dhbwstuttgart.typeinference.unify.model.UnifyType; */ public interface IFiniteClosure { + public void setLogTrue(); /** * Returns all types of the finite closure that are subtypes of the argument. * @return The set of subtypes of the argument. diff --git a/src/main/java/de/dhbwstuttgart/typeinference/unify/model/FiniteClosure.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/model/FiniteClosure.java index 2c2cbd5d7..b0198f87f 100644 --- a/src/main/java/de/dhbwstuttgart/typeinference/unify/model/FiniteClosure.java +++ b/src/main/java/de/dhbwstuttgart/typeinference/unify/model/FiniteClosure.java @@ -1,5 +1,7 @@ package de.dhbwstuttgart.typeinference.unify.model; +import java.io.FileWriter; +import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; @@ -30,6 +32,11 @@ import de.dhbwstuttgart.typeinference.unify.interfaces.IUnify; public class FiniteClosure //extends Ordering //entfernt PL 2018-12-11 implements IFiniteClosure { + FileWriter logFile; + static Boolean log = false; + public void setLogTrue() { + log = true; + } /** * A map that maps every type to the node in the inheritance graph that contains that type. */ @@ -49,7 +56,8 @@ implements IFiniteClosure { /** * Creates a new instance using the inheritance tree defined in the pairs. */ - public FiniteClosure(Set pairs) { + public FiniteClosure(Set pairs, FileWriter logFile) { + this.logFile = logFile; this.pairs = new HashSet<>(pairs); inheritanceGraph = new HashMap>(); @@ -214,6 +222,15 @@ implements IFiniteClosure { // if T <* T' then sigma(T) <* sigma(T') Set> candidates = strInheritanceGraph.get(type.getName()); + + try { + if (log) logFile.write(candidates.toString()); + //log = false; + } + catch (IOException e) { + System.err.println("no LogFile"); + } + for(Node candidate : candidates) { UnifyType theta1 = candidate.getContent(); @@ -222,9 +239,13 @@ implements IFiniteClosure { termList.add(new UnifyPair(theta1,type, PairOperator.EQUALSDOT)); Optional optSigma = match.match(termList); //PL 18-04-05 Unifier durch Matcher ersetzt ENDE - if(!optSigma.isPresent()) + if(!optSigma.isPresent()) { + if ((type.getName().equals("java.util.Vector")) && (type instanceof ReferenceType) && + (((ReferenceType)type).getTypeParams().get(0).getName().equals("java.lang.Integer"))) { + System.out.println(type.toString() + candidates); + } continue; - + } Unifier sigma = optSigma.get(); sigma.swapPlaceholderSubstitutionsReverse(theta1.getTypeParams()); @@ -237,7 +258,13 @@ implements IFiniteClosure { PairResultFBounded.add(new Pair<>(theta2.apply(sigma), fBoundedNew)); } } - + try { + if (log) logFile.write(PairResultFBounded.toString()); + log = false; + } + catch (IOException e) { + System.err.println("no LogFile"); + } for(Pair> pt : PairResultFBounded) { UnifyType t = pt.getKey(); Set lfBounded = pt.getValue().get(); diff --git a/src/main/java/de/dhbwstuttgart/typeinference/unify/model/OrderingUnifyPair.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/model/OrderingUnifyPair.java index c655e6fd2..636a60291 100644 --- a/src/main/java/de/dhbwstuttgart/typeinference/unify/model/OrderingUnifyPair.java +++ b/src/main/java/de/dhbwstuttgart/typeinference/unify/model/OrderingUnifyPair.java @@ -110,17 +110,25 @@ public class OrderingUnifyPair extends Ordering> { && x.getPairOp() == PairOperator.SMALLERDOTWC)) .collect(Collectors.toCollection(HashSet::new)); //System.out.println(left.toString()); - //Fall 2 und 3 + //Fall 2 //if (lefteq.iterator().next().getLhsType().getName().equals("AJO")) { // System.out.print(""); //} - if (lefteq.size() == 1 && leftle.size() == 1 && righteq.size() == 0 && rightle.size() == 1) { + if (lefteq.size() == 1 && lefteq.iterator().next().getRhsType() instanceof ExtendsType && leftle.size() == 1 && righteq.size() == 0 && rightle.size() == 1) { return 1; } - //Fall 2 und 3 - if (lefteq.size() == 0 && leftle.size() == 1 && righteq.size() == 1 && rightle.size() == 1) { + //Fall 2 + if (lefteq.size() == 0 && leftle.size() == 1 && righteq.size() == 1 && righteq.iterator().next().getRhsType() instanceof ExtendsType && rightle.size() == 1) { return -1; } + //Fall 3 + if (lefteq.size() == 1 && lefteq.iterator().next().getRhsType() instanceof SuperType && leftle.size() == 1 && righteq.size() == 0 && rightle.size() == 1) { + return -1; + } + //Fall 3 + if (lefteq.size() == 0 && leftle.size() == 1 && righteq.size() == 1 && righteq.iterator().next().getRhsType() instanceof SuperType && rightle.size() == 1) { + return 1; + } //Fall 5 if (lefteq.size() == 1 && leftle.size() == 0 && righteq.size() == 1 && rightle.size() == 1) { return -1; diff --git a/src/main/java/de/dhbwstuttgart/typeinference/unify/model/PlaceholderType.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/model/PlaceholderType.java index 8a357bbb0..09402c2f1 100644 --- a/src/main/java/de/dhbwstuttgart/typeinference/unify/model/PlaceholderType.java +++ b/src/main/java/de/dhbwstuttgart/typeinference/unify/model/PlaceholderType.java @@ -108,6 +108,15 @@ public final class PlaceholderType extends UnifyType{ return variance; } + public void reversVariance() { + if (variance == 1) { + setVariance(-1); + } else { + if (variance == -1) { + setVariance(1); + }} + } + public Boolean isWildcardable() { return wildcardable; } diff --git a/src/main/java/de/dhbwstuttgart/typeinference/unify/model/UnifyPair.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/model/UnifyPair.java index 57b4e61ed..1266a8241 100644 --- a/src/main/java/de/dhbwstuttgart/typeinference/unify/model/UnifyPair.java +++ b/src/main/java/de/dhbwstuttgart/typeinference/unify/model/UnifyPair.java @@ -224,7 +224,7 @@ public class UnifyPair { if (rhs instanceof PlaceholderType) { ret = ret + ", " + new Integer(((PlaceholderType)rhs).getVariance()).toString(); } - return "(" + lhs + " " + pairOp + " " + rhs + ", " + ret + ", [" + getfBounded().toString()+ "])"; + return "(" + lhs + " " + pairOp + " " + rhs + ", " + ret + "])"; //+ ", [" + getfBounded().toString()+ "])"; } /* diff --git a/src/test/resources/bytecode/javFiles/Matrix.jav b/src/test/resources/bytecode/javFiles/Matrix.jav index 295051617..9e87c1e6a 100644 --- a/src/test/resources/bytecode/javFiles/Matrix.jav +++ b/src/test/resources/bytecode/javFiles/Matrix.jav @@ -1,6 +1,6 @@ import java.util.Vector; import java.lang.Integer; -import java.lang.Float; +//import java.lang.Float; //import java.lang.Byte; //import java.lang.Boolean; From 7d514d617cf2b67d9e1cab689f0007930b80ad3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Pl=C3=BCmicke?= Date: Fri, 11 Jan 2019 19:24:23 +0100 Subject: [PATCH 23/31] modified: ../../../main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java modified: ../../../main/java/de/dhbwstuttgart/typeinference/unify/model/FiniteClosure.java modified: ../../../main/java/de/dhbwstuttgart/typeinference/unify/model/OrderingUnifyPair.java modified: ../../../main/java/de/dhbwstuttgart/typeinference/unify/model/UnifyPair.java Nur log-Ausgaben hinzugefuegt --- .../typeinference/unify/TypeUnifyTask.java | 30 ++++++++++----- .../unify/model/FiniteClosure.java | 8 ++-- .../unify/model/OrderingUnifyPair.java | 37 +++++++++++++++++++ .../typeinference/unify/model/UnifyPair.java | 2 +- 4 files changed, 62 insertions(+), 15 deletions(-) diff --git a/src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java index a9d02c955..103f46b02 100644 --- a/src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java +++ b/src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java @@ -830,8 +830,10 @@ public class TypeUnifyTask extends RecursiveTask>> { //erstes Element genügt, da vars immer auf die gleichen Elemente zugeordnet werden muessen Set fstElemResult = result.iterator().next(); Set compResult = fstElemResult.stream().filter(x -> varsLast_a.contains(((PlaceholderType)x.getLhsType()))).collect(Collectors.toCollection(HashSet::new));; - if (variance == 1) { + writeLog("a_last:" + a_last + " a: " + a); + writeLog("varsLast_a:" + varsLast_a + " vars_a: " + vars_a); + writeLog("compResult:" + compResult + " compRes: " + compRes); int resOfCompare = oup.compare(compResult, compRes); if (resOfCompare == -1) { writeLog("Geloescht result: " + result); @@ -845,6 +847,9 @@ public class TypeUnifyTask extends RecursiveTask>> { //result = result; }}} else { if (variance == -1) { + writeLog("a_last:" + a_last + " a: " + a); + writeLog("varsLast_a:" + varsLast_a + " vars_a: " + vars_a); + writeLog("compResult:" + compResult + " compRes: " + compRes); int resOfCompare = oup.compare(compResult, compRes); if (resOfCompare == 1) { writeLog("Geloescht result: " + result); @@ -886,27 +891,33 @@ public class TypeUnifyTask extends RecursiveTask>> { Iterator> nextSetasListIt = new ArrayList>(nextSetasList).iterator(); if (variance == 1) { System.out.println(""); + writeLog("a: " + a.toString()); while (nextSetasListIt.hasNext()) { Set a_next = nextSetasListIt.next(); if (a.equals(a_next) || (oup.compare(a, a_next) == 1)) { + writeLog("Removed: " + a_next.toString()); nextSetasList.remove(a_next); } else { + writeLog("Not Removed: " + a_next.toString()); System.out.println(""); } } } else { if (variance == -1) { System.out.println(""); + writeLog("a: " + a.toString()); while (nextSetasListIt.hasNext()) { Set a_next = nextSetasListIt.next(); if (a.equals(a_next) || (oup.compare(a, a_next) == -1)) { - nextSetasList.remove(0); + writeLog("Removed: " + a_next.toString()); + nextSetasList.remove(a_next); //PL geaendert 2019-01-09 } else { System.out.println(""); + writeLog("Not Removed: " + a_next.toString()); } } } @@ -1670,13 +1681,12 @@ public class TypeUnifyTask extends RecursiveTask>> { } //eingefuegt PL 2019-01-03 ANFANG - fc.setLogTrue(); - writeLog("FBOUNDED: " + pair.getfBounded()); - writeLog("Pair: " + pair); + //fc.setLogTrue(); + //writeLog("FBOUNDED: " + pair.getfBounded()); + //writeLog("Pair: " + pair); Set greater = fc.greater(theta, pair.getfBounded()); - writeLog("GREATER: " + greater + pair + "THETA: " + theta + "FBOUNDED: " + pair.getfBounded() + " "); - - /*if (a.isWildcardable()) { + //writeLog("GREATER: " + greater + pair + "THETA: " + theta + "FBOUNDED: " + pair.getfBounded() + " "); + if (a.isWildcardable()) { Set greater_ext = greater.stream().filter(x -> !(x instanceof ExtendsType) && !(x instanceof SuperType)) .map(x -> { //BinaryOperator> combiner = (aa,b) -> { aa.putAll(b); return aa;}; //Variablenumbenennung rausgenommen @@ -1688,7 +1698,7 @@ public class TypeUnifyTask extends RecursiveTask>> { greater.addAll(greater_ext); } //eingefuegt PL 2019-01-03 ENDE - */ + //for(UnifyType thetaS : fc.greater(theta, pair.getfBounded())) { for(UnifyType thetaS : greater) { Set resultPrime = new HashSet<>(); @@ -1726,7 +1736,7 @@ public class TypeUnifyTask extends RecursiveTask>> { resultPrime.add(new UnifyPair(a, thetaS.setTypeParams(new TypeParams(freshTphs)), PairOperator.EQUALSDOT, pair.getSubstitution(), pair)); resultPrime = resultPrime.stream().map(x -> { x.setVariance(variance); return x;}).collect(Collectors.toCollection(HashSet::new)); result.add(resultPrime); - writeLog("FBOUNDED2: " + pair.getfBounded()); + //writeLog("FBOUNDED2: " + pair.getfBounded()); //writeLog("resultPrime Theta < a: " + greater + pair + "THETA: " + theta + "FBOUNDED: " + pair.getfBounded() + " " + resultPrime.toString()); } diff --git a/src/main/java/de/dhbwstuttgart/typeinference/unify/model/FiniteClosure.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/model/FiniteClosure.java index b0198f87f..f928ea24f 100644 --- a/src/main/java/de/dhbwstuttgart/typeinference/unify/model/FiniteClosure.java +++ b/src/main/java/de/dhbwstuttgart/typeinference/unify/model/FiniteClosure.java @@ -223,6 +223,7 @@ implements IFiniteClosure { // if T <* T' then sigma(T) <* sigma(T') Set> candidates = strInheritanceGraph.get(type.getName()); + /* try { if (log) logFile.write(candidates.toString()); //log = false; @@ -230,6 +231,7 @@ implements IFiniteClosure { catch (IOException e) { System.err.println("no LogFile"); } + */ for(Node candidate : candidates) { UnifyType theta1 = candidate.getContent(); @@ -240,10 +242,6 @@ implements IFiniteClosure { Optional optSigma = match.match(termList); //PL 18-04-05 Unifier durch Matcher ersetzt ENDE if(!optSigma.isPresent()) { - if ((type.getName().equals("java.util.Vector")) && (type instanceof ReferenceType) && - (((ReferenceType)type).getTypeParams().get(0).getName().equals("java.lang.Integer"))) { - System.out.println(type.toString() + candidates); - } continue; } Unifier sigma = optSigma.get(); @@ -258,6 +256,7 @@ implements IFiniteClosure { PairResultFBounded.add(new Pair<>(theta2.apply(sigma), fBoundedNew)); } } + /* try { if (log) logFile.write(PairResultFBounded.toString()); log = false; @@ -265,6 +264,7 @@ implements IFiniteClosure { catch (IOException e) { System.err.println("no LogFile"); } + */ for(Pair> pt : PairResultFBounded) { UnifyType t = pt.getKey(); Set lfBounded = pt.getValue().get(); diff --git a/src/main/java/de/dhbwstuttgart/typeinference/unify/model/OrderingUnifyPair.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/model/OrderingUnifyPair.java index 636a60291..249892eda 100644 --- a/src/main/java/de/dhbwstuttgart/typeinference/unify/model/OrderingUnifyPair.java +++ b/src/main/java/de/dhbwstuttgart/typeinference/unify/model/OrderingUnifyPair.java @@ -54,6 +54,20 @@ public class OrderingUnifyPair extends Ordering> { UnifyPair up; if (left instanceof WildcardType || right instanceof WildcardType) { up = new UnifyPair(left, right, PairOperator.SMALLERDOTWC); + if (((left instanceof ExtendsType) + && (((ExtendsType)left).getExtendedType().getName().equals("java.util.Vector")) + && (((ReferenceType)((ExtendsType)left).getExtendedType()).getTypeParams().iterator().next() instanceof ExtendsType)) || + ((right instanceof ExtendsType) + && (((ExtendsType)right).getExtendedType().getName().equals("java.util.Vector")) + && (((ReferenceType)((ExtendsType)right).getExtendedType()).getTypeParams().iterator().next() instanceof ExtendsType))) + { + System.out.println(""); + } + if (((right instanceof SuperType) && (((SuperType)right).getSuperedType().getName().equals("java.lang.Object"))) + ||((left instanceof SuperType) && (((SuperType)left).getSuperedType().getName().equals("java.lang.Object")))) +{ + System.out.println(""); + } } else { up = new UnifyPair(left, right, PairOperator.SMALLERDOT); @@ -67,6 +81,19 @@ public class OrderingUnifyPair extends Ordering> { else { if (left instanceof WildcardType || right instanceof WildcardType) { up = new UnifyPair(right, left, PairOperator.SMALLERDOTWC); + if (((left instanceof ExtendsType) + && (((ExtendsType)left).getExtendedType().getName().equals("java.util.Vector")) + && (((ReferenceType)((ExtendsType)left).getExtendedType()).getTypeParams().iterator().next() instanceof ExtendsType)) || + ((right instanceof ExtendsType) + && (((ExtendsType)right).getExtendedType().getName().equals("java.util.Vector")) + && (((ReferenceType)((ExtendsType)right).getExtendedType()).getTypeParams().iterator().next() instanceof ExtendsType))) + { + System.out.println(""); + } + if (right instanceof SuperType) + { + System.out.println(""); + } } else { up = new UnifyPair(right, left, PairOperator.SMALLERDOT); @@ -87,6 +114,16 @@ public class OrderingUnifyPair extends Ordering> { * @see com.google.common.collect.Ordering#compare(java.lang.Object, java.lang.Object) */ public int compare (Set left, Set right) { + if ((left.size() == 1) && right.size() == 1) { + if (left.iterator().next().getLhsType().getName().equals("AFS")) { + System.out.println(""); + } + if (((right.iterator().next().getRhsType() instanceof SuperType) && (((SuperType)right.iterator().next().getRhsType()).getSuperedType().getName().equals("java.lang.Object"))) + ||((left.iterator().next().getRhsType() instanceof SuperType) && (((SuperType)left.iterator().next().getRhsType()).getSuperedType().getName().equals("java.lang.Object")))) + { + System.out.println(""); + } + } Set lefteq = left.stream() .filter(x -> (x.getLhsType() instanceof PlaceholderType && x.getPairOp() == PairOperator.EQUALSDOT)) .collect(Collectors.toCollection(HashSet::new)); diff --git a/src/main/java/de/dhbwstuttgart/typeinference/unify/model/UnifyPair.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/model/UnifyPair.java index 1266a8241..f3e5eb023 100644 --- a/src/main/java/de/dhbwstuttgart/typeinference/unify/model/UnifyPair.java +++ b/src/main/java/de/dhbwstuttgart/typeinference/unify/model/UnifyPair.java @@ -224,7 +224,7 @@ public class UnifyPair { if (rhs instanceof PlaceholderType) { ret = ret + ", " + new Integer(((PlaceholderType)rhs).getVariance()).toString(); } - return "(" + lhs + " " + pairOp + " " + rhs + ", " + ret + "])"; //+ ", [" + getfBounded().toString()+ "])"; + return "(" + lhs + " " + pairOp + " " + rhs + ", " + ret + ")"; //+ ", [" + getfBounded().toString()+ "])"; } /* From 755fd5c8218c3559d356e55e1fbed9bdc4fc9bc4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Pl=C3=BCmicke?= Date: Fri, 11 Jan 2019 22:52:39 +0100 Subject: [PATCH 24/31] modified: ../../../main/java/de/dhbwstuttgart/syntaxtree/factory/UnifyTypeFactory.java modified: ../../../main/java/de/dhbwstuttgart/typeinference/unify/model/PlaceholderType.java deleted: ../javFiles/AddLong.jav deleted: ../javFiles/EmptyClass.jav deleted: ../javFiles/EmptyMethod.jav deleted: ../javFiles/Expressions.jav deleted: ../javFiles/FC_Matrix.jav deleted: ../javFiles/Faculty.jav deleted: ../javFiles/FacultyIf.jav deleted: ../javFiles/FacultyTyped.jav deleted: ../javFiles/Fields.jav deleted: ../javFiles/Generics.jav deleted: ../javFiles/IfTest.jav deleted: ../javFiles/Import.jav deleted: ../javFiles/Lambda.jav deleted: ../javFiles/Lambda2.jav deleted: ../javFiles/Lambda3.jav deleted: ../javFiles/LambdaField.jav deleted: ../javFiles/LambdaRunnable.jav deleted: ../javFiles/ListenerOverload.jav deleted: ../javFiles/Matrix.jav deleted: ../javFiles/Meth_Gen.jav deleted: ../javFiles/MethodCallGenerics.jav deleted: ../javFiles/Methods.jav deleted: ../javFiles/MethodsEasy.jav deleted: ../javFiles/Op1.jav deleted: ../javFiles/Package.jav deleted: ../javFiles/Sorting.jav deleted: ../javFiles/Subclass.jav deleted: ../javFiles/Superclass.jav deleted: ../javFiles/Vector.jav deleted: ../javFiles/fc.jav deleted: ../javFiles/mathStruc.jav deleted: ../javFiles/test.jav deleted: ../javFiles/test1.jav --- .../syntaxtree/factory/UnifyTypeFactory.java | 2 +- .../unify/model/PlaceholderType.java | 17 +++++++-- src/test/java/javFiles/AddLong.jav | 9 ----- src/test/java/javFiles/EmptyClass.jav | 3 -- src/test/java/javFiles/EmptyMethod.jav | 37 ------------------- src/test/java/javFiles/Expressions.jav | 8 ---- src/test/java/javFiles/FC_Matrix.jav | 10 ----- src/test/java/javFiles/Faculty.jav | 15 -------- src/test/java/javFiles/FacultyIf.jav | 17 --------- src/test/java/javFiles/FacultyTyped.jav | 19 ---------- src/test/java/javFiles/Fields.jav | 11 ------ src/test/java/javFiles/Generics.jav | 22 ----------- src/test/java/javFiles/IfTest.jav | 14 ------- src/test/java/javFiles/Import.jav | 8 ---- src/test/java/javFiles/Lambda.jav | 13 ------- src/test/java/javFiles/Lambda2.jav | 33 ----------------- src/test/java/javFiles/Lambda3.jav | 24 ------------ src/test/java/javFiles/LambdaField.jav | 6 --- src/test/java/javFiles/LambdaRunnable.jav | 14 ------- src/test/java/javFiles/ListenerOverload.jav | 20 ---------- src/test/java/javFiles/Matrix.jav | 28 -------------- src/test/java/javFiles/Meth_Gen.jav | 11 ------ src/test/java/javFiles/MethodCallGenerics.jav | 14 ------- src/test/java/javFiles/Methods.jav | 17 --------- src/test/java/javFiles/MethodsEasy.jav | 7 ---- src/test/java/javFiles/Op1.jav | 11 ------ src/test/java/javFiles/Package.jav | 5 --- src/test/java/javFiles/Sorting.jav | 8 ---- src/test/java/javFiles/Subclass.jav | 6 --- src/test/java/javFiles/Superclass.jav | 6 --- src/test/java/javFiles/Vector.jav | 23 ------------ src/test/java/javFiles/fc.jav | 18 --------- src/test/java/javFiles/mathStruc.jav | 13 ------- src/test/java/javFiles/test.jav | 15 -------- src/test/java/javFiles/test1.jav | 7 ---- 35 files changed, 15 insertions(+), 476 deletions(-) delete mode 100644 src/test/java/javFiles/AddLong.jav delete mode 100644 src/test/java/javFiles/EmptyClass.jav delete mode 100644 src/test/java/javFiles/EmptyMethod.jav delete mode 100644 src/test/java/javFiles/Expressions.jav delete mode 100644 src/test/java/javFiles/FC_Matrix.jav delete mode 100644 src/test/java/javFiles/Faculty.jav delete mode 100644 src/test/java/javFiles/FacultyIf.jav delete mode 100644 src/test/java/javFiles/FacultyTyped.jav delete mode 100644 src/test/java/javFiles/Fields.jav delete mode 100644 src/test/java/javFiles/Generics.jav delete mode 100644 src/test/java/javFiles/IfTest.jav delete mode 100644 src/test/java/javFiles/Import.jav delete mode 100644 src/test/java/javFiles/Lambda.jav delete mode 100644 src/test/java/javFiles/Lambda2.jav delete mode 100644 src/test/java/javFiles/Lambda3.jav delete mode 100644 src/test/java/javFiles/LambdaField.jav delete mode 100644 src/test/java/javFiles/LambdaRunnable.jav delete mode 100644 src/test/java/javFiles/ListenerOverload.jav delete mode 100644 src/test/java/javFiles/Matrix.jav delete mode 100644 src/test/java/javFiles/Meth_Gen.jav delete mode 100644 src/test/java/javFiles/MethodCallGenerics.jav delete mode 100644 src/test/java/javFiles/Methods.jav delete mode 100644 src/test/java/javFiles/MethodsEasy.jav delete mode 100644 src/test/java/javFiles/Op1.jav delete mode 100644 src/test/java/javFiles/Package.jav delete mode 100644 src/test/java/javFiles/Sorting.jav delete mode 100644 src/test/java/javFiles/Subclass.jav delete mode 100644 src/test/java/javFiles/Superclass.jav delete mode 100644 src/test/java/javFiles/Vector.jav delete mode 100644 src/test/java/javFiles/fc.jav delete mode 100644 src/test/java/javFiles/mathStruc.jav delete mode 100644 src/test/java/javFiles/test.jav delete mode 100644 src/test/java/javFiles/test1.jav diff --git a/src/main/java/de/dhbwstuttgart/syntaxtree/factory/UnifyTypeFactory.java b/src/main/java/de/dhbwstuttgart/syntaxtree/factory/UnifyTypeFactory.java index 743fbb74e..326f5a77a 100644 --- a/src/main/java/de/dhbwstuttgart/syntaxtree/factory/UnifyTypeFactory.java +++ b/src/main/java/de/dhbwstuttgart/syntaxtree/factory/UnifyTypeFactory.java @@ -120,7 +120,7 @@ public class UnifyTypeFactory { } public static UnifyType convert(TypePlaceholder tph){ - PlaceholderType ntph = new PlaceholderType(tph.getName()); + PlaceholderType ntph = PlaceholderType.convertTypePlaceholder(tph.getName());//eingefuegt PL 2019-01-11 //new PlaceholderType(tph.getName()); int in = PLACEHOLDERS.indexOf(ntph); if (in == -1) { PLACEHOLDERS.add(ntph); diff --git a/src/main/java/de/dhbwstuttgart/typeinference/unify/model/PlaceholderType.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/model/PlaceholderType.java index 09402c2f1..23848ae64 100644 --- a/src/main/java/de/dhbwstuttgart/typeinference/unify/model/PlaceholderType.java +++ b/src/main/java/de/dhbwstuttgart/typeinference/unify/model/PlaceholderType.java @@ -23,7 +23,7 @@ public final class PlaceholderType extends UnifyType{ * Static list containing the names of all existing placeholders. * Used for generating fresh placeholders. */ - public static final ArrayList EXISTING_PLACEHOLDERS = new ArrayList(); + public static final ArrayList EXISTING_PLACEHOLDERS = new ArrayList(); /** * Prefix of auto-generated placeholder names. @@ -60,17 +60,28 @@ public final class PlaceholderType extends UnifyType{ */ public PlaceholderType(String name) { super(name, new TypeParams()); - EXISTING_PLACEHOLDERS.add(name); // Add to list of existing placeholder names IsGenerated = false; // This type is user generated } + public static PlaceholderType convertTypePlaceholder(String name) {//eingefuegt PL 2019-01-11 + PlaceholderType newTph = new PlaceholderType(name); + int i = EXISTING_PLACEHOLDERS.indexOf(newTph);//equals vergleicht den Namen + if (i == -1) { + EXISTING_PLACEHOLDERS.add(newTph); // Add to list of existing placeholder names + return newTph; + } + else { + return EXISTING_PLACEHOLDERS.get(i); + } + } + /** * Creates a new placeholdertype * @param isGenerated true if this placeholder is auto-generated, false if it is user-generated. */ protected PlaceholderType(String name, boolean isGenerated) { super(name, new TypeParams()); - EXISTING_PLACEHOLDERS.add(name); // Add to list of existing placeholder names + EXISTING_PLACEHOLDERS.add(this); // Add to list of existing placeholder names IsGenerated = isGenerated; } diff --git a/src/test/java/javFiles/AddLong.jav b/src/test/java/javFiles/AddLong.jav deleted file mode 100644 index d6d47e9fd..000000000 --- a/src/test/java/javFiles/AddLong.jav +++ /dev/null @@ -1,9 +0,0 @@ -import java.lang.Integer; -import java.lang.Long; - -public class AddLong{ - Long add(Integer a, Long b) { - Long c = a+b; - return c; - } -} \ No newline at end of file diff --git a/src/test/java/javFiles/EmptyClass.jav b/src/test/java/javFiles/EmptyClass.jav deleted file mode 100644 index 8160d7dae..000000000 --- a/src/test/java/javFiles/EmptyClass.jav +++ /dev/null @@ -1,3 +0,0 @@ -public class EmptyClass{ - -} \ No newline at end of file diff --git a/src/test/java/javFiles/EmptyMethod.jav b/src/test/java/javFiles/EmptyMethod.jav deleted file mode 100644 index dd28fc696..000000000 --- a/src/test/java/javFiles/EmptyMethod.jav +++ /dev/null @@ -1,37 +0,0 @@ -public class EmptyMethod{ - static String s1 =""; - String s2; - public void m1(){ - //String s = ""; - System.out.println("test"); - //Integer ab = Math.abs(1); - //Math.abs(1); - //String lV = "local"; - //s1 = "1"; - //s1.concat("2"); - s2 = s1; - //m2(); - Clazz i = new Clazz(); - Integer i = new Integer(1); - } - - public void m2(){} -} - -class Clazz{} -/* -public class EmptyMethod2{ - public static test = "5"; - public void m1(Integer i, String j, Boolean b){ - //String s = ""; - EmptyMethod em = new EmptyMethod(); - em.m1(); - em.s1 = ""; - //Integer ab = Math.abs(1); - //Math.abs(1); - //String lV = "local"; - //s1 = "1"; - //s1.concat("2"); - //s2 = s1; - } -}*/ \ No newline at end of file diff --git a/src/test/java/javFiles/Expressions.jav b/src/test/java/javFiles/Expressions.jav deleted file mode 100644 index e2e992a12..000000000 --- a/src/test/java/javFiles/Expressions.jav +++ /dev/null @@ -1,8 +0,0 @@ -class Expressions{ - -void test(){ - var x = 2; - x = x + 2; -} - -} \ No newline at end of file diff --git a/src/test/java/javFiles/FC_Matrix.jav b/src/test/java/javFiles/FC_Matrix.jav deleted file mode 100644 index 75ead472c..000000000 --- a/src/test/java/javFiles/FC_Matrix.jav +++ /dev/null @@ -1,10 +0,0 @@ -import java.util.Vector; - -class Matrix extends Vector> { - - methode(m) { - m.add(1); - Matrix i; - methode(i); - } - } diff --git a/src/test/java/javFiles/Faculty.jav b/src/test/java/javFiles/Faculty.jav deleted file mode 100644 index ca539adda..000000000 --- a/src/test/java/javFiles/Faculty.jav +++ /dev/null @@ -1,15 +0,0 @@ -import java.lang.Integer; - -class Faculty { - - Integer mul(Integer x, Integer y) { - return x; - } - - m () { - var fact = (Integer x) -> { - return mul(x, fact.apply(x)); - }; - return fact; - } -} \ No newline at end of file diff --git a/src/test/java/javFiles/FacultyIf.jav b/src/test/java/javFiles/FacultyIf.jav deleted file mode 100644 index 3c3689232..000000000 --- a/src/test/java/javFiles/FacultyIf.jav +++ /dev/null @@ -1,17 +0,0 @@ -import java.lang.Integer; - -class Faculty { - - m () { - - var fact = (Integer x) -> { - if (x == 1) { - return x; - } - else { - return x * (fact.apply(x-1)); - } - }; - return fact; - } -} diff --git a/src/test/java/javFiles/FacultyTyped.jav b/src/test/java/javFiles/FacultyTyped.jav deleted file mode 100644 index 089d2f334..000000000 --- a/src/test/java/javFiles/FacultyTyped.jav +++ /dev/null @@ -1,19 +0,0 @@ -import java.lang.Integer; - -class Faculty { - - Integer mul(Integer x, Integer y) { - return x; - } - - Fun1 m () { - var fact = (Integer x) -> { - return mul(x, fact.apply(x)); - }; - return fact; - } -} - -interface Fun1{ - B apply(A a); -} \ No newline at end of file diff --git a/src/test/java/javFiles/Fields.jav b/src/test/java/javFiles/Fields.jav deleted file mode 100644 index cd2add71c..000000000 --- a/src/test/java/javFiles/Fields.jav +++ /dev/null @@ -1,11 +0,0 @@ -import java.lang.String; - -class Fields{ -test2 = "test"; -test; -m(){ - var test3; - return test; -} - -} \ No newline at end of file diff --git a/src/test/java/javFiles/Generics.jav b/src/test/java/javFiles/Generics.jav deleted file mode 100644 index dd7b4eba5..000000000 --- a/src/test/java/javFiles/Generics.jav +++ /dev/null @@ -1,22 +0,0 @@ -import java.lang.String; - -class Generics { - // A mt1(A a, B b){ - B mt1(B a, B b){ - return mt1(a, a); - } -} - -class Test { - methode(String s){ - return new Generics().mt1(s,s); - } -} - -/* -Problem: -auto test = new List(); -auto test2 = new List(); -... //code, welcher möglicherweise test und test2 vertauscht -test.add("hallo"); -*/ \ No newline at end of file diff --git a/src/test/java/javFiles/IfTest.jav b/src/test/java/javFiles/IfTest.jav deleted file mode 100644 index 1e1141df2..000000000 --- a/src/test/java/javFiles/IfTest.jav +++ /dev/null @@ -1,14 +0,0 @@ -import java.lang.Integer; -import java.lang.Boolean; -import java.lang.Object; - -public class IfTest{ - Object m1(b) { - Integer i; - if(b) { - return i; - }else{ - return b; - } - } -} \ No newline at end of file diff --git a/src/test/java/javFiles/Import.jav b/src/test/java/javFiles/Import.jav deleted file mode 100644 index c48082baa..000000000 --- a/src/test/java/javFiles/Import.jav +++ /dev/null @@ -1,8 +0,0 @@ -import java.util.Vector; - -class Import { - void methode(){ - Vector v; - v.add(v); - } -} \ No newline at end of file diff --git a/src/test/java/javFiles/Lambda.jav b/src/test/java/javFiles/Lambda.jav deleted file mode 100644 index 5bd67a0b7..000000000 --- a/src/test/java/javFiles/Lambda.jav +++ /dev/null @@ -1,13 +0,0 @@ - -class Apply { } - -public class Lambda { - - m () { - var lam1 = (x) -> { - return x; - }; - return lam1.apply(new Apply()); - } -} - diff --git a/src/test/java/javFiles/Lambda2.jav b/src/test/java/javFiles/Lambda2.jav deleted file mode 100644 index cf1e910b8..000000000 --- a/src/test/java/javFiles/Lambda2.jav +++ /dev/null @@ -1,33 +0,0 @@ -import java.lang.String; - -public class Lambda2 -{ - public static void main(List args){ - var listOfStrings = new List(); - var listOfObjects; - listOfObjects = map(listOfStrings, (a) -> a); -} - -public map(a , b){ - b.apply(a); - return a; -} - -/* -public static List map(List input, Function func) { - List output; - output = new List(); - output.add(func.apply(input.get())); - return output; -} -*/ -} - -class List{ - A get(); - void add(A); -} - -class Function{ - B apply(A a); -} \ No newline at end of file diff --git a/src/test/java/javFiles/Lambda3.jav b/src/test/java/javFiles/Lambda3.jav deleted file mode 100644 index 9e22f3027..000000000 --- a/src/test/java/javFiles/Lambda3.jav +++ /dev/null @@ -1,24 +0,0 @@ -import java.lang.String; - -public class Lambda2 -{ - /* - public static List map(List input, - Function func){ - input.add(func.apply(input.get())); - } - */ - public map(input,func){ - input.add(func.apply(input.get())); - return map(new List(), func); - } -} - -class List{ - A get(); - void add(A); -} - -class Function{ - B apply(A a); -} \ No newline at end of file diff --git a/src/test/java/javFiles/LambdaField.jav b/src/test/java/javFiles/LambdaField.jav deleted file mode 100644 index 4eb537380..000000000 --- a/src/test/java/javFiles/LambdaField.jav +++ /dev/null @@ -1,6 +0,0 @@ -public class LambdaField { - - f = x -> x; - -} - diff --git a/src/test/java/javFiles/LambdaRunnable.jav b/src/test/java/javFiles/LambdaRunnable.jav deleted file mode 100644 index 37924ea2b..000000000 --- a/src/test/java/javFiles/LambdaRunnable.jav +++ /dev/null @@ -1,14 +0,0 @@ -import java.lang.Runnable; -import java.lang.String; -import java.lang.System; - -public class LamRunnable{ - - public LamRunnable(){ - - - Runnable lam = () -> {System.out.println("lambda");}; - lam.run(); - } -} - diff --git a/src/test/java/javFiles/ListenerOverload.jav b/src/test/java/javFiles/ListenerOverload.jav deleted file mode 100644 index e1a8d65d8..000000000 --- a/src/test/java/javFiles/ListenerOverload.jav +++ /dev/null @@ -1,20 +0,0 @@ -import java.lang.Integer; -import java.lang.String; - -class ListenerOverload{ - -call(p){ - call(p.left); - call(p.right); -} - -call(Integer i){} - -call(String s){} - -} - -class Pair{ - A left; - B right; -} \ No newline at end of file diff --git a/src/test/java/javFiles/Matrix.jav b/src/test/java/javFiles/Matrix.jav deleted file mode 100644 index 5e1eac086..000000000 --- a/src/test/java/javFiles/Matrix.jav +++ /dev/null @@ -1,28 +0,0 @@ -import java.util.Vector; -import java.lang.Integer; - -class Matrix extends Vector> { - Integer mul1(Integer x, Integer y) { return x;} - Integer add1(Integer x, Integer y) { return x;} - mul(m) { - var ret = new Matrix(); - var i = 0; - while(i < size()) { - var v1 = this.elementAt(i); - var v2 = new Vector(); - var j = 0; - while(j < v1.size()) { - var erg = 0; - var k = 0; - while(k < v1.size()) { - erg = erg + v1.elementAt(k) * m.elementAt(k).elementAt(j); - //erg = add1(erg, mul1(v1.elementAt(k), - // m.elementAt(k).elementAt(j))); - k++; } - v2.addElement(new Integer(erg)); - j++; } - ret.addElement(v2); - i++; } - return ret; - } -} diff --git a/src/test/java/javFiles/Meth_Gen.jav b/src/test/java/javFiles/Meth_Gen.jav deleted file mode 100644 index 056dd82f8..000000000 --- a/src/test/java/javFiles/Meth_Gen.jav +++ /dev/null @@ -1,11 +0,0 @@ -class Meth_Gen { - - m1(x, y) { - m2(x); - x = y; - } - - m2(y) { - m1(y, y); - } -} \ No newline at end of file diff --git a/src/test/java/javFiles/MethodCallGenerics.jav b/src/test/java/javFiles/MethodCallGenerics.jav deleted file mode 100644 index 0d02509bc..000000000 --- a/src/test/java/javFiles/MethodCallGenerics.jav +++ /dev/null @@ -1,14 +0,0 @@ -import java.lang.String; - -class Generics { - // A mt1(A a, B b){ - B mt1(B a, B b){ - return mt1(a, a); - } -} - -class Test { - methode(String s){ - return new Generics().mt1(s,s); - } -} diff --git a/src/test/java/javFiles/Methods.jav b/src/test/java/javFiles/Methods.jav deleted file mode 100644 index e45d98306..000000000 --- a/src/test/java/javFiles/Methods.jav +++ /dev/null @@ -1,17 +0,0 @@ - -class Methods { - mt4(a,b,c) { return a.add(b).sub(c) ; } - - mt1(a) {return a;} - - mt2(a) {return a.f; } - - mt3(a) {return a.add(); } -} - -class Test { - java.lang.Object f; - add(){} - add(b){return b;} - sub(b){} -} \ No newline at end of file diff --git a/src/test/java/javFiles/MethodsEasy.jav b/src/test/java/javFiles/MethodsEasy.jav deleted file mode 100644 index ee6f9dafc..000000000 --- a/src/test/java/javFiles/MethodsEasy.jav +++ /dev/null @@ -1,7 +0,0 @@ - -class Methods { - mt4(a,b,c) { return a.mt3(b).mt3(c) ; } - - mt3(a) {return a.mt3(a); } -} - diff --git a/src/test/java/javFiles/Op1.jav b/src/test/java/javFiles/Op1.jav deleted file mode 100644 index 800f58b86..000000000 --- a/src/test/java/javFiles/Op1.jav +++ /dev/null @@ -1,11 +0,0 @@ -public class Op1{ - public Op1() { - - Runnable lam = () -> { - String test = ""; - String b = "b"; - test = b; - System.out.println(test);}; - //lam.run(); - } -} \ No newline at end of file diff --git a/src/test/java/javFiles/Package.jav b/src/test/java/javFiles/Package.jav deleted file mode 100644 index bbc1e51da..000000000 --- a/src/test/java/javFiles/Package.jav +++ /dev/null @@ -1,5 +0,0 @@ -package strucType.input; - -class Neu -{ -} \ No newline at end of file diff --git a/src/test/java/javFiles/Sorting.jav b/src/test/java/javFiles/Sorting.jav deleted file mode 100644 index 04ef23e51..000000000 --- a/src/test/java/javFiles/Sorting.jav +++ /dev/null @@ -1,8 +0,0 @@ -import java.util.List; -import java.util.Collection; - -class Sorting{ - void merge(a, b){ - a.addAll(b); - } -} \ No newline at end of file diff --git a/src/test/java/javFiles/Subclass.jav b/src/test/java/javFiles/Subclass.jav deleted file mode 100644 index fe6e92088..000000000 --- a/src/test/java/javFiles/Subclass.jav +++ /dev/null @@ -1,6 +0,0 @@ -public class Subclass extends Superclass { - - public void printMethod() { - super.printMethod(); - } -} \ No newline at end of file diff --git a/src/test/java/javFiles/Superclass.jav b/src/test/java/javFiles/Superclass.jav deleted file mode 100644 index d58089de6..000000000 --- a/src/test/java/javFiles/Superclass.jav +++ /dev/null @@ -1,6 +0,0 @@ -public class Superclass { - - public void printMethod() { - System.out.println("Printed in Superclass."); - } -} diff --git a/src/test/java/javFiles/Vector.jav b/src/test/java/javFiles/Vector.jav deleted file mode 100644 index 5c21cfffa..000000000 --- a/src/test/java/javFiles/Vector.jav +++ /dev/null @@ -1,23 +0,0 @@ -import java.util.ArrayList; -import java.util.Vector; -import java.lang.Object; - -class MyVector{ - -id(x){ - Object i; - x.add(i); - x.add(i); - x.add(i); - x.add(i); - x.add(i); - x.add(i); - x.add(i); - x.add(i); - x.add(i); - x.add(i); - x.add(i); - x.add(i); - return x; -} -} \ No newline at end of file diff --git a/src/test/java/javFiles/fc.jav b/src/test/java/javFiles/fc.jav deleted file mode 100644 index a3278cbcc..000000000 --- a/src/test/java/javFiles/fc.jav +++ /dev/null @@ -1,18 +0,0 @@ -import java.util.List; - -class Test{ - methode(param1, param2, param3) { - param2.add(param3); - return param1.meth(param2); - } -} - -interface Klasse1{ - Klasse1 meth(List p); - Klasse1 meth(Klasse2 p); -} - -interface Klasse2{ - Klasse1 meth(Klasse1 p); - Klasse2 meth(Klasse2 p); -} \ No newline at end of file diff --git a/src/test/java/javFiles/mathStruc.jav b/src/test/java/javFiles/mathStruc.jav deleted file mode 100644 index 93f901ce5..000000000 --- a/src/test/java/javFiles/mathStruc.jav +++ /dev/null @@ -1,13 +0,0 @@ - -class mathStruc { - -mathStruc(A a) { } - -A model(){ A a; return a; } - -methode(){ -var innerOp = o -> ms -> - new mathStruc(o.apply(this.model(),ms.model())); - return innerOp; - } -} \ No newline at end of file diff --git a/src/test/java/javFiles/test.jav b/src/test/java/javFiles/test.jav deleted file mode 100644 index 303d167ac..000000000 --- a/src/test/java/javFiles/test.jav +++ /dev/null @@ -1,15 +0,0 @@ -class Test{ - methode(param1, param2, param3) { - return param1.meth(param2.meth(param3)); - } -} - -interface Klasse1{ - Klasse1 meth(Klasse1 p); - Klasse1 meth(Klasse2 p); -} - -interface Klasse2{ - Klasse1 meth(Klasse1 p); - Klasse2 meth(Klasse2 p); -} \ No newline at end of file diff --git a/src/test/java/javFiles/test1.jav b/src/test/java/javFiles/test1.jav deleted file mode 100644 index 4b34948e9..000000000 --- a/src/test/java/javFiles/test1.jav +++ /dev/null @@ -1,7 +0,0 @@ -class Faculty { - - int a; - m (int x) { - return a+x; - } -} From 58d757398d0c44198ec53750feced0e4aa70cfc4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Pl=C3=BCmicke?= Date: Fri, 11 Jan 2019 23:00:27 +0100 Subject: [PATCH 25/31] modified: ../../../main/java/de/dhbwstuttgart/syntaxtree/factory/UnifyTypeFactory.java modified: ../../../main/java/de/dhbwstuttgart/typeinference/unify/model/PlaceholderType.java zurueck zum alten Zustand --- .../syntaxtree/factory/UnifyTypeFactory.java | 2 +- .../unify/model/PlaceholderType.java | 17 +++-------------- 2 files changed, 4 insertions(+), 15 deletions(-) diff --git a/src/main/java/de/dhbwstuttgart/syntaxtree/factory/UnifyTypeFactory.java b/src/main/java/de/dhbwstuttgart/syntaxtree/factory/UnifyTypeFactory.java index 326f5a77a..743fbb74e 100644 --- a/src/main/java/de/dhbwstuttgart/syntaxtree/factory/UnifyTypeFactory.java +++ b/src/main/java/de/dhbwstuttgart/syntaxtree/factory/UnifyTypeFactory.java @@ -120,7 +120,7 @@ public class UnifyTypeFactory { } public static UnifyType convert(TypePlaceholder tph){ - PlaceholderType ntph = PlaceholderType.convertTypePlaceholder(tph.getName());//eingefuegt PL 2019-01-11 //new PlaceholderType(tph.getName()); + PlaceholderType ntph = new PlaceholderType(tph.getName()); int in = PLACEHOLDERS.indexOf(ntph); if (in == -1) { PLACEHOLDERS.add(ntph); diff --git a/src/main/java/de/dhbwstuttgart/typeinference/unify/model/PlaceholderType.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/model/PlaceholderType.java index 23848ae64..09402c2f1 100644 --- a/src/main/java/de/dhbwstuttgart/typeinference/unify/model/PlaceholderType.java +++ b/src/main/java/de/dhbwstuttgart/typeinference/unify/model/PlaceholderType.java @@ -23,7 +23,7 @@ public final class PlaceholderType extends UnifyType{ * Static list containing the names of all existing placeholders. * Used for generating fresh placeholders. */ - public static final ArrayList EXISTING_PLACEHOLDERS = new ArrayList(); + public static final ArrayList EXISTING_PLACEHOLDERS = new ArrayList(); /** * Prefix of auto-generated placeholder names. @@ -60,28 +60,17 @@ public final class PlaceholderType extends UnifyType{ */ public PlaceholderType(String name) { super(name, new TypeParams()); + EXISTING_PLACEHOLDERS.add(name); // Add to list of existing placeholder names IsGenerated = false; // This type is user generated } - public static PlaceholderType convertTypePlaceholder(String name) {//eingefuegt PL 2019-01-11 - PlaceholderType newTph = new PlaceholderType(name); - int i = EXISTING_PLACEHOLDERS.indexOf(newTph);//equals vergleicht den Namen - if (i == -1) { - EXISTING_PLACEHOLDERS.add(newTph); // Add to list of existing placeholder names - return newTph; - } - else { - return EXISTING_PLACEHOLDERS.get(i); - } - } - /** * Creates a new placeholdertype * @param isGenerated true if this placeholder is auto-generated, false if it is user-generated. */ protected PlaceholderType(String name, boolean isGenerated) { super(name, new TypeParams()); - EXISTING_PLACEHOLDERS.add(this); // Add to list of existing placeholder names + EXISTING_PLACEHOLDERS.add(name); // Add to list of existing placeholder names IsGenerated = isGenerated; } From 6de1c50542f1278a2f78dedb0c7a6b5c7d541cbe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Pl=C3=BCmicke?= Date: Sat, 12 Jan 2019 18:19:16 +0100 Subject: [PATCH 26/31] =?UTF-8?q?=09modified:=20=20=20../../../../main/jav?= =?UTF-8?q?a/de/dhbwstuttgart/syntaxtree/factory/UnifyTypeFactory.java=20A?= =?UTF-8?q?uswahl=20des=20Tphs=20bei=20der=20Abfrage,=20ob=20ein=20gr?= =?UTF-8?q?=C3=B6=C3=9Ferer=20oder=20kleinerer=20Typ=20des=20vorherigen=20?= =?UTF-8?q?bestimmt=20wurde=20korrigiert=20=09modified:=20=20=20../../../.?= =?UTF-8?q?./main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.?= =?UTF-8?q?java=20=09modified:=20=20=20../../../../main/java/de/dhbwstuttg?= =?UTF-8?q?art/typeinference/unify/model/PlaceholderType.java=20innerType?= =?UTF-8?q?=20eingef=C3=BChrt=20=09modified:=20=20=20../../bytecode/javFil?= =?UTF-8?q?es/MatrixOP.jav=20=09deleted:=20=20=20=20../Field.java=20=09del?= =?UTF-8?q?eted:=20=20=20=20../Import.java=20=09deleted:=20=20=20=20../Lam?= =?UTF-8?q?1.java=20=09deleted:=20=20=20=20../LamRun.java=20=09deleted:=20?= =?UTF-8?q?=20=20=20../MethFieldVar.java=20=09deleted:=20=20=20=20../Subcl?= =?UTF-8?q?ass.java=20=09deleted:=20=20=20=20../SuperTest.java=20=09delete?= =?UTF-8?q?d:=20=20=20=20../Superclass.java=20=09deleted:=20=20=20=20../Te?= =?UTF-8?q?stMyTest.java=20=09deleted:=20=20=20=20../testF.java=20=09delet?= =?UTF-8?q?ed:=20=20=20=20../testTets.java=20=09deleted:=20=20=20=20../tes?= =?UTF-8?q?tTetsF.java?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../syntaxtree/factory/UnifyTypeFactory.java | 85 +++++++++++++------ .../typeinference/unify/TypeUnifyTask.java | 16 +++- .../unify/model/PlaceholderType.java | 17 ++++ .../resources/bytecode/javFiles/MatrixOP.jav | 2 +- src/test/resources/testBytecode/Field.java | 6 -- src/test/resources/testBytecode/Import.java | 8 -- src/test/resources/testBytecode/Lam1.java | 10 --- src/test/resources/testBytecode/LamRun.java | 8 -- .../resources/testBytecode/MethFieldVar.java | 38 --------- src/test/resources/testBytecode/Subclass.java | 6 -- .../resources/testBytecode/SuperTest.java | 14 --- .../resources/testBytecode/Superclass.java | 6 -- .../resources/testBytecode/TestMyTest.java | 11 --- src/test/resources/testBytecode/testF.java | 5 -- src/test/resources/testBytecode/testTets.java | 5 -- .../resources/testBytecode/testTetsF.java | 5 -- 16 files changed, 88 insertions(+), 154 deletions(-) delete mode 100644 src/test/resources/testBytecode/Field.java delete mode 100644 src/test/resources/testBytecode/Import.java delete mode 100644 src/test/resources/testBytecode/Lam1.java delete mode 100644 src/test/resources/testBytecode/LamRun.java delete mode 100644 src/test/resources/testBytecode/MethFieldVar.java delete mode 100644 src/test/resources/testBytecode/Subclass.java delete mode 100644 src/test/resources/testBytecode/SuperTest.java delete mode 100644 src/test/resources/testBytecode/Superclass.java delete mode 100644 src/test/resources/testBytecode/TestMyTest.java delete mode 100644 src/test/resources/testBytecode/testF.java delete mode 100644 src/test/resources/testBytecode/testTets.java delete mode 100644 src/test/resources/testBytecode/testTetsF.java diff --git a/src/main/java/de/dhbwstuttgart/syntaxtree/factory/UnifyTypeFactory.java b/src/main/java/de/dhbwstuttgart/syntaxtree/factory/UnifyTypeFactory.java index 743fbb74e..2a9f22613 100644 --- a/src/main/java/de/dhbwstuttgart/syntaxtree/factory/UnifyTypeFactory.java +++ b/src/main/java/de/dhbwstuttgart/syntaxtree/factory/UnifyTypeFactory.java @@ -64,26 +64,26 @@ public class UnifyTypeFactory { * Convert from * ASTType -> UnifyType */ - public static UnifyType convert(RefTypeOrTPHOrWildcardOrGeneric t){ + public static UnifyType convert(RefTypeOrTPHOrWildcardOrGeneric t, Boolean innerType){ if(t instanceof GenericRefType){ - return UnifyTypeFactory.convert((GenericRefType)t); + return UnifyTypeFactory.convert((GenericRefType)t, innerType); }else if(t instanceof FunN){ - return UnifyTypeFactory.convert((FunN)t); + return UnifyTypeFactory.convert((FunN)t, innerType); }else if(t instanceof TypePlaceholder){ - return UnifyTypeFactory.convert((TypePlaceholder)t); + return UnifyTypeFactory.convert((TypePlaceholder)t, innerType); }else if(t instanceof ExtendsWildcardType){ - return UnifyTypeFactory.convert((ExtendsWildcardType)t); + return UnifyTypeFactory.convert((ExtendsWildcardType)t, innerType); }else if(t instanceof SuperWildcardType){ - return UnifyTypeFactory.convert((SuperWildcardType)t); + return UnifyTypeFactory.convert((SuperWildcardType)t, innerType); }else if(t instanceof RefType){ - return UnifyTypeFactory.convert((RefType)t); + return UnifyTypeFactory.convert((RefType)t, innerType); } //Es wurde versucht ein Typ umzuwandeln, welcher noch nicht von der Factory abgedeckt ist throw new NotImplementedException("Der Typ "+t+" kann nicht umgewandelt werden"); } - public static UnifyType convert(RefType t){ + public static UnifyType convert(RefType t, Boolean innerType){ //Check if it is a FunN Type: Pattern p = Pattern.compile("Fun(\\d+)"); Matcher m = p.matcher(t.getName().toString()); @@ -91,14 +91,14 @@ public class UnifyTypeFactory { if(b){ Integer N = Integer.valueOf(m.group(1)); if((N + 1) == t.getParaList().size()){ - return convert(new FunN(t.getParaList())); + return convert(new FunN(t.getParaList()), false); } } UnifyType ret; if(t.getParaList() != null && t.getParaList().size() > 0){ List params = new ArrayList<>(); for(RefTypeOrTPHOrWildcardOrGeneric pT : t.getParaList()){ - params.add(UnifyTypeFactory.convert(pT)); + params.add(UnifyTypeFactory.convert(pT, true)); } ret = new ReferenceType(t.getName().toString(),new TypeParams(params)); }else{ @@ -107,27 +107,38 @@ public class UnifyTypeFactory { return ret; } - public static UnifyType convert(FunN t){ + public static UnifyType convert(FunN t, Boolean innerType){ UnifyType ret; List params = new ArrayList<>(); if(t.getParaList() != null && t.getParaList().size() > 0){ for(RefTypeOrTPHOrWildcardOrGeneric pT : t.getParaList()){ - params.add(UnifyTypeFactory.convert(pT)); + params.add(UnifyTypeFactory.convert(pT, false)); } } ret = FunNType.getFunNType(new TypeParams(params)); return ret; } - public static UnifyType convert(TypePlaceholder tph){ + public static UnifyType convert(TypePlaceholder tph, Boolean innerType){ + if (tph.getName().equals("AFQ")) { + System.out.println(""); + } PlaceholderType ntph = new PlaceholderType(tph.getName()); int in = PLACEHOLDERS.indexOf(ntph); if (in == -1) { PLACEHOLDERS.add(ntph); + ntph.setInnerType(innerType); return ntph; } else { - return PLACEHOLDERS.get(in); + PlaceholderType oldpht = PLACEHOLDERS.get(in); + if (oldpht.isWildcardable()) { + return oldpht; + } + else { + oldpht.setInnerType(innerType); + return oldpht; + } } } @@ -137,9 +148,9 @@ public class UnifyTypeFactory { public static UnifyType convert(WildcardType t){ if(t.isExtends()) - return new ExtendsType(UnifyTypeFactory.convert(t.getInnerType())); + return new ExtendsType(UnifyTypeFactory.convert(t.getInnerType(), false)); else if(t.isSuper()) - return new SuperType(UnifyTypeFactory.convert(t.getInnerType())); + return new SuperType(UnifyTypeFactory.convert(t.getInnerType(), false)); else throw new NotImplementedException(); } @@ -153,22 +164,42 @@ public class UnifyTypeFactory { } public static UnifyPair convert(Pair p) { + UnifyPair ret = null; if(p.GetOperator().equals(PairOperator.SMALLERDOT)) { - UnifyPair ret = generateSmallerDotPair(UnifyTypeFactory.convert(p.TA1) - , UnifyTypeFactory.convert(p.TA2)); - return ret; + ret = generateSmallerDotPair(UnifyTypeFactory.convert(p.TA1, false) + , UnifyTypeFactory.convert(p.TA2, false)); + //return ret; }else if(p.GetOperator().equals(PairOperator.SMALLERNEQDOT)) { - UnifyPair ret = generateSmallNotEqualDotPair(UnifyTypeFactory.convert(p.TA1) - , UnifyTypeFactory.convert(p.TA2)); - return ret; + ret = generateSmallNotEqualDotPair(UnifyTypeFactory.convert(p.TA1, false) + , UnifyTypeFactory.convert(p.TA2, false)); + //return ret; }else if(p.GetOperator().equals(PairOperator.EQUALSDOT)) { - UnifyPair ret = generateEqualDotPair(UnifyTypeFactory.convert(p.TA1) - , UnifyTypeFactory.convert(p.TA2)); - return ret; + ret = generateEqualDotPair(UnifyTypeFactory.convert(p.TA1, false) + , UnifyTypeFactory.convert(p.TA2, false)); + //return ret; }else if(p.GetOperator().equals(PairOperator.SMALLER)){ - return generateSmallerPair(UnifyTypeFactory.convert(p.TA1), - UnifyTypeFactory.convert(p.TA2)); + ret = generateSmallerPair(UnifyTypeFactory.convert(p.TA1, false), + UnifyTypeFactory.convert(p.TA2, false)); }else throw new NotImplementedException(); + UnifyType lhs, rhs; + if (((lhs = ret.getLhsType()) instanceof PlaceholderType) + && ((PlaceholderType)lhs).isWildcardable() + && (rhs = ret.getLhsType()) instanceof PlaceholderType) { + if (lhs.getName().equals("AQ")) { + System.out.println(""); + } + ((PlaceholderType)rhs).enableWildcardtable(); + } + + if (((rhs = ret.getLhsType()) instanceof PlaceholderType) + && ((PlaceholderType)rhs).isWildcardable() + && (lhs = ret.getLhsType()) instanceof PlaceholderType) { + if (rhs.getName().equals("AQ")) { + System.out.println(""); + } + ((PlaceholderType)lhs).enableWildcardtable(); + } + return ret; } /** diff --git a/src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java index 103f46b02..9ac4404ad 100644 --- a/src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java +++ b/src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java @@ -816,17 +816,25 @@ public class TypeUnifyTask extends RecursiveTask>> { //PL 2018-12-28: Hier gab es eine ClassCastException, war nicht reproduzierbar System.out.println(""); List vars_a = - a.stream().filter(x -> (x.getLhsType().getName().equals(x.getBasePair().getLhsType().getName()) - ||x.getLhsType().getName().equals(x.getBasePair().getRhsType().getName()))) + a.stream().filter(x -> ((x.getLhsType().getName().equals(x.getBasePair().getLhsType().getName()) + && (x.getLhsType() instanceof PlaceholderType) && (x.getBasePair().getLhsType() instanceof PlaceholderType)) + || ((x.getLhsType().getName().equals(x.getBasePair().getRhsType().getName())) + && (x.getLhsType() instanceof PlaceholderType) && (x.getBasePair().getRhsType() instanceof PlaceholderType))) + ) .map(y -> (PlaceholderType)y.getLhsType()).collect(Collectors.toCollection(ArrayList::new)); Set fstElemRes = res.iterator().next(); Set compRes = fstElemRes.stream().filter(x -> vars_a.contains(((PlaceholderType)x.getLhsType()))).collect(Collectors.toCollection(HashSet::new)); //Alle Variablen bestimmen die nicht hinzugefügt wurden in a_last + System.out.println(a_last); + a_last.forEach(x -> {writeLog("a_last_elem:" + x + " basepair: " + x.getBasePair());}); List varsLast_a = - a_last.stream().filter(x -> (x.getLhsType().getName().equals(x.getBasePair().getLhsType().getName()) - ||x.getLhsType().getName().equals(x.getBasePair().getRhsType().getName()))) + a_last.stream().filter(x -> ((x.getLhsType().getName().equals(x.getBasePair().getLhsType().getName()) + && (x.getLhsType() instanceof PlaceholderType) && (x.getBasePair().getLhsType() instanceof PlaceholderType)) + || ((x.getLhsType().getName().equals(x.getBasePair().getRhsType().getName()))) + && (x.getLhsType() instanceof PlaceholderType) && (x.getBasePair().getRhsType() instanceof PlaceholderType))) .map(y -> (PlaceholderType)y.getLhsType()).collect(Collectors.toCollection(ArrayList::new)); + //[(java.util.Vector <. gen_aq, , 1), (CEK =. ? extends gen_aq, 1)] KANN VORKOMMEN //erstes Element genügt, da vars immer auf die gleichen Elemente zugeordnet werden muessen Set fstElemResult = result.iterator().next(); Set compResult = fstElemResult.stream().filter(x -> varsLast_a.contains(((PlaceholderType)x.getLhsType()))).collect(Collectors.toCollection(HashSet::new));; diff --git a/src/main/java/de/dhbwstuttgart/typeinference/unify/model/PlaceholderType.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/model/PlaceholderType.java index 09402c2f1..9d54a0653 100644 --- a/src/main/java/de/dhbwstuttgart/typeinference/unify/model/PlaceholderType.java +++ b/src/main/java/de/dhbwstuttgart/typeinference/unify/model/PlaceholderType.java @@ -46,6 +46,11 @@ public final class PlaceholderType extends UnifyType{ */ private boolean wildcardable = true; + /** + * is innerType gibt an, ob der Type des PlaceholderType innerhalb eines Typkonstruktorsverwendet wird + */ + private boolean innerType = true; + /** * variance shows the variance of the pair * -1: contravariant @@ -124,6 +129,18 @@ public final class PlaceholderType extends UnifyType{ wildcardable = false; } + public void enableWildcardtable() { + wildcardable = true; + } + + public void setWildcardtable(Boolean wildcardable) { + this.wildcardable = wildcardable; + } + + public void setInnerType(Boolean innerType) { + this.innerType = innerType; + } + @Override Set smArg(IFiniteClosure fc, Set fBounded) { return fc.smArg(this, fBounded); diff --git a/src/test/resources/bytecode/javFiles/MatrixOP.jav b/src/test/resources/bytecode/javFiles/MatrixOP.jav index c78c42c76..828a270bd 100644 --- a/src/test/resources/bytecode/javFiles/MatrixOP.jav +++ b/src/test/resources/bytecode/javFiles/MatrixOP.jav @@ -1,6 +1,6 @@ import java.util.Vector; import java.lang.Integer; -import java.lang.Byte; +//import java.lang.Byte; import java.lang.Boolean; public class MatrixOP extends Vector> { diff --git a/src/test/resources/testBytecode/Field.java b/src/test/resources/testBytecode/Field.java deleted file mode 100644 index 50002082b..000000000 --- a/src/test/resources/testBytecode/Field.java +++ /dev/null @@ -1,6 +0,0 @@ -public class Field{ - public void m(){ - MethFieldVar mF = new MethFieldVar(); - mF.s1 = "Field S1"; - } -} diff --git a/src/test/resources/testBytecode/Import.java b/src/test/resources/testBytecode/Import.java deleted file mode 100644 index f3519acb2..000000000 --- a/src/test/resources/testBytecode/Import.java +++ /dev/null @@ -1,8 +0,0 @@ -import java.util.Vector; - -class Import { - void methode(){ - Vector v = new Vector(); - v.add(v); - } -} diff --git a/src/test/resources/testBytecode/Lam1.java b/src/test/resources/testBytecode/Lam1.java deleted file mode 100644 index 142feed2e..000000000 --- a/src/test/resources/testBytecode/Lam1.java +++ /dev/null @@ -1,10 +0,0 @@ -import java.util.function.Function; -public class Lam1{ - public Lam1() { - Function fun = (x) -> x+"1"; - fun.apply("2"); - - Runnable lam = () -> System.out.println("lambda"); - lam.run(); - } -} diff --git a/src/test/resources/testBytecode/LamRun.java b/src/test/resources/testBytecode/LamRun.java deleted file mode 100644 index fdaf0852e..000000000 --- a/src/test/resources/testBytecode/LamRun.java +++ /dev/null @@ -1,8 +0,0 @@ -public class LamRun{ - - public void mRun(){ - - Runnable lam = () -> System.out.println("lambda"); - lam.run(); - } -} diff --git a/src/test/resources/testBytecode/MethFieldVar.java b/src/test/resources/testBytecode/MethFieldVar.java deleted file mode 100644 index 74086a016..000000000 --- a/src/test/resources/testBytecode/MethFieldVar.java +++ /dev/null @@ -1,38 +0,0 @@ -public class MethFieldVar{ - String s1;// = ""; - String s2; - -/* public void meth(Integer i, String j, Boolean b){ - //String local = "a"; - //int localL = local.length(); - //int l = s.length(); - String s = null; - //s = ""; - //return s.length();//l+localL; - } -*/ - public void mm(){ -// return "mm"; - } - public void m2(){ - System.out.println(""); - // Math.abs(1); - // String lV = "local"; - // s1 = "1"; - // s1.concat("2"); - s2 = s1; - - mm(); - - Clazz i = new Clazz(); - - Runnable lam = ()->{ - String test = ""; - String b = "b"; - test = b; - System.out.println(test); - }; - } -} - -class Clazz{} diff --git a/src/test/resources/testBytecode/Subclass.java b/src/test/resources/testBytecode/Subclass.java deleted file mode 100644 index 3e8b58538..000000000 --- a/src/test/resources/testBytecode/Subclass.java +++ /dev/null @@ -1,6 +0,0 @@ -public class Subclass extends Superclass { - - public void printMethod() { - super.printMethod(); - } -} diff --git a/src/test/resources/testBytecode/SuperTest.java b/src/test/resources/testBytecode/SuperTest.java deleted file mode 100644 index 1b6ac2680..000000000 --- a/src/test/resources/testBytecode/SuperTest.java +++ /dev/null @@ -1,14 +0,0 @@ -public class Superclass { - - public void printMethod() { - System.out.println("Printed in Superclass."); - } -} - -public class Subclass extends Superclass { - - public void printMethod() { - super.printMethod(); - - } -} diff --git a/src/test/resources/testBytecode/Superclass.java b/src/test/resources/testBytecode/Superclass.java deleted file mode 100644 index d58089de6..000000000 --- a/src/test/resources/testBytecode/Superclass.java +++ /dev/null @@ -1,6 +0,0 @@ -public class Superclass { - - public void printMethod() { - System.out.println("Printed in Superclass."); - } -} diff --git a/src/test/resources/testBytecode/TestMyTest.java b/src/test/resources/testBytecode/TestMyTest.java deleted file mode 100644 index e1305f761..000000000 --- a/src/test/resources/testBytecode/TestMyTest.java +++ /dev/null @@ -1,11 +0,0 @@ -class TestMyTest{ -public static void main(String[] a){ - //test1 - //new TestClass(); - //test if statement - //new TestIf(new Boolean(true)); - // test lambda - //new TestClass(); - new LamRun(); -} -} diff --git a/src/test/resources/testBytecode/testF.java b/src/test/resources/testBytecode/testF.java deleted file mode 100644 index fa4a50b7f..000000000 --- a/src/test/resources/testBytecode/testF.java +++ /dev/null @@ -1,5 +0,0 @@ -public class testTets(){ - public static void main(String[] args){ - new tetsF(); - } -} diff --git a/src/test/resources/testBytecode/testTets.java b/src/test/resources/testBytecode/testTets.java deleted file mode 100644 index 4f95cbc00..000000000 --- a/src/test/resources/testBytecode/testTets.java +++ /dev/null @@ -1,5 +0,0 @@ -public class testTets{ - public static void main(String[] args){ - new TetsF(); - } -} diff --git a/src/test/resources/testBytecode/testTetsF.java b/src/test/resources/testBytecode/testTetsF.java deleted file mode 100644 index fa4a50b7f..000000000 --- a/src/test/resources/testBytecode/testTetsF.java +++ /dev/null @@ -1,5 +0,0 @@ -public class testTets(){ - public static void main(String[] args){ - new tetsF(); - } -} From faccdf58969f3648ad23052518e56fda639ad154 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Pl=C3=BCmicke?= Date: Sun, 13 Jan 2019 00:42:33 +0100 Subject: [PATCH 27/31] Ordnung fuer Variablen unterschieden, ob sie innere Typen sind oder nicht modified: ../../core/JavaTXCompiler.java modified: UnifyTypeFactory.java Bestimmung welche Typevariablen innere Typen sind modified: ../../typeinference/unify/TypeUnifyTask.java modified: ../../typeinference/unify/model/OrderingUnifyPair.java Ordnungsfunktion geaendert modified: ../../typeinference/unify/model/PlaceholderType.java modified: ../../typeinference/unify/model/UnifyPair.java --- .../de/dhbwstuttgart/core/JavaTXCompiler.java | 21 ++++++++++++++++++- .../syntaxtree/factory/UnifyTypeFactory.java | 17 ++++++--------- .../typeinference/unify/TypeUnifyTask.java | 15 ++++++++----- .../unify/model/OrderingUnifyPair.java | 3 ++- .../unify/model/PlaceholderType.java | 6 +++++- .../typeinference/unify/model/UnifyPair.java | 4 ++-- 6 files changed, 45 insertions(+), 21 deletions(-) diff --git a/src/main/java/de/dhbwstuttgart/core/JavaTXCompiler.java b/src/main/java/de/dhbwstuttgart/core/JavaTXCompiler.java index c79590058..f8d4a363b 100644 --- a/src/main/java/de/dhbwstuttgart/core/JavaTXCompiler.java +++ b/src/main/java/de/dhbwstuttgart/core/JavaTXCompiler.java @@ -16,6 +16,7 @@ import de.dhbwstuttgart.syntaxtree.ParameterList; import de.dhbwstuttgart.syntaxtree.SourceFile; import de.dhbwstuttgart.syntaxtree.factory.ASTFactory; import de.dhbwstuttgart.syntaxtree.factory.UnifyTypeFactory; +import de.dhbwstuttgart.syntaxtree.type.RefTypeOrTPHOrWildcardOrGeneric; import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder; import de.dhbwstuttgart.syntaxtree.visual.ASTTypePrinter; import de.dhbwstuttgart.typeinference.constraints.Constraint; @@ -30,6 +31,7 @@ import de.dhbwstuttgart.typeinference.unify.model.FiniteClosure; import de.dhbwstuttgart.typeinference.unify.model.PairOperator; import de.dhbwstuttgart.typeinference.unify.model.PlaceholderType; import de.dhbwstuttgart.typeinference.unify.model.UnifyPair; +import de.dhbwstuttgart.typeinference.unify.model.UnifyType; import de.dhbwstuttgart.typeinference.unify.TypeUnifyTask; import java.io.File; @@ -283,7 +285,24 @@ public class JavaTXCompiler { FiniteClosure finiteClosure = UnifyTypeFactory.generateFC(allClasses,logFile); System.out.println(finiteClosure); ConstraintSet unifyCons = UnifyTypeFactory.convert(cons); - + + Function distributeInnerVars = + x -> { + UnifyType lhs, rhs; + if (((lhs = x.getLhsType()) instanceof PlaceholderType) + && ((rhs = x.getRhsType()) instanceof PlaceholderType) + && (((PlaceholderType)lhs).isInnerType() + || ((PlaceholderType)rhs).isInnerType())) + { + ((PlaceholderType)lhs).setInnerType(true); + ((PlaceholderType)rhs).setInnerType(true); + } + return x; + + }; + logFile.write(unifyCons.toString()); + unifyCons = unifyCons.map(distributeInnerVars); + logFile.write(unifyCons.toString()); TypeUnify unify = new TypeUnify(); //Set> results = new HashSet<>(); Nach vorne gezogen logFile.write("FC:\\" + finiteClosure.toString()+"\n"); diff --git a/src/main/java/de/dhbwstuttgart/syntaxtree/factory/UnifyTypeFactory.java b/src/main/java/de/dhbwstuttgart/syntaxtree/factory/UnifyTypeFactory.java index 2a9f22613..f3fbdd636 100644 --- a/src/main/java/de/dhbwstuttgart/syntaxtree/factory/UnifyTypeFactory.java +++ b/src/main/java/de/dhbwstuttgart/syntaxtree/factory/UnifyTypeFactory.java @@ -120,8 +120,8 @@ public class UnifyTypeFactory { } public static UnifyType convert(TypePlaceholder tph, Boolean innerType){ - if (tph.getName().equals("AFQ")) { - System.out.println(""); + if (tph.getName().equals("AFR")) { + System.out.println("XXX"+innerType); } PlaceholderType ntph = new PlaceholderType(tph.getName()); int in = PLACEHOLDERS.indexOf(ntph); @@ -132,21 +132,16 @@ public class UnifyTypeFactory { } else { PlaceholderType oldpht = PLACEHOLDERS.get(in); - if (oldpht.isWildcardable()) { - return oldpht; - } - else { - oldpht.setInnerType(innerType); - return oldpht; - } + oldpht.setInnerType(oldpht.isInnerType() || innerType); + return oldpht; } } - public static UnifyType convert(GenericRefType t){ + public static UnifyType convert(GenericRefType t, Boolean innerType){ return new ReferenceType(t.getParsedName()); } - public static UnifyType convert(WildcardType t){ + public static UnifyType convert(WildcardType t, Boolean innerType){ if(t.isExtends()) return new ExtendsType(UnifyTypeFactory.convert(t.getInnerType(), false)); else if(t.isSuper()) diff --git a/src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java index 9ac4404ad..64e083767 100644 --- a/src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java +++ b/src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java @@ -578,6 +578,7 @@ public class TypeUnifyTask extends RecursiveTask>> { //Aufruf von computeCartesianRecursive ANFANG + //writeLog("topLevelSets: " + topLevelSets.toString()); return computeCartesianRecursive(new HashSet<>(), new ArrayList<>(topLevelSets), eq, oderConstraintsOutput, fc, parallel, rekTiefe); } @@ -610,9 +611,9 @@ public class TypeUnifyTask extends RecursiveTask>> { /* * Step 5: Substitution */ - //System.out.println("vor Subst: " + eqPrime); + //writeLog("vor Subst: " + eqPrime); Optional> eqPrimePrime = rules.subst(eqPrime); - + //writeLog("nach Subst: " + eqPrimePrime); /* * Step 6 a) Restart (fork) for pairs where subst was applied */ @@ -797,7 +798,7 @@ public class TypeUnifyTask extends RecursiveTask>> { writeLog("a1: " + rekTiefe + " "+ a.toString()+ "\n"); elems.add(a); //if (remainingSets.isEmpty()) {//muss immer gegeben sein, weil nur 1 Element der topLevelSets mehr als ein Elemet enthaelt - //writeLog("Vor unify2 Aufruf: " + eq.toString()); + //writeLog("Vor unify2 Aufruf: " + elems.toString()); Set> res = unify2(elems, eq, oderConstraints, fc, parallel, rekTiefe); if (!isUndefinedPairSetSet(res) && isUndefinedPairSetSet(result)) { //wenn korrektes Ergebnis gefunden alle Fehlerfaelle loeschen @@ -1585,6 +1586,7 @@ public class TypeUnifyTask extends RecursiveTask>> { for(int i = 0; !allGen && i < theta.getTypeParams().size(); i++) { if(freshTphs.size()-1 < i)//IST DAS RICHTIG??? PL 2018-12-12 freshTphs.add(PlaceholderType.freshPlaceholder()); + freshTphs.forEach(x -> ((PlaceholderType)x).setInnerType(true)); resultPrime.add(new UnifyPair(freshTphs.get(i), theta.getTypeParams().get(i), PairOperator.SMALLERDOTWC, pair.getSubstitution(), pair)); } @@ -1768,6 +1770,7 @@ public class TypeUnifyTask extends RecursiveTask>> { UnifyType freshTph = PlaceholderType.freshPlaceholder(); ((PlaceholderType)freshTph).setVariance(a.getVariance()); + ((PlaceholderType)freshTph).disableWildcardtable(); resultPrime = new HashSet<>(); resultPrime.add(new UnifyPair(a, new ExtendsType(freshTph), PairOperator.EQUALSDOT, pair.getSubstitution(), pair)); resultPrime.add(new UnifyPair(theta, freshTph, PairOperator.SMALLERDOT, pair.getSubstitution(), pair, pair.getfBounded())); @@ -1821,11 +1824,13 @@ public class TypeUnifyTask extends RecursiveTask>> { void writeLog(String str) { if (log) { try { - logFile.write(str+"\n"); + logFile.write(str+"\n\n"); logFile.flush(); } - catch (IOException e) { } + catch (IOException e) { + System.err.println("kein LogFile"); + } } } } diff --git a/src/main/java/de/dhbwstuttgart/typeinference/unify/model/OrderingUnifyPair.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/model/OrderingUnifyPair.java index 249892eda..73d735785 100644 --- a/src/main/java/de/dhbwstuttgart/typeinference/unify/model/OrderingUnifyPair.java +++ b/src/main/java/de/dhbwstuttgart/typeinference/unify/model/OrderingUnifyPair.java @@ -30,7 +30,8 @@ public class OrderingUnifyPair extends Ordering> { * in dem compare(Theta, Theta') aufgerufen wird. */ public int compareEq (UnifyPair left, UnifyPair right) { - if (left.getRhsType() instanceof WildcardType || right.getRhsType() instanceof WildcardType) { + //if (left.getRhsType() instanceof WildcardType || right.getRhsType() instanceof WildcardType) {//PL 2019-01-12 ausgetauscht + if (((PlaceholderType)left.getLhsType()).isInnerType() && ((PlaceholderType)right.getLhsType()).isInnerType()) { return fc.compare(left.getRhsType(), right.getRhsType(), PairOperator.SMALLERDOTWC); } else { diff --git a/src/main/java/de/dhbwstuttgart/typeinference/unify/model/PlaceholderType.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/model/PlaceholderType.java index 9d54a0653..60cf342f2 100644 --- a/src/main/java/de/dhbwstuttgart/typeinference/unify/model/PlaceholderType.java +++ b/src/main/java/de/dhbwstuttgart/typeinference/unify/model/PlaceholderType.java @@ -49,7 +49,7 @@ public final class PlaceholderType extends UnifyType{ /** * is innerType gibt an, ob der Type des PlaceholderType innerhalb eines Typkonstruktorsverwendet wird */ - private boolean innerType = true; + private boolean innerType = false; /** * variance shows the variance of the pair @@ -137,6 +137,10 @@ public final class PlaceholderType extends UnifyType{ this.wildcardable = wildcardable; } + public Boolean isInnerType() { + return innerType; + } + public void setInnerType(Boolean innerType) { this.innerType = innerType; } diff --git a/src/main/java/de/dhbwstuttgart/typeinference/unify/model/UnifyPair.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/model/UnifyPair.java index f3e5eb023..19f6010f7 100644 --- a/src/main/java/de/dhbwstuttgart/typeinference/unify/model/UnifyPair.java +++ b/src/main/java/de/dhbwstuttgart/typeinference/unify/model/UnifyPair.java @@ -219,10 +219,10 @@ public class UnifyPair { public String toString() { String ret = ""; if (lhs instanceof PlaceholderType) { - ret = new Integer(((PlaceholderType)lhs).getVariance()).toString(); + ret = new Integer(((PlaceholderType)lhs).getVariance()).toString() + " " + ((PlaceholderType)lhs).isInnerType(); } if (rhs instanceof PlaceholderType) { - ret = ret + ", " + new Integer(((PlaceholderType)rhs).getVariance()).toString(); + ret = ret + ", " + new Integer(((PlaceholderType)rhs).getVariance()).toString() + " " + ((PlaceholderType)rhs).isInnerType(); } return "(" + lhs + " " + pairOp + " " + rhs + ", " + ret + ")"; //+ ", [" + getfBounded().toString()+ "])"; } From eb43a616e2f692ccc6cef98343b721f0e318969e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Pl=C3=BCmicke?= Date: Sun, 13 Jan 2019 19:22:48 +0100 Subject: [PATCH 28/31] new file: ../../../java/bytecode/VectorSuperTest.java new file: VectorSuper.jav --- src/test/java/bytecode/VectorSuperTest.java | 45 +++++++++++++++++++ .../bytecode/javFiles/VectorSuper.jav | 11 +++++ 2 files changed, 56 insertions(+) create mode 100644 src/test/java/bytecode/VectorSuperTest.java create mode 100644 src/test/resources/bytecode/javFiles/VectorSuper.jav diff --git a/src/test/java/bytecode/VectorSuperTest.java b/src/test/java/bytecode/VectorSuperTest.java new file mode 100644 index 000000000..7699b684a --- /dev/null +++ b/src/test/java/bytecode/VectorSuperTest.java @@ -0,0 +1,45 @@ +package bytecode; + +import static org.junit.Assert.*; + +import java.io.File; +import java.lang.reflect.Method; +import java.net.URL; +import java.net.URLClassLoader; +import java.util.Vector; + +import org.junit.BeforeClass; +import org.junit.Test; + +import de.dhbwstuttgart.core.JavaTXCompiler; + +public class VectorSuperTest { + + private static String path; + private static File fileToTest; + private static JavaTXCompiler compiler; + private static ClassLoader loader; + private static Class classToTest; + private static String pathToClassFile; + private static Object instanceOfClass; + + @BeforeClass + public static void setUpBeforeClass() throws Exception { + path = System.getProperty("user.dir")+"/src/test/resources/bytecode/javFiles/VectorSuper.jav"; + fileToTest = new File(path); + compiler = new JavaTXCompiler(fileToTest); + pathToClassFile = System.getProperty("user.dir")+"/src/test/resources/testBytecode/generatedBC/"; + compiler.generateBytecode(pathToClassFile); + loader = new URLClassLoader(new URL[] {new URL("file://"+pathToClassFile)}); + classToTest = loader.loadClass("VectorSuper"); + instanceOfClass = classToTest.getDeclaredConstructor().newInstance(); + } + + @Test + public void test1() throws Exception { + Method m = classToTest.getDeclaredMethod("m", Vector.class); + //Object result = m.invoke(instanceOfClass, 1); + + //assertEquals(1,result); + } +} diff --git a/src/test/resources/bytecode/javFiles/VectorSuper.jav b/src/test/resources/bytecode/javFiles/VectorSuper.jav new file mode 100644 index 000000000..f13497831 --- /dev/null +++ b/src/test/resources/bytecode/javFiles/VectorSuper.jav @@ -0,0 +1,11 @@ +import java.util.Vector; +import java.lang.Integer; + +public class VectorSuper { + + m(x){ + Integer y; + x.addElement(y); + //return x; + } +} \ No newline at end of file From fa42a693748d5f8eaa2fc581309bf56170896f36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Pl=C3=BCmicke?= Date: Tue, 15 Jan 2019 15:58:39 +0100 Subject: [PATCH 29/31] modified: ../../../main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java modified: ../../../main/java/de/dhbwstuttgart/typeinference/unify/model/FiniteClosure.java - Hastables fuer greater und smaller eingefuehrt - ? extends/super a <. a = -1 hinzugefuegt --- .../typeinference/unify/TypeUnifyTask.java | 8 ++- .../unify/model/FiniteClosure.java | 57 ++++++++++++++++++- 2 files changed, 59 insertions(+), 6 deletions(-) diff --git a/src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java index 64e083767..0ac65b33b 100644 --- a/src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java +++ b/src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java @@ -827,7 +827,7 @@ public class TypeUnifyTask extends RecursiveTask>> { Set compRes = fstElemRes.stream().filter(x -> vars_a.contains(((PlaceholderType)x.getLhsType()))).collect(Collectors.toCollection(HashSet::new)); //Alle Variablen bestimmen die nicht hinzugefügt wurden in a_last - System.out.println(a_last); + //System.out.println(a_last); a_last.forEach(x -> {writeLog("a_last_elem:" + x + " basepair: " + x.getBasePair());}); List varsLast_a = a_last.stream().filter(x -> ((x.getLhsType().getName().equals(x.getBasePair().getLhsType().getName()) @@ -900,7 +900,7 @@ public class TypeUnifyTask extends RecursiveTask>> { Iterator> nextSetasListIt = new ArrayList>(nextSetasList).iterator(); if (variance == 1) { System.out.println(""); - writeLog("a: " + a.toString()); + writeLog("a: " + rekTiefe + " variance: " + variance + a.toString()); while (nextSetasListIt.hasNext()) { Set a_next = nextSetasListIt.next(); if (a.equals(a_next) || @@ -916,7 +916,7 @@ public class TypeUnifyTask extends RecursiveTask>> { } else { if (variance == -1) { System.out.println(""); - writeLog("a: " + a.toString()); + writeLog("a: " + rekTiefe + " variance: " + variance + a.toString()); while (nextSetasListIt.hasNext()) { Set a_next = nextSetasListIt.next(); if (a.equals(a_next) || @@ -931,8 +931,10 @@ public class TypeUnifyTask extends RecursiveTask>> { } } else if (variance == 0) { + writeLog("a: " + rekTiefe + " variance: " + variance + a.toString()); break; } + writeLog("a: " + rekTiefe + " variance: " + variance + a.toString()); } } /* auskommentiert um alle Max und min Betrachtung auszuschalten ENDE */ diff --git a/src/main/java/de/dhbwstuttgart/typeinference/unify/model/FiniteClosure.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/model/FiniteClosure.java index f928ea24f..07c864570 100644 --- a/src/main/java/de/dhbwstuttgart/typeinference/unify/model/FiniteClosure.java +++ b/src/main/java/de/dhbwstuttgart/typeinference/unify/model/FiniteClosure.java @@ -53,6 +53,16 @@ implements IFiniteClosure { */ private Set pairs; + /** + * Hastable fuer die greater-Werte, damit sie nicht doppelt berechnet werden muessen + */ + Hashtable> greaterHash = new Hashtable<>(); + + /** + * Hastable fuer die smaller-Werte, damit sie nicht doppelt berechnet werden muessen + */ + Hashtable> smallerHash = new Hashtable<>(); + /** * Creates a new instance using the inheritance tree defined in the pairs. */ @@ -106,12 +116,29 @@ implements IFiniteClosure { */ @Override public Set smaller(UnifyType type, Set fBounded) { + + Set ret; + if ((ret = smallerHash.get(new hashKeyType(type))) != null) { + //System.out.println(greaterHash); + return new HashSet<>(ret); + } + if(type instanceof FunNType) return computeSmallerFunN((FunNType) type, fBounded); Set>> ts = new HashSet<>(); ts.add(new Pair<>(type, fBounded)); - return computeSmaller(ts); + Set result = computeSmaller(ts); + smallerHash.put(new hashKeyType(type), result); + /* + try { + logFile.write("\ntype: " + type + "\nret: " + ret + "\nresult: " + result);//"smallerHash: " + greaterHash.toString()); + logFile.flush(); + } + catch (IOException e) { + System.err.println("no LogFile"); + }*/ + return result; } /** @@ -205,6 +232,13 @@ implements IFiniteClosure { //Eingefuegt PL 2018-05-24 F-Bounded Problematik public Set greater(UnifyType type, Set fBounded) { + Set ret; + if ((ret = greaterHash.get(new hashKeyType(type))) != null) { + //System.out.println(greaterHash); + return new HashSet<>(ret); + } + + if(type instanceof FunNType) { return computeGreaterFunN((FunNType) type, fBounded); } @@ -300,6 +334,16 @@ implements IFiniteClosure { //System.out.println(""); } } + + greaterHash.put(new hashKeyType(type), result); + /* + try { + logFile.write("\ntype: " + type + "\nret: " + ret + "\nresult: " + result);//"greaterHash: " + greaterHash.toString()); + logFile.flush(); + } + catch (IOException e) { + System.err.println("no LogFile"); + }*/ return result; } @@ -634,8 +678,15 @@ implements IFiniteClosure { return 0; } } - if ((right instanceof PlaceholderType) && (left instanceof WildcardType)) { - return 0; + if (right instanceof PlaceholderType) {//&& (left instanceof WildcardType)) {PL geloescht 2019-01-15 analog zu oben + if ((left instanceof WildcardType) //PL eingefuegt 2019-01-15 analog zu oben + && ((ex = ((WildcardType)left).wildcardedType) instanceof PlaceholderType) + && ((PlaceholderType)right).getName().equals(((PlaceholderType)ex).getName())) {// ? extends a <. a oder ? super a <. a + return 1; + } + else { + return 0; + } } UnifyPair up = new UnifyPair(left, right, pairop); TypeUnifyTask unifyTask = new TypeUnifyTask(); From b3622df2fded7f123f955cc22b30edeaf927953d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Pl=C3=BCmicke?= Date: Tue, 15 Jan 2019 22:45:58 +0100 Subject: [PATCH 30/31] modified: ../../../main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java --- .../de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java index 0ac65b33b..a149be4cc 100644 --- a/src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java +++ b/src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java @@ -812,6 +812,8 @@ public class TypeUnifyTask extends RecursiveTask>> { if ((!result.isEmpty() && !res.isEmpty() && !isUndefinedPairSetSet(res) && !isUndefinedPairSetSet(result)) //korrekte Loesungen aus und-constraints && (a.stream().map(x-> (x.getBasePair() != null)).reduce(true, (x, y) -> (x && y)))) //bei oder-Constraints nicht ausfuehren { + //TODO: PL 2019-01-15: Bug 129: Im Moment wird nur das Maximum und das Minimum des aktuellen Elements betrachtet. + //Die zu vereinigenden Mengen können mehrere Elemente enthalten. Das ist bisher nicht berücksichtigt //Alle Variablen bestimmen die nicht hinzugefügt wurden in a //PL 2018-12-28: Hier gab es eine ClassCastException, war nicht reproduzierbar From 8c517e7f4ae041dc87952b4db999efb591886882 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Pl=C3=BCmicke?= Date: Wed, 16 Jan 2019 10:27:15 +0100 Subject: [PATCH 31/31] new file: ../../../main/java/de/dhbwstuttgart/typeinference/unify/model/hashKeyType.java modified: ../../resources/bytecode/javFiles/VectorSuper.jav --- .../unify/model/hashKeyType.java | 25 +++++++++++++++++++ .../bytecode/javFiles/VectorSuper.jav | 2 +- 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 src/main/java/de/dhbwstuttgart/typeinference/unify/model/hashKeyType.java diff --git a/src/main/java/de/dhbwstuttgart/typeinference/unify/model/hashKeyType.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/model/hashKeyType.java new file mode 100644 index 000000000..dedfcd86d --- /dev/null +++ b/src/main/java/de/dhbwstuttgart/typeinference/unify/model/hashKeyType.java @@ -0,0 +1,25 @@ +package de.dhbwstuttgart.typeinference.unify.model; + +public class hashKeyType { + UnifyType realType; + + hashKeyType(UnifyType realType) { + this.realType= realType; + } + + @Override + public boolean equals(Object obj) { + if (obj instanceof hashKeyType) { + return realType.equals(((hashKeyType)obj).realType); + } + else + { + return false; + } + } + + @Override + public int hashCode() { + return realType.hashCode(); + } +} diff --git a/src/test/resources/bytecode/javFiles/VectorSuper.jav b/src/test/resources/bytecode/javFiles/VectorSuper.jav index f13497831..fbadafb2e 100644 --- a/src/test/resources/bytecode/javFiles/VectorSuper.jav +++ b/src/test/resources/bytecode/javFiles/VectorSuper.jav @@ -4,7 +4,7 @@ import java.lang.Integer; public class VectorSuper { m(x){ - Integer y; + Integer y = 1; x.addElement(y); //return x; }